From 9ba0113a871f5f1d71af2df93c2af759cde7d58a Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期三, 18 六月 2025 16:56:36 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/nc/service/NccQilibcTmprintWmsService.java          |   13 ++
 src/main/resources/mapper/nc/NccSaleXclGgsybWmsMapper.xml                |   40 +++++++
 src/main/java/com/zy/nc/service/NccSaleXclGgsybWmsService.java           |   14 ++
 src/main/java/com/zy/nc/service/impl/NccQilibcTmprintWmsServiceImpl.java |   18 +++
 src/main/java/com/zy/nc/service/impl/NccSaleXclGgsybWmsServiceImpl.java  |   21 ++++
 src/main/java/com/zy/nc/mapper/NccQilibcTmprintWmsMapper.java            |   16 +++
 src/main/resources/mapper/nc/NccQilibcTmprintWmsMapper.xml               |   19 +++
 src/main/java/com/zy/asrs/controller/MobileController.java               |   80 +++++++++++++--
 src/main/java/com/zy/nc/entity/NccQilibcTmprintWms.java                  |   59 +++++++++++
 src/main/java/com/zy/nc/entity/NccSaleXclGgsybWms.java                   |    5 +
 src/main/java/com/zy/nc/mapper/NccJcQilibcBarcodeflowWmsMapper.java      |    4 
 11 files changed, 272 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index effe8ca..0a9cde4 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -19,12 +19,17 @@
 import com.zy.common.utils.Synchro;
 import com.zy.common.web.BaseController;
 import com.zy.nc.entity.NccJcQilibcBarcodeflowWms;
+import com.zy.nc.entity.NccQilibcTmprintWms;
+import com.zy.nc.entity.NccSaleXclGgsybWms;
 import com.zy.nc.service.NccJcQilibcBarcodeflowWmsService;
