From dcd7fcf596005d0c7cf66558bee97edf6c3b03a0 Mon Sep 17 00:00:00 2001
From: wang..123 <brook_w@163.com>
Date: 星期四, 10 三月 2022 18:12:09 +0800
Subject: [PATCH] #物料状态维护
---
src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java | 53 ++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 46 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java
index 156a98a..3eff23f 100644
--- a/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OutStockServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
+import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.StockOutParam;
@@ -49,6 +50,8 @@
private LocNormalService locNormalService;
@Autowired
private JdbcTemplate jdbcTemplate;
+ @Autowired
+ private OutStockService outStockService;
@Override
public Page<OutStockBillEntry> queryOutStock(Page<OutStockBillEntry> page) {
@@ -94,11 +97,9 @@
String sql = "update OutStockbillEntry set FAuxCommitQty = (FAuxCommitQty + {0,number,#}) where 1=1 and Fnumber = ''{1}'' and FInterID = {2,number,#}";
sql = MessageFormat.format(sql, increment, Fnumber, FInterID);
if (jdbcTemplate.update(sql) > 0) {
- log.info("step 1 ======>> {}", sql);
sql = "select * from OutStockbillEntry where 1=1 and Fnumber = ''{0}'' and FInterID = {1,number,#}";
sql = MessageFormat.format(sql, Fnumber, FInterID);
- List<OutStockBillEntry> select = jdbcTemplate.queryForList(sql, OutStockBillEntry.class);
- log.info("step 2 ======>> {}", sql);
+ List<OutStockBillEntry> select = this.selectList(new EntityWrapper<OutStockBillEntry>().eq("Fnumber", Fnumber).eq("FInterID", FInterID));
OutStockBillEntry outStockBillEntry = select.get(0);
boolean complete = false;
if (outStockBillEntry.getFQty().compareTo(BigDecimal.ZERO) == 1) {
@@ -111,9 +112,12 @@
}
}
if (complete) {
- if (!completeCPakOut(FBillNo)) {
- log.error("{}鍑哄簱鍗曟爣璁板畬鎴愬け璐�", FBillNo);
- }
+ List<OutStockBillEntry> select1 = this.selectList(new EntityWrapper<OutStockBillEntry>().eq("FInterID", FInterID));
+ if(select1.size()==1){
+ if (!completeCPakOut(FBillNo) ) {
+ log.error("{}鍑哄簱鍗曟爣璁板畬鎴愬け璐�", FBillNo);
+ }
+ }
}
return true;
} else {
@@ -125,13 +129,38 @@
private boolean completeCPakOut(String FBillNo){
String sql = "update OutStockbill set Fflag_finish = 1 where FBillNo = ''{0}''";
sql = MessageFormat.format(sql, FBillNo);
- log.info("step 3 ======>> {}", sql);
return jdbcTemplate.update(sql) > 0;
}
@Override
@Transactional
public void startupFullTakeStore(StockOutParam param, Long userId) {
+ //鍒ゆ柇鍑哄簱鐔熺粌鏄惁澶т簬搴撳瓨鏁伴噺
+ for (StockOutParam.LocDetl detl : param.getLocDetls()) {
+// LocDetl locDetl = locDetlService.selectById(detl.getLocNo());
+ LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no",detl.getLocNo()));
+ if(locDetl != null){
+ if(detl.getCount() > locDetl.getAnfme()){
+ throw new CoolException("鍑哄簱鏁伴噺瓒呰繃浜嗗簱瀛樻暟閲廩locNo=" + detl.getLocNo() + "]");
+ }
+ }
+ }
+ //鍒ゆ柇鍑哄簱鏁伴噺鏄惁澶т簬閫氱煡妗f暟閲�
+ Integer FInterI = outStockService.queryOutStockFInterID(param.getFbillNo()); // 鑾峰彇鍑哄簱鍗曚富琛ㄤ富閿�
+ List<OutStockBillEntry> entryList = outStockService.selectList(new EntityWrapper<OutStockBillEntry>().eq("FInterID",FInterI));
+ for(OutStockBillEntry one : entryList){
+ String Fnumber = one.getFnumber();
+ BigDecimal qty = new BigDecimal(0);
+ for (StockOutParam.LocDetl detl : param.getLocDetls()) {
+ if(detl.getMatnr().equals(Fnumber)){
+ qty = qty.add(BigDecimal.valueOf(detl.getCount()));
+ }
+ }
+ if(qty.compareTo(one.getFQty()) == 1){
+ throw new CoolException("鍑哄簱鏁伴噺澶т簬閫氱煡妗f暟閲廩FInterID=" + FInterI + ",Fnumber=" + Fnumber + "]");
+ }
+ }
+
// 鐩爣绔欑偣鐘舵�佹娴�
BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
// 鑾峰彇搴撲綅鏄庣粏
@@ -241,6 +270,16 @@
if (!wrkDetlService.insert(wrkDetl)) {
throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
}
+
+ //鏇存柊鍑哄簱閫氱煡妗amount瀛楁锛岄槻姝㈤噸澶嶄笅鍙戜换鍔� 2021-09-28 TQS ADD
+ Integer FInterI = outStockService.queryOutStockFInterID(fbillNo); // 鑾峰彇鍑哄簱鍗曚富琛ㄤ富閿�
+ Wrapper wrapper1 = new EntityWrapper<OutStockBillEntry>().eq("FInterID",FInterI).eq("Fnumber",detlDto.getLocDetl().getMatnr());
+ OutStockBillEntry outStockBillEntry = outStockService.selectOne(wrapper1);
+ outStockBillEntry.setFAmount(outStockBillEntry.getFAmount().add(BigDecimal.valueOf(anfme))); //鍊熺敤famount瀛楁锛屾帶鍒朵笅鍙戝嚭搴撲换鍔℃暟閲�
+ outStockBillEntry.setFAuxQty(outStockBillEntry.getFAuxQty().subtract(BigDecimal.valueOf(anfme)));
+ if(!outStockService.update(outStockBillEntry,wrapper1)){
+ throw new CoolException("鏇存柊鍑哄簱閫氱煡妗f槑缁咶Amount澶辫触[FInterID="+FInterI+",Fnumber="+detlDto.getLocDetl().getMatnr()+"]");
+ }
}
// 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
locMast = locMastService.selectById(dto.getLocNo());
--
Gitblit v1.9.1