فهرست منبع

【功能完善】【评审单逻辑更改】

koul 7 ماه پیش
والد
کامیت
bd5d7aff6c
1فایلهای تغییر یافته به همراه42 افزوده شده و 18 حذف شده
  1. 42 18
      src/main/java/com/uas/eis/service/Impl/ERPServiceImpl.java

+ 42 - 18
src/main/java/com/uas/eis/service/Impl/ERPServiceImpl.java

@@ -209,29 +209,53 @@ public class ERPServiceImpl implements ERPService {
     @Override
     public Map<String, Object> updateChangeOrderByErp(String data) {
         Map<String, Object> hashMap = new HashMap<>();
-        hashMap.put("code", 0);
+        hashMap.put("code", "10001");
         hashMap.put("msg", "参数异常,请联系管理员!");
         List<Map<Object, Object>> maps = BaseUtil.parseGridStoreToMaps(data);
         List<EcrMakeDetail> ecrMakeDetails = new ArrayList<>();
         Map<String, Object> ma = new HashMap<>();
-        for (Map<Object, Object> store:maps) {
-            String s = store.get("STATUS") == null ? "" : store.get("STATUS").toString();
-            String status = "AUDITED".equals(s) ? "已审核" : "COMMITED".equals(s) ? "已提交" : "已删除";
-            SqlRowList rs = baseDao.queryForRowSet("select ecrd_id,emd_id from ecr left join ecrmakedetail on emd_ecrid=ecr_id left join ecrdetail on ecrd_ecrid=ecr_id and emd_maprodcode=ecrd_mothercode where emd_id=" + store.get("ID"));
-            while (rs.next()){
-                EcrMakeDetail ecrMakeDetail = baseDao.getJdbcTemplate().queryForObject("select ecr_code,emd_macode,ecr_tempg,ecr_tempb,ecr_tempc,'" + status + "' status,case when nvl(emd_ifzhix,0)=0 then '否' else '是' end emd_ifzhix,emd_controlpoint,emd_detno||'' emd_detno," +
-                                "'' rmk2,'' rmk3,'' rmk4,'' rmk5,ecrd_type,ecrd_soncode,nvl(ecrd_newbaseqty,0) ecrd_newbaseqty,ecrd_repcode,nvl(ecrd_oldbaseqty,0) ecrd_oldbaseqty,ecrd_location,ecrd_oldlocation,'"+tokenConfig.get("mesUser")+"' mesUser,'"+MD5Util.encodeByMD5(tokenConfig.get("mesPwd"))+"' mesPwd " +
-                                "from ecr left join ecrmakedetail on emd_ecrid=ecr_id left join ecrdetail on ecrd_ecrid=ecr_id and emd_maprodcode=ecrd_mothercode where emd_id=? and ecrd_id=?",
-                        new BeanPropertyRowMapper<EcrMakeDetail>(EcrMakeDetail.class), rs.getGeneralInt("emd_id"),rs.getGeneralInt("ecrd_id"));
-                ecrMakeDetails.add(ecrMakeDetail);
+        if (maps.size()>0) {
+            boolean b = false;
+            if (baseDao.checkIf("ecrmakedetail left join ecr on emd_ecrid=ecr_id", "upper(ecr_tempg) like '%BOM%' and emd_id=" + maps.get(0).get("ID"))) {
+                b = true;
+            }
+            for (Map<Object, Object> store : maps) {
+                String s = store.get("STATUS") == null ? "" : store.get("STATUS").toString();
+                String status = "AUDITED".equals(s) ? "已审核" : "COMMITED".equals(s) ? "已提交" : "已删除";
+                if (b) {
+                    SqlRowList rs = baseDao.queryForRowSet("select ecrd_id,emd_id from ecr left join ecrmakedetail on emd_ecrid=ecr_id left join ecrdetail on ecrd_ecrid=ecr_id and emd_maprodcode=ecrd_mothercode where emd_id=" + store.get("ID"));
+                    while (rs.next()) {
+                        if (!baseDao.checkIf("ecr left join ecrmakedetail on emd_ecrid=ecr_id left join ecrdetail on ecrd_ecrid=ecr_id and emd_maprodcode=ecrd_mothercode", "emd_id=" + rs.getGeneralInt("emd_id") + " and ecrd_id=" + rs.getGeneralInt("ecrd_id"))) {
+                            hashMap.put("code", "10002");
+                            hashMap.put("msg", "数据错误,请核对数据后对接MES处理!");
+                            return hashMap;
+                        }
+                        EcrMakeDetail ecrMakeDetail = baseDao.getJdbcTemplate().queryForObject("select ecr_code,emd_macode,ecr_tempg,ecr_tempb,ecr_tempc,'" + status + "' status,case when nvl(emd_ifzhix,0)=0 then '否' else '是' end emd_ifzhix,emd_controlpoint,emd_detno||'' emd_detno," +
+                                        "'' rmk2,'' rmk3,'' rmk4,'' rmk5,ecrd_type,ecrd_soncode,nvl(ecrd_newbaseqty,0) ecrd_newbaseqty,ecrd_repcode,nvl(ecrd_oldbaseqty,0) ecrd_oldbaseqty,ecrd_location,ecrd_oldlocation,'" + tokenConfig.get("mesUser") + "' mesUser,'" + MD5Util.encodeByMD5(tokenConfig.get("mesPwd")) + "' mesPwd " +
+                                        "from ecr left join ecrmakedetail on emd_ecrid=ecr_id left join ecrdetail on ecrd_ecrid=ecr_id and emd_maprodcode=ecrd_mothercode where emd_id=? and ecrd_id=?",
+                                new BeanPropertyRowMapper<EcrMakeDetail>(EcrMakeDetail.class), rs.getGeneralInt("emd_id"), rs.getGeneralInt("ecrd_id"));
+                        ecrMakeDetails.add(ecrMakeDetail);
+                    }
+                } else {
+                    if (!baseDao.checkIf("ecr left join ecrmakedetail on emd_ecrid=ecr_id", "emd_id=" + store.get("ID"))) {
+                        hashMap.put("code", "10002");
+                        hashMap.put("msg", "数据错误,请核对数据后对接MES处理!");
+                        return hashMap;
+                    }
+                    EcrMakeDetail ecrMakeDetail = baseDao.getJdbcTemplate().queryForObject("select ecr_code,emd_macode,ecr_tempg,ecr_tempb,ecr_tempc,'" + status + "' status,case when nvl(emd_ifzhix,0)=0 then '否' else '是' end emd_ifzhix,emd_controlpoint,emd_detno||'' emd_detno," +
+                                    "'' rmk2,'' rmk3,'' rmk4,'' rmk5,'' ecrd_type,'' ecrd_soncode,0 ecrd_newbaseqty,'' ecrd_repcode,0 ecrd_oldbaseqty,'' ecrd_location,'' ecrd_oldlocation,'" + tokenConfig.get("mesUser") + "' mesUser,'" + MD5Util.encodeByMD5(tokenConfig.get("mesPwd")) + "' mesPwd " +
+                                    "from ecr left join ecrmakedetail on emd_ecrid=ecr_id where emd_id=?",
+                            new BeanPropertyRowMapper<EcrMakeDetail>(EcrMakeDetail.class), store.get("ID"));
+                    ecrMakeDetails.add(ecrMakeDetail);
+                }
+                ma.put("Data", ecrMakeDetails);
+                Map<String, Object> map = syncMESCheckBomItems(JSON.toJSONString(ma, SerializerFeature.WriteMapNullValue).replace("null", "\"\""), tokenConfig.get("updateChangeOrderByErp"));
+                if (map != null) {
+                    int msgId = Integer.parseInt(StringUtil.nvl(map.get("code"), "-1"));
+                    hashMap.put("code", msgId);
+                    hashMap.put("msg", map.get("msg"));
+                }
             }
-        }
-        ma.put("Data",ecrMakeDetails);
-        Map<String, Object> map = syncMESCheckBomItems(JSON.toJSONString(ma, SerializerFeature.WriteMapNullValue).replace("null", "\"\""), tokenConfig.get("updateChangeOrderByErp"));
-        if (map != null) {
-            int msgId = Integer.parseInt(StringUtil.nvl(map.get("code"), "-1"));
-            hashMap.put("code", msgId);
-            hashMap.put("msg", map.get("msg"));
         }
         return hashMap;
     }