Explorar el Código

修改化验辅检匹配流程

lipc hace 5 años
padre
commit
71d7c98a33

+ 2 - 0
tran-service/src/main/java/com/diagbot/dto/LisConfigDTO.java

@@ -40,4 +40,6 @@ public class LisConfigDTO {
      * 公表明
      */
     private String uniqueName;
+
+    private String orderCode;
 }

+ 5 - 0
tran-service/src/main/java/com/diagbot/entity/TranLisConfig.java

@@ -53,6 +53,11 @@ public class TranLisConfig implements Serializable {
      */
     private String hospitalCode;
 
+    /**
+     * 套餐编码
+     */
+    private String orderCode;
+
     /**
      * 套餐名
      */

+ 13 - 1
tran-service/src/main/java/com/diagbot/facade/PacsConfigFacade.java

@@ -69,4 +69,16 @@ public class PacsConfigFacade extends PacsConfigServiceImpl{
         List<PacsConfigDTO> datas = getPacsConfigByNameAndHosCode(lisPacsInfoForDJVO);
         return datas;
     }
-}
+
+    /**
+     * 根据医院编码、his套餐编码查询公表名
+     *
+     * @param lisPacsInfoForDJVO
+     * @return
+     */
+    public List<PacsConfigDTO> getPacsConfigByCodeAndHosCode(LisPacsInfoForDJVO lisPacsInfoForDJVO) {
+
+        List<PacsConfigDTO> datas = getPacsConfigByCodeAndHosCode(lisPacsInfoForDJVO);
+        return datas;
+    }
+}

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

@@ -96,15 +96,27 @@ public class TranLisConfigFacade extends TranLisConfigServiceImpl{
 		return retMap;
 	}
 
+    /**
+     * 根据医院编码、his套餐名、his项目名查询公表名
+     *
+     * @param lisPacsInfoForDJVO
+     * @return
+     */
+    public List<LisConfigDTO> getLisConfigByNameAndHosCode(LisPacsInfoForDJVO lisPacsInfoForDJVO) {
+
+        List<LisConfigDTO> datas = getLisConfigByNamesAndHosCode(lisPacsInfoForDJVO);
+        return datas;
+    }
+
 	/**
-	 * 根据医院编码、his套餐名、his项目名查询公表名
+	 * 根据医院编码、his套餐编码、his项目名查询公表名
 	 *
 	 * @param lisPacsInfoForDJVO
 	 * @return
 	 */
-	public List<LisConfigDTO> getLisConfigByNameAndHosCode(LisPacsInfoForDJVO lisPacsInfoForDJVO) {
+	public List<LisConfigDTO> getLisConfigByCodeAndHosCode(LisPacsInfoForDJVO lisPacsInfoForDJVO) {
 
-		List<LisConfigDTO> datas = getLisConfigByNamesAndHosCode(lisPacsInfoForDJVO);
+		List<LisConfigDTO> datas = getLisConfigByCodeAndHosCode(lisPacsInfoForDJVO);
 		return datas;
 	}
 }

+ 2 - 0
tran-service/src/main/java/com/diagbot/mapper/PacsConfigMapper.java

@@ -18,4 +18,6 @@ import java.util.List;
 public interface PacsConfigMapper extends BaseMapper<PacsConfig> {
 
     public List<PacsConfigDTO> getPacsConfigByNameAndHosCode(LisPacsInfoForDJVO lisPacsInfoForDJVO);
+
+    public List<PacsConfigDTO> getPacsConfigByCodeAndHosCode(LisPacsInfoForDJVO lisPacsInfoForDJVO);
 }

+ 3 - 1
tran-service/src/main/java/com/diagbot/mapper/TranLisConfigMapper.java

@@ -20,6 +20,8 @@ public interface TranLisConfigMapper extends BaseMapper<TranLisConfig> {
 
 	List<LisConfigDTO> getLisConfigByhospitalIds(LisHospitalCodeVO lisHospitalCodeVO);
 
-	List<LisConfigDTO> getLisConfigByNamesAndHosCode(LisPacsInfoForDJVO lisPacsInfoForDJVO);
+    List<LisConfigDTO> getLisConfigByNamesAndHosCode(LisPacsInfoForDJVO lisPacsInfoForDJVO);
+
+	List<LisConfigDTO> getLisConfigByCodeAndHosCode(LisPacsInfoForDJVO lisPacsInfoForDJVO);
 
 }

+ 2 - 0
tran-service/src/main/java/com/diagbot/service/PacsConfigService.java

@@ -18,4 +18,6 @@ import java.util.List;
 public interface PacsConfigService extends IService<PacsConfig> {
 
     public List<PacsConfigDTO> getPacsConfigByNameAndHosCode(LisPacsInfoForDJVO lisPacsInfoForDJVO);
+
+    public List<PacsConfigDTO> getPacsConfigByCodeAndHosCode(LisPacsInfoForDJVO lisPacsInfoForDJVO);
 }

