From 220241ca33a28ab4b7a3fb75093129ac5263a3ea Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期五, 18 四月 2025 16:29:56 +0800
Subject: [PATCH] #erp开发新增库存检查表

---
 src/main/java/com/zy/asrs/service/impl/CheckDetlServiceImpl.java |   12 ++++
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java              |    1 
 src/main/java/com/zy/asrs/service/LocDetlService.java            |    2 
 src/main/java/com/zy/asrs/controller/OpenController.java         |    8 +-
 src/main/resources/mapper/LocDetlMapper.xml                      |    8 ++
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java   |    6 ++
 src/main/java/com/zy/asrs/service/CheckDetlService.java          |    7 ++
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java      |   44 ++++++++++++++
 src/main/resources/mapper/CheckDetlMapper.xml                    |   19 ++++++
 src/main/java/com/zy/asrs/service/OpenService.java               |    5 +
 src/main/java/com/zy/asrs/entity/CheckDetl.java                  |   50 ++++++++++++++++
 src/main/java/com/zy/asrs/mapper/CheckDetlMapper.java            |   11 +++
 12 files changed, 168 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 0e19bd9..b5c333c 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -52,10 +52,10 @@
                                       @RequestBody(required = false) List<MatSyncParam> param,
                                       HttpServletRequest request){
         auth(appkey, param, request);
-//        if (Cools.isEmpty(param)) {
-//            return R.parse(BaseRes.PARAM);
-//        }
-//        openService.syncMat(param);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        openService.check(param);
         return R.ok();
     }
 
diff --git a/src/main/java/com/zy/asrs/entity/CheckDetl.java b/src/main/java/com/zy/asrs/entity/CheckDetl.java
new file mode 100644
index 0000000..d0537ce
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/CheckDetl.java
@@ -0,0 +1,50 @@
+package com.zy.asrs.entity;
+
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.core.common.Cools;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+@Data
+@TableName("asr_check_detl")
+@ExcelIgnoreUnannotated
+public class CheckDetl implements Serializable {
+    @ApiModelProperty(value= "鏁伴噺")
+    @ExcelProperty("鏁伴噺")
+    private Double anfme;
+
+    @ApiModelProperty(value= "鍟嗗搧缂栧彿")
+    @ExcelProperty("鍟嗗搧缂栧彿")
+    private String matnr;
+
+    @ApiModelProperty(value= "鍟嗗搧鍚嶇О")
+    @ExcelProperty("鍟嗗搧鍚嶇О")
+    private String maktx;
+
+    @ApiModelProperty(value= "瑙勬牸")
+    @ExcelProperty("瑙勬牸")
+    private String specs;
+
+    @ApiModelProperty(value= "鎵瑰彿")
+    @ExcelProperty("鎵瑰彿")
+    private String batch;
+
+    @ApiModelProperty(value= "娣诲姞鏃堕棿")
+    @TableField("create_time")
+    private Date createTime;
+
+
+    public String getCreateTime$(){
+        if (Cools.isEmpty(this.createTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
+    }
+}
diff --git a/src/main/java/com/zy/asrs/mapper/CheckDetlMapper.java b/src/main/java/com/zy/asrs/mapper/CheckDetlMapper.java
new file mode 100644
index 0000000..b4f8d1a
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/CheckDetlMapper.java
@@ -0,0 +1,11 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.CheckDetl;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface CheckDetlMapper extends BaseMapper<CheckDetl> {
+}
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index 2b7255c..6d54e51 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -40,6 +40,7 @@
     List<String> selectSameDetlTodayBatch(@Param("matnr") String matnr,@Param("batch") String batch, @Param("start") Integer start, @Param("end") Integer end);
 
     List<LocDetl> getStockStatis(Map<String, Object> map);
+    Double getAnfmeByMatnr(@Param("matnr") String matnr);
 
     Integer getStockStatisCount(Map<String, Object> map);
 
diff --git a/src/main/java/com/zy/asrs/service/CheckDetlService.java b/src/main/java/com/zy/asrs/service/CheckDetlService.java
new file mode 100644
index 0000000..a549bed
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/CheckDetlService.java
@@ -0,0 +1,7 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.CheckDetl;
+
+public interface CheckDetlService extends IService<CheckDetl> {
+}
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index b08fe2a..0d1cfc6 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -69,4 +69,6 @@
     List<Map<String, Object>> selectLocDetlUnilateralMoveShuttleMap(Integer crnNo);
 
     List<LocDetl> selectLocDetlUnilateralMoveShuttle(String matnr,String batch,String grade,Integer crnNo);
+
+    Double getAnfmeByMatnr(String matnr);
 }
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index aba88bf..318c3d4 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -43,4 +43,9 @@
      * @param param
      */
     void syncMat(List<MatSyncParam> param);
+
+    /**
+     * 妫�鏌rp涓庣珛搴撶郴缁熺墿鏂欐暟閲�
+     */
+    void check(List<MatSyncParam> param);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/CheckDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/CheckDetlServiceImpl.java
new file mode 100644
index 0000000..b57ac9f
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/CheckDetlServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.entity.CheckDetl;
+import com.zy.asrs.mapper.CheckDetlMapper;
+import com.zy.asrs.service.CheckDetlService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class CheckDetlServiceImpl extends ServiceImpl<CheckDetlMapper, CheckDetl> implements CheckDetlService {
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index 2a882be..539ac3c 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -6,6 +6,7 @@
 import com.zy.asrs.entity.result.StockVo;
 import com.zy.asrs.mapper.LocDetlMapper;
 import com.zy.asrs.service.LocDetlService;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -63,6 +64,11 @@
     }
 
     @Override
+    public Double getAnfmeByMatnr(String matnr){
+        return this.baseMapper.getAnfmeByMatnr(matnr);
+    }
+
+    @Override
     public Double getSumAnfme(String matnr) {
         return this.baseMapper.selectSumAnfmeByMatnr(matnr);
     }
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index a0e4feb..4c0590a 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -18,7 +18,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-
+import com.zy.asrs.entity.CheckDetl;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -48,6 +48,8 @@
     private TagService tagService;
     @Autowired
     private TagMapper tagMapper;
+    @Autowired
+    private CheckDetlService checkDetlService;
 
     @Override
     @Transactional
@@ -601,6 +603,46 @@
                 }
             }
         }
