From b3ee81c96c5744b05cf1e21cfb895ee489e763e6 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期五, 11 八月 2023 11:25:34 +0800
Subject: [PATCH] #小数继续优化

---
 src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java |   78 ++++++++++++++++++++++++++-------------
 1 files changed, 52 insertions(+), 26 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java
index bd47225..f1a2e5d 100644
--- a/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java
@@ -1,6 +1,7 @@
 package com.zy.asrs.service.impl;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.core.common.Cools;
 import com.core.common.R;
@@ -9,16 +10,16 @@
 import com.zy.asrs.entity.ManLocDetl;
 import com.zy.asrs.entity.Mat;
 import com.zy.asrs.entity.Node;
+import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.entity.param.InitPakoutParam;
 import com.zy.asrs.entity.param.MatnrDto;
 import com.zy.asrs.entity.param.PakinParam;
 import com.zy.asrs.entity.result.Pakin;
 import com.zy.asrs.mapper.NodeMapper;
-import com.zy.asrs.service.ManLocDetlService;
-import com.zy.asrs.service.MatService;
-import com.zy.asrs.service.NodeService;
+import com.zy.asrs.service.*;
 import com.zy.asrs.utils.SaasUtils;
 import com.zy.asrs.utils.VersionUtils;
+import com.zy.system.entity.User;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -26,6 +27,7 @@
 import java.beans.Transient;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 @Service("nodeService")
 public class NodeServiceImpl extends ServiceImpl<NodeMapper, Node> implements NodeService {
@@ -37,6 +39,10 @@
     private SnowflakeIdWorker snowflakeIdWorker;
     @Autowired
     private ManLocDetlService manLocDetlService;
+    @Autowired
+    private OrderDetlService orderDetlService;
+    @Autowired
+    private OrderService orderService;
     @Override
     public Node getTop() {
         Node top = this.selectOne(new EntityWrapper<Node>().eq("type", 0).eq("level", 0));
@@ -79,7 +85,7 @@
     }
 
     @Override
-    public R stockPakin(PakinParam param, Long userId, Long hostId) {
+    public R stockPakin(PakinParam param, Long userId, Long hostId, User user) {
         Node node = nodeService.selectByUuid(param.getNodeId(), hostId);
         if (node == null) {
             node = nodeService.selectById(param.getNodeId());
@@ -104,7 +110,7 @@
                 ManLocDetl manLocDetl = new ManLocDetl();
                 manLocDetl.setLocNo(node.getUuid());
                 manLocDetl.setNodeId(node.getId());
-                manLocDetl.setZpallet(mat.getBarcode());
+                manLocDetl.setZpallet(node.getUuid());
                 manLocDetl.setAnfme(dto.getCount());
                 manLocDetl.setMatnr(mat.getMatnr());
                 manLocDetl.setMaktx(mat.getMaktx());
@@ -115,23 +121,32 @@
                 manLocDetl.setCreateTime(now);
                 manLocDetl.setModiTime(now);
                 manLocDetl.setCreateBy(userId);
-                SaasUtils.insertLog(0,manLocDetl.getLocNo(),manLocDetl.getMatnr(), manLocDetl.getAnfme());
+                manLocDetl.setStatus(1);
+                manLocDetl.setPayment(1);
+                SaasUtils.insertLog(0,manLocDetl.getLocNo(),manLocDetl.getMatnr(), manLocDetl.getAnfme(),user.getUsername());
                 manLocDetlService.insert(manLocDetl);
             }else {
-                check.setAnfme(dto.getCount() + check.getAnfme());
-                manLocDetlService.update(check,new EntityWrapper<ManLocDetl>()
-                        .eq("loc_no", node.getUuid())
-                        .eq("matnr", dto.getMatnr()));
+//                check.setAnfme(dto.getCount() + check.getAnfme());
+//                manLocDetlService.update(check,new EntityWrapper<ManLocDetl>()
+//                        .eq("loc_no", node.getUuid())
+//                        .eq("matnr", dto.getMatnr()));
+                return R.error("搴撲綅瀛樺湪鐗╂枡锛岃鍕块噸澶嶅叆搴�");
             }
-
-
+            if (!Cools.isEmpty(dto.getOrderNo())) {
+                OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>()
+                        .eq("order_no", dto.getOrderNo())
+                        .eq("matnr", dto.getMatnr()));
+                orderDetl.setQty(orderDetl.getQty() + dto.getCount());
+                orderDetlService.updateById(orderDetl);
+                orderService.checkSettleUpdate(orderDetl.getOrderId());
+            }
         }
         return R.ok("鍏ュ簱鎴愬姛");
     }
 
     @Transactional
     @Override
