|  | @@ -0,0 +1,64 @@
 | 
	
		
			
				|  |  | +package cn.hnthyy.thmz.service.impl.his;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import cn.hnthyy.thmz.entity.MzException;
 | 
	
		
			
				|  |  | +import cn.hnthyy.thmz.entity.his.ZyConfig;
 | 
	
		
			
				|  |  | +import cn.hnthyy.thmz.mapper.his.ZyConfigMapper;
 | 
	
		
			
				|  |  | +import cn.hnthyy.thmz.service.his.ZyConfigService;
 | 
	
		
			
				|  |  | +import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | +import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import java.text.SimpleDateFormat;
 | 
	
		
			
				|  |  | +import java.util.Date;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +@Service
 | 
	
		
			
				|  |  | +public class ZyConfigServiceImpl implements ZyConfigService {
 | 
	
		
			
				|  |  | +    @SuppressWarnings("all")
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private ZyConfigMapper zyConfigMapper;
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public int getInpatientNo() throws MzException {
 | 
	
		
			
				|  |  | +        zyConfigMapper.updateForBlock(new Date());
 | 
	
		
			
				|  |  | +        ZyConfig zyConfig = zyConfigMapper.selectZyConfig();
 | 
	
		
			
				|  |  | +        if (zyConfig == null) {
 | 
	
		
			
				|  |  | +            throw new MzException("住院序列号生成器不存在,请先设置!");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        zyConfig.setInpatientNo(zyConfig.getInpatientNo() + 1);
 | 
	
		
			
				|  |  | +        int num = zyConfigMapper.updateZyConfig(zyConfig);
 | 
	
		
			
				|  |  | +        if (num == 0) {
 | 
	
		
			
				|  |  | +            throw new MzException("获取住院号失败,请重试!");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return zyConfig.getInpatientNo();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public String getJcNo() throws MzException {
 | 
	
		
			
				|  |  | +        zyConfigMapper.updateForBlock(new Date());
 | 
	
		
			
				|  |  | +        ZyConfig zyConfig = zyConfigMapper.selectZyConfig();
 | 
	
		
			
				|  |  | +        if (zyConfig == null) {
 | 
	
		
			
				|  |  | +            throw new MzException("家床号生成器不存在,请先设置!");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        zyConfig.setJcNo(zyConfig.getJcNo() + 1);
 | 
	
		
			
				|  |  | +        int num = zyConfigMapper.updateZyConfig(zyConfig);
 | 
	
		
			
				|  |  | +        if (num == 0) {
 | 
	
		
			
				|  |  | +            throw new MzException("获取家床号失败,请重试!");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        SimpleDateFormat smf = new SimpleDateFormat("yy");
 | 
	
		
			
				|  |  | +        return smf.format(new Date())+zyConfig.getJcNo();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public String getZySerialNo() throws MzException {
 | 
	
		
			
				|  |  | +        zyConfigMapper.updateForBlock(new Date());
 | 
	
		
			
				|  |  | +        ZyConfig zyConfig = zyConfigMapper.selectZyConfig();
 | 
	
		
			
				|  |  | +        if (zyConfig == null) {
 | 
	
		
			
				|  |  | +            throw new MzException("住院流水号生成器不存在,请先设置!");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        zyConfig.setZySerialNo(zyConfig.getZySerialNo() + 1);
 | 
	
		
			
				|  |  | +        int num = zyConfigMapper.updateZyConfig(zyConfig);
 | 
	
		
			
				|  |  | +        if (num == 0) {
 | 
	
		
			
				|  |  | +            throw new MzException("获取流水号失败,请重试!");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        SimpleDateFormat smf = new SimpleDateFormat("yyMMdd");
 | 
	
		
			
				|  |  | +        return smf.format(new Date())+zyConfig.getZySerialNo();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 |