From 71d838e032d13a46a07917f5606862496220ea74 Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期一, 08 一月 2024 08:35:35 +0800 Subject: [PATCH] # 入库拣货功能添加 --- src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 93 ++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 81 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java index 7ff7b17..56ac370 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -1,36 +1,37 @@ package com.zy.asrs.service.impl; -import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; -import com.core.common.*; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; import com.core.exception.CoolException; -import com.sun.org.apache.xpath.internal.operations.Or; import com.zy.asrs.entity.*; -import com.zy.asrs.entity.param.*; +import com.zy.asrs.entity.param.CombParam; +import com.zy.asrs.entity.param.MobileAdjustNewParam; +import com.zy.asrs.entity.param.MobileAdjustParam; +import com.zy.asrs.entity.param.OffSaleParam; import com.zy.asrs.mapper.ManLocDetlMapper; import com.zy.asrs.service.*; -import com.zy.asrs.utils.MatUtils; import com.zy.asrs.utils.SaasUtils; -import com.zy.common.CodeRes; -import com.zy.common.constant.MesConstant; -import com.zy.common.entity.Parameter; import com.zy.common.model.DetlDto; -import com.zy.common.model.MesCombParam; import com.zy.common.service.CommonService; -import com.zy.common.utils.HttpHandler; import com.zy.common.utils.Synchro; import com.zy.system.entity.User; +import com.zy.system.service.SaasLogService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; -import java.text.SimpleDateFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.Iterator; +import java.util.List; /** * 绉诲姩绔湇鍔℃牳蹇冪被 @@ -94,7 +95,16 @@ private LocInPrintMatService locInPrintMatService; @Autowired + private LocOutPrintMatService locOutPrintMatService; + + @Autowired private LocOwnerService locOwnerService; + @Autowired + private PlaService plaService; + @Autowired + private PlaQtyService plaQtyService; + @Autowired + private SaasLogService saasLogService; @@ -1148,6 +1158,7 @@ @Override public R manDetlOriginOut(JSONObject json, User user) { + Date now = new Date(); JSONArray combMats = json.getJSONArray("combMats"); List<MatPrint> matPrintList=new ArrayList<>(); List<Long> ids=new ArrayList<>(); @@ -1174,6 +1185,8 @@ if (manLocDetl.getAnfme() > parseLong){ BigDecimal num = anfme.subtract(outAnfme); manLocDetl.setAnfme(num.doubleValue()); + manLocDetl.setUpdateBy(user.getId()); + manLocDetl.setModiTime(now); if (!manLocDetlService.update(manLocDetl,manLocDetlWrapper)) { return R.error("鐗╂枡淇℃伅涓嬫灦澶辫触"); } @@ -1184,6 +1197,62 @@ } } } + for (MatPrint jsonOriginDetl:matPrintList) { + //澧炲姞鎵撳嵃妗f + LocOutPrintMat locOutPrintMat = new LocOutPrintMat(now, user.getId(), jsonOriginDetl.getMatnr(), jsonOriginDetl.getBatch(), jsonOriginDetl.getAnfme(), jsonOriginDetl.getLocNo(), jsonOriginDetl.getMaktx()); + locOutPrintMat.setOwnerId(jsonOriginDetl.getOwnerId()); + locOutPrintMatService.insert(locOutPrintMat); + } return R.ok(); } + + @Override + public void plaPakin(String locNo, String batch, String packageNo) { + Pla pla = plaService.selectByBatchAndPackageNo(batch, packageNo); + if(!pla.getLocNo().equals(locNo)){ + throw new CoolException("璇ョ墿鏂欏叆搴撶殑搴撲綅閿欒"); + } + if("宸插叆搴�".equals(pla.getStatus())){ + throw new CoolException("璇ョ墿鏂欏凡鍏ュ簱"); + } + pla.setStatus("宸插叆搴�"); + pla.setModifyTime(new Date()); + plaService.updateById(pla); + SaasUtils.insertLog(0,locNo,batch+","+packageNo,pla.getWeightAnfme(),null); + } + + @Override + @Transactional + public void plaPakout(String locNo, String batch, String packageNo, String orderNo, String orderDetlId, String wrkNo, Double anfme) { + Pla pla = plaService.selectByBatchAndPackageNo(batch, packageNo); + + ManPakOut manPakOut = manPakOutService.selectById(wrkNo); + + PlaQty plaQty = plaQtyService.selectById(orderDetlId); + + //鏇存柊鎷h揣鍗曚俊鎭� + if(manPakOut.getCount() + anfme > manPakOut.getAnfme()){ + throw new CoolException("鎷h揣閲嶉噺澶т簬鎷h揣鍗曟墍闇�鎷h揣閲嶉噺锛岃閲嶆柊鍒嗛厤鎷h揣閲嶉噺"); + } + if(manPakOut.getStatus() == 1){ + throw new CoolException("璇ユ嫞鏂欏崟宸插嚭搴�"); + } + manPakOut.setCount(manPakOut.getCount() + anfme); + if (manPakOut.getAnfme().equals(manPakOut.getCount())){ + manPakOut.setStatus(1); + manPakOutService.updateById(manPakOut); + } + + //鏇存柊pla鏄庣粏 + pla.setWeightAnfme(pla.getWeightAnfme() - anfme); + pla.setQtyAnfme(pla.getQtyAnfme() - anfme); + if(pla.getWeightAnfme() <= 0){ + pla.setStatus("鍏ㄩ儴鍑哄簱"); + }else { + pla.setStatus("閮ㄥ垎鍑哄簱"); + } + plaService.updateById(pla); + SaasUtils.insertLog(1,locNo,batch+","+packageNo,anfme,null); + + } } -- Gitblit v1.9.1