+import com.zy.nc.service.NccQilibcTmprintWmsService;
+import com.zy.nc.service.NccSaleXclGgsybWmsService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.*;
 
 /**
@@ -61,11 +66,17 @@
     private WrkDetlLogService wrkDetlLogService;
     @Autowired
     private WrkMastLogService wrkMastLogService;
+    @Autowired
+    private StoreTypeService storeTypeService;
 
     @Autowired
     private MatService matService;
     @Autowired
     private NccJcQilibcBarcodeflowWmsService nccJcQilibcBarcodeflowWmsService;
+    @Autowired
+    private NccQilibcTmprintWmsService nccQilibcTmprintWmsService;
+    @Autowired
+    private NccSaleXclGgsybWmsService nccSaleXclGgsybWmsService;
     @Autowired
     private OrderPakinService orderPakinService;
 
@@ -264,23 +275,19 @@
     @RequestMapping(value = "/mat/auth")
     @ManagerAuth
     public R pdaSearchV3(@RequestParam String matnr) {
-        EntityWrapper<NccJcQilibcBarcodeflowWms> wrapper = new EntityWrapper<>();
-        wrapper.eq("VBARCODE", matnr).orderBy("ts", false);
-        NccJcQilibcBarcodeflowWms nccJcQilibcBarcodeflowWms = nccJcQilibcBarcodeflowWmsService.selectOne(wrapper);
-        if (null == nccJcQilibcBarcodeflowWms) {
+        EntityWrapper<NccQilibcTmprintWms> wrapper = new EntityWrapper<>();
+        wrapper.eq("BARCODE", matnr).orderBy("PRINTTIME", false);
+        NccQilibcTmprintWms nccQilibcTmprintWms = nccQilibcTmprintWmsService.selectOne(wrapper);
+        if (null == nccQilibcTmprintWms) {
             return R.error("鏈壘鍒版鏉$爜");
-        } else {
-            if (!nccJcQilibcBarcodeflowWms.getInfla().equals("鍑哄簱")) {
-                return R.error("璇ユ潯鐮佹渶鍚庝竴娆′笉鏄嚭搴�");
-            }
         }
-        Mat mat = matService.selectByMatnr(nccJcQilibcBarcodeflowWms.getWlbm());
+        Mat mat = matService.selectByMatnr(nccQilibcTmprintWms.getWlbm());
         MatParam matParam = new MatParam();
         Synchro.Copy(mat, matParam);
-        matParam.setBatch(nccJcQilibcBarcodeflowWms.getVbatchcode());
-        matParam.setAnfme(nccJcQilibcBarcodeflowWms.getAsnnum() == null ? 0.0D : nccJcQilibcBarcodeflowWms.getAsnnum().doubleValue());
-        matParam.setAnfme2(nccJcQilibcBarcodeflowWms.getNastnum() == null ? 0.0D : nccJcQilibcBarcodeflowWms.getNastnum().doubleValue());
-        matParam.setTiaoma(nccJcQilibcBarcodeflowWms.getVbarcode());
+        matParam.setBatch(nccQilibcTmprintWms.getVbatchcode());
+        matParam.setAnfme(nccQilibcTmprintWms.getAsnnum() == null ? 0.0D : nccQilibcTmprintWms.getAsnnum().doubleValue());
+        matParam.setAnfme2(nccQilibcTmprintWms.getNastnum() == null ? 0.0D : nccQilibcTmprintWms.getNastnum().doubleValue());
+        matParam.setTiaoma(nccQilibcTmprintWms.getBarcode());
         return R.ok().add(matParam);
     }
 
@@ -334,6 +341,53 @@
         return R.ok("缁勬墭鎴愬姛");
     }
 
+    @RequestMapping("/comb2/auth")
+    @ManagerAuth(memo = "閲囪喘缁勬墭")
+    public R comb2(@RequestBody CombParam combParam) {
+        CombParam.CombMat combMat = combParam.getCombMats().get(0);
+
+        ArrayList<String> ckbmList = new ArrayList<>();
+        List<StoreType> storeTypes = storeTypeService.selectList(new EntityWrapper<StoreType>()
+                .like("store_name", "绔嬩綋搴�"));
+        for (StoreType storeType : storeTypes) {
+            ckbmList.add(storeType.getStoreId());
+        }
+
+        NccSaleXclGgsybWms nccSaleXclGgsybWms = nccSaleXclGgsybWmsService.selectOne(new EntityWrapper<NccSaleXclGgsybWms>()
+                .eq("WLBM", combMat.getMatnr())
+                .eq("VBATCHCODE", combMat.getBatch())
+                .in("CKBM", ckbmList)
+        );
+        if(null == nccSaleXclGgsybWms) {
+            return R.error("鏈煡鍒癊RP搴撳瓨");
+        }
+
+        //ERP搴撳瓨鏁伴噺
+        BigDecimal zsl = nccSaleXclGgsybWms.getZsl();
+
+        //鑾峰彇绔嬪簱鏁伴噺
+        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
+                .eq("matnr", combMat.getMatnr())
+                .eq("batch", combMat.getBatch())
+        );
+        BigDecimal stockNum = new BigDecimal(0);
+        for (LocDetl locDetl : locDetls) {
+            stockNum = stockNum.add(BigDecimal.valueOf(locDetl.getAnfme()));
+        }
+
+        //鍔犱笂缁勬墭鏁伴噺
+        for (CombParam.CombMat mat : combParam.getCombMats()) {
+            stockNum = stockNum.add(BigDecimal.valueOf(mat.getAnfme()));
+        }
+
+        if(stockNum.doubleValue() > zsl.doubleValue()) {
+            return R.error("缁勬墭鏁伴噺瓒呰繃ERP搴撳瓨");
+        }
+
+        mobileService.comb(combParam, getUserId());
+        return R.ok("缁勬墭鎴愬姛");
+    }
+
     @RequestMapping("/pack/get/auth")
     @ManagerAuth
     public R packGet(@RequestParam String barcode) {
diff --git a/src/main/java/com/zy/nc/entity/NccQilibcTmprintWms.java b/src/main/java/com/zy/nc/entity/NccQilibcTmprintWms.java
new file mode 100644
index 0000000..ea55235
--- /dev/null
+++ b/src/main/java/com/zy/nc/entity/NccQilibcTmprintWms.java
@@ -0,0 +1,59 @@
+package com.zy.nc.entity;
+
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 
+ * @TableName ncc_qilibc_tmprint_wms
+ */
+@TableName(value ="ncc_qilibc_tmprint_wms")
+@Data
+public class NccQilibcTmprintWms {
+    /**
+     * 
+     */
+    @TableId
+    private String pkTmprint;
+
+    /**
+     * 
+     */
+    private String ts;
+
+    private String printtime;
+
+    /**
+     * 
+     */
+    private String barcode;
+
+    /**
+     * 
+     */
+    private String wlbm;
+
+    /**
+     * 
+     */
+    private String vbatchcode;
+
+    /**
+     * 
+     */
+    private BigDecimal asnnum;
+
+    /**
+     * 
+     */
+    private String pkMaterial;
+
+    /**
+     * 
+     */
+    private BigDecimal nastnum;
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/zy/nc/entity/NccSaleXclGgsybWms.java b/src/main/java/com/zy/nc/entity/NccSaleXclGgsybWms.java
index 678a8aa..786777c 100644
--- a/src/main/java/com/zy/nc/entity/NccSaleXclGgsybWms.java
+++ b/src/main/java/com/zy/nc/entity/NccSaleXclGgsybWms.java
@@ -44,6 +44,11 @@
     private String ck;
 
     /**
+     *
+     */
+    private String ckbm;
+
+    /**
      * 
      */
     private String sssyb;
diff --git a/src/main/java/com/zy/nc/mapper/NccJcQilibcBarcodeflowWmsMapper.java b/src/main/java/com/zy/nc/mapper/NccJcQilibcBarcodeflowWmsMapper.java
index cfa22b3..23ce753 100644
--- a/src/main/java/com/zy/nc/mapper/NccJcQilibcBarcodeflowWmsMapper.java
+++ b/src/main/java/com/zy/nc/mapper/NccJcQilibcBarcodeflowWmsMapper.java
@@ -5,9 +5,9 @@
 
 /**
 * @author ZY
-* @description 閽堝琛ㄣ�恘cc_jc_qilibc_barcodeflow_wms銆戠殑鏁版嵁搴撴搷浣淢apper
+* @description 閽堝琛ㄣ�恘cc_qilibc_tmprint_wms銆戠殑鏁版嵁搴撴搷浣淢apper
 * @createDate 2025-05-13 17:50:58
-* @Entity com.zy.nc.entity.NccJcQilibcBarcodeflowWms
+* @Entity com.zy.nc.entity.ncc_qilibc_tmprint_wms
 */
 public interface NccJcQilibcBarcodeflowWmsMapper extends BaseMapper<NccJcQilibcBarcodeflowWms> {
 
diff --git a/src/main/java/com/zy/nc/mapper/NccQilibcTmprintWmsMapper.java b/src/main/java/com/zy/nc/mapper/NccQilibcTmprintWmsMapper.java
new file mode 100644
index 0000000..9cfdea1
--- /dev/null
+++ b/src/main/java/com/zy/nc/mapper/NccQilibcTmprintWmsMapper.java
@@ -0,0 +1,16 @@
+package com.zy.nc.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.nc.entity.NccJcQilibcBarcodeflowWms;
+import com.zy.nc.entity.NccQilibcTmprintWms;
+
+/**
+* @author ZY
+* @description 閽堝琛ㄣ�恘cc_jc_qilibc_barcodeflow_wms銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2025-05-13 17:50:58
+* @Entity com.zy.nc.entity.NccJcQilibcBarcodeflowWms
+*/
+public interface NccQilibcTmprintWmsMapper extends BaseMapper<NccQilibcTmprintWms> {
+
+
+}
diff --git a/src/main/java/com/zy/nc/service/NccQilibcTmprintWmsService.java b/src/main/java/com/zy/nc/service/NccQilibcTmprintWmsService.java
new file mode 100644
index 0000000..ec59a59
--- /dev/null
+++ b/src/main/java/com/zy/nc/service/NccQilibcTmprintWmsService.java
@@ -0,0 +1,13 @@
+package com.zy.nc.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.nc.entity.NccQilibcTmprintWms;
+
+/**
+* @author ZY
+* @description 閽堝琛ㄣ�恘cc_qilibc_tmprint_wms銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2025-05-08 09:54:48
+*/
+public interface NccQilibcTmprintWmsService extends IService<NccQilibcTmprintWms> {
+
+}
diff --git a/src/main/java/com/zy/nc/service/NccSaleXclGgsybWmsService.java b/src/main/java/com/zy/nc/service/NccSaleXclGgsybWmsService.java
new file mode 100644
index 0000000..459519c
--- /dev/null
+++ b/src/main/java/com/zy/nc/service/NccSaleXclGgsybWmsService.java
@@ -0,0 +1,14 @@
+package com.zy.nc.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.nc.entity.NccQilibcTmprintWms;
+import com.zy.nc.entity.NccSaleXclGgsybWms;
+
+/**
+* @author ZY
+* @description 閽堝琛ㄣ�恘cc_sale_xcl_ggsyb_wms銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2025-05-08 09:54:48
+*/
+public interface NccSaleXclGgsybWmsService extends IService<NccSaleXclGgsybWms> {
+
+}
diff --git a/src/main/java/com/zy/nc/service/impl/NccQilibcTmprintWmsServiceImpl.java b/src/main/java/com/zy/nc/service/impl/NccQilibcTmprintWmsServiceImpl.java
new file mode 100644
index 0000000..0a23701
--- /dev/null
+++ b/src/main/java/com/zy/nc/service/impl/NccQilibcTmprintWmsServiceImpl.java
@@ -0,0 +1,18 @@
+package com.zy.nc.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.nc.entity.NccQilibcTmprintWms;
+import com.zy.nc.mapper.NccQilibcTmprintWmsMapper;
+import com.zy.nc.service.NccQilibcTmprintWmsService;
+import org.springframework.stereotype.Service;
+
+/**
+* @author ZY
+* @description 閽堝琛ㄣ�恘cc_qilibc_tmprint_wms銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+* @createDate 2025-05-08 09:54:48
+*/
+@Service
+public class NccQilibcTmprintWmsServiceImpl extends ServiceImpl<NccQilibcTmprintWmsMapper, NccQilibcTmprintWms>
+implements NccQilibcTmprintWmsService {
+
+}
diff --git a/src/main/java/com/zy/nc/service/impl/NccSaleXclGgsybWmsServiceImpl.java b/src/main/java/com/zy/nc/service/impl/NccSaleXclGgsybWmsServiceImpl.java
new file mode 100644
index 0000000..b157d3f
--- /dev/null
+++ b/src/main/java/com/zy/nc/service/impl/NccSaleXclGgsybWmsServiceImpl.java
@@ -0,0 +1,21 @@
+package com.zy.nc.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.nc.entity.NccQilibcTmprintWms;
+import com.zy.nc.entity.NccSaleXclGgsybWms;
+import com.zy.nc.mapper.NccQilibcTmprintWmsMapper;
+import com.zy.nc.mapper.NccSaleXclGgsybWmsMapper;
+import com.zy.nc.service.NccQilibcTmprintWmsService;
+import com.zy.nc.service.NccSaleXclGgsybWmsService;
+import org.springframework.stereotype.Service;
+
+/**
+* @author ZY
+* @description 閽堝琛ㄣ�恘cc_sale_xcl_ggsyb_wms銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+* @createDate 2025-05-08 09:54:48
+*/
+@Service
+public class NccSaleXclGgsybWmsServiceImpl extends ServiceImpl<NccSaleXclGgsybWmsMapper, NccSaleXclGgsybWms>
+implements NccSaleXclGgsybWmsService {
+
+}
diff --git a/src/main/resources/mapper/nc/NccQilibcTmprintWmsMapper.xml b/src/main/resources/mapper/nc/NccQilibcTmprintWmsMapper.xml
new file mode 100644
index 0000000..30748aa
--- /dev/null
+++ b/src/main/resources/mapper/nc/NccQilibcTmprintWmsMapper.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.nc.mapper.NccQilibcTmprintWmsMapper">
+
+    <resultMap id="BaseResultMap" type="com.zy.nc.entity.NccQilibcTmprintWms">
+            <id property="pkTmprint" column="PK_TMPRINT" />
+            <result property="ts" column="TS" />
+            <result property="printtime" column="PRINTTIME" />
+            <result property="barcode" column="BARCODE" />
+            <result property="wlbm" column="WLBM" />
+            <result property="vbatchcode" column="VBATCHCODE" />
+            <result property="asnnum" column="ASNNUM" />
+            <result property="pkMaterial" column="PK_MATERIAL" />
+            <result property="nastnum" column="NASTNUM" />
+    </resultMap>
+
+</mapper>
diff --git a/src/main/resources/mapper/nc/NccSaleXclGgsybWmsMapper.xml b/src/main/resources/mapper/nc/NccSaleXclGgsybWmsMapper.xml
index a7101a0..e9bb348 100644
--- a/src/main/resources/mapper/nc/NccSaleXclGgsybWmsMapper.xml
+++ b/src/main/resources/mapper/nc/NccSaleXclGgsybWmsMapper.xml
@@ -4,8 +4,44 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zy.nc.mapper.NccSaleXclGgsybWmsMapper">
 
-    
-
+    <resultMap id="BaseResultMap" type="com.zy.nc.entity.NccSaleXclGgsybWms">
+        <id property="pkOrg" column="PK_ORG" />
+        <result property="kczz" column="KCZZ" />
+        <result property="scrq" column="SCRQ" />
+        <result property="rkrq" column="RKRQ" />
+        <result property="wlbm" column="WLBM" />
+        <result property="cwarehouseid" column="CWAREHOUSEID" />
+        <result property="ck" column="CK" />
+        <result property="ckbm" column="CKBM" />
+        <result property="sssyb" column="SSSYB" />
+        <result property="wlbm" column="WLBM" />
+        <result property="wlmc" column="WLMC" />
+        <result property="gg" column="GG" />
+        <result property="xh" column="XH" />
+        <result property="wljc" column="WLJC" />
+        <result property="kf" column="KF" />
+        <result property="cunitid" column="CUNITID" />
+        <result property="zdw" column="ZDW" />
+        <result property="castunitid" column="CASTUNITID" />
+        <result property="fdw" column="FDW" />
+        <result property="cstateid" column="CSTATEID" />
+        <result property="kczt" column="KCZT" />
+        <result property="vbatchcode" column="VBATCHCODE" />
+        <result property="jt1" column="JT1" />
+        <result property="jt2" column="JT2" />
+        <result property="jt3" column="JT3" />
+        <result property="wlflbm" column="WLFLBM" />
+        <result property="wlflmc" column="WLFLMC" />
+        <result property="zsjflbm" column="ZSJFLBM" />
+        <result property="zsjflmc" column="ZSJFLMC" />
+        <result property="sjflbm" column="SJFLBM" />
+        <result property="sjflmc" column="SJFLMC" />
+        <result property="zsl" column="ZSL" />
+        <result property="fsl" column="FSL" />
+        <result property="clcj" column="CLCJ" />
+        <result property="wmsMemo" column="wms_memo" />
+        <result property="wmsFlag" column="wms_flag" />
+    </resultMap>
 
    
 </mapper>

--
Gitblit v1.9.1