浏览代码

优化代码。

xiaochan 4 年之前
父节点
当前提交
fb24e02080

+ 7 - 2
src/main/java/thyyxxk/webserver/dao/his/querydata/CovidVaccinateAppointmentMapper.java

@@ -103,8 +103,13 @@ public interface CovidVaccinateAppointmentMapper {
      * @param code 通过code查找
      * @return 返回一条
      * */
-    @Select("select vaccinate_id from t_covid_vaccinate_factory where code=#{code}")
-    Integer changJiaCodePanDuan(@Param("code") Integer code);
+    @Select("<script>" +
+            "select vaccinate_id from t_covid_vaccinate_factory where code in " +
+            "<foreach item='item' collection='dataList' open='(' separator=',' close=')'>" +
+            "#{item.code}" +
+            "</foreach>" +
+            "</script>")
+    List<Integer> changJiaCodePanDuan(@Param("dataList") List<CovidVaccinateFactory> dataList);
 
     /**
      * 根据id来修改 疫苗的一些字段

+ 5 - 4
src/main/java/thyyxxk/webserver/service/querydata/CovidVaccinateAppointmentService.java

@@ -180,13 +180,14 @@ public class CovidVaccinateAppointmentService {
      * */
     public ResultVo<Boolean> xinZengChangJia(List<CovidVaccinateFactory> param) throws ParseException {
         //先判断一遍是否有存在这编码的
-        for (CovidVaccinateFactory pojo : param) {
-            Integer vaccinesId =  dao.changJiaCodePanDuan(pojo.getCode());
-            if (vaccinesId!=null && vaccinesId>0){
+        List<Integer> vaccinesId = dao.changJiaCodePanDuan(param);
+        for (int i = 0; i < vaccinesId.size(); i++) {
+            if (vaccinesId.get(i) !=null && vaccinesId.get(i) >0) {
                 return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER,String.format("产品编码为【%s】已存在,所属疫苗院内编码为【%s】,【%s】",
-                        pojo.getCode(),vaccinesId,"(๑°3°๑)"));
+                        param.get(i).getCode(),vaccinesId.get(i),"(๑°3°๑)"));
             }
         }
+        //新增厂家
         dao.xinZengChangJia(param);
         for (CovidVaccinateFactory pojo : param) {
             log.info("插入厂家=》操作人:{},信息:{}",TokenUtil.getTokenUserId(),JSON.toJSONString(pojo));