From 16daa2a44e5fa705e671f5ff18631eb26ad70d40 Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期日, 18 二月 2024 14:24:34 +0800 Subject: [PATCH] 库区管理bug修复 --- src/main/java/com/zy/asrs/utils/PlaExcelListener.java | 87 +++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 83 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/PlaExcelListener.java b/src/main/java/com/zy/asrs/utils/PlaExcelListener.java index b44a089..c968f3a 100644 --- a/src/main/java/com/zy/asrs/utils/PlaExcelListener.java +++ b/src/main/java/com/zy/asrs/utils/PlaExcelListener.java @@ -5,8 +5,12 @@ import com.core.common.Cools; import com.core.common.SpringUtils; import com.core.exception.CoolException; +import com.zy.asrs.entity.Mat; +import com.zy.asrs.entity.Node; import com.zy.asrs.entity.Pla; import com.zy.asrs.entity.param.GlobleParameter; +import com.zy.asrs.service.MatService; +import com.zy.asrs.service.NodeService; import com.zy.asrs.service.PlaService; import com.zy.common.entity.MatExcel; import com.zy.common.entity.PlaExcel; @@ -23,6 +27,9 @@ */ @Slf4j public class PlaExcelListener extends AnalysisEventListener<PlaExcel> { + + private static final String OWNER_HZ = "娴锋鐢熺墿"; + private static final String OWNER_HNE = "娴疯灏�"; private int total = 0; private Long userId; @@ -54,6 +61,8 @@ @Override public void invoke(PlaExcel excel, AnalysisContext ctx) { PlaService plaService = SpringUtils.getBean(PlaService.class); + NodeService nodeService = SpringUtils.getBean(NodeService.class); + MatService matService = SpringUtils.getBean(MatService.class); Date now = new Date(); // 鍟嗗搧 @@ -65,23 +74,93 @@ pla = excel; pla.setStep(2); pla.setCreateTime(new Date()); - pla.setStatus(GlobleParameter.PLA_STATUS_0); + pla.setModifyTime(new Date()); + pla.setStatus(GlobleParameter.PLA_STATUS_00); + pla.setStockFreeze(1); + pla.setWeightAnfme(pla.getWeight()); + Mat mat = matService.selectByMaktx(pla.getBrand()); + if(Cools.isEmpty(mat)){ + throw new CoolException("鏃犳硶鎵惧埌瀵瑰簲鐨勭墝鍙蜂俊鎭紝鐗屽彿=" + pla.getBrand()); + } + pla.setMatnr(mat.getMatnr()); + try { + pla.setType(getType(mat.getMatnr())); + //杞﹂棿銆佷骇绾裤�佷富浣� + setPla(pla); + }catch (Exception e){ + log.info(e.getMessage() + "Pla: " + pla.getBatch()); + throw new CoolException(e.getMessage()); + } + + if(!Cools.isEmpty(pla.getLocNo())){ + Node node = nodeService.selectByUuid(pla.getLocNo()); + if(Cools.isEmpty(node)){ + throw new CoolException("鏈兘鎵惧埌鐩稿簲鐨勫簱浣嶄俊鎭紝搴撲綅缂栧彿=" +pla.getLocNo()); + //log.info("鏈兘鎵惧埌鐩稿簲鐨勫簱浣嶄俊鎭紝搴撲綅缂栧彿={}",pla.getLocNo()); + } + pla.setStash(node.getParentName()); + pla.setLocNo(node.getUuid()); + pla.setStatus(GlobleParameter.PLA_STATUS_1); + pla.setPakinTime(new Date()); + } if (!plaService.insert(pla)) { throw new CoolException("淇濆瓨鍟嗗搧淇℃伅澶辫触锛屽晢鍝佺紪鐮侊細" + excel.getMatnr()); } total++; - }else if (pla.getStatus().equals(GlobleParameter.PLA_STATUS_0)){ + }else if (pla.getStatus().equals(GlobleParameter.PLA_STATUS_00)){ excel.setId(pla.getId()); excel.setCreateTime(pla.getCreateTime()); - excel.setModifyTime(pla.getModifyTime()); + excel.setModifyTime(new Date()); excel.setStep(2); - excel.setStatus(GlobleParameter.PLA_STATUS_0); + excel.setStatus(GlobleParameter.PLA_STATUS_00); BeanUtils.copyProperties(excel,pla); plaService.updateById(pla); total++; } } + private String getType(String matnr){ + String type = matnr.substring(0,3); + if(Cools.eq(type,"301")){ + return "绾爲鑴�"; + } + if (Cools.eq(type,"302")){ + return "鏀规�ф爲鑴�"; + } + if (Cools.eq(type,"303")){ + return "鍓骇鐗�"; + } + if (Cools.eq(type,"304")){ + return "濮旀墭鍔犲伐浜у搧"; + } + if (Cools.eq(type,"305")){ + return "涓欎氦閰�"; + } + + return ""; + } + + private void setPla(Pla pla){ + String batch = pla.getBatch(); + String line = batch.substring(8,10); + + pla.setLine(line); + if("绾爲鑴�".equals(pla.getType())){ + if("01".equals(line) || "02".equals(line)){ + pla.setOwner(OWNER_HZ); + pla.setWorkshop("涓�杞﹂棿"); + }else { + pla.setOwner(OWNER_HNE); + pla.setWorkshop("涓夎溅闂�"); + } + }else if ("鏀规�ф爲鑴�".equals(pla.getType())){ + if ("01".equals(line) || "02".equals(line) || "03".equals(line) || "04".equals(line)){ + pla.setOwner(OWNER_HNE); + pla.setWorkshop("浜岃溅闂�"); + } + } + } + /** * 鎵�鏈夋暟鎹В鏋愬畬鎴愪簡璋冪敤 * 閫傚悎浜嬪姟 -- Gitblit v1.9.1