Explorar o código

驾驶员体检放开重复挂号限制

hurugang %!s(int64=5) %!d(string=hai) anos
pai
achega
45eb18bd97

+ 5 - 0
src/main/java/cn/hnthyy/thmz/entity/his/MzyReqrec.java

@@ -5,6 +5,7 @@ import lombok.Data;
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 门诊挂号记录
@@ -88,6 +89,10 @@ public class MzyReqrec {
     //挂号日期字符串格式  yyyy-MM-dd 格式
     private String requestDayStr;
 
+
+    //判断当前病人是否可以重复挂号 1 可以  0 不可以
+    private Integer canRepeatedly;
+
     public void setRequestDay(Date requestDay) {
         this.requestDay = requestDay;
         if(requestDay!=null){

+ 1 - 1
src/main/java/cn/hnthyy/thmz/mapper/his/MzyReqrecMapper.java

@@ -16,7 +16,7 @@ import java.util.Map;
  */
 public interface MzyReqrecMapper {
     @Insert({"<script>",
-            "<when test='cancelMark eq 0'>",
+            "<when test='cancelMark eq 0 and canRepeatedly eq 0' >",
             "if not exists (select patient_id  from mzy_reqrec where patient_id=#{patientId,jdbcType=CHAR} and ampm = #{ampm,jdbcType=CHAR} and unit_code=#{unitCode,jdbcType=CHAR} and charge_type=#{chargeType,jdbcType=CHAR} and doctor_code=#{doctorCode,jdbcType=CHAR} and CONVERT(varchar(100), request_day, 23)=#{requestDayStr} and cancel_mark=0) " +
             "</when>",
             "INSERT INTO mzy_reqrec(patient_id,times,name,req_type,request_day,ampm,unit_code,group_code,doctor_code,charge_type,req_order,req_fee,oth_fee,cancel_mark,admiss_time,op_id," +

+ 7 - 5
src/main/java/cn/hnthyy/thmz/service/impl/his/MzyReqrecServiceImpl.java

@@ -25,10 +25,7 @@ import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @Service
 public class MzyReqrecServiceImpl implements MzyReqrecService {
@@ -83,7 +80,9 @@ public class MzyReqrecServiceImpl implements MzyReqrecService {
     private MzyZdChargeTypeService mzyZdChargeTypeService;
     @Autowired
     private OrderStatusChangeService orderStatusChangeService;
-
+    //驾驶员id集合
+    private List<String> patientIds = Arrays.asList(new String [] {"422429-4","400758-4","399163-4","400429-4","377323-4","309261-4","134402-4","209695-4"});
+    private String jsyChargeType= "27";
     @Override
     @Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT,timeout=36000,rollbackFor=Exception.class)
     public int saveMzyReqrec(MzyReqrecPageDto mzyReqrecPageDto) throws MzException {
@@ -116,6 +115,8 @@ public class MzyReqrecServiceImpl implements MzyReqrecService {
         MzVisitTable newMzVisitTable = getMzVisitTable(mzyReqrecPageDto, mzyReqrec, mzPatientMi, windows, times, serialNo, now);
         mzVisitTableMapper.insertMzVisitTable(newMzVisitTable);
         fomartReqrec(mzyReqrec, mzPatientMi, windows, mzyZdChargeType, times, serialNo, now, mzyRequest);
+        //不需要做重复挂号的校验id集合 ,只有入库的时候需要该参数
+        mzyReqrec.setCanRepeatedly(( jsyChargeType.equals(mzyReqrec.getChargeType()) && patientIds.contains(mzyReqrec.getPatientId()) )?YesNoEnum.YES.code:YesNoEnum.NO.code);
         int num=mzyReqrecMapper.insertMzyReqrec(mzyReqrec);
         if(num<=0){
             throw new MzException("当前病人已经挂号成功,请不要重复挂号!");
@@ -309,6 +310,7 @@ public class MzyReqrecServiceImpl implements MzyReqrecService {
             if(!Constants.BYJZ.equals(dbMzyReqrec.getPaymode())){
                 dbMzyReqrec.setPaymode(Constants.CASH);
             }
+
             mzyReqrecMapper.insertMzyReqrec(dbMzyReqrec);
             reqrecRequestRelationMapper.selectReqrecRequestRelation(dbMzyReqrec.getSerialNo());
         }