From 88c529c7db9e5265f67a6168e1928c835c6f966e Mon Sep 17 00:00:00 2001 From: LSH <brook_w@163.com> Date: 星期二, 16 八月 2022 10:34:58 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/handler/FireOutHandler.java | 105 +++++++++++++++++++++++++++++++++++ src/main/resources/application.yml | 4 src/main/java/com/zy/asrs/task/FireOutScheduler.java | 32 ++++++++++ 3 files changed, 139 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/FireOutScheduler.java b/src/main/java/com/zy/asrs/task/FireOutScheduler.java new file mode 100644 index 0000000..531dbe6 --- /dev/null +++ b/src/main/java/com/zy/asrs/task/FireOutScheduler.java @@ -0,0 +1,32 @@ +package com.zy.asrs.task; + +import com.zy.asrs.task.core.ReturnT; +import com.zy.asrs.task.handler.FireOutHandler; +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 FireOutScheduler { + + @Value("${wcs-slave.doubleDeep}") + private boolean confirmDeep; + @Autowired + private FireOutHandler fireOutHandler; + + /** + * + */ + @Scheduled(cron = "0/3 * * * * ? ") + private void execute() { + if (confirmDeep) return; + + ReturnT<String> result = fireOutHandler.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 new file mode 100644 index 0000000..75c5120 --- /dev/null +++ b/src/main/java/com/zy/asrs/task/handler/FireOutHandler.java @@ -0,0 +1,105 @@ +package com.zy.asrs.task.handler; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +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 FireOutHandler 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 { + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() + .eq("fire_status", 1) + .eq("loc_sts", "F")); + + Integer ioType = 101; //鍏ュ嚭搴撶被鍨� + Date now = new Date(); + //浼樺厛绾�99锛屽嚭搴撶珯109锛氭秷闃茬锛�101 + for(LocMast locMast : locMasts){ + // 鐢熸垚宸ヤ綔鍙� + 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(99D); // 浼樺厛绾э細99 + wrkMast.setCrnNo(locMast.getCrnNo()); + wrkMast.setSourceStaNo(109); // 婧愮珯 + wrkMast.setStaNo(109); // 鐩爣绔� + 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槑缁� + 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槑缁嗗け璐�"); + } + // 淇敼搴撲綅鐘舵��: 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() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��"); + } + } + + } catch (Exception e) { + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg(e.getMessage()); + } + return SUCCESS; + } + +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index e76145b..e599c46 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -47,8 +47,8 @@ wcs-slave: # 鍙屾繁 doubleDeep: false - # 鍙屾繁搴撲綅鎺掑彿 - doubleLocs: 1,4,5,8,9,12,13,16 + # 鍙屾繁搴撲綅鎺掑彿 1,4,5,8,9,12,13,16 + doubleLocs: # 涓�涓爢鍨涙満璐熻矗鐨勮揣鏋舵帓鏁� groupCount: 2 -- Gitblit v1.9.1