From 5315fe106471728406cbd521576c3fc5d9d28791 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期五, 21 十一月 2025 17:01:18 +0800
Subject: [PATCH] #盘点
---
src/main/java/com/zy/asrs/service/impl/CheckOrderServiceImpl.java | 130 +++++++++++++++++++++++++++++++++++++++++-
1 files changed, 125 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/CheckOrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/CheckOrderServiceImpl.java
index c014d81..1380b77 100644
--- a/src/main/java/com/zy/asrs/service/impl/CheckOrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/CheckOrderServiceImpl.java
@@ -1,16 +1,23 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.core.common.Cools;
+import com.core.common.R;
import com.core.exception.CoolException;
-import com.zy.asrs.entity.CheckOrderDetl;
-import com.zy.asrs.entity.OrderDetlPakin;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.CheckTaskListParam;
import com.zy.asrs.mapper.CheckOrderMapper;
-import com.zy.asrs.entity.CheckOrder;
-import com.zy.asrs.service.CheckOrderDetlService;
-import com.zy.asrs.service.CheckOrderService;
+import com.zy.asrs.service.*;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.common.model.LocDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
@Service("checkOrderService")
public class CheckOrderServiceImpl extends ServiceImpl<CheckOrderMapper, CheckOrder> implements CheckOrderService {
@@ -18,6 +25,21 @@
@Autowired
private CheckOrderDetlService checkOrderDetlService;
+ @Autowired
+ private LocMastService locMastService;
+
+ @Autowired
+ private LocDetlService locDetlService;
+
+ @Autowired
+ private StaDescService staDescService;
+
+ @Autowired
+ private WrkMastService wrkMastService;
+
+ @Autowired
+ private WrkDetlService wrkDetlService;
+
@Override
public void remove(Long orderId) {
if (this.baseMapper.deleteById(orderId) < 1 ) {
@@ -25,4 +47,102 @@
}
checkOrderDetlService.delete(new EntityWrapper<CheckOrderDetl>().eq("order_id", orderId));
}
+
+ @Override
+ public List<LocDto> preview(Long orderId) {
+ CheckOrder checkOrder = this.baseMapper.selectById(orderId);
+ if (Cools.isEmpty(checkOrder)) {
+ throw new CoolException("鏁版嵁閿欒");
+ }
+
+ List<CheckOrderDetl> checkOrderDetls = checkOrderDetlService.selectList(new EntityWrapper<CheckOrderDetl>().eq("order_id", orderId));
+ if (Cools.isEmpty(checkOrderDetls)) {
+ throw new CoolException("鑾峰彇鏄庣粏鏁版嵁閿欒");
+ }
+ List<LocDto> locDtos = new ArrayList<>();
+ for (CheckOrderDetl checkOrderDetl : checkOrderDetls) {
+ LocDto locDto = new LocDto(checkOrderDetl.getLocNo(), checkOrderDetl.getMatnr(), checkOrderDetl.getMaktx(), checkOrderDetl.getBatch(), checkOrderDetl.getOrderNo(),
+ checkOrderDetl.getAnfme().doubleValue());
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", checkOrderDetl.getLocNo()));
+ LocDetl locDetl = locDetlService.selectById(checkOrderDetl.getLocDetlId());
+ locDto.setFrozen(locDetl.getFrozen());
+ locDto.setFrozenLoc(locMast.getFrozen());
+ List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), 107);
+
+
+ locDto.setStaNos(staNos);
+ locDtos.add(locDto);
+ }
+
+ return locDtos;
+
+ }
+
+ @Override
+ public List<CheckOrderDetl> getTaskList(String barcode) {
+ List<CheckOrderDetl> checkOrderDetls = new ArrayList<>();
+
+ WrkMast wrkMast = wrkMastService.selectByBarcode(barcode);
+ if (Cools.isEmpty(wrkMast)) {
+ throw new CoolException("鏈壘鍒颁换鍔�");
+ }
+
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+ if (Cools.isEmpty(wrkDetls)) {
+ throw new CoolException("鏈壘鍒颁换鍔℃槑缁�");
+ }
+
+ for (WrkDetl wrkDetl : wrkDetls) {
+ if(Cools.isEmpty(wrkDetl.getOrderNo())){
+ throw new CoolException("鏄庣粏鏁版嵁鏈夎锛屾棤璁㈠崟鍙锋暟鎹�");
+ }
+ CheckOrderDetl checkOrderDetl = checkOrderDetlService.selectOne(new EntityWrapper<CheckOrderDetl>()
+ .eq("loc_no", wrkMast.getSourceLocNo())
+ .eq("matnr", wrkDetl.getMatnr())
+ .eq("batch", wrkDetl.getBatch())
+ .eq("order_no", wrkDetl.getOrderNo()));
+ if(Cools.isEmpty(checkOrderDetl)){
+ throw new CoolException("鏄庣粏鏁版嵁鏈夎锛屾湭鎵惧埌鐩樼偣鍗曟暟鎹�");
+ }
+ if (checkOrderDetl.getStatus().equals(2)){
+ checkOrderDetls.add(checkOrderDetl);
+ }
+
+ }
+ if (Cools.isEmpty(checkOrderDetls)) {
+ throw new CoolException("璇ュ鍣ㄥ凡瀹屾垚鐩樼偣");
+ }
+
+ return checkOrderDetls;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R pdaComplete(CheckTaskListParam checkTaskListParam) {
+
+ WrkMast wrkMast = wrkMastService.selectByBarcode(checkTaskListParam.getBarcode());
+ if (Cools.isEmpty(wrkMast)) {
+ throw new CoolException("鏈壘鍒颁换鍔�");
+ }
+
+ for (CheckOrderDetl checkOrderDetl: checkTaskListParam.getCheckOrderDetlList()){
+ checkOrderDetl.setStatus(3);
+ if (!checkOrderDetlService.updateById(checkOrderDetl)){
+ throw new CoolException("鏇存柊鐩樼偣鐘舵�佸け璐�");
+ }
+ }
+ CheckOrder checkOrder = this.selectOne(new EntityWrapper<CheckOrder>().eq("order_no", checkTaskListParam.getCheckOrderDetlList().get(0).getOrderNo()));
+ List<CheckOrderDetl> checkOrderDetls = checkOrderDetlService.selectList(new EntityWrapper<CheckOrderDetl>().eq("order_id", checkOrder.getId()));
+ boolean is = checkOrderDetls.stream().allMatch(item -> item.getStatus().equals(3));
+ if (is){
+ checkOrder.setSettle(4L);
+ if (!this.updateById(checkOrder)){
+ throw new CoolException("鏇存柊鐩樼偣涓诲崟鐘舵�佸け璐�");
+ }
+
+ }
+
+
+ return R.ok();
+ }
}
--
Gitblit v1.9.1