-    public R initPakout(List<InitPakoutParam> params, Long userId, Long hostId) {
+    public R initPakout(List<InitPakoutParam> params, Long userId, Long hostId,User user) {
         if (!Cools.isEmpty(params)) {
             Date now = new Date();
             for (InitPakoutParam param : params) {
@@ -149,7 +164,7 @@
                 if (manLocDetl.getAnfme() - param.getCount() < 0) {
                     return R.error("鐗╂枡:"+ param.getMatnr() + " 鍦ㄥ簱浣嶄腑鏁伴噺涓嶈冻");
                 } else if (manLocDetl.getAnfme() - param.getCount() == 0) {
-                    SaasUtils.insertLog(1,manLocDetl.getLocNo(), manLocDetl.getMatnr(),param.getCount());
+                    SaasUtils.insertLog(1,manLocDetl.getLocNo(), manLocDetl.getMatnr(),param.getCount(),user.getUsername());
                     manLocDetlService.delete(new EntityWrapper<ManLocDetl>()
                             .eq("loc_no",node.getUuid())
                             .eq("matnr",param.getMatnr()));
@@ -159,7 +174,7 @@
                     manLocDetlService.update(manLocDetl,new EntityWrapper<ManLocDetl>()
                             .eq("loc_no",node.getUuid())
                             .eq("matnr",param.getMatnr()));
-                    SaasUtils.insertLog(1,manLocDetl.getLocNo(), manLocDetl.getMatnr(),param.getCount());
+                    SaasUtils.insertLog(1,manLocDetl.getLocNo(), manLocDetl.getMatnr(),param.getCount(),user.getUsername());
                 }
             }
         }
@@ -168,9 +183,9 @@
 
     @Transactional
     @Override
-    public void locMove(String sourceLocNo, String targetLocNo, Long userId) {
+    public void locMove(String sourceLocNo, String targetLocNo, Long userId,User user) {
         List<ManLocDetl> sourceManDetl = manLocDetlService.selectList(new EntityWrapper<ManLocDetl>()
-                .like("loc_no", sourceLocNo));
+                .eq("loc_no", sourceLocNo));
         for (ManLocDetl source : sourceManDetl) {
             Node targetNode = nodeService.selectOne(new EntityWrapper<Node>()
                     .eq("uuid", targetLocNo));
@@ -183,22 +198,33 @@
                     .eq("loc_no", targetNode.getUuid())
                     .eq("matnr", source.getMatnr()));
             if (check == null) {
-                manLocDetlService.deleteById(source);
+                manLocDetlService.delete(new EntityWrapper<ManLocDetl>().eq("loc_no", source.getLocNo())
+                        .eq("matnr", source.getMatnr()));
                 source.setLocNo(targetNode.getUuid());
                 source.setNodeId(targetNode.getId());
 
-                SaasUtils.insertLog(2,source.getLocNo(), source.getMatnr(), source.getAnfme());
+                SaasUtils.insertLog(2,source.getLocNo(), source.getMatnr(), source.getAnfme(),user.getUsername());
                 manLocDetlService.insert(source);
             }else {
-                check.setAnfme(check.getAnfme() + source.getAnfme());
-                manLocDetlService.update(check,new EntityWrapper<ManLocDetl>()
-                        .eq("loc_no", targetNode.getUuid())
-                        .eq("matnr", check.getMatnr()));
-                manLocDetlService.delete(new EntityWrapper<ManLocDetl>()
-                        .eq("loc_no", sourceNode.getUuid())
-                        .eq("matnr", source.getMatnr()));
+//                check.setAnfme(check.getAnfme() + source.getAnfme());
+//                manLocDetlService.update(check,new EntityWrapper<ManLocDetl>()
+//                        .eq("loc_no", targetNode.getUuid())
+//                        .eq("matnr", check.getMatnr()));
+//                manLocDetlService.delete(new EntityWrapper<ManLocDetl>()
+//                        .eq("loc_no", sourceNode.getUuid())
+//                        .eq("matnr", source.getMatnr()));
+                throw new RuntimeException("鐩爣搴撲綅鏈夌墿");
             }
 
         }
     }
+
+    @Override
+    public Page<Node> getPage(Page<Node> page) {
+        Map<String, Object> condition = page.getCondition();
+        List<Node> manLocDetls = baseMapper.listByPage(condition);
+        page.setRecords(manLocDetls);
+        page.setTotal(baseMapper.listByPageCount(page.getCondition()));
+        return page;
+    }
 }

--
Gitblit v1.9.1