+ 3 - 1
tran-service/src/main/java/com/diagbot/service/TranLisConfigService.java

@@ -20,6 +20,8 @@ public interface TranLisConfigService extends IService<TranLisConfig> {
 	
 	public List<LisConfigDTO> getLisConfigByhospitalId(LisHospitalCodeVO lisHospitalCodeVO);
 
-	public List<LisConfigDTO> getLisConfigByNamesAndHosCode(LisPacsInfoForDJVO lisPacsInfoForDJVO);
+    public List<LisConfigDTO> getLisConfigByNamesAndHosCode(LisPacsInfoForDJVO lisPacsInfoForDJVO);
+
+	public List<LisConfigDTO> getLisConfigByCodeAndHosCode(LisPacsInfoForDJVO lisPacsInfoForDJVO);
 
 }

+ 4 - 0
tran-service/src/main/java/com/diagbot/service/impl/PacsConfigServiceImpl.java

@@ -27,4 +27,8 @@ public class PacsConfigServiceImpl extends ServiceImpl<PacsConfigMapper, PacsCon
         return baseMapper.getPacsConfigByNameAndHosCode(lisPacsInfoForDJVO);
     }
 
+    @Override
+    public List<PacsConfigDTO> getPacsConfigByCodeAndHosCode(LisPacsInfoForDJVO lisPacsInfoForDJVO){
+        return baseMapper.getPacsConfigByCodeAndHosCode(lisPacsInfoForDJVO);
+    }
 }

+ 7 - 2
tran-service/src/main/java/com/diagbot/service/impl/TranLisConfigServiceImpl.java

@@ -28,9 +28,14 @@ public class TranLisConfigServiceImpl extends ServiceImpl<TranLisConfigMapper, T
 		return baseMapper.getLisConfigByhospitalIds(lisHospitalCodeVO);
 	}
 
+    @Override
+    public List<LisConfigDTO> getLisConfigByNamesAndHosCode(LisPacsInfoForDJVO lisPacsInfoForDJVO){
+        return baseMapper.getLisConfigByNamesAndHosCode(lisPacsInfoForDJVO);
+    }
+
 	@Override
-	public List<LisConfigDTO> getLisConfigByNamesAndHosCode(LisPacsInfoForDJVO lisPacsInfoForDJVO){
-		return baseMapper.getLisConfigByNamesAndHosCode(lisPacsInfoForDJVO);
+	public List<LisConfigDTO> getLisConfigByCodeAndHosCode(LisPacsInfoForDJVO lisPacsInfoForDJVO){
+		return baseMapper.getLisConfigByCodeAndHosCode(lisPacsInfoForDJVO);
 	}
 
 }

+ 2 - 0
tran-service/src/main/java/com/diagbot/vo/LisPacsInfoForDJVO.java

@@ -15,4 +15,6 @@ public class LisPacsInfoForDJVO implements Serializable {
     private String diseaseName;//诊断名
     private int type;//类型 5:化验 6:辅检
     private String hosCode;//医院编码
+
+    private String orderCode; //套餐编码
 }

+ 2 - 0
tran-service/src/main/java/com/diagbot/vo/PushJoinVO.java

@@ -67,4 +67,6 @@ public class PushJoinVO {
     private String code;//门诊 :0 病程录 1 医嘱  7 查阅报告危急值提醒 8 开单合理性 9 化验辅检静态知识
                         //住院 :2 首程 3 大病历 4 查阅报告危急值提醒 5 开单合理性 6 化验辅检静态知识
 
+    private String lisOrderCode;//根据his套餐code获取套餐名或细项
+    private String pacsOrderCode;//根据his套餐code获取套餐名或细项
 }

+ 43 - 18
tran-service/src/main/java/com/diagbot/web/InquiryInfoController.java

