From 15c8f00ab3a1e3d2d96b56bae0ec11efedd60231 Mon Sep 17 00:00:00 2001 From: 18516761980 <4761516tqsxp> Date: 星期三, 29 九月 2021 11:14:15 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/OutStockController.java | 67 +++++++++++++++++++++++++++++---- 1 files changed, 59 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OutStockController.java b/src/main/java/com/zy/asrs/controller/OutStockController.java index ab30dd6..71f9b4e 100644 --- a/src/main/java/com/zy/asrs/controller/OutStockController.java +++ b/src/main/java/com/zy/asrs/controller/OutStockController.java @@ -1,6 +1,8 @@ package com.zy.asrs.controller; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; import com.core.annotations.ManagerAuth; import com.core.common.Cools; import com.core.common.DateUtils; @@ -8,23 +10,30 @@ import com.core.exception.CoolException; import com.zy.asrs.entity.LocDetl; import com.zy.asrs.entity.LocNormal; +import com.zy.asrs.entity.LocNormalLog; import com.zy.asrs.entity.param.LocNormalStockOutParam; import com.zy.asrs.entity.param.StockOutParam; +import com.zy.asrs.service.LocNormalLogService; import com.zy.asrs.service.LocNormalService; import com.zy.asrs.service.OutStockService; import com.zy.asrs.service.WorkService; +import com.zy.asrs.utils.VersionUtils; import com.zy.common.service.erp.ErpService; +import com.zy.common.service.erp.entity.OutStockBill; import com.zy.common.service.erp.entity.OutStockBillEntry; import com.zy.common.web.BaseController; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.implementation.bytecode.Throw; import org.apache.ibatis.annotations.Param; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Map; @@ -41,6 +50,9 @@ private LocNormalService locNormalService; @Autowired private ErpService erpService; + @Autowired + private LocNormalLogService locNormalLogService; + /** * @@ -83,8 +95,8 @@ */ @RequestMapping(value = "/outStock/query/locNormalList") @ManagerAuth - public R queryMatWithLocNormal(String fbillNo) { - List<LocNormal> list = locNormalService.queryLocNorlMatnr(fbillNo); + public R queryMatWithLocNormal(String fbillNo, String mnemonic) { + List<LocNormal> list = locNormalService.queryLocNorlMatnr(fbillNo, mnemonic); return R.ok(list); } @@ -96,15 +108,27 @@ */ @RequestMapping(value = "/outStock/locNormal") @ManagerAuth + @Transactional public R outStockLocNormal(@RequestBody LocNormalStockOutParam param) { Long modiUser = getUserId(); Date modiTime = new Date(); - for (LocNormal locNormals:param.getList()) { - // erp涓棿琛ㄦ洿鏂版暟鎹� - Integer FInterI = outStockService.queryOutStockFInterID(param.getSupplier()); // 鑾峰彇鍑哄簱鍗曚富琛ㄤ富閿� - if (!erpService.incrementCPakOut(FInterI, locNormals.getMatnr(), locNormals.getAnfme().doubleValue(), param.getSupplier())) { - log.info("鏇存柊ERP鎴愬搧鍑哄簱鏁版嵁[matnr={0}]澶辫触", locNormals.getMatnr(), param.getSupplier()); + + Integer FInterI = outStockService.queryOutStockFInterID(param.getSupplier()); // 鑾峰彇鍑哄簱鍗曚富琛ㄤ富閿� + 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 (LocNormal locNormals:param.getList()) { + if(locNormals.getMatnr().equals(Fnumber)){ + qty = qty.add(locNormals.getAnfme()); + } } + if(qty.compareTo(one.getFQty()) == 1){ + return R.error("鍑哄簱鏁伴噺澶т簬閫氱煡妗f暟閲廩FInterID=" + FInterI + ",Fnumber=" + Fnumber + "]"); + } + } + + for (LocNormal locNormals:param.getList()) { LocNormal locNormal = locNormalService.selectOne(new EntityWrapper<LocNormal>().eq("id", locNormals.getId())); if (!Cools.isEmpty(locNormal)) { if (locNormal.getAnfme().compareTo(locNormals.getAnfme()) == 1) { @@ -124,15 +148,42 @@ logLocNormal.setMemo(locNormal.getMemo()); logLocNormal.setState("2"); // 鐢熸垚鍑哄簱璁板綍 - locNormalService.insert(logLocNormal); +// locNormalService.insert(logLocNormal); // 鏇存柊鍘熷厛骞充粨璁板綍 locNormalService.updateLocNormal(locNormal.getMatnr(), locNormal.getAnfme().subtract(locNormals.getAnfme()), modiUser, modiTime, locNormal.getId()); + // 鐢熸垚骞充粨鍑哄叆搴撹褰� + LocNormalLog locLog = new LocNormalLog(); + VersionUtils.setLocNormalLog(locLog, locNormals); + locLog.setAnfme(locNormals.getAnfme().doubleValue()); + locLog.setIoType(2); + locLog.setCreateTime(new Date()); + locLog.setCreateUser(modiUser); + if (!locNormalLogService.insert(locLog)) { + String logStr = JSON.toJSONString(locLog); + log.info("骞充粨鍑哄簱璁板綍鎻掑叆澶辫触,鏁版嵁:" + logStr); + } } else { // 鎶婂搴旂墿鏂欏钩浠撳簱瀛樺嚭搴� locNormalService.outLocNormal(locNormals.getMatnr(), modiUser, modiTime, locNormals.getId()); } } +// Integer FInterI = outStockService.queryOutStockFInterID(param.getSupplier()); // 鑾峰彇鍑哄簱鍗曚富琛ㄤ富閿� + + //鏇存柊ASRS鍑哄簱閫氱煡妗f槑缁嗗嚭搴撴暟閲� + Wrapper wrapper = new EntityWrapper<OutStockBillEntry>().eq("FInterID",FInterI).eq("Fnumber",locNormals.getMatnr()); + OutStockBillEntry outStockBillEntry = outStockService.selectOne(wrapper); + outStockBillEntry.setFAuxCommitQty(outStockBillEntry.getFAuxCommitQty().add(locNormals.getAnfme())); + outStockBillEntry.setFAmount(outStockBillEntry.getFAmount().add(locNormals.getAnfme())); //鍊熺敤amount瀛楁锛屾帶鍒朵笅鍙戝嚭搴撲换鍔℃暟閲� + if(!outStockService.update(outStockBillEntry,wrapper)){ + throw new CoolException("鏇存柊鍑哄簱閫氱煡妗f槑缁嗗け璐FInterID="+FInterI+",Fnumber="+locNormals.getMatnr()+"]"); + } + + // erp涓棿琛ㄦ洿鏂版暟鎹� + if (!erpService.incrementCPakOut(FInterI, locNormals.getMatnr(), locNormals.getAnfme().doubleValue(), param.getSupplier())) { + log.error("鏇存柊ERP鎴愬搧鍑哄簱鏁版嵁[matnr={},FBillNo={}]澶辫触", locNormals.getMatnr(), param.getSupplier()); + } + } return R.ok("骞充粨鍑哄簱鎴愬姛"); } -- Gitblit v1.9.1