+    @Override
+    @Transactional
+    public void check(List<MatSyncParam> paramList){
+        if (Cools.isEmpty(paramList)) {
+            throw new CoolException("涓婃姤鏁版嵁涓虹┖");
+        }
+
+        for (MatSyncParam param : paramList) {
+            if (Cools.isEmpty(param.getData()) || param.getData().isEmpty()) {
+                throw new CoolException("鐗╂枡鏁版嵁涓虹┖");
+            }
+
+            for (MatSyncParam.MatParam matParam : param.getData()) {
+                if (Cools.isEmpty(matParam.getMatnr())) {
+                    throw new CoolException("鍟嗗搧缂栫爜涓虹┖");
+                }
+
+                Double LKAnfme = locDetlService.getAnfmeByMatnr(matParam.getMatnr());
+                if (LKAnfme == null) {
+                    LKAnfme = 0.0;
+                }
+
+                // 璁$畻宸��
+                double diff = matParam.getAnfme() - LKAnfme;
+
+                if (diff != 0) {
+                    CheckDetl checkDetl = new CheckDetl();
+                    checkDetl.setAnfme(diff);  //杩欓噷璁板綍宸��
+                    checkDetl.setMatnr(matParam.getMatnr());
+                    checkDetl.setMaktx(matParam.getMaktx());
+                    checkDetl.setSpecs(matParam.getSpecs());
+                    checkDetl.setCreateTime(new Date());
+
+                    checkDetlService.insert(checkDetl);  // 鎻掑叆宸紓璁板綍
+                }
+            }
+        }
+    }
+
+
 
 
 
diff --git a/src/main/resources/mapper/CheckDetlMapper.xml b/src/main/resources/mapper/CheckDetlMapper.xml
new file mode 100644
index 0000000..94f6054
--- /dev/null
+++ b/src/main/resources/mapper/CheckDetlMapper.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.asrs.mapper.CheckDetlMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.CheckDetl">
+        <result column="anfme" property="anfme"/>
+        <result column="matnr" property="matnr"/>
+        <result column="maktx" property="maktx"/>
+        <result column="specs" property="specs"/>
+        <result column="batch" property="batch"/>
+        <result column="create_time" property="createTime"/>
+    </resultMap>
+
+
+</mapper>
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 4b0009d..9c0ba37 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -150,6 +150,14 @@
          ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
     </select>
 
+    <select id="getAnfmeByMatnr" resultType="com.zy.asrs.entity.LocDetl">
+        select
+            sum(a.anfme) as anfme
+        from asr_loc_detl a
+        where matnr = #{matnr}
+    </select>
+
+
     <select id="getStockStatisCount" parameterType="java.util.Map" resultType="java.lang.Integer">
      select count(1) as count from
         (

--
Gitblit v1.9.1