Selaa lähdekoodia

保存追溯码优化

hsh 7 kuukautta sitten
vanhempi
commit
9f6bb0c89c

+ 2 - 1
src/main/java/cn/hnthyy/thmz/mapper/his/yp/YpInDetlMapper.java

@@ -143,7 +143,7 @@ public interface YpInDetlMapper {
             "       rtrim(yp.manu_no)manu_no," +
             "       rtrim(yp.rept_no)rept_no," +
             "       rtrim(yp.in_docu_no)in_docu_no," +
-            "       yp.drug_trac_codg, " +
+            "       bar.drug_trac_codg, " +
             "       yp.supply_code," +
             "       yp.manu_code," +
             "       rtrim(yp.license_no)license_no," +
@@ -172,6 +172,7 @@ public interface YpInDetlMapper {
             "       zd.national_code " +
             " FROM yp_in_detl yp WITH(NOLOCK)" +
             " left join yp_zd_dict zd on yp.charge_code = zd.code and yp.serial = zd.serial  " +
+            " left join yp_manu_bar_code bar on yp.charge_code = bar.charge_code and yp.in_docu_no = bar.in_docu_no and yp.manu_no = bar.manu_no  " +
             "<where>" +
             "   <if test=\"chargeCode != null and chargeCode != ''\">" +
             "        AND yp.charge_code=#{chargeCode}" +

+ 4 - 0
src/main/java/cn/hnthyy/thmz/mapper/his/yp/YpManuBarCodeMapper.java

@@ -61,4 +61,8 @@ public interface YpManuBarCodeMapper {
      */
     @Delete("delete yp_manu_bar_code where charge_code = #{chargeCode} and manu_no =#{manuNo} and in_docu_no =#{inDocuNo}")
     int deleteYpManuBarCode(@Param("chargeCode") String chargeCode, @Param("manuNo") String manuNo, @Param("inDocuNo") String inDocuNo);
+
+    @Update(" update yp_manu_bar_code set manu_no = #{manuNo} where in_docu_no = #{inDocuNo} and charge_code = #{chargeCode} ")
+    int updateYpManuBarInfoByInDocuNo(@Param("inDocuNo") String inDocuNo, @Param("chargeCode") String chargeCode, @Param("manuNo") String manuNo);
+
 }

+ 9 - 4
src/main/java/cn/hnthyy/thmz/service/impl/his/yp/YpInDetlServiceImpl.java

@@ -188,7 +188,7 @@ public class YpInDetlServiceImpl implements YpInDetlService {
             ypInDetl.setChecker(userId);
             ypInDetl.setInputId(userId);
             ypInDetl.setPurchaser(ypInDetlVoList.get(0).getPurchaser());
-            ypInDetl.setInType(InTypeEnum.getInTypeByCode(ypInDetl.getInType()).code);
+            ypInDetl.setInType(Objects.requireNonNull(InTypeEnum.getInTypeByCode(ypInDetl.getInType())).code);
             Date date = new Date();
             ypInDetl.setInDate(date);
             ypInDetl.setSysDate(date);
@@ -199,6 +199,8 @@ public class YpInDetlServiceImpl implements YpInDetlService {
             ypInDetl.setAcctType("0");
             ypInDetl.setInDocuNo(ypInDetlVoList.get(0).getInDocuNo());
             ypInDetl.setSupplyCode(ypInDetlVoList.get(0).getSupplyCode());
+            // 这里不再存储追溯码,转存到yp_manu_bar_code表中存储
+            ypInDetl.setDrugTracCodg("");
             ypInDetls.add(ypInDetl);
         }
         return ypInDetlMapper.insertYpInDetlList(ypInDetls);
@@ -207,10 +209,13 @@ public class YpInDetlServiceImpl implements YpInDetlService {
     @Override
     @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT, timeout = 36000, rollbackFor = Exception.class)
     public int modifYpInDetl(YpInDetlVo ypInDetlVo, String userId) {
+        // 这里暂不检查追溯码的内容,只是更新一下药单的信息
         List<YpManuBarCode> ypManuBarCodes = ypInDetlVo.getYpManuBarCodes();
-        ypManuBarCodeMapper.deleteYpManuBarCode(ypInDetlVo.getChargeCode(),ypInDetlVo.getManuNo(),ypInDetlVo.getInDocuNo());
-        if(ypManuBarCodes.size() > 0){
-            ypManuBarCodeMapper.insertYpManuBarCodes(ypManuBarCodes);
+//        ypManuBarCodeMapper.deleteYpManuBarCode(ypInDetlVo.getChargeCode(),ypInDetlVo.getManuNo(),ypInDetlVo.getInDocuNo());
+        if(null != ypManuBarCodes && !ypManuBarCodes.isEmpty()){
+//            ypManuBarCodeMapper.insertYpManuBarCodes(ypManuBarCodes);
+            // 这里只更新批号
+            ypManuBarCodeMapper.updateYpManuBarInfoByInDocuNo(ypInDetlVo.getInDocuNo(), ypInDetlVo.getChargeCode(), ypInDetlVo.getManuNo());
         }
         ypInDetlMapper.deleteYpInDetl(ypInDetlVo.getInDocuNo(), ypInDetlVo.getInSeri());
         ArrayList<YpInDetlVo> ypInDetlVos = new ArrayList<>();

+ 5 - 6
src/main/resources/static/js/yk/drug_storage.js

@@ -944,11 +944,11 @@ function initBar() {
             if (res.code == -1) {
                 errorMesage(res);
             }else{
-                if(!isEmpty(res.data) && res.data.length>0){
-                    $("#manuNo").attr("disabled",true)
-                }else{
-                    $("#manuNo").attr("disabled",false)
-                }
+                // if(!isEmpty(res.data) && res.data.length>0){
+                //     $("#manuNo").attr("disabled",true)
+                // }else{
+                //     $("#manuNo").attr("disabled",false)
+                // }
             }
         }
     });
@@ -1165,7 +1165,6 @@ function removeLastComma(str, char) {
 
 function drugBarRepeat(){
     let barStr = $("#drugTracCodgStr").val()
-    console.log(barStr)
     if(!isEmpty(barStr)) {
         let barInfo = barStr.replaceAll('\n', ',').split(',')
         if (barInfo.length > 0) {