From 7b26abe9d5e833901783613bbb3cfa27fa75a346 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期一, 20 十一月 2023 20:17:41 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java | 70 +++++++++++++++++++++++++++++++++--
1 files changed, 66 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java
index c9af0a1..2d675d6 100644
--- a/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java
@@ -1,8 +1,10 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.ManLocDetl;
import com.zy.asrs.entity.Mat;
@@ -15,15 +17,14 @@
import com.zy.asrs.service.NodeService;
import com.zy.asrs.service.WaitPakinService;
import com.zy.asrs.utils.SaasUtils;
+import com.zy.common.model.LocDto;
import com.zy.system.entity.User;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
@Service("manLocDetlService")
public class ManLocDetlServiceImpl extends ServiceImpl<ManLocDetlMapper, ManLocDetl> implements ManLocDetlService {
@@ -155,6 +156,12 @@
Date now = new Date();
for (LocDetlAdjustParam.LocDetlAdjust locDetlAdjust : param.getList()) {
ManLocDetl manLocDetl = this.baseMapper.selectItem(param.getLocNo(), locDetlAdjust.getMatnr(), locDetlAdjust.getBatch());
+
+ if(Cools.isEmpty(manLocDetl)){
+ addManlocDetl(locDetlAdjust,param.getLocNo());
+ continue;
+ }
+
this.baseMapper.delete(new EntityWrapper<ManLocDetl>()
.eq("loc_no", param.getLocNo()).eq("matnr",locDetlAdjust.getMatnr()));
Mat mat = matService.selectOne(new EntityWrapper<Mat>()
@@ -200,4 +207,59 @@
return baseMapper.increase(anfme,locNo,matnr,batch,weight);
}
+ public double queryStockAndSetLocDto(String matnr, String batch, String orderNo, List<LocDto> locDtoList, double issued, String csocode, String isoseq) {
+ Wrapper<ManLocDetl> wrapper = new EntityWrapper<ManLocDetl>().eq("matnr", matnr).orderBy("modi_time");
+ wrapper.eq("status",1);
+ wapperSetCondition(wrapper,"batch",batch);
+ wapperSetCondition(wrapper,"csocode",csocode);
+ wapperSetCondition(wrapper,"isoseq",isoseq);
+
+ List<ManLocDetl> manLocDetls = this.selectList(wrapper);
+ for (ManLocDetl manLocDetl : manLocDetls){
+ if(issued > 0) {
+ double anfme = manLocDetl.getAnfme();
+ anfme = anfme > issued ? issued : anfme;
+ LocDto locDto = new LocDto(manLocDetl.getLocNo(), manLocDetl.getMatnr(), manLocDetl.getMaktx(), manLocDetl.getBatch(), orderNo, anfme);
+ locDto.setCsocode(csocode);
+ locDto.setIsoseq(isoseq);
+ locDto.setContainerCode(manLocDetl.getContainerCode());
+ List<String> stationList = new ArrayList<>();
+ stationList.add("鏃犻渶绔欑偣");
+ locDto.setAgvStaNos(stationList);
+
+ locDtoList.add(locDto);
+ issued -= anfme;
+ }
+ }
+
+ return issued;
+ }
+
+ private void wapperSetCondition(Wrapper wrapper,String column, String condition){
+ if(Cools.isEmpty(condition)){
+ wrapper.andNew().eq(column,"").or().isNull(column);
+ }else {
+ wrapper.eq(column,condition);
+ }
+ }
+
+ private void addManlocDetl(LocDetlAdjustParam.LocDetlAdjust param, String locNo){
+ Date now = new Date();
+ ManLocDetl manLocDetl = new ManLocDetl();
+ Node node = nodeService.selectOne(new EntityWrapper<Node>().eq("name", locNo));
+ Mat mat = matService.selectByMatnr(param.getMatnr());
+ BeanUtils.copyProperties(mat,manLocDetl);
+ manLocDetl.setNodeId(node.getId());
+ manLocDetl.setBatch(param.getBatch());
+ manLocDetl.setAnfme(param.getCount());
+ manLocDetl.setContainerCode(param.getSuppCode());
+ manLocDetl.setCsocode(param.getThreeCode());
+ manLocDetl.setIsoseq(param.getDeadTime());
+ manLocDetl.setCreateTime(now);
+ manLocDetl.setModiTime(now);
+ manLocDetl.setLocNo(locNo);
+ manLocDetl.setStatus(1);
+ this.insert(manLocDetl);
+ }
+
}
--
Gitblit v1.9.1