From 07a07e9072946498a7d37c7345f83f9021f5deeb Mon Sep 17 00:00:00 2001
From: 邱宇豪 <qyh123230312>
Date: 星期五, 22 九月 2023 16:21:35 +0800
Subject: [PATCH] 新增预埋件管理 库存管理、校正记录、预埋件种类

---
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/controller/SysInventoryManagementController.java |   57 ++++
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/service/SysEmbedmentGoodsService.java            |   34 ++
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/service/impl/SysEmbedmentGoodsServiceImpl.java   |  175 ++++++++++++
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/dto/EmbedmentGoodsDto.java                       |   43 +++
 hd/pipe/engineeringManage/src/main/resources/mapping/SysProjectMapper.xml                                                       |    2 
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/dto/EmbedmentRecordDto.java                      |   23 +
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/entity/SysEmbedmentRecordEntity.java             |   89 ++++++
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/mapper/SysEmbedmentGoodsMapper.java              |   32 ++
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/mapper/SysEmbedmentRecordMapper.java             |   44 +++
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/entity/SysEmbedmentCorrectionEntity.java         |   66 ++++
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/mapper/SysEmbedmentCorrectionMapper.java         |   26 +
 hd/pipe/engineeringManage/src/main/java/com/thhy/engineering/modules/biz/engineering/service/impl/SysSegmentServiceImpl.java    |   12 
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/controller/SysEmbedmentGoodsController.java      |   41 ++
 hd/pipe/engineeringManage/src/main/java/com/thhy/engineering/modules/biz/engineering/mapper/SysSegmentMapper.java               |    2 
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/controller/SysInsetRecordsController.java        |   16 +
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/controller/SysEmbedmentCorrectionController.java |   31 ++
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/entity/SysEmbedmentGoodsEntity.java              |   92 ++++++
 hd/pipe/engineeringManage/src/main/java/com/thhy/engineering/modules/biz/engineering/entity/SysSegment.java                     |    1 
 18 files changed, 781 insertions(+), 5 deletions(-)

diff --git a/hd/pipe/engineeringManage/src/main/java/com/thhy/engineering/modules/biz/engineering/entity/SysSegment.java b/hd/pipe/engineeringManage/src/main/java/com/thhy/engineering/modules/biz/engineering/entity/SysSegment.java
index 137ed84..c19c625 100644
--- a/hd/pipe/engineeringManage/src/main/java/com/thhy/engineering/modules/biz/engineering/entity/SysSegment.java
+++ b/hd/pipe/engineeringManage/src/main/java/com/thhy/engineering/modules/biz/engineering/entity/SysSegment.java
@@ -88,4 +88,5 @@
      */
     private String duration;
 
+    private Integer completedQuantity;
 }
\ No newline at end of file
diff --git a/hd/pipe/engineeringManage/src/main/java/com/thhy/engineering/modules/biz/engineering/mapper/SysSegmentMapper.java b/hd/pipe/engineeringManage/src/main/java/com/thhy/engineering/modules/biz/engineering/mapper/SysSegmentMapper.java
index 2714b52..e09b6e2 100644
--- a/hd/pipe/engineeringManage/src/main/java/com/thhy/engineering/modules/biz/engineering/mapper/SysSegmentMapper.java
+++ b/hd/pipe/engineeringManage/src/main/java/com/thhy/engineering/modules/biz/engineering/mapper/SysSegmentMapper.java
@@ -15,6 +15,8 @@
 
     String segmentNameByOne(String segmentName);
 
+    String segmentNameByProjectName(String unitProjectName);
+
     void segmentInsert(@Idkey("segmentId") Map<String, Object> values);
 
     void segmentNeedInsert(@Idkey("id") HashMap<String,Object> segmentNeed);
