From b213d28ce638dd29ae5a6c7a7588133e40ef33fa Mon Sep 17 00:00:00 2001 From: LSH <brook_w@163.com> Date: 星期三, 17 八月 2022 12:57:48 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/handler/FireOutHandler.java | 23 ++++--- src/main/java/com/zy/asrs/task/handler/StandingHandler.java | 123 +++++++++++++++++++++++++++++++++++++++++ src/main/java/com/zy/asrs/task/StandingScheduler.java | 33 +++++++++++ 3 files changed, 170 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/StandingScheduler.java b/src/main/java/com/zy/asrs/task/StandingScheduler.java new file mode 100644 index 0000000..c2aac84 --- /dev/null +++ b/src/main/java/com/zy/asrs/task/StandingScheduler.java @@ -0,0 +1,33 @@ +package com.zy.asrs.task; + +import com.zy.asrs.task.core.ReturnT; +import com.zy.asrs.task.handler.StandingHandler; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +@Component +@Slf4j +public class StandingScheduler { + + @Value("${wcs-slave.doubleDeep}") + private boolean confirmDeep; + @Autowired + private StandingHandler standingHandler; + + /** + * + */ + @Scheduled(cron = "0/60 * * * * ? ") + private void execute() { + if (confirmDeep) return; + + ReturnT<String> result = standingHandler.start(); + if (!result.isSuccess()) { + log.error("闈欑疆瀹屾垚鍑哄簱澶辫触"); + } + } + +} diff --git a/src/main/java/com/zy/asrs/task/handler/FireOutHandler.java b/src/main/java/com/zy/asrs/task/handler/FireOutHandler.java index 75c5120..aad140e 100644 --- a/src/main/java/com/zy/asrs/task/handler/FireOutHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/FireOutHandler.java @@ -1,6 +1,7 @@ package com.zy.asrs.task.handler; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.service.*; @@ -72,15 +73,19 @@ } // 鐢熸垚宸ヤ綔妗f槑缁� LocDetl detlDto=locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no",locMast.getLocNo())); - WrkDetl wrkDetl = new WrkDetl(); - wrkDetl.sync(detlDto); - wrkDetl.setWrkNo(workNo); - wrkDetl.setIoTime(now); - wrkDetl.setAnfme(1.0); // 鏁伴噺 - wrkDetl.setAppeTime(now); - wrkDetl.setModiTime(now); - if (!wrkDetlService.insert(wrkDetl)) { - throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); + if (Cools.isEmpty(detlDto)){ + log.error("搴撲綅:"+locMast.getLocNo()+"\t娌℃湁鏄庣粏"); + }else { + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(detlDto); + wrkDetl.setWrkNo(workNo); + wrkDetl.setIoTime(now); + wrkDetl.setAnfme(1.0); // 鏁伴噺 + wrkDetl.setAppeTime(now); + wrkDetl.setModiTime(now); + if (!wrkDetlService.insert(wrkDetl)) { + log.error("搴撲綅:"+locMast.getLocNo()+"\t淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); + } } // 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害 if (locMast.getLocSts().equals("F")) { diff --git a/src/main/java/com/zy/asrs/task/handler/StandingHandler.java b/src/main/java/com/zy/asrs/task/handler/StandingHandler.java new file mode 100644 index 0000000..29042e4 --- /dev/null +++ b/src/main/java/com/zy/asrs/task/handler/StandingHandler.java @@ -0,0 +1,123 @@ +package com.zy.asrs.task.handler; + + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.Cools; +import com.core.exception.CoolException; +import com.zy.asrs.entity.*; +import com.zy.asrs.service.*; +import com.zy.asrs.task.AbstractHandler; +import com.zy.asrs.task.core.ReturnT; +import com.zy.common.model.enums.WorkNoType; +import com.zy.common.service.CommonService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; + +import java.util.Date; +import java.util.List; + + +/** + * Created by vincent on 2020/7/6 + */ +@Service +@Slf4j +public class StandingHandler extends AbstractHandler<String> { + + @Autowired + private LocDetlService locDetlService; + @Autowired + private LocMastService locMastService; + @Autowired + private WrkMastService wrkMastService; + @Autowired + private CommonService commonService; + @Autowired + private WrkDetlService wrkDetlService; + + @Transactional + public ReturnT<String> start() { + try { + Date now = new Date(); + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() + .eq("fire_status", 0) + .eq("loc_sts", "F") + .eq("pack_status", 3)); + Integer ioType = 101; //鍏ュ嚭搴撶被鍨� + //闈欑疆瀹屾垚鍑哄簱绔�104 + for(LocMast locMast : locMasts){ + LocDetl locDetl=locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no",locMast.getLocNo())); + + if (Cools.isEmpty(locDetl)){ + log.error("搴撲綅:"+locMast.getLocNo()+"娌℃湁鏄庣粏"); + } else if (Cools.isEmpty(locDetl.getDeadWarn())){ + log.error("搴撲綅:"+locMast.getLocNo()+"娌℃湁闈欑疆鏃堕棿"); + } else if (Cools.isEmpty(locMast.getModiTime())){ + log.error("搴撲綅:"+locMast.getLocNo()+"modiTime涓虹┖"); + } else if (Cools.isEmpty(locMast.getBarcode())){ + log.error("搴撲綅:"+locMast.getLocNo()+"Pack鐮佷负绌�"); + } else{ + if ( now.getTime()-locMast.getModiTime().getTime() >= locDetl.getDeadWarn()*60 ){ + // 鐢熸垚宸ヤ綔鍙� + int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); + // 鐢熸垚宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(now); + wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID + wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬� + wrkMast.setIoPri(13D); // 浼樺厛绾э細13 + wrkMast.setCrnNo(locMast.getCrnNo()); + wrkMast.setSourceStaNo(107); // 婧愮珯 + wrkMast.setStaNo(104); // 鐩爣绔� + wrkMast.setSourceLocNo(locMast.getLocNo()); // 婧愬簱浣� + wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("N"); // 绌烘澘 + wrkMast.setLinkMis("N"); + wrkMast.setBarcode(locMast.getBarcode()); + wrkMast.setAppeTime(now); + wrkMast.setModiTime(now); + if (!wrkMastService.insert(wrkMast)) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細"+locMast.getLocNo()); + } + // 鐢熸垚宸ヤ綔妗f槑缁� + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(locDetl); + wrkDetl.setWrkNo(workNo); + wrkDetl.setIoTime(now); + wrkDetl.setAnfme(1.0); // 鏁伴噺 + wrkDetl.setAppeTime(now); + wrkDetl.setModiTime(now); + if (!wrkDetlService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); + } + // 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害 + if (locMast.getLocSts().equals("F")) { + locMast.setLocSts("R"); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { + throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細"+locMast.getLocNo()); + } + } else { + throw new CoolException(locMast.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��"); + } + }else { + + } + } + } + + } catch (Exception e) { + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg(e.getMessage()); + } + return SUCCESS; + } + +} -- Gitblit v1.9.1