浏览代码

新增病历引用表信息

gaodm 5 年之前
父节点
当前提交
1e284623b6

+ 3 - 3
tran-service/src/main/java/com/diagbot/facade/PatientInfoDjFacade.java

@@ -14,7 +14,7 @@ import com.diagbot.enums.VisibleIdTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.exception.ServiceErrorCode;
-import com.diagbot.idc.VisibleIdShortCreater;
+import com.diagbot.idc.VisibleIdCreater;
 import com.diagbot.service.DoctorInfoService;
 import com.diagbot.service.HospitalDeptService;
 import com.diagbot.service.impl.PatientInfoServiceImpl;
@@ -57,7 +57,7 @@ public class PatientInfoDjFacade extends PatientInfoServiceImpl {
     @Autowired
     private SysSetFacade sysSetFacade;
     @Autowired
-    private VisibleIdShortCreater visibleIdShortCreater;
+    private VisibleIdCreater visibleIdCreater;
 
     /**
      * 对接-页面顶部病人医生科室信息——查询
@@ -184,7 +184,7 @@ public class PatientInfoDjFacade extends PatientInfoServiceImpl {
             patientInfo.setSex(IdCard.getGenderByIdCard(signInVO.getPatientInfo()));
             patientInfo.setBirthday(DateUtil.parseDate(IdCard.getBirthByIdCard(signInVO.getPatientInfo()), "yyyyMMdd"));
 
-            patientInfo.setCode("" + visibleIdShortCreater.getNextId(VisibleIdTypeEnum.PATIENT_NO.getKey()));
+            patientInfo.setCode("" + visibleIdCreater.getNextShortId(VisibleIdTypeEnum.PATIENT_NO.getKey()));
             patientInfo.setRemark("1");//自动生成标志
 
             save(patientInfo);

+ 3 - 0
tran-service/src/main/java/com/diagbot/idc/AbstractIdCreater.java

@@ -21,6 +21,9 @@ public abstract class AbstractIdCreater<T> implements IdCreater<T> {
     @Override
     public abstract Long getNextId(T param);
 
+    @Override
+    public abstract Long getNextShortId(T param);
+
     @Override
     public List<Long> getNextIds(T param, int size) {
         List<Long> longs = new ArrayList<>(size);

+ 7 - 0
tran-service/src/main/java/com/diagbot/idc/IdCreater.java

@@ -16,6 +16,13 @@ public interface IdCreater<T> {
      */
     Long getNextId(T param);
 
+    /**
+     * 生成一个id
+     *
+     * @return 生成的id
+     */
+    Long getNextShortId(T param);
+
     /**
      * 批量生成id
      *

+ 29 - 0
tran-service/src/main/java/com/diagbot/idc/VisibleIdCreater.java

@@ -64,6 +64,35 @@ public class VisibleIdCreater extends AbstractIdCreater<Integer> {
         return Long.valueOf(date + String.format("%05d", seconds) + String.valueOf(type) + machineId + dataCenterId + sequence);
     }
 
+    public synchronized Long getNextShortId(Integer type) {
+        Calendar calendar = Calendar.getInstance();
+
+        long timestamp = timeGen() / 1000;
+
+        if (timestamp < lastTimestamp) {
+            log.error(String.format("clock is moving backwards. Rejecting requests until %d.", lastTimestamp));
+            throw new RuntimeException(String.format("Clock moved backwards. Refusing to generate id for %d milliseconds", lastTimestamp - timestamp));
+        }
+
+        if (lastTimestamp == timestamp) {
+            sequence = (sequence + 1);
+            if (sequence > sequenceMask) {
+                //timestamp = tilNextMillis(lastTimestamp);
+                log.error(String.format("id creater sequence is full. wait to next time"));
+                return null;
+            }
+        } else {
+            sequence = getNewSequence();
+        }
+
+        lastTimestamp = timestamp;
+
+        String date = DateUtil.format(calendar.getTime(), "yyMMdd");
+        long seconds = DateUtils.getFragmentInSeconds(calendar, Calendar.DAY_OF_YEAR);
+
+        return Long.valueOf(date + String.format("%05d", seconds) + String.valueOf(type) + sequence);
+    }
+
     private long getNewSequence() {
         return RandomUtils.nextInt(1000, 2000);
     }

+ 0 - 69
tran-service/src/main/java/com/diagbot/idc/VisibleIdShortCreater.java

@@ -1,69 +0,0 @@
-package com.diagbot.idc;
-
-import com.diagbot.util.DateUtil;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.RandomUtils;
-import org.apache.commons.lang3.time.DateUtils;
-
-import java.util.Calendar;
-
-/**
- * @Description: 可见id每秒递增
- * @author: gaodm
- * @time: 2018/9/5 10:45
- */
-@Slf4j
-public class VisibleIdShortCreater extends AbstractIdCreater<Integer> {
-
-    private long lastTimestamp = -1L;
-
-    private long sequence = 0L;
-    private long sequenceMask = 9999;
-
-    public VisibleIdShortCreater(int machineId, int dataCenterId) {
-        super(machineId, dataCenterId);
-    }
-
-    @Override
-    /**
-     *  对外id生成规则
-     *  1809051234550001
-     *  180905 - 12345 -  1  - 0001
-     *   日期 -  秒数  - 业务 - 秒内自增
-     *  @param type 业务id 1.订单 2.交易 3.退款
-     *  @return 生成的id
-     */
-    public synchronized Long getNextId(Integer type) {
-
-        Calendar calendar = Calendar.getInstance();
-
-        long timestamp = timeGen() / 1000;
-
-        if (timestamp < lastTimestamp) {
-            log.error(String.format("clock is moving backwards. Rejecting requests until %d.", lastTimestamp));
-            throw new RuntimeException(String.format("Clock moved backwards. Refusing to generate id for %d milliseconds", lastTimestamp - timestamp));
-        }
-
-        if (lastTimestamp == timestamp) {
-            sequence = (sequence + 1);
-            if (sequence > sequenceMask) {
-                //timestamp = tilNextMillis(lastTimestamp);
-                log.error(String.format("id creater sequence is full. wait to next time"));
-                return null;
-            }
-        } else {
-            sequence = getNewSequence();
-        }
-
-        lastTimestamp = timestamp;
-
-        String date = DateUtil.format(calendar.getTime(), "yyMMdd");
-        long seconds = DateUtils.getFragmentInSeconds(calendar, Calendar.DAY_OF_YEAR);
-
-        return Long.valueOf(date + String.format("%05d", seconds) + String.valueOf(type) + sequence);
-    }
-
-    private long getNewSequence() {
-        return RandomUtils.nextInt(1000, 2000);
-    }
-}