diff --git a/hd/pipe/engineeringManage/src/main/java/com/thhy/engineering/modules/biz/engineering/service/impl/SysSegmentServiceImpl.java b/hd/pipe/engineeringManage/src/main/java/com/thhy/engineering/modules/biz/engineering/service/impl/SysSegmentServiceImpl.java
index 3a2dc51..25b7dce 100644
--- a/hd/pipe/engineeringManage/src/main/java/com/thhy/engineering/modules/biz/engineering/service/impl/SysSegmentServiceImpl.java
+++ b/hd/pipe/engineeringManage/src/main/java/com/thhy/engineering/modules/biz/engineering/service/impl/SysSegmentServiceImpl.java
@@ -3,13 +3,16 @@
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.github.pagehelper.util.StringUtil;
+import com.thhy.engineering.modules.biz.engineering.entity.SysProject;
 import com.thhy.engineering.modules.biz.engineering.entity.SysSegmentNeed;
 import com.thhy.engineering.modules.biz.engineering.entity.SysSegment;
+import com.thhy.engineering.modules.biz.engineering.mapper.SysProjectMapper;
 import com.thhy.engineering.modules.biz.engineering.mapper.SysSegmentMapper;
 import com.thhy.engineering.modules.biz.engineering.service.SysSegmentService;
 import com.thhy.general.common.BasicResult;
 import com.thhy.general.config.SysUserInfo;
 import com.thhy.general.utils.UserInfoUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -18,6 +21,9 @@
 import java.util.List;
 import java.util.Map;
 
+/**
+ * 单位工程管理(标段)
+ */
 @Service
 public class SysSegmentServiceImpl implements SysSegmentService {
 
@@ -28,9 +34,9 @@
     @Transactional
     public BasicResult segmentInsert(Map<String, Object> values) {
 
-        String segmentName = values.get("segmentName").toString();
+        String unitProjectName = values.get("unitProjectName").toString();
 
-        String segmentId =  segmentMapper.segmentNameByOne(segmentName);
+        String segmentId =  segmentMapper.segmentNameByProjectName(unitProjectName);
         if(!StringUtil.isEmpty(segmentId)){
             return  BasicResult.faild("11111","error","标段名称被占用");
         }
@@ -112,6 +118,4 @@
         }
         return BasicResult.success("修改成功");
     }
-
-
 }
