From a3a66aa959151e91f57be097b83f2a2715b502f5 Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期一, 31 三月 2025 13:11:36 +0800 Subject: [PATCH] 定时任务增加同步锁 --- src/main/java/com/zy/asrs/task/handler/OneLouHangJiaHandler.java | 99 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 84 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/handler/OneLouHangJiaHandler.java b/src/main/java/com/zy/asrs/task/handler/OneLouHangJiaHandler.java index cfd3d9e..829cdde 100644 --- a/src/main/java/com/zy/asrs/task/handler/OneLouHangJiaHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/OneLouHangJiaHandler.java @@ -8,6 +8,7 @@ import com.zy.asrs.entity.BasDevp; import com.zy.asrs.entity.WrkDetl; import com.zy.asrs.entity.WrkMast; +import com.zy.asrs.entity.WrkMastSta; import com.zy.asrs.entity.param.BalconyWrkMastParam; import com.zy.asrs.entity.param.TrussCombParam; import com.zy.asrs.service.*; @@ -22,6 +23,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Date; import java.util.List; /** @@ -46,7 +48,7 @@ @Autowired private BasDevpService basDevpService; @Autowired - private OrderService orderService; + private WrkMastStaService wrkMastStaService; @Value("${srHangJia.url}") private String srHangJiaUrl; @@ -54,11 +56,17 @@ @Value("${srHangJia.reportInPath}") private String reportOutPath; - public ReturnT<String> start(int staNo) { + public ReturnT<String> start(int staNo,int staNoEnd) { try { + Integer staOther = getStaOther(staNoEnd); BasDevp basDevp = basDevpService.selectById(staNo); if (Cools.isEmpty(basDevp) || basDevp.getWrkNo()==0 || !basDevp.getAutoing().equals("Y") || !basDevp.getLoading().equals("Y") || !basDevp.getInEnable().equals("Y")){ + return FAIL; + } + BasDevp basDevp131 = basDevpService.selectById(131); + if (Cools.isEmpty(basDevp131) || !basDevp131.getAutoing().equals("Y") + || !( basDevp131.getWrkNo()>9899 && basDevp131.getWrkNo()<10000) || basDevp131.getReportSign()!=0){ return FAIL; } WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>() @@ -66,20 +74,65 @@ if (Cools.isEmpty(wrkMast) || wrkMast.getIoType()!=1 || wrkMast.getWrkSts()!=2){ return FAIL; } + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + if (Cools.isEmpty(wrkDetls) || wrkDetls.size()==0){ + return FAIL; + } + WrkDetl wrkDetl = wrkDetls.get(0); + if (Cools.isEmpty(wrkDetl) || Cools.isEmpty(wrkDetl.getOrigin()) || Cools.isEmpty(wrkDetl.getBatch()) + || Cools.isEmpty(wrkDetl.getBrand())){ + return FAIL; + } + BasDevp basDevpEnd = basDevpService.selectById(staNoEnd); + if (Cools.isEmpty(basDevpEnd) || !basDevpEnd.getAutoing().equals("Y") || basDevpEnd.getReportSign()!=0 ){ + return FAIL; + } + BasDevp basDevpOther = basDevpService.selectById(staOther); + if (Cools.isEmpty(basDevpOther) || basDevpOther.getReportSign()!=0){ + return FAIL; + } - - -// TrussCombParam trussCombParam = new TrussCombParam(param, order, orderDetlList); -// try{ -// ReturnT<String> success = postMesData(reportOutPath, trussCombParam); -// if (success.getCode()!=200){ -// throw new CoolException("妗佹灦涓婁綅杞欢閫�搴撳け璐�"); -// } -// } catch (Exception e){ -// throw new CoolException("妗佹灦涓婁綅杞欢閫�搴撳け璐�"); -// } + if (basDevpEnd.getLoading().equals("Y") && basDevpEnd.getEmptyMk().equals("Y")){ + //鐢熸垚鏈烘鑷備换鍔� + TrussCombParam trussCombParam = new TrussCombParam(wrkDetl,staNoEnd); + try{ + ReturnT<String> success = postMesData(reportOutPath, trussCombParam); + if (success.getCode()!=200){ + log.error("妗佹灦涓婁綅杞欢閫�搴撳け璐�"); + return FAIL; + }else { + wrkMast.setSheetNo("3"); + wrkMastService.updateById(wrkMast); + basDevp.setReportSign(3); + basDevpService.updateById(basDevp); + basDevpEnd.setReportSign(3); + basDevpService.updateById(basDevpEnd); + wrkDetl.setOrigin(trussCombParam.getPalletizingNo2()==118? "2":"1"); + wrkDetlService.update(wrkDetl,new EntityWrapper<WrkDetl>().eq("wrk_no",wrkDetl.getWrkNo())); + } + return SUCCESS; + } catch (Exception e){ + log.error("妗佹灦涓婁綅杞欢閫�搴撳け璐�"+e); + return FAIL; + } + }else if (!basDevpEnd.getLoading().equals("Y") ){ + Thread.sleep(1000); + basDevpEnd = basDevpService.selectById(staNoEnd); + if (Cools.isEmpty(basDevpEnd) || !basDevpEnd.getAutoing().equals("Y") || basDevpEnd.getReportSign()!=0 || basDevpEnd.getLoading().equals("Y") ){ + return FAIL; + } + WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no",staNoEnd + 19999L)); + if (Cools.isEmpty(wrkMastSta)){ + //鐢熸垚鎷嗙洏浠诲姟 + WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),staNoEnd); + wrkMastSta1.setType(2); //绫诲瀷 1:闈炵┖ 2:绌烘澘 + wrkMastSta1.setWrkType(2); //宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭媶鐩� 3锛氬彇鏀� 5锛氭弧鍙� 6锛氭弧鏀� + wrkMastStaService.insert(wrkMastSta1); + } + return SUCCESS; + } }catch (Exception e){ - log.error("寮傚父锛侊紒锛�"+e); + log.error("閫�璐у叆搴撴満姊拌噦鍙栬揣寮傚父锛侊紒锛�"+e); return FAIL; } return FAIL; @@ -97,7 +150,7 @@ .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); - if (jsonObject.getString("result").equals("Y")) { + if (jsonObject.getInteger("Code").equals(200)) { success = true; } else { log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}"+srHangJiaUrl+erpPath, JSON.toJSONString(combParam), response); @@ -124,4 +177,20 @@ } return SUCCESS; } + + public Integer getStaOther(Integer staNo){ + switch (staNo){ + case 118: + return 119; + case 119: + return 118; + case 120: + return 121; + case 121: + return 120; + default: + return 0; + } + } + } -- Gitblit v1.9.1