From 6fc595d7099ec9b98006da41528900d41ad176fa Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期五, 08 四月 2022 09:46:32 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 313 ++++++++++++++++++++++++---------------------------
1 files changed, 146 insertions(+), 167 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 60b07d3..b051cbf 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -1,6 +1,5 @@
package com.zy.asrs.service.impl;
-import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.common.BaseRes;
@@ -14,13 +13,11 @@
import com.zy.asrs.entity.param.LocDetlAdjustParam;
import com.zy.asrs.entity.param.StockOutParam;
import com.zy.asrs.service.*;
-import com.zy.asrs.utils.VersionUtils;
import com.zy.common.model.*;
import com.zy.common.model.enums.WorkNoType;
import com.zy.common.service.CommonService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -41,6 +38,8 @@
private static final int DEFAULT_ROW_NO_TYPE = 1;
@Autowired
+ private MatService matService;
+ @Autowired
private WrkMastService wrkMastService;
@Autowired
private WrkDetlService wrkDetlService;
@@ -54,8 +53,6 @@
private StaDescService staDescService;
@Autowired
private LocDetlService locDetlService;
- @Autowired
- private MatCodeService matCodeService;
@Autowired
private AdjDetlService adjDetlService;
@Autowired
@@ -76,14 +73,13 @@
if (Cools.isEmpty(param.getDevpNo(), param.getList())) {
throw new CoolException(BaseRes.PARAM);
}
+ Date now = new Date();
// 婧愮珯鐐圭姸鎬佹娴�
BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo(), true);
// 妫�绱㈠簱浣�
LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
- log.info(JSON.toJSONString(locTypeDto));
- log.info("{}鍏ュ簱鍙e昂瀵告娴嬶細{}", param.getDevpNo(), locTypeDto.getLocType1()==1?"浣庤鏍煎簱浣�":"楂樿鏍煎簱浣�");
- List<String> matNos = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatNo).distinct().collect(Collectors.toList());
- StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matNos, locTypeDto, 0);
+ List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList());
+ StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matnrs, locTypeDto, 0);
// 鐢熸垚宸ヤ綔鍙�
int workNo = dto.getWorkNo();
// 鐢熸垚宸ヤ綔妗�
@@ -92,7 +88,7 @@
wrkMast.setIoTime(new Date());
wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
- wrkMast.setIoPri(13D); // 浼樺厛绾э細10
+ wrkMast.setIoPri(13D); // 浼樺厛绾э細13
wrkMast.setCrnNo(dto.getCrnNo());
wrkMast.setSourceStaNo(dto.getSourceStaNo());
wrkMast.setStaNo(dto.getStaNo());
@@ -104,25 +100,30 @@
wrkMast.setEmptyMk("N"); // 绌烘澘
wrkMast.setLinkMis("N");
wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷
- // 鎿嶄綔浜哄憳鏁版嵁
wrkMast.setAppeUser(userId);
- wrkMast.setAppeTime(new Date());
+ wrkMast.setAppeTime(now);
wrkMast.setModiUser(userId);
- wrkMast.setModiTime(new Date());
- boolean res = wrkMastService.insert(wrkMast);
- if (!res) {
+ wrkMast.setModiTime(now);
+ if (!wrkMastService.insert(wrkMast)) {
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
// 鐢熸垚宸ヤ綔妗f槑缁�
List<DetlDto> detlDtos = new ArrayList<>();
param.getList().forEach(elem -> {
- detlDtos.add(new DetlDto(elem.getMatNo(), elem.getCount()));
+ DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme());
+ if (DetlDto.has(detlDtos, detlDto)) {
+ DetlDto detlDto1 = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
+ assert detlDto1 != null;
+ detlDto1.setAnfme(detlDto1.getAnfme() + detlDto.getAnfme());
+ } else {
+ detlDtos.add(detlDto);
+ }
});
wrkDetlService.createWorkDetail(workNo, detlDtos, param.getBarcode(), userId);
// 鏇存柊婧愮珯鐐逛俊鎭�
sourceStaNo.setWrkNo(workNo);
sourceStaNo.setModiUser(userId);
- sourceStaNo.setModiTime(new Date());
+ sourceStaNo.setModiTime(now);
if (!basDevpService.updateById(sourceStaNo)){
throw new CoolException("鏇存柊婧愮珯澶辫触");
}
@@ -131,7 +132,7 @@
if (locMast.getLocSts().equals("O")){
locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
locMast.setModiUser(userId);
- locMast.setModiTime(new Date());
+ locMast.setModiTime(now);
if (!locMastService.updateById(locMast)){
throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
}
@@ -150,10 +151,7 @@
List<LocDetlDto> locDetlDtos = new ArrayList<>();
for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
- LocDetl sqlParam = new LocDetl();
- sqlParam.setLocNo(paramLocDetl.getLocNo());
- sqlParam.setMatnr(paramLocDetl.getMatnr());
- LocDetl one = locDetlService.selectOne(new EntityWrapper<>(sqlParam));
+ LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
}
}
@@ -161,7 +159,7 @@
// 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
stockOut(staNo, locDetlDtos, null, userId);
} else {
- throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
+ throw new CoolException("搴撳瓨涓嶅瓨鍦�");
}
}
@@ -171,20 +169,22 @@
Date now = new Date();
// 鍚堝苟鍚岀被椤�
Set<String> locNos = new HashSet<>();
- locDetlDtos.forEach(dto -> locNos.add(dto.getLocDetl().getLocNo()));
List<OutLocDto> dtos = new ArrayList<>();
- for (String locNo : locNos) {
- List<LocDetlDto> list = new ArrayList<>();
- Iterator<LocDetlDto> iterator = locDetlDtos.iterator();
- while (iterator.hasNext()) {
- LocDetlDto dto = iterator.next();
- if (locNo.equals(dto.getLocDetl().getLocNo())) {
- list.add(dto);
- iterator.remove();
+ for (LocDetlDto locDetlDto : locDetlDtos) {
+ String locNo = locDetlDto.getLocDetl().getLocNo();
+ if (locNos.contains(locNo)) {
+ for (OutLocDto dto : dtos) {
+ if (dto.getLocNo().equals(locNo)) {
+ dto.getLocDetlDtos().add(locDetlDto);
+ break;
+ }
}
+ } else {
+ locNos.add(locNo);
+ dtos.add(new OutLocDto(locNo, locDetlDto));
}
- dtos.add(new OutLocDto(locNo, list));
}
+
// 鐢熸垚宸ヤ綔妗�
for (OutLocDto dto : dtos) {
// 鍒ゆ柇鍏ュ嚭搴撶被鍨嬶細101.鍏ㄦ澘鍑哄簱 or 103.鎷f枡鍑哄簱
@@ -194,14 +194,7 @@
// 鑾峰彇搴撲綅
LocMast locMast = locMastService.selectById(dto.getLocNo());
// 鑾峰彇璺緞
- Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
- .eq("type_no", ioType)
- .eq("stn_no", staNo.getDevNo())
- .eq("crn_no", locMast.getCrnNo());
- StaDesc staDesc = staDescService.selectOne(wrapper);
- if (Cools.isEmpty(staDesc)) {
- throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
- }
+ StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), staNo.getDevNo());
// 鐢熸垚宸ヤ綔鍙�
int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
// 鐢熸垚宸ヤ綔妗�
@@ -229,14 +222,13 @@
}
// 鐢熸垚宸ヤ綔妗f槑缁�
for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
- // 鍑哄簱鏃讹紝鏁伴噺涓�0鐨勭洿鎺ュ拷鐣�
if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;}
WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(detlDto.getLocDetl());
wrkDetl.setWrkNo(workNo);
- wrkDetl.setIoTime(new Date());
+ wrkDetl.setIoTime(now);
Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount();
wrkDetl.setAnfme(anfme); // 鏁伴噺
- VersionUtils.setWrkDetl(wrkDetl, detlDto.getLocDetl()); // 鐗堟湰鎺у埗
wrkDetl.setAppeTime(now);
wrkDetl.setAppeUser(userId);
wrkDetl.setModiTime(now);
@@ -305,12 +297,12 @@
if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; }
OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(orderDetl);
wrkDetl.setIoTime(now);
wrkDetl.setWrkNo(workNo);
wrkDetl.setBatch(locDto.getBatch());
wrkDetl.setOrderNo(locDto.getOrderNo());
wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
- VersionUtils.setWrkDetl(wrkDetl, orderDetl); // 鐗堟湰鎺у埗
wrkDetl.setAppeTime(now);
wrkDetl.setAppeUser(userId);
wrkDetl.setModiTime(now);
@@ -463,12 +455,9 @@
// 鑾峰彇搴撲綅鏄庣粏
List<LocDetlDto> locDetlDtos = new ArrayList<>();
for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
- if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr())) {
- LocDetl sqlParam = new LocDetl();
- sqlParam.setLocNo(paramLocDetl.getLocNo());
- sqlParam.setMatnr(paramLocDetl.getMatnr());
- LocDetl one = locDetlService.selectOne(new EntityWrapper<>(sqlParam));
- if (null != one) locDetlDtos.add(new LocDetlDto(one, one.getAnfme()));
+ if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
+ LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+ if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
}
}
if (!locDetlDtos.isEmpty()) {
@@ -523,10 +512,10 @@
List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo));
for (LocDetl locDetl : locDetls) {
WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(locDetl);
wrkDetl.setWrkNo(workNo);
wrkDetl.setIoTime(new Date());
wrkDetl.setAnfme(locDetl.getAnfme());
- VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗
wrkDetl.setAppeTime(new Date());
wrkDetl.setAppeUser(userId);
wrkDetl.setModiTime(new Date());
@@ -591,83 +580,123 @@
@Override
@Transactional
public void adjustLocDetl(LocDetlAdjustParam param, Long userId) {
+ param.integrate();
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.setAnfme(adjust.getCount()); // 鏁伴噺
- VersionUtils.setLocDetl(locDetl, matCode); // 鐗堟湰鎺у埗
- 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("娓呴櫎搴撳瓨鏄庣粏澶辫触");
+ if (!(locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O"))) {
+ throw new CoolException("褰撳墠搴撲綅涓嶅彲璋冩暣锛佸簱浣嶇姸鎬侊細" + locMast.getLocSts$());
+ }
+
+ Date now = new Date();
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", param.getLocNo()));
+
+ List<LocDetlAdjustParam.LocDetlAdjust> list = param.getList();
+
+ // 淇敼鏁伴噺
+ Iterator<LocDetl> iterator = locDetls.iterator();
+ while (iterator.hasNext()) {
+ LocDetl locDetl = iterator.next();
+
+ Iterator<LocDetlAdjustParam.LocDetlAdjust> iterator1 = list.iterator();
+ while (iterator1.hasNext()) {
+ LocDetlAdjustParam.LocDetlAdjust adjust = iterator1.next();
+ if (adjust.getCount() == 0) { continue; }
+ if (locDetl.getMatnr().equals(adjust.getMatnr()) && Cools.eq(locDetl.getBatch(), adjust.getBatch())) {
+ if (!locDetl.getAnfme().equals(adjust.getCount())) {
+ // todo 鐩樼偣璁板綍
+ // 淇敼搴撳瓨
+ if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) {
+ throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿淇敼鏁伴噺澶辫触");
}
- } 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(locDetl.getLocNo());
+ adjDetl.setMatnr(locDetl.getMatnr());
+ adjDetl.setBatch(locDetl.getBatch());
+ adjDetl.setOriQty(locDetl.getAnfme());
+ adjDetl.setAdjQty(adjust.getCount());
+ adjDetl.setModiTime(now);
+ adjDetl.setModiUser(userId);
+ adjDetl.setAppeTime(now);
+ adjDetl.setAppeUser(userId);
+ adjDetlService.save(adjDetl, userId);
}
- // 淇濆瓨璋冩暣璁板綍
- AdjDetl adjDetl = new AdjDetl();
- adjDetl.setLocNo(locMast.getLocNo());
- adjDetl.setMatNo(adjust.getMatnr());
- adjDetl.setOriQty(one.getAnfme());
- adjDetl.setAdjQty(adjust.getCount());
- adjDetlService.save(adjDetl, userId);
+ iterator.remove();
+ iterator1.remove();
}
}
}
- List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", param.getLocNo()));
- if (locDetls.isEmpty()) {
- locMast.setLocSts("D");
- locMast.setModiUser(userId);
- locMast.setModiTime(new Date());
- if (!locMastService.updateById(locMast)) {
- throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�");
+
+ // 鍒犻櫎搴撳瓨
+ for (LocDetl locDetl : locDetls) {
+ // todo 鐩樼偣璁板綍
+ if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) {
+ throw new CoolException("鍒犻櫎" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "鎵瑰彿搴撳瓨鏄庣粏澶辫触");
}
+ // 淇濆瓨璋冩暣璁板綍
+ AdjDetl adjDetl = new AdjDetl();
+ adjDetl.setLocNo(locDetl.getLocNo());
+ adjDetl.setMatnr(locDetl.getMatnr());
+ adjDetl.setBatch(locDetl.getBatch());
+ adjDetl.setOriQty(locDetl.getAnfme());
+ adjDetl.setAdjQty(0.0D);
+ adjDetl.setModiTime(now);
+ adjDetl.setModiUser(userId);
+ adjDetl.setAppeTime(now);
+ adjDetl.setAppeUser(userId);
+ adjDetlService.save(adjDetl, userId);
+ }
+
+ // 娣诲姞搴撳瓨
+ for (LocDetlAdjustParam.LocDetlAdjust adjust : list) {
+ if (adjust.getCount() == 0.0D) { continue; }
+ Mat mat = matService.selectByMatnr(adjust.getMatnr());
+ LocDetl locDetl = new LocDetl();
+ locDetl.sync(mat);
+ locDetl.setBatch(adjust.getBatch());
+ locDetl.setLocNo(locMast.getLocNo());
+ locDetl.setAnfme(adjust.getCount()); // 鏁伴噺
+ locDetl.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅
+ locDetl.setModiTime(now);
+ locDetl.setAppeUser(userId);
+ locDetl.setAppeTime(now);
+ if (!locDetlService.insert(locDetl)) {
+ throw new CoolException("淇濆瓨搴撳瓨鏄庣粏澶辫触");
+ }
+ // 淇濆瓨璋冩暣璁板綍
+ AdjDetl adjDetl = new AdjDetl();
+ adjDetl.setLocNo(locMast.getLocNo());
+ adjDetl.setMatnr(adjust.getMatnr());
+ adjDetl.setBatch(adjust.getBatch());
+ adjDetl.setOriQty(0.0D);
+ adjDetl.setAdjQty(adjust.getCount());
+ adjDetl.setModiTime(now);
+ adjDetl.setModiUser(userId);
+ adjDetl.setAppeTime(now);
+ adjDetl.setAppeUser(userId);
+ adjDetlService.save(adjDetl, userId);
+ }
+ // 淇敼搴撲綅鐘舵��
+ int count = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
+ if (locMast.getLocSts().equals("F")) {
+ if (count == 0) {
+ locMast.setLocSts("D");
+ }
+ }
+ if (locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O")) {
+ if (count > 0) {
+ locMast.setLocSts("F");
+ }
+ }
+ locMast.setModiUser(userId);
+ locMast.setModiTime(new Date());
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�");
}
}
+
@Override
@Transactional
@@ -825,56 +854,6 @@
if (!locMastService.updateById(locMast)) {
throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
}
- }
-
- @Autowired
- private JdbcTemplate jdbcTemplate;
- private boolean pickSite = false;
- private void stockOutRe(WrkMast wrkMast, List<WrkDetl> wrkDetls) {
- for (WrkDetl wrkDetl : wrkDetls) {
- List<LocDetl> locDetls = locDetlService.selectPakoutByRule(wrkDetl.getMatnr());
- double issued = wrkDetl.getAnfme();
- for (LocDetl locDetl : locDetls) {
- if (issued > 0) {
- // 鐢熸垚鍑哄簱宸ヤ綔妗�
- // 鍏ㄦ澘
- if (issued>=locDetl.getAnfme()) {
- BasDevp staNo = basDevpService.checkSiteStatus(103);
- List<LocDetlDto> detlDtos = new ArrayList<>();
- LocDetlDto dto = new LocDetlDto();
- dto.setLocDetl(locDetl);
- dto.setCount(issued>=locDetl.getAnfme()?locDetl.getAnfme():issued);
- detlDtos.add(dto);
- stockOut(staNo, detlDtos, 101, 9527L);
- // 鎷f枡
- } else {
- int priorCount = jdbcTemplate.queryForObject("select isnull(count(*),0) from man_prior where 1=1 and matnr = '" + wrkDetl.getMatnr() + "'", Integer.class);
- if (priorCount > 0) {
- BasDevp staNo = basDevpService.checkSiteStatus(103);
- List<LocDetlDto> detlDtos = new ArrayList<>();
- LocDetlDto dto = new LocDetlDto();
- dto.setLocDetl(locDetl);
- dto.setCount(locDetl.getAnfme());
- detlDtos.add(dto);
- stockOut(staNo, detlDtos, 101, 9527L);
- } else {
- BasDevp staNo = basDevpService.checkSiteStatus(pickSite?113:109);
- List<LocDetlDto> detlDtos = new ArrayList<>();
- LocDetlDto dto = new LocDetlDto();
- dto.setLocDetl(locDetl);
- dto.setCount(issued>=locDetl.getAnfme()?locDetl.getAnfme():issued);
- detlDtos.add(dto);
- stockOut(staNo, detlDtos, 103, 9527L);
- }
-
- }
-
- // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
- issued = issued - locDetl.getAnfme();
- }
- }
- }
- pickSite = !pickSite;
}
}
--
Gitblit v1.9.1