diff --git a/hd/pipe/engineeringManage/src/main/resources/mapping/SysProjectMapper.xml b/hd/pipe/engineeringManage/src/main/resources/mapping/SysProjectMapper.xml
index 2a42a6b..276f25d 100644
--- a/hd/pipe/engineeringManage/src/main/resources/mapping/SysProjectMapper.xml
+++ b/hd/pipe/engineeringManage/src/main/resources/mapping/SysProjectMapper.xml
@@ -310,7 +310,7 @@
       where sp.is_use=1
     <if test="proName!=null and proName!='' ">
         and sp.pro_name like concat('%',#{proName},'%')
-    </if>segment/segmentList
+    </if>
     <if test="companyId!=null and companyId!='' ">
         and sp.company_id=#{companyId}
     </if>
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/controller/SysEmbedmentCorrectionController.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/controller/SysEmbedmentCorrectionController.java
new file mode 100644
index 0000000..b919d22
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/controller/SysEmbedmentCorrectionController.java
@@ -0,0 +1,31 @@
+package com.thhy.materials.modules.biz.embedment.controller;
+
+import com.thhy.general.common.BasicResult;
+import com.thhy.materials.modules.biz.embedment.dto.EmbedmentGoodsDto;
+import com.thhy.materials.modules.biz.embedment.service.SysEmbedmentGoodsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-09-22 15:23:59
+ * 校正记录控制层
+ */
+@RestController
+@RequestMapping(value = "embedmentCorrection")
+public class SysEmbedmentCorrectionController {
+
+	@Autowired
+	private SysEmbedmentGoodsService sysEmbedmentGoodsService;
+
+	//校正列表
+	@PostMapping("/inventoryList")
+	public BasicResult inventoryList(@RequestBody EmbedmentGoodsDto embedmentGoodsDto){
+		return sysEmbedmentGoodsService.inventoryList(embedmentGoodsDto);
+	}
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/controller/SysEmbedmentGoodsController.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/controller/SysEmbedmentGoodsController.java
new file mode 100644
index 0000000..a0827e6
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/controller/SysEmbedmentGoodsController.java
@@ -0,0 +1,41 @@
+package com.thhy.materials.modules.biz.embedment.controller;
+
+import com.thhy.general.common.BasicResult;
+import com.thhy.materials.modules.biz.embedment.dto.EmbedmentGoodsDto;
+import com.thhy.materials.modules.biz.embedment.entity.SysEmbedmentGoodsEntity;
+import com.thhy.materials.modules.biz.embedment.service.SysEmbedmentGoodsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-09-22 15:26:16
+ * 预埋件库存控制层
+ */
+@RestController
+@RequestMapping(value = "embedmentGoods")
+public class SysEmbedmentGoodsController {
+	@Autowired
+	private SysEmbedmentGoodsService sysEmbedmentGoodsService;
+
+	//预埋件种类新增
+	@PostMapping("/insert")
+	public BasicResult insert(@RequestBody SysEmbedmentGoodsEntity sysEmbedmentGoodsEntity){
+		return sysEmbedmentGoodsService.insert(sysEmbedmentGoodsEntity);
+	}
+
+	//预埋件种类修改
+	@PostMapping("/update")
+	public BasicResult update(@RequestBody SysEmbedmentGoodsEntity sysEmbedmentGoodsEntity){
+		return sysEmbedmentGoodsService.update(sysEmbedmentGoodsEntity);
+	}
+
+	//预埋件种类查询、库存管理查询
+	@PostMapping("/findAll")
+	public BasicResult findAll(@RequestBody EmbedmentGoodsDto embedmentGoodsDto){
+		return sysEmbedmentGoodsService.findAll(embedmentGoodsDto);
+	}
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/controller/SysInsetRecordsController.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/controller/SysInsetRecordsController.java
new file mode 100644
index 0000000..f511147
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/controller/SysInsetRecordsController.java
@@ -0,0 +1,16 @@
+package com.thhy.materials.modules.biz.embedment.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-09-22 15:39:54
+ * 入库记录控制层
+ */
+@RestController
+@RequestMapping(value = "embedmentInsetRecord")
+public class SysInsetRecordsController {
+
+
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/controller/SysInventoryManagementController.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/controller/SysInventoryManagementController.java
new file mode 100644
index 0000000..6dc2fb1
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/controller/SysInventoryManagementController.java
@@ -0,0 +1,57 @@
+package com.thhy.materials.modules.biz.embedment.controller;
+
+import com.thhy.general.common.BasicResult;
+import com.thhy.materials.modules.biz.embedment.dto.EmbedmentGoodsDto;
+import com.thhy.materials.modules.biz.embedment.entity.SysEmbedmentGoodsEntity;
+import com.thhy.materials.modules.biz.embedment.service.SysEmbedmentGoodsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-09-22 15:33:44
+ * 库存管理
+ */
+@RestController
+@RequestMapping(value = "embedmentInventoryManagement")
+public class SysInventoryManagementController {
+
+	@Autowired
+	private SysEmbedmentGoodsService sysEmbedmentGoodsService;
+
+	@PostMapping("/findAll")
+	public BasicResult findAll(@RequestBody EmbedmentGoodsDto embedmentGoodsDto){
+		return sysEmbedmentGoodsService.findAll(embedmentGoodsDto);
+	}
+
+
+	@PostMapping("/export")
+	public void export(@RequestBody EmbedmentGoodsDto embedmentGoodsDto, HttpServletResponse response){
+		sysEmbedmentGoodsService.export(embedmentGoodsDto,response);
+	}
+
+	/**
+	 * 预警设置
+	 * @param embedmentGoodsDto
+	 * @return
+	 */
+	@PostMapping("/alarmSet")
+	public BasicResult alarmSet(EmbedmentGoodsDto embedmentGoodsDto){
+		return sysEmbedmentGoodsService.alarmSet(embedmentGoodsDto);
+	}
+
+	/**
+	 * 库存校正
+	 * @param embedmentGoodsDto
+	 * @return
+	 */
+	@PostMapping("/inventoryCorrection")
+	public BasicResult inventoryCorrection(EmbedmentGoodsDto embedmentGoodsDto){
+		return sysEmbedmentGoodsService.inventoryCorrection(embedmentGoodsDto);
+	}
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/dto/EmbedmentGoodsDto.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/dto/EmbedmentGoodsDto.java
new file mode 100644
index 0000000..ee7b802
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/dto/EmbedmentGoodsDto.java
@@ -0,0 +1,43 @@
+package com.thhy.materials.modules.biz.embedment.dto;
+
+import lombok.Data;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-09-22 11:23:15
+ * 查询预埋件库存dto
+ */
+@Data
+public class EmbedmentGoodsDto {
+	private String id;
+	private Integer pageNum;
+
+	private Integer pageSize;
+
+	private String embedmentGoodsName;
+
+	private String companyId;
+
+	/**
+	 * 预警数量
+	 */
+	private Integer alarmCount;
+
+	/**
+	 * 校正前
+	 */
+	private Integer correctionBefore;
+
+	/**
+	 * 校正数量
+	 */
+	private Integer correctionNum;
+
+	/**
+	 * 校正后
+	 */
+	private Integer correctionAfter;
+
+	private String remark;
+
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/dto/EmbedmentRecordDto.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/dto/EmbedmentRecordDto.java
new file mode 100644
index 0000000..79c35b5
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/dto/EmbedmentRecordDto.java
@@ -0,0 +1,23 @@
+package com.thhy.materials.modules.biz.embedment.dto;
+
+import com.thhy.general.common.enums.test;
+import lombok.Data;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-09-22 16:03:50
+ * 预埋件出入库dto
+ */
+@Data
+public class EmbedmentRecordDto {
+	private String embedmentName;
+	private String embedmentId;
+	private String companyId;
+	private String supplierId;
+	private String getDepart;
+	private String strTime;
+	private String endTime;
+
+	private Integer pageNum;
+	private Integer pageSize;
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/entity/SysEmbedmentCorrectionEntity.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/entity/SysEmbedmentCorrectionEntity.java
new file mode 100644
index 0000000..3b7954c
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/entity/SysEmbedmentCorrectionEntity.java
@@ -0,0 +1,66 @@
+package com.thhy.materials.modules.biz.embedment.entity;
+
+import com.thhy.general.annotations.Idkey;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-09-22 14:32:34
+ * 预埋件校正记录
+ */
+@Data
+public class SysEmbedmentCorrectionEntity {
+	/**
+	 *
+	 */
+	@Idkey
+	private String id;
+
+	/**
+	 * 预埋件ID
+	 */
+	private String embedmentId;
+	private String embedmentName;
+	private String embedmentModel;
+	private String unit;
+	/**
+	 * 校正前
+	 */
+	private Integer correctionBefore;
+
+	/**
+	 * 校正数量
+	 */
+	private Integer correctionNum;
+
+	/**
+	 * 校正后
+	 */
+	private Integer correctionAfter;
+
+	/**
+	 * 校正时间
+	 */
+	private Date createTime;
+
+	/**
+	 * 校正人
+	 */
+	private String createUser;
+	private String realName;
+
+	/**
+	 * 备注
+	 */
+	private String remark;
+
+	/**
+	 * This field was generated by MyBatis Generator.
+	 * This field corresponds to the database table sys_assist_correction
+	 *
+	 * @mbg.generated Tue Apr 11 10:36:03 CST 2023
+	 */
+	private static final long serialVersionUID = 1L;
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/entity/SysEmbedmentGoodsEntity.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/entity/SysEmbedmentGoodsEntity.java
new file mode 100644
index 0000000..6cd094c
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/entity/SysEmbedmentGoodsEntity.java
@@ -0,0 +1,92 @@
+package com.thhy.materials.modules.biz.embedment.entity;
+
+import com.thhy.general.annotations.Excel;
+import com.thhy.general.annotations.Idkey;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-09-22 11:04:06
+ * 预埋件库存实体
+ */
+@Data
+public class SysEmbedmentGoodsEntity implements Serializable {
+
+	/**
+	 *
+	 */
+	@Idkey("id")
+	private String id;
+
+	/**
+	 * 预埋件名称
+	 */
+	@Excel(sort = 1,title = "预埋件名称")
+	private String embedmentName;
+
+	/**
+	 * 预埋件类型  字典
+	 */
+	private String embedmentType;
+	private String dictName;
+
+	/**
+	 * 预埋件规格
+	 */
+	@Excel(sort = 2,title = "规格型号")
+	private String embedmentModel;
+
+	/**
+	 * 计量单位
+	 */
+	@Excel(sort = 3,title = "计量单位")
+	private String unit;
+
+	/**
+	 * 库存数量
+	 */
+	private Integer stock;
+
+	/**
+	 * 位置
+	 */
+	@Excel(sort = 4,title = "位置")
+	private String position;
+
+	/**
+	 * 报警数量
+	 */
+	private Integer alarmCount;
+
+	/**
+	 * 1可用2不可用
+	 */
+	private Integer isUse;
+
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+
+	/**
+	 * 创建人
+	 */
+	private String createUser;
+
+	@Excel(sort = 5,title = "备注")
+	private String remark;
+
+	private String companyId;
+	/**
+	 * This field was generated by MyBatis Generator.
+	 * This field corresponds to the database table sys_assist_good
+	 *
+	 * @mbg.generated Tue Apr 11 08:58:47 CST 2023
+	 */
+	private static final long serialVersionUID = 1L;
+
+
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/entity/SysEmbedmentRecordEntity.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/entity/SysEmbedmentRecordEntity.java
new file mode 100644
index 0000000..df012b4
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/entity/SysEmbedmentRecordEntity.java
@@ -0,0 +1,89 @@
+package com.thhy.materials.modules.biz.embedment.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+@Data
+@Getter
+@Setter
+@ToString
+public class SysEmbedmentRecordEntity implements Serializable {
+    /**
+     * 
+     */
+    private String id;
+
+    /**
+     * 预埋件ID
+     */
+    private String EmbedmentId;
+    //预埋件名称
+    private String EmbedmentName;
+    //预埋件规格
+    private String EmbedmentModel;
+
+    /**
+     * 1入库2出库
+     */
+    private String stockType;
+
+    /**
+     * 出库量/入库量
+     */
+    private Integer changeStock;
+
+    /**
+     * 供应单位
+     */
+    private String supplierId;
+    //供应商名称
+    private String supplierName;
+
+    /**
+     * 单价
+     */
+    private BigDecimal singlePrice;
+
+    /**
+     * 金额
+     */
+    private BigDecimal amount;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 领料部门
+     */
+    private String getDepart;
+    //部门名称
+    private String departName;
+
+    /**
+     * 入库人
+     */
+    private String createUser;
+    private String realName;
+
+    /**
+     * 入库时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private String createTime;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table sys_assist_record
+     *
+     * @mbg.generated Tue Apr 11 09:37:48 CST 2023
+     */
+    private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/mapper/SysEmbedmentCorrectionMapper.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/mapper/SysEmbedmentCorrectionMapper.java
new file mode 100644
index 0000000..a06e869
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/mapper/SysEmbedmentCorrectionMapper.java
@@ -0,0 +1,26 @@
+package com.thhy.materials.modules.biz.embedment.mapper;
+
+import com.thhy.materials.modules.biz.embedment.dto.EmbedmentGoodsDto;
+import com.thhy.materials.modules.biz.embedment.entity.SysEmbedmentCorrectionEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-09-22 14:47:57
+ * 预埋件校正记录mapper
+ */
+@Mapper
+public interface SysEmbedmentCorrectionMapper {
+
+	void insert(SysEmbedmentCorrectionEntity sysEmbedmentCorrectionEntity);
+
+	/**
+	 * 校正记录列表查询
+	 * @param embedmentGoodsDto
+	 * @return
+	 */
+	List<SysEmbedmentCorrectionEntity> inventoryList(EmbedmentGoodsDto embedmentGoodsDto);
+
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/mapper/SysEmbedmentGoodsMapper.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/mapper/SysEmbedmentGoodsMapper.java
new file mode 100644
index 0000000..ad40e29
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/mapper/SysEmbedmentGoodsMapper.java
@@ -0,0 +1,32 @@
+package com.thhy.materials.modules.biz.embedment.mapper;
+
+import com.thhy.materials.modules.biz.embedment.dto.EmbedmentGoodsDto;
+import com.thhy.materials.modules.biz.embedment.entity.SysEmbedmentGoodsEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-09-22 11:17:31
+ * 预埋件库存mapper
+ */
+@Mapper
+public interface SysEmbedmentGoodsMapper {
+
+	void insert(SysEmbedmentGoodsEntity sysEmbedmentGoodsEntity);
+
+	void delete(String id);
+
+	void update(SysEmbedmentGoodsEntity sysEmbedmentGoodsEntity);
+
+	List<SysEmbedmentGoodsEntity> findAll(EmbedmentGoodsDto embedmentGoodsDto);
+
+	SysEmbedmentGoodsEntity findEntity(String id);
+
+	String embedmentNameAndType(@Param("embedmentGoodsName") String embedmentGoodsName, @Param("embedmentType") String embedmentType);
+
+	void alarmSet(EmbedmentGoodsDto embedmentGoodsDto);
+
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/mapper/SysEmbedmentRecordMapper.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/mapper/SysEmbedmentRecordMapper.java
new file mode 100644
index 0000000..874ef88
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/mapper/SysEmbedmentRecordMapper.java
@@ -0,0 +1,44 @@
+package com.thhy.materials.modules.biz.embedment.mapper;
+
+import com.thhy.materials.modules.biz.embedment.dto.EmbedmentRecordDto;
+import com.thhy.materials.modules.biz.embedment.entity.SysEmbedmentRecordEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-09-22 16:02:20
+ * 预埋件出入库mapper
+ */
+@Mapper
+public interface SysEmbedmentRecordMapper {
+
+	void insert(SysEmbedmentRecordEntity sysEmbedmentRecordEntity);
+
+	void embedmentRecordDel(String id);
+
+	void update(SysEmbedmentRecordEntity sysEmbedmentRecordEntity);
+
+	/**
+	 * 入库列表
+	 * @param embedmentRecordDto
+	 * @return
+	 */
+	List<SysEmbedmentRecordEntity> embedmentRecordList(EmbedmentRecordDto embedmentRecordDto);
+
+	/**
+	 * 出库列表
+	 * @param embedmentRecordDto
+	 * @return
+	 */
+	List<SysEmbedmentRecordEntity> embedmentRecordOutList(EmbedmentRecordDto embedmentRecordDto);
+
+	/**
+	 * 查询单条
+	 * @param id
+	 * @return
+	 */
+	SysEmbedmentRecordEntity embedmentRecordInfo(String id);
+
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/service/SysEmbedmentGoodsService.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/service/SysEmbedmentGoodsService.java
new file mode 100644
index 0000000..f638a2c
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/service/SysEmbedmentGoodsService.java
@@ -0,0 +1,34 @@
+package com.thhy.materials.modules.biz.embedment.service;
+
+import com.thhy.general.common.BasicResult;
+import com.thhy.materials.modules.biz.embedment.dto.EmbedmentGoodsDto;
+import com.thhy.materials.modules.biz.embedment.entity.SysEmbedmentGoodsEntity;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-09-22 13:32:21
+ * 预埋件库存接口
+ */
+public interface SysEmbedmentGoodsService {
+
+	BasicResult insert(SysEmbedmentGoodsEntity sysEmbedmentGoodsEntity);
+
+	BasicResult delete(String id);
+
+	BasicResult update(SysEmbedmentGoodsEntity sysEmbedmentGoodsEntity);
+
+	BasicResult findAll(EmbedmentGoodsDto embedmentGoodsDto);
+
+	BasicResult findEntity(String id);
+
+	void export(EmbedmentGoodsDto embedmentGoodsDto, HttpServletResponse response);
+
+	BasicResult alarmSet(EmbedmentGoodsDto embedmentGoodsDto);
+
+	BasicResult inventoryCorrection(EmbedmentGoodsDto embedmentGoodsDto);
+
+	BasicResult inventoryList(EmbedmentGoodsDto embedmentGoodsDto);
+
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/service/impl/SysEmbedmentGoodsServiceImpl.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/service/impl/SysEmbedmentGoodsServiceImpl.java
new file mode 100644
index 0000000..31bada5
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/embedment/service/impl/SysEmbedmentGoodsServiceImpl.java
@@ -0,0 +1,175 @@
+package com.thhy.materials.modules.biz.embedment.service.impl;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.github.pagehelper.util.StringUtil;
+import com.thhy.general.common.BasicResult;
+import com.thhy.general.common.BasicStatus;
+import com.thhy.general.config.SysUserInfo;
+import com.thhy.general.exception.BasicException;
+import com.thhy.general.utils.ExcelUtils;
+import com.thhy.general.utils.UserInfoUtils;
+import com.thhy.materials.modules.biz.embedment.dto.EmbedmentGoodsDto;
+import com.thhy.materials.modules.biz.embedment.entity.SysEmbedmentCorrectionEntity;
+import com.thhy.materials.modules.biz.embedment.entity.SysEmbedmentGoodsEntity;
+import com.thhy.materials.modules.biz.embedment.mapper.SysEmbedmentCorrectionMapper;
+import com.thhy.materials.modules.biz.embedment.mapper.SysEmbedmentGoodsMapper;
+import com.thhy.materials.modules.biz.embedment.service.SysEmbedmentGoodsService;
+import org.redisson.api.RLock;
+import org.redisson.api.RedissonClient;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-09-22 13:32:52
+ * 预埋件库存实现
+ */
+@Service
+public class SysEmbedmentGoodsServiceImpl implements SysEmbedmentGoodsService {
+
+	@Autowired
+	private RedissonClient redissonClient;
+
+	@Autowired
+	private SysEmbedmentGoodsMapper sysEmbedmentGoodsMapper;
+
+	@Autowired
+	private SysEmbedmentCorrectionMapper sysEmbedmentCorrectionMapper;
+
+	//=======================种类到此开始=======================
+	@Override
+	public BasicResult insert(SysEmbedmentGoodsEntity sysEmbedmentGoodsEntity) {
+		SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+		sysEmbedmentGoodsEntity.setCompanyId(sysUserInfo.getCompanyId());
+		String embedmentName = sysEmbedmentGoodsEntity.getEmbedmentName();
+		String embedmentType = sysEmbedmentGoodsEntity.getEmbedmentType();
+		String id =  sysEmbedmentGoodsMapper.embedmentNameAndType(embedmentName,embedmentType);
+		if(!StringUtil.isEmpty(id)){
+			return BasicResult.faild("11111","error","名称和规格型号不可重复");
+		}
+		sysEmbedmentGoodsMapper.insert(sysEmbedmentGoodsEntity);
+		return BasicResult.success();
+	}
+
+	@Override
+	public BasicResult delete(String id) {
+		sysEmbedmentGoodsMapper.delete(id);
+		return BasicResult.success();
+	}
+
+	@Override
+	public BasicResult update(SysEmbedmentGoodsEntity sysEmbedmentGoodsEntity) {
+		SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+		sysEmbedmentGoodsEntity.setCompanyId(sysUserInfo.getCompanyId());
+		String embedmentName = sysEmbedmentGoodsEntity.getEmbedmentName();
+		String embedmentType = sysEmbedmentGoodsEntity.getEmbedmentType();
+		String id =  sysEmbedmentGoodsMapper.embedmentNameAndType(embedmentName,embedmentType);
+		if(!StringUtil.isEmpty(id)){
+			return BasicResult.faild("11111","error","名称和规格型号不可重复");
+		}
+		sysEmbedmentGoodsMapper.update(sysEmbedmentGoodsEntity);
+		return BasicResult.success();
+	}
+
+	@Override
+	public BasicResult findAll(EmbedmentGoodsDto embedmentGoodsDto) {
+		SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+		embedmentGoodsDto.setCompanyId(sysUserInfo.getCompanyId());
+		PageHelper.startPage(embedmentGoodsDto.getPageNum(), embedmentGoodsDto.getPageSize());
+		List<SysEmbedmentGoodsEntity> all = sysEmbedmentGoodsMapper.findAll(embedmentGoodsDto);
+		PageInfo<SysEmbedmentGoodsEntity> pageInfo = new PageInfo<>(all);
+		return BasicResult.success(pageInfo);
+	}
+
+	@Override
+	public BasicResult findEntity(String id) {
+		return BasicResult.success(sysEmbedmentGoodsMapper.findEntity(id));
+	}
+
+	//=======================种类到此结束=======================
+
+	//=======================库存管理开始=======================
+	@Override
+	public void export(EmbedmentGoodsDto embedmentGoodsDto, HttpServletResponse response) {
+		SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+		embedmentGoodsDto.setCompanyId(sysUserInfo.getCompanyId());
+		List<SysEmbedmentGoodsEntity> all = sysEmbedmentGoodsMapper.findAll(embedmentGoodsDto);
+		ExcelUtils.downExcel(all,SysEmbedmentGoodsEntity.class,response,"库存管理");
+	}
+
+	/**
+	 * 预警值设置
+	 * @param embedmentGoodsDto
+	 * @return
+	 */
+	@Override
+	public BasicResult alarmSet(EmbedmentGoodsDto embedmentGoodsDto) {
+		sysEmbedmentGoodsMapper.alarmSet(embedmentGoodsDto);
+		return BasicResult.success();
+	}
+
+	/**
+	 * 库存校正
+	 * @param embedmentGoodsDto
+	 * @return
+	 */
+	@Override
+	public BasicResult inventoryCorrection(EmbedmentGoodsDto embedmentGoodsDto) {
+		SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+		String companyId = sysUserInfo.getCompanyId();
+		RLock lock = redissonClient.getLock("embedmentlock");
+		try {
+			if (lock.tryLock(5, 10, TimeUnit.SECONDS)) {
+				//此时参数实体获得的id是库存id 更新库存
+				SysEmbedmentGoodsEntity s = new SysEmbedmentGoodsEntity();
+				s.setId(embedmentGoodsDto.getId());
+				s.setStock(embedmentGoodsDto.getCorrectionAfter());
+				sysEmbedmentGoodsMapper.update(s);
+			} else {
+				throw new BasicException(BasicStatus.OP_IS_TIMEOUT);
+			}
+		} catch (InterruptedException e) {
+			throw new BasicException(BasicStatus.OP_IS_REPEAT);
+		} finally {
+			if (lock.isLocked()) {
+				lock.unlock();
+			}
+		}
+		//添加校正记录
+		SysEmbedmentCorrectionEntity sc = new SysEmbedmentCorrectionEntity();
+		sc.setEmbedmentId(embedmentGoodsDto.getId());
+		sc.setCorrectionNum(embedmentGoodsDto.getCorrectionNum());
+		sc.setCorrectionAfter(embedmentGoodsDto.getCorrectionAfter());
+		sc.setCorrectionBefore(embedmentGoodsDto.getCorrectionBefore());
+		sc.setCreateUser(sysUserInfo.getRealName());
+		sc.setRemark(embedmentGoodsDto.getRemark());
+		sysEmbedmentCorrectionMapper.insert(sc);
+		return BasicResult.success();
+	}
+
+	//=======================库存管理结束=======================
+	//=======================校正记录结束=======================
+
+	/**
+	 * 校正记录列表
+	 * @param embedmentGoodsDto
+	 * @return
+	 */
+	@Override
+	public BasicResult inventoryList(EmbedmentGoodsDto embedmentGoodsDto) {
+		SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+		embedmentGoodsDto.setCompanyId(sysUserInfo.getCompanyId());
+		PageHelper.startPage(embedmentGoodsDto.getPageNum(), embedmentGoodsDto.getPageSize());
+		List<SysEmbedmentCorrectionEntity> sysEmbedmentCorrectionEntities = sysEmbedmentCorrectionMapper.inventoryList(embedmentGoodsDto);
+		PageInfo<SysEmbedmentCorrectionEntity> pageInfo = new PageInfo<>(sysEmbedmentCorrectionEntities);
+		return BasicResult.success(pageInfo);
+	}
+	//=======================校正记录结束=======================
+
+}

--
Gitblit v1.9.3