Parcourir la source

Merge branch 'dev-1.1.4' into 'dev-1.1.4'

限制中草药重复发药

See merge request lihong/thmz_system!59
huangshuhua il y a 1 an
Parent
commit
50ac29d40c

+ 11 - 0
src/main/java/cn/hnthyy/thmz/mapper/his/yz/YzActOrderCyMapper.java

@@ -148,4 +148,15 @@ public interface YzActOrderCyMapper {
      */
     @Update("update yz_act_order_cy set confirm_date =#{confirmDate} , confirm_id =#{confirmId} , status_flag =#{statusFlag} where page_no =#{pageNo}")
     int updateChargeStatus(@Param("confirmDate") Date confirmDate, @Param("confirmId") String confirmId, @Param("statusFlag") String statusFlag, @Param("pageNo") String pageNo);
+
+    /**
+     * @Description 查询药单是否已经发药
+     * @Author hsh
+     * @param pageNo 药单号,statusFlag 已发药
+     * @return YzActOrderCy
+     * @Date 2024/4/15 10:05
+     */
+    @Select(" select * from yz_act_order_cy where page_no =#{pageNo} and status_flag =#{statusFlag} ")
+    YzActOrderCy selectYzActOrderCyByPageNoAndFour(@Param("pageNo") String pageNo, @Param("statusFlag") String statusFlag);
+
 }

+ 8 - 2
src/main/java/cn/hnthyy/thmz/service/impl/his/yf/YfWardPrescriptionServiceImpl.java

@@ -684,8 +684,10 @@ public class YfWardPrescriptionServiceImpl implements YfWardPrescriptionService
         Date now = new Date();
         Map<String, Object> resultMap = new HashMap<>();
         YzActOrderCy yzActOrderCy = yzActOrderCyMapper.selectYzActOrderCyByPageNo(pageNo);
-        if(yzActOrderCy != null && yzActOrderCy.getQuantity() == 0d){
-            throw new MzException("药单发药剂数为0,请检查!");
+        if(isTy == 0){
+            if(yzActOrderCy != null && yzActOrderCy.getQuantity() == 0d){
+                throw new MzException("药单发药剂数为0,请检查!");
+            }
         }
         Integer ledgerSn = zyLedgerFileMapper.selectMaxLedgerSn(yzActOrderCy.getInpatientNo(), yzActOrderCy.getAdmissTimes());
         List<YzActOrderCyDetail> yzActOrderCyDetails = yzActOrderCyDetailMapper.selectYzActOrderCyDetail(yzActOrderCy.getOrderNo());
@@ -696,6 +698,10 @@ public class YfWardPrescriptionServiceImpl implements YfWardPrescriptionService
             zyActpatient = zyActpatientMapper.selectByInpatientNo(ZyActpatient.ZY_INACTPATIENT, yzActOrderCy.getInpatientNo(), yzActOrderCy.getAdmissTimes());
         }
         if (isTy == 0) {
+            YzActOrderCy cy = yzActOrderCyMapper.selectYzActOrderCyByPageNoAndFour(pageNo, "4");
+            if(cy != null){
+                throw new MzException("确认发药失败,请勿重复发药!药单号:" + pageNo);
+            }
             zyDetailChargeMapper.updateChargeStatus("2", yzActOrderCy.getOrderNo(), yzActOrderCy.getOrderCodeDj());
             ZyLedgerFile zyLedgerFile = new ZyLedgerFile();
             zyLedgerFile.setInpatientNo(yzActOrderCy.getInpatientNo());