@@ -16,6 +16,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Date;
@@ -247,20 +249,23 @@ public class InquiryInfoController {
      */
     @PostMapping("/getDataService")
     @SysLogger("getDataService")
-    public RespDTO<String> getDataService(@RequestBody PushJoinVO pushJoinVO) {
+    public RespDTO<String> getDataService(@RequestBody PushJoinVO pushJoinVO) throws UnsupportedEncodingException {
         if(pushJoinVO.getDiag() == null){
             pushJoinVO.setDiag("");
         }
         GetDiseaseNameVO getDiseaseNameVO = new GetDiseaseNameVO();
         LisPacsInfoForDJVO lisPacsInfoForDJVO = new LisPacsInfoForDJVO();
         List<LisConfigDTO> lisConfigDTO;
+        List<LisConfigDTO> lisConfigDTO1;
         List<PacsConfigDTO> pacsConfigDTO;
         List<GetDiseaseNameDTO> a;
         String mrId;
         String url;
         StringBuffer sb1 = new StringBuffer();//放诊断
         StringBuffer sb2 = new StringBuffer();//放辅检
-
+        StringBuffer sb3 = new StringBuffer();//放化验细项列表
+        StringBuffer sb4 = new StringBuffer();//放辅检列表
+        String[] orderCode;
         //统计接口
         InputInfo inputInfo = new InputInfo();
         inputInfo.setHospitalCode(pushJoinVO.getHosCode());
@@ -321,26 +326,48 @@ public class InquiryInfoController {
         }
 
         //化验套餐名转公表
-        if (pushJoinVO.getLisOrder() != null && !"".equals(pushJoinVO.getLisOrder().trim())) {
-            lisPacsInfoForDJVO.setMealName(pushJoinVO.getLisOrder());
+        if (pushJoinVO.getLisOrderCode() != null && !"".equals(pushJoinVO.getLisOrderCode().trim())) {
+            orderCode = pushJoinVO.getLisOrderCode().split(".");
+            lisPacsInfoForDJVO.setOrderCode(orderCode[1]);
             lisPacsInfoForDJVO.setHosCode(pushJoinVO.getHosCode());
-            lisConfigDTO = tranLisConfigFacade.getLisConfigByNamesAndHosCode(lisPacsInfoForDJVO);
-            if (lisConfigDTO != null && lisConfigDTO.size() != 0) {
+            lisConfigDTO = tranLisConfigFacade.getLisConfigByCodeAndHosCode(lisPacsInfoForDJVO);
+            if (lisConfigDTO.size() > 0) {
+                sb3.append("[");
+                for (int i = 0; i < lisConfigDTO.size(); i++) {
+                    sb3.append("{name: " + lisConfigDTO.get(i).getUniqueName() + ",type:12,position:1}");
+                }
+                sb3.append("]");
+            } else {
+                lisPacsInfoForDJVO.setOrderCode(pushJoinVO.getLisOrderCode());
+                lisConfigDTO1 = tranLisConfigFacade.getLisConfigByCodeAndHosCode(lisPacsInfoForDJVO);
+                if (lisConfigDTO1.size() > 0) {
+                    sb3.append("[{name: " + lisConfigDTO1.get(0).getUniqueName() + ",type:12,position:1}]");
+                } else {
+                    pacsConfigDTO = pacsConfigFacade.getPacsConfigByCodeAndHosCode(lisPacsInfoForDJVO);
+                    if(pacsConfigDTO.size()>0){
+                        sb3.append("[{name: " + pacsConfigDTO.get(0).getUniqueName() + ",type:6,position:1}]");
+                    }
+                }
+            }
+            /*if (lisConfigDTO != null && lisConfigDTO.size() != 0) {
                 pushJoinVO.setLisOrder(lisConfigDTO.get(0).getUniqueName().substring(0, lisConfigDTO.get(0).getUniqueName().indexOf("--")));
             } else {
                 pushJoinVO.setLisOrder("");
-            }
+            }*/
         }
 
         //辅检套餐名转公表
-        if (pushJoinVO.getPacsOrder() != null && !"".equals(pushJoinVO.getPacsOrder().trim())) {
-            lisPacsInfoForDJVO.setMealName(pushJoinVO.getPacsOrder());
+        if (pushJoinVO.getPacsOrderCode() != null && !"".equals(pushJoinVO.getPacsOrderCode().trim())) {
+            lisPacsInfoForDJVO.setOrderCode(pushJoinVO.getPacsOrderCode());
             lisPacsInfoForDJVO.setHosCode(pushJoinVO.getHosCode());
-            pacsConfigDTO = pacsConfigFacade.getPacsConfigByNamesAndHosCode(lisPacsInfoForDJVO);
+            pacsConfigDTO = pacsConfigFacade.getPacsConfigByCodeAndHosCode(lisPacsInfoForDJVO);
             if (pacsConfigDTO != null && pacsConfigDTO.size() != 0) {
-                pushJoinVO.setPacsOrder(pacsConfigDTO.get(0).getUniqueName());
+                sb4.append("[{name: " + pacsConfigDTO.get(0).getUniqueName() + ",type:6,position:1}]");
             } else {
-                pushJoinVO.setPacsOrder("");
+                lisConfigDTO = tranLisConfigFacade.getLisConfigByCodeAndHosCode(lisPacsInfoForDJVO);
+                if (lisConfigDTO.size() > 0) {
+                    sb4.append("[{name: " + lisConfigDTO.get(0).getUniqueName() + ",type:12,position:1}]");
+                }
             }
         }
 
@@ -442,14 +469,13 @@ public class InquiryInfoController {
 
             //门诊 化验辅检静态知识
             case "9":
-                if (pushJoinVO.getLisOrder() != null && !"".equals(pushJoinVO.getLisOrder().trim())) {
+                if (pushJoinVO.getLisOrderCode() != null && !"".equals(pushJoinVO.getLisOrderCode().trim())) {
 
                     mrId = mrFacade.createMr(pushJoinVO);
 
                     url = "http://192.1.3.116:5446/indexHorizontal.html?" +
                             "mrId=" + mrId + //redis保存产生唯一值
-                            "&tipsName=" + pushJoinVO.getLisOrder() +  //静态信息名称(化验项名称、辅捡项名称)
-                            "&tipsType=12" +
+                            "&tipsInfoList=" + URLEncoder.encode(sb3.toString(), "utf-8") +  //多个提示信息内容
                             "&showTab=1" +
                             "&hospitalCode=" + pushJoinVO.getHosCode() + //医院编码
                             "&plan=9";
@@ -459,14 +485,13 @@ public class InquiryInfoController {
                     inputInfoFacade.saveInputInfo(inputInfo);
                     return RespDTO.onSuc(url);
 
-                } else if (pushJoinVO.getPacsOrder() != null && !"".equals(pushJoinVO.getPacsOrder().trim())) {
+                } else if (pushJoinVO.getPacsOrderCode() != null && !"".equals(pushJoinVO.getPacsOrderCode().trim())) {
 
                     mrId = mrFacade.createMr(pushJoinVO);
 
                     url = "http://192.1.3.116:5446/indexHorizontal.html?" +
                             "mrId=" + mrId + //redis保存产生唯一值
-                            "&tipsName=" + pushJoinVO.getPacsOrder() + //静态信息名称(化验项名称、辅捡项名称)
-                            "&tipsType=6" +
+                            "&tipsInfoList=" + URLEncoder.encode(sb4.toString(), "utf-8") +  //多个提示信息内容
                             "&showTab=1" +
                             "&hospitalCode=" + pushJoinVO.getHosCode() + //医院编码
                             "&plan=9";

+ 12 - 0
tran-service/src/main/resources/mapper/PacsConfigMapper.xml

@@ -11,6 +11,7 @@
         <result column="creator" property="creator" />
         <result column="modifier" property="modifier" />
         <result column="hospital_code" property="hospitalCode" />
+        <result column="order_code" property="orderCode" />
         <result column="meal_name" property="mealName" />
         <result column="unique_name" property="uniqueName" />
     </resultMap>
@@ -25,4 +26,15 @@
             AND meal_name = #{mealName}
         </if>
     </select>
+
+    <select id="getPacsConfigByCodeAndHosCode" resultType="com.diagbot.dto.PacsConfigDTO">
+        SELECT *
+        FROM tran_pacs_config a WHERE a.is_deleted = 'N'
+        <if test="hosCode!=null">
+            AND hospital_code = #{hosCode}
+        </if>
+        <if test="orderCode!=null">
+            AND order_code = #{orderCode}
+        </if>
+    </select>
 </mapper>

+ 18 - 6
tran-service/src/main/resources/mapper/TranLisConfigMapper.xml

@@ -11,6 +11,7 @@
 		<result column="creator" property="creator" />
 		<result column="modifier" property="modifier" />
 		<result column="hospital_code" property="hospitalCode" />
+		<result column="order_code" property="orderCode" />
 		<result column="meal_name" property="mealName" />
 		<result column="item_name" property="itemName" />
 		<result column="unique_id" property="uniqueId" />
@@ -32,17 +33,28 @@
 		</if>
 	</select>
 
-	<select id="getLisConfigByNamesAndHosCode" resultType="com.diagbot.dto.LisConfigDTO">
+    <select id="getLisConfigByNamesAndHosCode" resultType="com.diagbot.dto.LisConfigDTO">
+        SELECT *
+        FROM tran_lis_config a WHERE a.is_deleted = 'N'
+        <if test="hosCode!=null">
+            AND hospital_code = #{hosCode}
+        </if>
+        <if test="mealName!=null">
+            AND meal_name =	#{mealName}
+        </if>
+        <if test="itemName!=null">
+            AND item_name = #{itemName}
+        </if>
+    </select>
+
+	<select id="getLisConfigByCodeAndHosCode" resultType="com.diagbot.dto.LisConfigDTO">
 		SELECT *
 		FROM tran_lis_config a WHERE a.is_deleted = 'N'
 		<if test="hosCode!=null">
 			AND hospital_code = #{hosCode}
 		</if>
-		<if test="mealName!=null">
-			AND meal_name =	#{mealName}
-		</if>
-		<if test="itemName!=null">
-			AND item_name = #{itemName}
+		<if test="orderCode!=null">
+			AND order_code = #{orderCode}
 		</if>
 	</select>
 </mapper>