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