From ce7bc4497e63231850e5df3a8843b348f9587b6b Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期三, 27 九月 2023 14:58:31 +0800
Subject: [PATCH] #
---
src/main/resources/mapper/OrderDetlMapper.xml | 6 +
src/main/java/com/zy/asrs/controller/WrkDetlController.java | 24 ++++-
src/main/java/com/zy/asrs/service/OrderService.java | 2
src/main/webapp/views/wrkMast/wrkDetl.html | 1
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 5 +
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java | 2
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 2
src/main/java/com/zy/asrs/entity/WrkDetl.java | 13 +++
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 81 +++++++++++++++++++-
src/main/java/com/zy/asrs/controller/MobileController.java | 25 ++++++
src/main/java/com/zy/asrs/controller/WaitPakinController.java | 26 ++++++
src/main/java/com/zy/asrs/service/MobileService.java | 4 +
12 files changed, 178 insertions(+), 13 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index bd592bb..be943bb 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -1,7 +1,9 @@
package com.zy.asrs.controller;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.baomidou.mybatisplus.plugins.Page;
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.R;
@@ -11,6 +13,7 @@
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.entity.result.MobileAdjustResult;
import com.zy.asrs.service.*;
+import com.zy.common.model.DetlDto;
import com.zy.common.model.WrkDto;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
@@ -161,6 +164,13 @@
public R comb(@RequestBody CombParam combParam){
mobileService.comb(combParam, getUserId());
return R.ok("缁勬墭鎴愬姛");
+ }
+
+ @RequestMapping("/comb/2auth")
+ @ManagerAuth(memo = "缁勬墭")
+ public R comb2(@RequestBody CombParam combParam){
+ mobileService.pikingToFull2(1);
+ return R.ok(mobileService.pikingToFull2(3732));
}
@RequestMapping("/pack/get/auth")
@@ -409,7 +419,20 @@
public synchronized R pickAuth(@RequestBody String barcode){
WrkMast wrkMast = wrkMastService.selectByBarcode(barcode);
List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
- return R.ok().add(wrkDetls);
+ ArrayList<WrkDetl> resultwrkDetls = new ArrayList<>();
+ for (WrkDetl wrkDetl : wrkDetls) {
+ if (isJSON(wrkDetl.getOrderNo())) {
+ JSON.parseArray(wrkDetl.getOrderNo(), DetlDto.class).forEach(detlDto -> {
+ WrkDetl clone = wrkDetl.clone();
+ clone.setOrderNo(detlDto.getOrderNo());
+ clone.setAnfme(detlDto.getAnfme());
+ resultwrkDetls.add(clone);
+ });
+ } else {
+ resultwrkDetls.add(wrkDetl);
+ }
+ }
+ return R.ok().add(resultwrkDetls);
}
@RequestMapping("/order/search/orderNo/auth/v2")
diff --git a/src/main/java/com/zy/asrs/controller/WaitPakinController.java b/src/main/java/com/zy/asrs/controller/WaitPakinController.java
index 91d5c7f..0dd8ccf 100644
--- a/src/main/java/com/zy/asrs/controller/WaitPakinController.java
+++ b/src/main/java/com/zy/asrs/controller/WaitPakinController.java
@@ -10,8 +10,12 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
+import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.service.OrderDetlService;
+import com.zy.asrs.service.OrderService;
import com.zy.asrs.service.WaitPakinService;
import com.zy.asrs.service.WrkMastService;
import com.zy.common.web.BaseController;
@@ -31,6 +35,12 @@
@Autowired
private WrkMastService wrkMastService;
+
+ @Autowired
+ private OrderService orderService;
+
+ @Autowired
+ private OrderDetlService orderDetlService;
@RequestMapping(value = "/waitPakin/{id}/auth")
@ManagerAuth
@@ -95,7 +105,21 @@
for (WaitPakin entity : list){
WrkMast wrkMast = wrkMastService.selectByBarcode(entity.getBarcode());
if (Cools.isEmpty(wrkMast)) {
- waitPakinService.delete(new EntityWrapper<>(entity));
+ Order order = orderService.selectByNo(entity.getOrderNo());
+ if (!Cools.isEmpty(order)) {
+ String matnr = entity.getMatnr();
+ Double anfme = entity.getAnfme();
+ List<OrderDetl> orderDetls = orderService.selectTotalDetls(order.getId());
+ for (OrderDetl orderDetl : orderDetls) {
+ if (matnr.equals(orderDetl.getMatnr())) {
+ orderDetl.setQty(orderDetl.getQty() - anfme);
+ orderDetlService.updateById(orderDetl);
+ }
+ }
+ waitPakinService.delete(new EntityWrapper<>(entity));
+ } else {
+ waitPakinService.delete(new EntityWrapper<>(entity));
+ }
} else {
return R.error("宸ヤ綔妗f暟鎹凡瀛樺湪,鏃犳硶鍒犻櫎锛侊紒");
}
diff --git a/src/main/java/com/zy/asrs/controller/WrkDetlController.java b/src/main/java/com/zy/asrs/controller/WrkDetlController.java
index 3baba43..a72e176 100644
--- a/src/main/java/com/zy/asrs/controller/WrkDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/WrkDetlController.java
@@ -1,5 +1,6 @@
package com.zy.asrs.controller;
+import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
@@ -12,14 +13,12 @@
import com.core.common.R;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.service.WrkDetlService;
+import com.zy.common.model.DetlDto;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
@RestController
public class WrkDetlController extends BaseController {
@@ -50,7 +49,22 @@
} else {
wrapper.orderBy("appe_time", false);
}
- return R.ok(wrkDetlService.selectPage(new Page<>(curr, limit), wrapper));
+ Page<WrkDetl> page = wrkDetlService.selectPage(new Page<>(curr, limit), wrapper);
+ List<WrkDetl> resultRecords = new ArrayList<>();
+ for (WrkDetl record : page.getRecords()) {
+ if (isJSON(record.getOrderNo())) {
+ JSON.parseArray(record.getOrderNo(), DetlDto.class).forEach( detlDto -> {
+ WrkDetl clone = record.clone();
+ clone.setOrderNo(detlDto.getOrderNo());
+ clone.setAnfme(detlDto.getAnfme());
+ resultRecords.add(clone);
+ });
+ } else {
+ resultRecords.add(record);
+ }
+ }
+
+ return R.ok(page.setRecords(resultRecords));
}
private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
diff --git a/src/main/java/com/zy/asrs/entity/WrkDetl.java b/src/main/java/com/zy/asrs/entity/WrkDetl.java
index c6a5349..707d9ab 100644
--- a/src/main/java/com/zy/asrs/entity/WrkDetl.java
+++ b/src/main/java/com/zy/asrs/entity/WrkDetl.java
@@ -17,7 +17,7 @@
@Data
@TableName("asr_wrk_detl")
-public class WrkDetl implements Serializable {
+public class WrkDetl implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
@@ -404,4 +404,15 @@
}
}
+
+ @Override
+ public WrkDetl clone() {
+ try {
+ return (WrkDetl) super.clone();
+ } catch (CloneNotSupportedException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
index 901910d..c423f11 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -19,6 +19,8 @@
List<OrderDetl> selectWorkingDetls(Long orderId);
+ List<OrderDetl> selectTotalDetls(Long orderId);
+
List<OrderDetl> getPakoutPage(Map<String, Object> map);
Integer getPakoutPageCount(Map<String, Object> map);
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index f1e5130..628aeb8 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -1,7 +1,10 @@
package com.zy.asrs.service;
+import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
+
+import java.util.List;
public interface MobileService {
@@ -20,5 +23,6 @@
void packComb(CombParam param, Long userId);
void pikingToFull(String s);
+ List<WrkDetl> pikingToFull2(Integer wrkNo);
}
diff --git a/src/main/java/com/zy/asrs/service/OrderService.java b/src/main/java/com/zy/asrs/service/OrderService.java
index 61bf9bb..6bd073a 100644
--- a/src/main/java/com/zy/asrs/service/OrderService.java
+++ b/src/main/java/com/zy/asrs/service/OrderService.java
@@ -15,6 +15,8 @@
List<OrderDetl> selectWorkingDetls(Long orderId);
+ List<OrderDetl> selectTotalDetls(Long orderId);
+
boolean updateSettle(Long orderId, Long settle, Long userId);
void checkComplete(String orderNo);
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index f7b7822..dedb09b 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -3,10 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.core.common.BaseRes;
-import com.core.common.Cools;
-import com.core.common.DateUtils;
-import com.core.common.SnowflakeIdWorker;
+import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CombParam;
@@ -557,4 +554,80 @@
public void pikingToFull(String barcode) {
wrkMastService.selectByBarcode(barcode);
}
+
+ @Override
+ @Transactional
+ public List<WrkDetl> pikingToFull2(Integer wrkNo) {
+ List<WrkDetl> wrkDetlsNew= new ArrayList<WrkDetl>();
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkNo);
+ for (WrkDetl wrkDetl:wrkDetls){
+ String[] orderNos = GetOrderNo(wrkDetl.getOrderNo());
+ if (!Cools.isEmpty(orderNos) && orderNos.length!=0) {
+ Double anfme = wrkDetl.getAnfme();
+ for (String orderNo : orderNos) {
+ OrderDetl orderDetl = orderDetlService.selectItem(orderNo, wrkDetl.getMatnr(), wrkDetl.getBatch());
+ if (orderDetl == null) {
+ orderDetl = orderDetlService.selectItem(orderNo, wrkDetl.getMatnr(), null);
+ if (orderDetl == null) {
+ log.error("ww");
+ return wrkDetlsNew;
+ }
+ }
+ if (orderDetl.getAnfme() <= anfme) {
+ WrkDetl wrkDetl1 = new WrkDetl();
+ wrkDetl1.sync(wrkDetl);
+ wrkDetl1.setOrderNo(orderNo);
+ wrkDetl1.setAnfme(anfme);
+ wrkDetlsNew.add(wrkDetl1);
+ anfme = anfme - orderDetl.getAnfme();
+ } else {
+ WrkDetl wrkDetl1 = new WrkDetl();
+ wrkDetl1.sync(wrkDetl);
+ wrkDetl1.setOrderNo(orderNo);
+ wrkDetl1.setAnfme(anfme);
+ wrkDetlsNew.add(wrkDetl1);
+ }
+ }
+ }else {
+ wrkDetlsNew.add(wrkDetl);
+ }
+ }
+ return wrkDetlsNew;
+ }
+
+ private static String[] GetOrderNo(String orderNo) {
+ String[] s3 = orderNo.split("\"");
+ String[] s = new String[(s3.length - 1) / 6];
+ if (!Cools.isEmpty(s3)){
+ int i = 0;
+ int j = 0;
+ for (String ss : s3) {
+ if (ss.equals("orderNo")) {
+ s[i] = s3[j + 2];
+ i++;
+ }
+ j++;
+ }
+ }else {
+ s=null;
+ }
+ return s;
+ }
+
+ private String[] GetAnfme(String orderNo) {
+ String[] s3 = orderNo.split("\"");
+ String[] s = new String[(s3.length - 1) / 6];
+ int i = 0;
+ int j = 0;
+ for (String ss : s3) {
+ if (ss.equals("anfme")) {
+ String[] s4 = s3[j + 1].split(":");
+ String[] s5 = s4[1].split("\\.");
+ s[i] = s5[0];
+ i++;
+ }
+ j++;
+ }
+ return s;
+ }
}
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
index e517265..c9d2f09 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -60,6 +60,11 @@
}
@Override
+ public List<OrderDetl> selectTotalDetls(Long orderId) {
+ return orderDetlMapper.selectTotalDetls(orderId);
+ }
+
+ @Override
public boolean updateSettle(Long orderId, Long settle, Long userId) {
return this.baseMapper.updateSettle(orderId, settle, userId) > 0;
}
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 7556f76..3218390 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -1664,7 +1664,7 @@
for (WrkDetl wrkDetl : wrkDetls) {
if (!Cools.isEmpty(wrkDetl.getOrderNo())){
String[] orderNos = GetOrderNo(wrkDetl.getOrderNo());
- if (!Cools.isEmpty(orderNos)){
+ if (!Cools.isEmpty(orderNos) && orderNos.length!=0){
String[] anfmes = GetAnfme(wrkDetl.getOrderNo());
int i = 0;
for (String orderNo : orderNos) {
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index a189fc4..46097bb 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -82,6 +82,12 @@
and qty < anfme
</select>
+ <select id="selectTotalDetls" resultMap="BaseResultMap">
+ select * from man_order_detl
+ where 1=1
+ and order_id = #{orderId}
+ </select>
+
<sql id="pakOutPageCondition">
<if test="order_id!=null and order_id!='' ">
and mod.order_id = #{order_id}
diff --git a/src/main/webapp/views/wrkMast/wrkDetl.html b/src/main/webapp/views/wrkMast/wrkDetl.html
index af87049..132a439 100644
--- a/src/main/webapp/views/wrkMast/wrkDetl.html
+++ b/src/main/webapp/views/wrkMast/wrkDetl.html
@@ -71,6 +71,7 @@
statusCode: 200
},
done: function(res, curr, count) {
+ console.log(res)
if (res.code === 403) {
top.location.href = baseUrl+"/";
}
--
Gitblit v1.9.1