From d51be0cdfd6fd3a146da1d4b5a808bc61c86b700 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 18 六月 2020 17:17:18 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 85 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 85 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 768e468..0cee4ff 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -8,6 +8,7 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.EmptyPlateOutParam;
import com.zy.asrs.entity.param.FullStoreParam;
+import com.zy.asrs.entity.param.LocDetlAdjustParam;
import com.zy.asrs.entity.param.StockOutParam;
import com.zy.asrs.service.*;
import com.zy.common.model.LocDetlDto;
@@ -43,6 +44,10 @@
private StaDescService staDescService;
@Autowired
private LocDetlService locDetlService;
+ @Autowired
+ private MatCodeService matCodeService;
+ @Autowired
+ private AdjDetlService adjDetlService;
@Override
@Transactional
@@ -460,6 +465,86 @@
@Override
@Transactional
+ public void adjustLocDetl(LocDetlAdjustParam param, Long userId) {
+ LocMast locMast = locMastService.selectById(param.getLocNo());
+ if (Cools.isEmpty(locMast)) {
+ throw new CoolException("搴撲綅涓嶅瓨鍦�");
+ }
+ for (LocDetlAdjustParam.LocDetlAdjust adjust : param.getList()) {
+ if (Cools.isEmpty(adjust.getMatnr())) {
+ throw new CoolException(BaseRes.PARAM);
+ }
+ LocDetl sqlParam = new LocDetl();
+ sqlParam.setLocNo(locMast.getLocNo());
+ sqlParam.setMatnr(adjust.getMatnr());
+ LocDetl one = locDetlService.selectOne(new EntityWrapper<>(sqlParam));
+ // 淇濆瓨鏂板簱瀛樻槑缁�
+ if (Cools.isEmpty(one)) {
+ if (adjust.getCount() == 0){
+ continue;
+ }
+ MatCode matCode = matCodeService.selectById(adjust.getMatnr());
+ LocDetl locDetl = new LocDetl();
+ locDetl.setLocNo(locMast.getLocNo());
+ locDetl.setMatnr(matCode.getMatNo());
+ locDetl.setMaktx(matCode.getMatName()); // 鐗╂枡鎻忚堪
+ locDetl.setAnfme(adjust.getCount()); // 鏁伴噺
+ locDetl.setAltme(matCode.getStr1()); // 鍗曚綅
+ // todo:luxiaoao
+ locDetl.setLgnum("寰呭畾"); // 浠撳簱鍙�
+ locDetl.setTbnum(0); // 杞偍璇锋眰缂栧彿
+ locDetl.setTbpos(0); // 琛岄」鐩�
+ locDetl.setZmatid("寰呭畾"); // 鐗╂枡鏍囩ID
+ locDetl.setZpallet("寰呭畾"); // 鎵樼洏鏉$爜
+
+ locDetl.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅
+ locDetl.setModiTime(new Date());
+ locDetl.setAppeUser(userId);
+ locDetl.setAppeTime(new Date());
+ if (!locDetlService.insert(locDetl)) {
+ throw new CoolException("淇濆瓨搴撳瓨鏄庣粏澶辫触");
+ }
+ // 淇濆瓨璋冩暣璁板綍
+ AdjDetl adjDetl = new AdjDetl();
+ adjDetl.setLocNo(locDetl.getLocNo());
+ adjDetl.setMatNo(locDetl.getMatnr());
+ adjDetl.setOriQty(0.0D);
+ adjDetl.setAdjQty(adjust.getCount());
+ adjDetlService.save(adjDetl, userId);
+ // 淇敼鍘熷簱瀛樻槑缁�
+ } else {
+ // 濡傛灉鏁伴噺淇敼锛屽垯鏇存柊搴撳瓨鏄庣粏
+ if (!adjust.getCount().equals(one.getAnfme())) {
+ // 褰撴暟閲忚淇敼涓� 0 鏃讹紝鐩存帴娓呴櫎搴撳瓨鏄庣粏
+ if (adjust.getCount() == 0) {
+ if (!locDetlService.delete(new EntityWrapper<>(one))) {
+ throw new CoolException("娓呴櫎搴撳瓨鏄庣粏澶辫触");
+ }
+ } else {
+ LocDetl sqlParam1 = new LocDetl();
+ sqlParam1.setAnfme(adjust.getCount());
+ sqlParam1.setModiTime(new Date());
+ sqlParam1.setModiUser(userId);
+ if (!locDetlService.update(sqlParam1, new EntityWrapper<LocDetl>()
+ .eq("loc_no", locMast.getLocNo())
+ .eq("matnr", adjust.getMatnr()))) {
+ throw new CoolException("淇敼搴撳瓨鏄庣粏澶辫触");
+ }
+ }
+ // 淇濆瓨璋冩暣璁板綍
+ AdjDetl adjDetl = new AdjDetl();
+ adjDetl.setLocNo(locMast.getLocNo());
+ adjDetl.setMatNo(adjust.getMatnr());
+ adjDetl.setOriQty(one.getAnfme());
+ adjDetl.setAdjQty(adjust.getCount());
+ adjDetlService.save(adjDetl, userId);
+ }
+ }
+ }
+ }
+
+ @Override
+ @Transactional
public void cancelWrkMast(String workNo, Long userId) {
WrkMast wrkMast = wrkMastService.selectById(workNo);
if (Cools.isEmpty(wrkMast)){
--
Gitblit v1.9.1