From 0916bb4ea987c0599b6af6bb8dd251a071770e05 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期四, 23 十月 2025 14:32:15 +0800
Subject: [PATCH] 通用下拉选择框值从视图获取
---
src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java | 126 +++++++++++++++++++++++++++++++++++++++++-
1 files changed, 123 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java
index 4438c18..09b1651 100644
--- a/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java
@@ -1,12 +1,132 @@
package com.zy.asrs.service.impl;
-import com.zy.asrs.mapper.PakoutMapper;
-import com.zy.asrs.entity.Pakout;
-import com.zy.asrs.service.PakoutService;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.GlobleParameter;
+import com.zy.asrs.mapper.PakoutMapper;
+import com.zy.asrs.service.*;
+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;
@Service("pakoutService")
public class PakoutServiceImpl extends ServiceImpl<PakoutMapper, Pakout> implements PakoutService {
+ @Autowired
+ private OrderService orderService;
+ @Autowired
+ private OrderDetlService orderDetlService;
+
+ @Autowired
+ private ManLocDetlService manLocDetlService;
+
+ @Autowired
+ private PlaService plaService;
+
+ @Autowired
+ private PlaQtyService plaQtyService;
+
+ @Override
+ public void deletePakout(String docNum) {
+ Order order = orderService.selectByNo(docNum);
+ if (Cools.isEmpty(order)){
+ throw new RuntimeException("鏈煡璇㈠埌璁㈠崟妗f");
+ }
+ List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", docNum));
+
+ for (OrderDetl orderDetl: orderDetls){
+ if (orderDetl.getQty() > 0.0){
+ throw new RuntimeException("鎷h揣鍗曞凡鏈夊嚭搴撲换鍔★紝涓嶅彲鍒犻櫎!");
+ }
+ orderDetl.setWorkQty(0.0D);
+ }
+
+ if (!orderDetlService.updateBatchById(orderDetls)){
+ throw new RuntimeException("璁㈠崟鏄庣粏鎵归噺鏇存柊澶辫触");
+ }
+ order.setSettle(1L);
+ if (!orderService.updateById(order)){
+ throw new RuntimeException("璁㈠崟鏄庣粏鎵归噺鏇存柊澶辫触");
+ }
+
+ List<Pakout> pakouts = selectList(new EntityWrapper<Pakout>().eq("doc_num", docNum));
+ for (Pakout pakout: pakouts){
+
+ Pla pla = plaService.selectByBatchAndPackageNo(pakout.getBatch(), Integer.parseInt(pakout.getBarcode()), pakout.getMaktx());
+ if(!Cools.isEmpty(pla)){
+ pla.setQtyAnfme(pla.getQtyAnfme() - pakout.getAnfme());
+ pla.setModifyTime(new Date());
+ if(pla.getQtyAnfme() <= 0){
+ pla.setStatus(GlobleParameter.PLA_STATUS_1);
+ }
+ plaService.updateById(pla);
+ plaQtyService.deleteById(pakout.getNodeId());
+
+ }else {
+ ManLocDetl manLocDetl = manLocDetlService.selectOne(new EntityWrapper<ManLocDetl>()
+ .eq("loc_no", pakout.getLocNo())
+ .eq("matnr", pakout.getMatnr()));
+ manLocDetl.setStatus(1);
+ if (!manLocDetlService.update(manLocDetl,new EntityWrapper<ManLocDetl>()
+ .eq("loc_no", pakout.getLocNo())
+ .eq("matnr", pakout.getMatnr()))){
+ throw new RuntimeException("搴撳瓨鐘舵�佹洿鏂板け璐�");
+ }
+ }
+ }
+
+ if (!delete(new EntityWrapper<Pakout>().eq("doc_num",docNum))){
+ throw new RuntimeException("鎷h揣鍗曞垹闄ゅけ璐�");
+ }
+ }
+
+ @Override
+ @Transactional
+ public void deletePakoutByWrkNo(String wrkNo) {
+ Pakout pakout = this.selectById(wrkNo);
+ //鏇存柊鍗曟嵁淇℃伅
+ if(pakout.getCount() > 0){
+ throw new CoolException("璇ユ潯鎷h揣淇℃伅宸插畬鎴愶紝鏃犳硶鍒犻櫎");
+ }
+ OrderDetl orderDetl = orderDetlService.selectById(pakout.getDocId());
+ orderDetl.setWorkQty(orderDetl.getWorkQty() - pakout.getAnfme());
+ orderDetl.setUpdateTime(new Date());
+ orderDetlService.updateById(orderDetl);
+
+ Order order = orderService.selectByNo(pakout.getDocNum());
+ List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId());
+ //鍒ゆ柇鍗曟嵁鏄惁鏈夋鍦ㄤ綔涓氱殑浠诲姟锛宼rue涓烘病鏈�
+ boolean flag = true;
+ for (OrderDetl od : orderDetlList){
+ if(od.getWorkQty() + od.getQty() > 0){
+ flag = false;
+ }
+ }
+
+ if(flag){
+ order.setSettle(1L);
+ order.setUpdateTime(new Date());
+ orderService.updateById(order);
+ }
+
+ //鏇存柊pla淇℃伅
+ Pla pla = plaService.selectByBatchAndPackageNo(pakout.getBatch(), Integer.parseInt(pakout.getBarcode()),pakout.getMaktx());
+ pla.setQtyAnfme(pla.getQtyAnfme() - pakout.getAnfme());
+ pla.setStatus(GlobleParameter.PLA_STATUS_1);
+ pla.setModifyTime(new Date());
+ plaService.updateById(pla);
+
+ //鏇存柊plaQty淇℃伅
+ plaQtyService.deleteById(pakout.getNodeId());
+
+ //鍒犻櫎鎷h揣鍗�
+ this.deleteById(wrkNo);
+
+ }
}
--
Gitblit v1.9.1