Browse Source

增加替代料上传

koul 4 years ago
parent
commit
085bfeff9e

+ 9 - 0
src/main/java/com/uas/eis/core/support/SpringDynamicCronTask.java

@@ -60,6 +60,15 @@ public class SpringDynamicCronTask implements SchedulingConfigurer {
                     e.printStackTrace();
                 }
             }, env.getProperty("Task.SyncMakeBaseDetailsCron"));
+			taskRegistrar.addCronTask(() -> {
+				//业务逻辑
+				try {
+					Method method = scheduleTask.getClass().getMethod(env.getProperty("Task.syncMakematerialReplaceMethod"));
+					method.invoke(scheduleTask);
+				}catch (Exception e){
+					e.printStackTrace();
+				}
+			}, env.getProperty("Task.syncMakematerialReplaceCron"));
 		}
 	}
 }

+ 33 - 0
src/main/java/com/uas/eis/service/Impl/ScheduleTaskServiceImpl.java

@@ -101,6 +101,39 @@ public class ScheduleTaskServiceImpl implements ScheduleTaskService {
             }
         }
 
+        @Override
+        public void syncMakematerialReplace() {
+            SqlRowList rs = baseDao.queryForRowSet("select id,mp_mmcode, mp_mmdetno,mp_mmid from " +
+                    "mes_makematerialreplace where status='W' order by id");
+            while (rs.next()) {
+            int count =
+                    baseDao.getCount("select count(1) from mes_makematerial where status='D' and action<>'D' and " + "erpid=" + rs.getInt("mp_mmid"));
+            if (count > 0) {
+                    MakeMaterial makeMaterial = baseDao.getJdbcTemplate().queryForObject("select mm.mm_code,mm.erpid," +
+                                    "mr.mp_prodcode mm_prodcode,pr_detail,pr_spec,pr_unit,mm.mm_oneuseqty qty,mm.mm_qty,mm.mm_oneuseqty,case when mm.mm_ifrep=-1 then 'alternative' else 'main' end type,bo_recorder,to_char(bo_date,'yyyy-MM-dd HH24:mi:ss') bo_date,nvl(bo_version,0) bo_version,nvl(bo_cop,'BYT') bo_cop,mm.mm_prodcode mm_repprodcode,mm.mm_balance,nvl(cu_mescode,ma_custcode) ma_custcode,to_char(mc_indate,'yyyy-MM-dd HH24:mi:ss') mc_indate,mc_recorder,mr.flag from mes_makematerialreplace mr left join mes_makematerial mm on mr.mp_mmid=mm.erpid left join make on mm.mm_maid=ma_id left join Product on mr.mp_prodcode=pr_code left join bom on bo_id=mm.mm_bomid left join MakeMaterialChangeDet on md_makecode=ma_code and md_mmdetno=mm.mm_detno left join MakeMaterialChange on mc_id=md_mcid left join customer on ma_custcode=cu_code where mr.id=?",
+                            new BeanPropertyRowMapper<MakeMaterial>(MakeMaterial.class), rs.getInt("id"));
+                    makeMaterial.setMesUser(tokenConfig.get("mesUser"));
+                    makeMaterial.setMesPwd(MD5Util.encodeByMD5(tokenConfig.get("mesPwd")));
+                    Map<String, Object> map = syncMES(JSON.toJSONString(makeMaterial,
+                            SerializerFeature.WriteMapNullValue).replace("null", "\"\""), tokenConfig.get("syncMakeBaseDetail"));
+                    if (map != null) {
+                        int code1 = Integer.parseInt(StringUtil.nvl(map.get("code"), "-1"));
+                        if (code1 == 0) {
+                            baseDao.updateByCondition("mes_makematerialreplace", "status='D'", "status='W' and id=" + rs.getInt("id"));
+
+                        } else {
+                            baseDao.updateByCondition("mes_makematerialreplace", "status='F'", "status='W' and id=" + rs.getInt("id"));
+                            baseDao.execute("insert into meserrorlog (mel_id,mel_url,mel_error,mel_indate,mel_djcode," +
+                                    "mel_djdetno,mel_type) values(MESERRORLOG_SEQ.NEXTVAL,'" + tokenConfig.get(
+                                            "syncMakeBaseDetail") + "','" + StringUtil.nvl(map.get("msg"), "") + "'," +
+                                    "sysdate,'" + rs.getGeneralString("mp_mmcode") + "'," + rs.getInt("mp_mmdetno") + "," +
+                                    "'工单BOM替代料')");
+                        }
+                    }
+                }
+            }
+        }
+
     private Map<String, Object> syncMES(String params,String url){
         Map<String, Object> map = new HashMap<>();
         map.put("code",-1);

+ 2 - 0
src/main/java/com/uas/eis/service/ScheduleTaskService.java

@@ -13,5 +13,7 @@ public interface ScheduleTaskService {
 
     void syncMakeBaseDetails();
 
+    void syncMakematerialReplace();
+
 
 }

+ 11 - 0
src/main/java/com/uas/eis/task/ScheduleTask.java

@@ -54,4 +54,15 @@ public class ScheduleTask {
 
     }
 
+    /**
+     * 同步替代料
+     */
+    public void syncMakematerialReplace() {
+        logger.info("同步替代料开始");
+        Date date = new Date();
+        scheduleTaskService.syncMakematerialReplace();
+        logger.info("同步替代料:用时" + ((System.currentTimeMillis() - date.getTime()) / 1000));
+
+    }
+
 }

+ 1 - 1
src/main/resources/api_sign_key_mapping.properties

@@ -1,7 +1,7 @@
 BOYT=f9d17c1047fd468081e39ce33bb41bb7
 mesUser=ERP
 mesPwd=erp.com
-mesHttp=http://218.17.190.142:9910/mrs/
+mesHttp=http://usoft.f3322.net:11768/mrs/
 syncProduct=updateItemByErp
 syncMakeBase=updateProdByErp
 syncMakeBaseDetail=updateProdBomByErp

+ 2 - 0
src/main/resources/application-prod.yml

@@ -21,6 +21,8 @@ Task:
     SyncMakeBasesCron: 0 0/1 * * * ?
     SyncMakeBaseDetailsMethod: syncMakeBaseDetails
     SyncMakeBaseDetailsCron: 0 0/1 * * * ?
+    syncMakematerialReplaceMethod: syncMakematerialReplace
+    syncMakematerialReplaceCron: 0 0/1 * * * ?
 
 action:
     api_action: /EIS/api,/EIS/mes,/EIS/erp