equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/common/RocketMQTemplateHelper.java
对比新文件 @@ -0,0 +1,52 @@ package com.gkhy.safePlatform.equipment.common; import org.apache.rocketmq.client.producer.SendResult; import org.apache.rocketmq.client.producer.SendStatus; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.support.TransactionSynchronizationAdapter; import org.springframework.transaction.support.TransactionSynchronizationManager; import java.util.Date; @Component public class RocketMQTemplateHelper { @Autowired private RocketMQTemplate rocketMQTemplate; private Logger logger = LoggerFactory.getLogger(this.getClass()); /** * 事务提交后发送MQ * @param message * @param <T> */ public <T> void syncSend(String destination, T message) { // 是否开启事务判断 if (TransactionSynchronizationManager.isSynchronizationActive()) { TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() { @Override public void afterCommit() { SendResult sendResult = rocketMQTemplate.syncSend(destination, message); if(sendResult.getSendStatus() != SendStatus.SEND_OK){ logger.info("【安全物资和设备管理】事务提交后才发送MQ的消息发送失败!"+ new Date()); }else{ logger.info("【安全物资和设备管理】消息申请发送rocketMQ消息成功!"+ new Date()); } } }); } else { SendResult sendResult = rocketMQTemplate.syncSend(destination, message); if(sendResult.getSendStatus() != SendStatus.SEND_OK){ logger.info("【安全物资和设备管理】事务提交后才发送MQ的消息发送失败!"+ new Date()); }else{ logger.info("【安全物资和设备管理】消息申请发送rocketMQ消息成功!"+ new Date()); } } } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/MaterialClassifyController.java
对比新文件 @@ -0,0 +1,76 @@ package com.gkhy.safePlatform.equipment.controller; import com.alibaba.fastjson.JSONObject; import com.gkhy.safePlatform.commons.co.ContextCacheUser; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialClassifyAddReq; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialClassifyModReq; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialClassifyQuery; import com.gkhy.safePlatform.equipment.model.dto.resp.SafeMaterialClassifyDto; import com.gkhy.safePlatform.equipment.service.MaterialClassifyService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.validation.annotation.Validated; 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.List; @RestController @RequestMapping("/equipment/classify") public class MaterialClassifyController { @Autowired private MaterialClassifyService materialClassifyService; /** * 列表 * @return */ @PostMapping(value = "/list") public ResultVO<List<SafeMaterialClassifyDto>> list(Authentication authentication, @RequestBody SafeMaterialClassifyQuery query){ ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); return materialClassifyService.list(query); } /** * 新增 * @return */ @PostMapping(value = "save") public ResultVO save(Authentication authentication, @Validated @RequestBody SafeMaterialClassifyAddReq req){ ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); return materialClassifyService.save(currentUser,req); } /** * 更新 * @return */ @PostMapping(value = "update") public ResultVO update(Authentication authentication, @Validated @RequestBody SafeMaterialClassifyModReq req){ ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); return materialClassifyService.update(currentUser,req); } /** * 逻辑删除 单条 * @return */ @PostMapping(value = "delete") public ResultVO delete(Authentication authentication, @RequestBody JSONObject jsonObject){ ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); Long id = jsonObject.getLong("id"); return materialClassifyService.delete(id); } /** * 查询单条数据 */ @PostMapping(value = "queryById") public ResultVO<SafeMaterialClassifyDto> queryById(Authentication authentication, @RequestBody JSONObject jsonObject){ Long id = jsonObject.getLong("id"); return materialClassifyService.queryById(id); } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/SafeMaterialController.java
对比新文件 @@ -0,0 +1,56 @@ package com.gkhy.safePlatform.equipment.controller; import com.alibaba.fastjson.JSONObject; import com.gkhy.safePlatform.commons.query.PageQuery; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialAddReq; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialModReq; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialQuery; import com.gkhy.safePlatform.equipment.service.SafeMaterialService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.validation.annotation.Validated; 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; @RestController @RequestMapping(value = "/equipment/safeMaterial") public class SafeMaterialController { @Autowired private SafeMaterialService safeMaterialService; @PostMapping(value = "save") public ResultVO save(Authentication authentication, @Validated @RequestBody SafeMaterialAddReq req){ return safeMaterialService.save(req); } @PostMapping(value = "update") public ResultVO update(Authentication authentication, @Validated @RequestBody SafeMaterialModReq req){ return safeMaterialService.update(req); } @PostMapping(value = "delete") public ResultVO delete(Authentication authentication, @RequestBody JSONObject jsonObject){ Long id = jsonObject.getLong("id"); return safeMaterialService.delete(id); } @PostMapping(value = "queryById") public ResultVO queryById(Authentication authentication, @RequestBody JSONObject jsonObject){ Long id = jsonObject.getLong("id"); return safeMaterialService.queryById(id); } @PostMapping(value = "list") public ResultVO list(Authentication authentication){ return safeMaterialService.list(); } @PostMapping(value = "page/list") public ResultVO listByPage(Authentication authentication,@RequestBody PageQuery<SafeMaterialQuery> pageQuery){ return safeMaterialService.listByPage(pageQuery); } @PostMapping(value = "deleteBatch") public ResultVO deleteBatch(Authentication authentication, @RequestBody Long[] ids){ return safeMaterialService.deleteBatch(ids); } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/controller/SafeMaterialDetailController.java
对比新文件 @@ -0,0 +1,148 @@ package com.gkhy.safePlatform.equipment.controller; import com.alibaba.fastjson.JSONObject; import com.gkhy.safePlatform.commons.query.PageQuery; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.commons.vo.SearchResultVO; import com.gkhy.safePlatform.equipment.model.dto.req.*; import com.gkhy.safePlatform.equipment.model.dto.resp.SafeMaterialDetailDto; import com.gkhy.safePlatform.equipment.service.SafeMaterialDetailService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.validation.annotation.Validated; 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.List; @RestController @RequestMapping(value = "/equipment/smDetail") public class SafeMaterialDetailController { @Autowired private SafeMaterialDetailService safeMaterialDetailService; /** * 新增入库 * @param authentication * @return */ @PostMapping(value = "/save") public ResultVO save(Authentication authentication,@Validated @RequestBody SafeMaterialDetailAddReq req){ return safeMaterialDetailService.save(req); } /** * 批量入库 */ @PostMapping(value = "/saveBatch") public ResultVO saveBatch(Authentication authentication,@Validated @RequestBody SafeMaterialDetailAddReq req){ return safeMaterialDetailService.saveBatch(req); } /** * 编辑 */ @PostMapping(value = "/update") public ResultVO update(Authentication authentication,@Validated @RequestBody SafeMaterialDetailReq req){ return safeMaterialDetailService.update(req); } /** * 单独出入库 * @param authentication * @return */ @PostMapping(value = "/single/delivery0rReceipt") public ResultVO singleDdelivery0rReceipt(Authentication authentication, @Validated @RequestBody SafeMaterialDetailReq req){ return safeMaterialDetailService.singleDdelivery0rReceipt(req); } /** * 单独出库 * @param authentication * @return */ @PostMapping(value = "/single/delivery") public ResultVO singleDelivery(Authentication authentication, @Validated @RequestBody SafeMaterialDetailReq req){ return safeMaterialDetailService.singleDelivery(req); } /** * 单独入库 * @param authentication * @return */ @PostMapping(value = "/single/receipt") public ResultVO singleReceipt(Authentication authentication,@RequestBody JSONObject jsonObject){ Long id = jsonObject.getLong("id"); return safeMaterialDetailService.singleReceipt(id); } /** * 批量出库 - 根据ids * @param authentication * @return */ @PostMapping(value = "/batch/delivery/ids") public ResultVO deliveryBatchByIds(Authentication authentication, @Validated @RequestBody MterialDeliveryReq req){ return safeMaterialDetailService.deliveryBatchByIds(req); } /** * 批量出库 * @param authentication * @return */ @PostMapping(value = "/batch/delivery/random") public ResultVO deliveryBatchRandom(Authentication authentication,@Validated @RequestBody MterialRandomDeliveryReq req){ return safeMaterialDetailService.deliveryBatchRandom(req); } /** * 批量重新入库 */ @PostMapping(value = "/batch/receipt") public ResultVO receiptBatch(Authentication authentication, @RequestBody Long[] ids){ return safeMaterialDetailService.receiptBatch(ids); } /** * 删除-单条 * @param authentication * @return */ @PostMapping(value = "/delete") public ResultVO delete(Authentication authentication, @RequestBody JSONObject jsonObject){ Long id = jsonObject.getLong("id"); return safeMaterialDetailService.delete(id); } /** * 批量删除 * @param authentication * @return */ @PostMapping(value = "/deleteBatch") public ResultVO deleteBatch(Authentication authentication,@RequestBody Long[] ids){ return safeMaterialDetailService.deleteBatch(ids); } /** * 分页查询 * @param authentication * @return */ @PostMapping(value = "/page/list") public SearchResultVO<List<SafeMaterialDetailDto>> listByPage(Authentication authentication, @RequestBody PageQuery<SafeMatetrialDetailQuery> pageQuery){ return safeMaterialDetailService.listByPage(pageQuery); } /** * 查询单条数据 * @param authentication * @return */ @PostMapping(value = "/queryById") public ResultVO queryById(Authentication authentication,@RequestBody JSONObject jsonObject){ Long id = jsonObject.getLong("id"); return safeMaterialDetailService.queryById(id); } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/SafeMaterialClassifyDO.java
对比新文件 @@ -0,0 +1,22 @@ package com.gkhy.safePlatform.equipment.entity; public class SafeMaterialClassifyDO { private Long id; private String materialClassifyName; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getMaterialClassifyName() { return materialClassifyName; } public void setMaterialClassifyName(String materialClassifyName) { this.materialClassifyName = materialClassifyName; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/SafeMaterialClassifyInfo.java
对比新文件 @@ -0,0 +1,131 @@ package com.gkhy.safePlatform.equipment.entity; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import java.io.Serializable; import java.time.LocalDateTime; @TableName("safe_material_classify") public class SafeMaterialClassifyInfo implements Serializable { private static final long serialVersionUID = -6700804265510606854L; /** * 主键 */ @TableId(type = IdType.AUTO) private Long id; /** * 物资分类名称 */ private String materialClassifyName; /** * 删除标识 */ @TableField(fill = FieldFill.INSERT) //自动填充的注解 private int delFlag; /** * 创建人id */ @TableField(fill = FieldFill.INSERT) //自动填充的注解 private Long createUid; /** * 创建人姓名 */ @TableField(fill = FieldFill.INSERT) //自动填充的注解 private String createUname; /** * 创建时间 */ @TableField(fill = FieldFill.INSERT) //自动填充的注解 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") public LocalDateTime createTime; /** * 修改人id */ @TableField(fill = FieldFill.INSERT_UPDATE) //自动填充的注解 private Long updateUid; /** * 修改人姓名 */ @TableField(fill = FieldFill.INSERT_UPDATE) //自动填充的注解 private String updateUname; /** * 修改时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) //自动填充的注解 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime updateTime; public LocalDateTime getCreateTime() { return createTime; } public void setCreateTime(LocalDateTime createTime) { this.createTime = createTime; } public LocalDateTime getUpdateTime() { return updateTime; } public void setUpdateTime(LocalDateTime updateTime) { this.updateTime = updateTime; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getMaterialClassifyName() { return materialClassifyName; } public void setMaterialClassifyName(String materialClassifyName) { this.materialClassifyName = materialClassifyName; } public int getDelFlag() { return delFlag; } public void setDelFlag(int delFlag) { this.delFlag = delFlag; } public Long getCreateUid() { return createUid; } public void setCreateUid(Long createUid) { this.createUid = createUid; } public String getCreateUname() { return createUname; } public void setCreateUname(String createUname) { this.createUname = createUname; } public Long getUpdateUid() { return updateUid; } public void setUpdateUid(Long updateUid) { this.updateUid = updateUid; } public String getUpdateUname() { return updateUname; } public void setUpdateUname(String updateUname) { this.updateUname = updateUname; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/SafeMaterialCountDO.java
对比新文件 @@ -0,0 +1,22 @@ package com.gkhy.safePlatform.equipment.entity; public class SafeMaterialCountDO { private Long id; private Integer count; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Integer getCount() { return count; } public void setCount(Integer count) { this.count = count; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/SafeMaterialDO.java
对比新文件 @@ -0,0 +1,200 @@ package com.gkhy.safePlatform.equipment.entity; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import java.io.Serializable; import java.time.LocalDateTime; public class SafeMaterialDO { /** * 主键 */ private Long id; /** * 物资序列号 (如果以后id使用雪花算法时候再启用该字段) */ private String serialNum; /** * 物资类型id */ private Long materialClassifyId; private String materialClassifyName; /** * 部门id */ private Long depId; /** * 部门名称 */ private String depName; /** * 物资名称 */ private String materialName; /** * 是否是耗材(0是, 1否) */ private Byte consumable; /** * 删除标识 */ @TableField(fill = FieldFill.INSERT) //自动填充的注解 private int delFlag; /** * 创建人id */ @TableField(fill = FieldFill.INSERT) //自动填充的注解 private Long createUid; /** * 创建人姓名 */ @TableField(fill = FieldFill.INSERT) //自动填充的注解 private String createUname; /** * 创建时间 */ @TableField(fill = FieldFill.INSERT) //自动填充的注解 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") public LocalDateTime createTime; /** * 修改人id */ @TableField(fill = FieldFill.INSERT_UPDATE) //自动填充的注解 private Long updateUid; /** * 修改人姓名 */ @TableField(fill = FieldFill.INSERT_UPDATE) //自动填充的注解 private String updateUname; /** * 修改时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) //自动填充的注解 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime updateTime; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getSerialNum() { return serialNum; } public void setSerialNum(String serialNum) { this.serialNum = serialNum; } public Long getMaterialClassifyId() { return materialClassifyId; } public void setMaterialClassifyId(Long materialClassifyId) { this.materialClassifyId = materialClassifyId; } public Long getDepId() { return depId; } public void setDepId(Long depId) { this.depId = depId; } public String getDepName() { return depName; } public void setDepName(String depName) { this.depName = depName; } public String getMaterialName() { return materialName; } public void setMaterialName(String materialName) { this.materialName = materialName; } public Byte getConsumable() { return consumable; } public void setConsumable(Byte consumable) { this.consumable = consumable; } public int getDelFlag() { return delFlag; } public void setDelFlag(int delFlag) { this.delFlag = delFlag; } public Long getCreateUid() { return createUid; } public void setCreateUid(Long createUid) { this.createUid = createUid; } public String getCreateUname() { return createUname; } public void setCreateUname(String createUname) { this.createUname = createUname; } public LocalDateTime getCreateTime() { return createTime; } public void setCreateTime(LocalDateTime createTime) { this.createTime = createTime; } public Long getUpdateUid() { return updateUid; } public void setUpdateUid(Long updateUid) { this.updateUid = updateUid; } public String getUpdateUname() { return updateUname; } public void setUpdateUname(String updateUname) { this.updateUname = updateUname; } public LocalDateTime getUpdateTime() { return updateTime; } public void setUpdateTime(LocalDateTime updateTime) { this.updateTime = updateTime; } public String getMaterialClassifyName() { return materialClassifyName; } public void setMaterialClassifyName(String materialClassifyName) { this.materialClassifyName = materialClassifyName; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/SafeMaterialDetailBO.java
对比新文件 @@ -0,0 +1,63 @@ package com.gkhy.safePlatform.equipment.entity; import java.time.LocalDateTime; import java.util.List; public class SafeMaterialDetailBO { private List<Long> ids; private Integer count; private Byte irStatus; private Long claimantId; private String claimantName; private LocalDateTime deliveryTime; public List<Long> getIds() { return ids; } public void setIds(List<Long> ids) { this.ids = ids; } public Integer getCount() { return count; } public void setCount(Integer count) { this.count = count; } public Byte getIrStatus() { return irStatus; } public void setIrStatus(Byte irStatus) { this.irStatus = irStatus; } public Long getClaimantId() { return claimantId; } public void setClaimantId(Long claimantId) { this.claimantId = claimantId; } public String getClaimantName() { return claimantName; } public void setClaimantName(String claimantName) { this.claimantName = claimantName; } public LocalDateTime getDeliveryTime() { return deliveryTime; } public void setDeliveryTime(LocalDateTime deliveryTime) { this.deliveryTime = deliveryTime; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/SafeMaterialDetailCountDO.java
对比新文件 @@ -0,0 +1,22 @@ package com.gkhy.safePlatform.equipment.entity; public class SafeMaterialDetailCountDO { private Long smId; private Integer count; public Long getSmId() { return smId; } public void setSmId(Long smId) { this.smId = smId; } public Integer getCount() { return count; } public void setCount(Integer count) { this.count = count; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/SafeMaterialDetailInfo.java
对比新文件 @@ -0,0 +1,289 @@ package com.gkhy.safePlatform.equipment.entity; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import java.io.Serializable; import java.time.LocalDateTime; @TableName("safe_material_detail") public class SafeMaterialDetailInfo implements Serializable { private static final long serialVersionUID = -3779254000698221155L; /** * 主键 */ @TableId(type = IdType.AUTO) private Long id; /** * 物资名称 */ private String name; /** * 物资编号 */ private String materialNo; /** * 物资类型id */ private Long materialClassifyId; /** * RFID */ private String rfid; /** * 是否是耗材(0是, 1否) */ private Byte consumable; /** * 保质期类型 */ private Byte validType; /** * 保质到期时间 */ private LocalDateTime validTime; /** * 状态 */ private Byte validStatus; /** * 出入库状态 */ private Byte irStatus; /** * 入库时间 */ private LocalDateTime wareHousingTime; /** * 出库时间 */ private LocalDateTime deliveryTime; /** * 安全物资字表id */ private Long smId; /** * 认领人id */ private Long claimantId; /** * 认领人姓名 */ private String claimantName; /** * 删除标识 */ @TableField(fill = FieldFill.INSERT) //自动填充的注解 private int delFlag; /** * 创建人id */ @TableField(fill = FieldFill.INSERT) //自动填充的注解 private Long createUid; /** * 创建人姓名 */ @TableField(fill = FieldFill.INSERT) //自动填充的注解 private String createUname; /** * 创建时间 */ @TableField(fill = FieldFill.INSERT) //自动填充的注解 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") public LocalDateTime createTime; /** * 修改人id */ @TableField(fill = FieldFill.INSERT_UPDATE) //自动填充的注解 private Long updateUid; /** * 修改人姓名 */ @TableField(fill = FieldFill.INSERT_UPDATE) //自动填充的注解 private String updateUname; /** * 修改时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) //自动填充的注解 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime updateTime; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getMaterialNo() { return materialNo; } public void setMaterialNo(String materialNo) { this.materialNo = materialNo; } public Long getMaterialClassifyId() { return materialClassifyId; } public void setMaterialClassifyId(Long materialClassifyId) { this.materialClassifyId = materialClassifyId; } public String getRfid() { return rfid; } public void setRfid(String rfid) { this.rfid = rfid; } public Byte getConsumable() { return consumable; } public void setConsumable(Byte consumable) { this.consumable = consumable; } public Byte getValidType() { return validType; } public void setValidType(Byte validType) { this.validType = validType; } public LocalDateTime getValidTime() { return validTime; } public void setValidTime(LocalDateTime validTime) { this.validTime = validTime; } public Byte getValidStatus() { return validStatus; } public void setValidStatus(Byte validStatus) { this.validStatus = validStatus; } public Byte getIrStatus() { return irStatus; } public void setIrStatus(Byte irStatus) { this.irStatus = irStatus; } public LocalDateTime getWareHousingTime() { return wareHousingTime; } public void setWareHousingTime(LocalDateTime wareHousingTime) { this.wareHousingTime = wareHousingTime; } public LocalDateTime getDeliveryTime() { return deliveryTime; } public void setDeliveryTime(LocalDateTime deliveryTime) { this.deliveryTime = deliveryTime; } public Long getSmId() { return smId; } public void setSmId(Long smId) { this.smId = smId; } public int getDelFlag() { return delFlag; } public void setDelFlag(int delFlag) { this.delFlag = delFlag; } public Long getCreateUid() { return createUid; } public void setCreateUid(Long createUid) { this.createUid = createUid; } public String getCreateUname() { return createUname; } public void setCreateUname(String createUname) { this.createUname = createUname; } public LocalDateTime getCreateTime() { return createTime; } public void setCreateTime(LocalDateTime createTime) { this.createTime = createTime; } public Long getUpdateUid() { return updateUid; } public void setUpdateUid(Long updateUid) { this.updateUid = updateUid; } public String getUpdateUname() { return updateUname; } public void setUpdateUname(String updateUname) { this.updateUname = updateUname; } public LocalDateTime getUpdateTime() { return updateTime; } public void setUpdateTime(LocalDateTime updateTime) { this.updateTime = updateTime; } public Long getClaimantId() { return claimantId; } public void setClaimantId(Long claimantId) { this.claimantId = claimantId; } public String getClaimantName() { return claimantName; } public void setClaimantName(String claimantName) { this.claimantName = claimantName; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/SafeMaterialDetailInfoDO.java
对比新文件 @@ -0,0 +1,230 @@ package com.gkhy.safePlatform.equipment.entity; import com.fasterxml.jackson.annotation.JsonFormat; import java.time.LocalDateTime; public class SafeMaterialDetailInfoDO { /** * 主键 */ private Long id; /** * 物资名称 */ private String name; /** * 物资编号 */ private String materialNo; /** * 物资类型id */ private Long materialClassifyId; /** * 物资类型名称 */ private String materialClassifyName; /** * RFID */ private String rfid; /** * 是否是耗材(0是, 1否) */ private Byte consumable; /** * 部门名称 * */ private String depName; /** * 部门id */ private Long depId; /** * 保质期类型 */ private Byte validType; /** * 保质到期时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime validTime; /** * 状态 */ private Byte validStatus; /** * 出入库状态 */ private Byte irStatus; /** * 入库时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime wareHousingTime; /** * 出库时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime deliveryTime; /** * 安全物资字表id */ private Long smId; /** * 认领人id */ private Long claimantId; /** * 认领人姓名 */ private String claimantName; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getMaterialNo() { return materialNo; } public void setMaterialNo(String materialNo) { this.materialNo = materialNo; } public Long getMaterialClassifyId() { return materialClassifyId; } public void setMaterialClassifyId(Long materialClassifyId) { this.materialClassifyId = materialClassifyId; } public String getMaterialClassifyName() { return materialClassifyName; } public void setMaterialClassifyName(String materialClassifyName) { this.materialClassifyName = materialClassifyName; } public String getRfid() { return rfid; } public void setRfid(String rfid) { this.rfid = rfid; } public Byte getConsumable() { return consumable; } public void setConsumable(Byte consumable) { this.consumable = consumable; } public String getDepName() { return depName; } public void setDepName(String depName) { this.depName = depName; } public Long getDepId() { return depId; } public void setDepId(Long depId) { this.depId = depId; } public Byte getValidType() { return validType; } public void setValidType(Byte validType) { this.validType = validType; } public LocalDateTime getValidTime() { return validTime; } public void setValidTime(LocalDateTime validTime) { this.validTime = validTime; } public Byte getValidStatus() { return validStatus; } public void setValidStatus(Byte validStatus) { this.validStatus = validStatus; } public Byte getIrStatus() { return irStatus; } public void setIrStatus(Byte irStatus) { this.irStatus = irStatus; } public LocalDateTime getWareHousingTime() { return wareHousingTime; } public void setWareHousingTime(LocalDateTime wareHousingTime) { this.wareHousingTime = wareHousingTime; } public LocalDateTime getDeliveryTime() { return deliveryTime; } public void setDeliveryTime(LocalDateTime deliveryTime) { this.deliveryTime = deliveryTime; } public Long getSmId() { return smId; } public void setSmId(Long smId) { this.smId = smId; } public Long getClaimantId() { return claimantId; } public void setClaimantId(Long claimantId) { this.claimantId = claimantId; } public String getClaimantName() { return claimantName; } public void setClaimantName(String claimantName) { this.claimantName = claimantName; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/entity/SafeMaterialInfo.java
对比新文件 @@ -0,0 +1,194 @@ package com.gkhy.safePlatform.equipment.entity; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import java.io.Serializable; import java.time.LocalDateTime; @TableName("safe_material") public class SafeMaterialInfo implements Serializable { private static final long serialVersionUID = -3147326241995464433L; /** * 主键 */ @TableId(type = IdType.AUTO) private Long id; /** * 物资序列号 (如果以后id使用雪花算法时候再启用该字段) */ private String serialNum; /** * 物资类型id */ private Long materialClassifyId; /** * 部门id */ private Long depId; /** * 部门名称 */ private String depName; /** * 物资名称 */ private String materialName; /** * 是否是耗材(0是, 1否) */ private Byte consumable; /** * 删除标识 */ @TableField(fill = FieldFill.INSERT) //自动填充的注解 private int delFlag; /** * 创建人id */ @TableField(fill = FieldFill.INSERT) //自动填充的注解 private Long createUid; /** * 创建人姓名 */ @TableField(fill = FieldFill.INSERT) //自动填充的注解 private String createUname; /** * 创建时间 */ @TableField(fill = FieldFill.INSERT) //自动填充的注解 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") public LocalDateTime createTime; /** * 修改人id */ @TableField(fill = FieldFill.INSERT_UPDATE) //自动填充的注解 private Long updateUid; /** * 修改人姓名 */ @TableField(fill = FieldFill.INSERT_UPDATE) //自动填充的注解 private String updateUname; /** * 修改时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) //自动填充的注解 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime updateTime; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getSerialNum() { return serialNum; } public void setSerialNum(String serialNum) { this.serialNum = serialNum; } public Long getMaterialClassifyId() { return materialClassifyId; } public void setMaterialClassifyId(Long materialClassifyId) { this.materialClassifyId = materialClassifyId; } public Long getDepId() { return depId; } public void setDepId(Long depId) { this.depId = depId; } public String getDepName() { return depName; } public void setDepName(String depName) { this.depName = depName; } public String getMaterialName() { return materialName; } public void setMaterialName(String materialName) { this.materialName = materialName; } public Byte getConsumable() { return consumable; } public void setConsumable(Byte consumable) { this.consumable = consumable; } public int getDelFlag() { return delFlag; } public void setDelFlag(int delFlag) { this.delFlag = delFlag; } public Long getCreateUid() { return createUid; } public void setCreateUid(Long createUid) { this.createUid = createUid; } public String getCreateUname() { return createUname; } public void setCreateUname(String createUname) { this.createUname = createUname; } public LocalDateTime getCreateTime() { return createTime; } public void setCreateTime(LocalDateTime createTime) { this.createTime = createTime; } public Long getUpdateUid() { return updateUid; } public void setUpdateUid(Long updateUid) { this.updateUid = updateUid; } public String getUpdateUname() { return updateUname; } public void setUpdateUname(String updateUname) { this.updateUname = updateUname; } public LocalDateTime getUpdateTime() { return updateTime; } public void setUpdateTime(LocalDateTime updateTime) { this.updateTime = updateTime; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/enums/ConsumableEnum.java
对比新文件 @@ -0,0 +1,46 @@ package com.gkhy.safePlatform.equipment.enums; import java.util.HashMap; import java.util.Map; public enum ConsumableEnum { YES((byte) 0, "是"), NO((byte) 1, "否"); private Byte code; private String value; ConsumableEnum(Byte code, String value) { this.code = code; this.value = value; } public Byte getCode() { return code; } public void setCode(Byte code) { this.code = code; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } // 转换成为 MAP<Byte, String>, 对外提供查询和遍历功能 public static Map<Byte, ConsumableEnum> toMap() { Map<Byte, ConsumableEnum> map = new HashMap(); for (ConsumableEnum consumableEnum : ConsumableEnum.values()) { map.put(consumableEnum.getCode(), consumableEnum); } return map; } public static ConsumableEnum getByCode(Byte code){ return toMap().get(code); } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/enums/EquipmentResultCodes.java
@@ -10,6 +10,12 @@ KEYPOINT_EQUIPMENT_ENUM_PART_TYPE_NOT_EXIST("K1001","重点设备装置部位分类类型异常"), DATA_HAS_BEEN_BOND("E1004","数据已被绑定"), DATA_NOT_EXIST("E1005","数据不存在"), MATERIAL_INVALID("E1006","物资无效"), MATERIAL_OUT_OF_LIBRARY("E1007","物资已出库,不可再次出库"), MATERIAL_IN_THE_LIBRARY("E1007","物资已入库,不可再次入库"), ERROR("A3000", "未知错误"); private String code; equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/enums/IssueReceiptEnum.java
对比新文件 @@ -0,0 +1,45 @@ package com.gkhy.safePlatform.equipment.enums; import java.util.HashMap; import java.util.Map; public enum IssueReceiptEnum { IN_THE_LIBRARY((byte) 0, "在库"), OUT_OF_LIBRARY((byte) 1, "已出库"); private Byte code; private String value; IssueReceiptEnum(Byte code, String value) { this.code = code; this.value = value; } public Byte getCode() { return code; } public void setCode(Byte code) { this.code = code; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } // 转换成为 MAP<Byte, String>, 对外提供查询和遍历功能 public static Map<Byte, IssueReceiptEnum> toMap() { Map<Byte, IssueReceiptEnum> map = new HashMap(); for (IssueReceiptEnum consumableEnum : IssueReceiptEnum.values()) { map.put(consumableEnum.getCode(), consumableEnum); } return map; } public static IssueReceiptEnum getByCode(Byte code){ return toMap().get(code); } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/enums/ValidStatusEnum.java
对比新文件 @@ -0,0 +1,46 @@ package com.gkhy.safePlatform.equipment.enums; import java.util.HashMap; import java.util.Map; public enum ValidStatusEnum { YES((byte) 0, "是"), NO((byte) 1, "否"); private Byte code; private String value; ValidStatusEnum(Byte code, String value) { this.code = code; this.value = value; } public Byte getCode() { return code; } public void setCode(Byte code) { this.code = code; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } // 转换成为 MAP<Byte, String>, 对外提供查询和遍历功能 public static Map<Byte, ValidStatusEnum> toMap() { Map<Byte, ValidStatusEnum> map = new HashMap(); for (ValidStatusEnum consumableEnum : ValidStatusEnum.values()) { map.put(consumableEnum.getCode(), consumableEnum); } return map; } public static ValidStatusEnum getByCode(Byte code){ return toMap().get(code); } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/enums/ValidTypeEnum.java
对比新文件 @@ -0,0 +1,46 @@ package com.gkhy.safePlatform.equipment.enums; import java.util.HashMap; import java.util.Map; public enum ValidTypeEnum { LONG_TERM((byte) 0, "长期"), SHORT_TERM((byte) 1, "非长期"); private Byte code; private String value; ValidTypeEnum(Byte code, String value) { this.code = code; this.value = value; } public Byte getCode() { return code; } public void setCode(Byte code) { this.code = code; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } // 转换成为 MAP<Byte, String>, 对外提供查询和遍历功能 public static Map<Byte, ValidTypeEnum> toMap() { Map<Byte, ValidTypeEnum> map = new HashMap(); for (ValidTypeEnum consumableEnum : ValidTypeEnum.values()) { map.put(consumableEnum.getCode(), consumableEnum); } return map; } public static ValidTypeEnum getByCode(Byte code){ return toMap().get(code); } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/excepiton/EquipmentException.java
@@ -17,6 +17,11 @@ this.code = error.getCode(); this.message = error.getDesc(); } public EquipmentException(EquipmentResultCodes equipmentResultCodes,String message) { super(message); this.code = equipmentResultCodes.getCode(); this.message = message; } public EquipmentException(String code, String message) { super(message); @@ -29,6 +34,11 @@ this.code = clientParamIllegal.getCode(); this.message = clientParamIllegal.getDesc(); } public EquipmentException(ResultCodes resultCodes,String message) { super(message); this.code = resultCodes.getCode(); this.message = message; } public String getCode() { return this.code; equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/handler/MyMetaObjectHandler.java
对比新文件 @@ -0,0 +1,34 @@ package com.gkhy.safePlatform.equipment.handler; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.gkhy.safePlatform.commons.co.ContextCacheUser; import org.apache.ibatis.reflection.MetaObject; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Component; import java.time.LocalDateTime; @Component public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推荐使用) this.strictInsertFill(metaObject, "createUid", Long.class, currentUser.getUid()); this.strictInsertFill(metaObject, "createUname", String.class, currentUser.getUsername()); this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推荐) this.strictInsertFill(metaObject, "updateUid", Long.class, currentUser.getUid()); this.strictInsertFill(metaObject, "updateUname", String.class, currentUser.getUsername()); } @Override public void updateFill(MetaObject metaObject) { Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推荐) this.strictInsertFill(metaObject, "updateUid", Long.class, currentUser.getUid()); this.strictInsertFill(metaObject, "updateUname", String.class, currentUser.getUsername()); } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/MterialDeliveryReq.java
对比新文件 @@ -0,0 +1,28 @@ package com.gkhy.safePlatform.equipment.model.dto.req; import javax.validation.constraints.NotNull; import java.lang.annotation.Native; import java.util.List; public class MterialDeliveryReq { @NotNull(message = "主键不可为空!") private List<Long> ids; @NotNull(message = "认领人不可为空!") private Long claimantId; public List<Long> getIds() { return ids; } public void setIds(List<Long> ids) { this.ids = ids; } public Long getClaimantId() { return claimantId; } public void setClaimantId(Long claimantId) { this.claimantId = claimantId; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/MterialRandomDeliveryReq.java
对比新文件 @@ -0,0 +1,38 @@ package com.gkhy.safePlatform.equipment.model.dto.req; import javax.validation.constraints.NotNull; import java.util.List; public class MterialRandomDeliveryReq { @NotNull(message = "主键不可为空!") private Integer count; @NotNull(message = "认领人不可为空!") private Long claimantId; @NotNull(message = "物资主键不可为空!") private Long smId; public Long getSmId() { return smId; } public void setSmId(Long smId) { this.smId = smId; } public Long getClaimantId() { return claimantId; } public void setClaimantId(Long claimantId) { this.claimantId = claimantId; } public Integer getCount() { return count; } public void setCount(Integer count) { this.count = count; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/SafeMaterialAddReq.java
对比新文件 @@ -0,0 +1,62 @@ package com.gkhy.safePlatform.equipment.model.dto.req; import org.springframework.validation.annotation.Validated; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; public class SafeMaterialAddReq { /** * 物资类型id */ @NotNull(message = "物资类型不可为空!") private Long materialClassifyId; /** * 部门id */ @NotNull(message = "所属部门不可为空!") private Long depId; /** * 物资名称 */ @NotBlank(message = "安全物资名称不可为空!") private String materialName; /** * 是否是耗材(0是, 1否) */ @NotNull(message = "是否是耗材不可为空!") private Byte consumable; public Long getMaterialClassifyId() { return materialClassifyId; } public void setMaterialClassifyId(Long materialClassifyId) { this.materialClassifyId = materialClassifyId; } public Long getDepId() { return depId; } public void setDepId(Long depId) { this.depId = depId; } public String getMaterialName() { return materialName; } public void setMaterialName(String materialName) { this.materialName = materialName; } public Byte getConsumable() { return consumable; } public void setConsumable(Byte consumable) { this.consumable = consumable; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/SafeMaterialClassifyAddReq.java
对比新文件 @@ -0,0 +1,23 @@ package com.gkhy.safePlatform.equipment.model.dto.req; import org.hibernate.validator.constraints.Length; import org.jetbrains.annotations.NotNull; import javax.validation.constraints.NotBlank; public class SafeMaterialClassifyAddReq { /** * 物资分类名称 */ @NotBlank(message = "物资名称不可为空") private String materialClassifyName; public String getMaterialClassifyName() { return materialClassifyName; } public void setMaterialClassifyName(String materialClassifyName) { this.materialClassifyName = materialClassifyName; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/SafeMaterialClassifyModReq.java
对比新文件 @@ -0,0 +1,34 @@ package com.gkhy.safePlatform.equipment.model.dto.req; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; public class SafeMaterialClassifyModReq { /** * 主键 */ @NotNull(message = "主键不可为空") private Long id; /** * 物资分类名称 */ @NotBlank(message = "物资名称不可为空") private String materialClassifyName; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getMaterialClassifyName() { return materialClassifyName; } public void setMaterialClassifyName(String materialClassifyName) { this.materialClassifyName = materialClassifyName; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/SafeMaterialClassifyQuery.java
对比新文件 @@ -0,0 +1,13 @@ package com.gkhy.safePlatform.equipment.model.dto.req; public class SafeMaterialClassifyQuery { private String materialClassifyName; public String getMaterialClassifyName() { return materialClassifyName; } public void setMaterialClassifyName(String materialClassifyName) { this.materialClassifyName = materialClassifyName; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/SafeMaterialDetailAddReq.java
对比新文件 @@ -0,0 +1,78 @@ package com.gkhy.safePlatform.equipment.model.dto.req; import com.fasterxml.jackson.annotation.JsonFormat; import javax.validation.constraints.NotNull; import java.time.LocalDateTime; public class SafeMaterialDetailAddReq { @NotNull(message = "物资不可为空!") private Long smId; private String startRfid; private String endRfid; @NotNull(message = "入库数量不可为空!") private Integer wareHousingCount; @NotNull(message = "有效期类型不可为空!") private Byte validType; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime validTime; //rfid private String rfid; public Long getSmId() { return smId; } public void setSmId(Long smId) { this.smId = smId; } public String getStartRfid() { return startRfid; } public void setStartRfid(String startRfid) { this.startRfid = startRfid; } public String getEndRfid() { return endRfid; } public void setEndRfid(String endRfid) { this.endRfid = endRfid; } public Integer getWareHousingCount() { return wareHousingCount; } public void setWareHousingCount(Integer wareHousingCount) { this.wareHousingCount = wareHousingCount; } public Byte getValidType() { return validType; } public void setValidType(Byte validType) { this.validType = validType; } public LocalDateTime getValidTime() { return validTime; } public void setValidTime(LocalDateTime validTime) { this.validTime = validTime; } public String getRfid() { return rfid; } public void setRfid(String rfid) { this.rfid = rfid; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/SafeMaterialDetailReq.java
对比新文件 @@ -0,0 +1,111 @@ package com.gkhy.safePlatform.equipment.model.dto.req; import com.fasterxml.jackson.annotation.JsonFormat; import javax.validation.constraints.NotNull; import java.time.LocalDateTime; public class SafeMaterialDetailReq { /** * 主键 */ @NotNull(message = "主键不可为空!") private Long id; /** * 物资类型id */ private Long materialClassifyId; /** * RFID */ private String rfid; /** * 保质期类型 */ private Byte validType; /** * 保质到期时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime validTime; /** * 出入库状态 */ private Byte irStatus; /** * 安全物资字表id */ private Long smId; /** * 认领人id */ private Long claimantId; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getMaterialClassifyId() { return materialClassifyId; } public void setMaterialClassifyId(Long materialClassifyId) { this.materialClassifyId = materialClassifyId; } public String getRfid() { return rfid; } public void setRfid(String rfid) { this.rfid = rfid; } public Byte getValidType() { return validType; } public void setValidType(Byte validType) { this.validType = validType; } public LocalDateTime getValidTime() { return validTime; } public void setValidTime(LocalDateTime validTime) { this.validTime = validTime; } public Byte getIrStatus() { return irStatus; } public void setIrStatus(Byte irStatus) { this.irStatus = irStatus; } public Long getSmId() { return smId; } public void setSmId(Long smId) { this.smId = smId; } public Long getClaimantId() { return claimantId; } public void setClaimantId(Long claimantId) { this.claimantId = claimantId; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/SafeMaterialModReq.java
对比新文件 @@ -0,0 +1,69 @@ package com.gkhy.safePlatform.equipment.model.dto.req; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; public class SafeMaterialModReq { @NotNull(message = "主键不可为空!") private Long id; /** * 物资类型id */ @NotNull(message = "物资类型不可为空!") private Long materialClassifyId; /** * 部门id */ @NotNull(message = "所属部门不可为空!") private Long depId; /** * 物资名称 */ @NotBlank(message = "安全物资名称不可为空!") private String materialName; /** * 是否是耗材(0是, 1否) */ @NotNull(message = "是否是耗材不可为空!") private Byte consumable; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getMaterialClassifyId() { return materialClassifyId; } public void setMaterialClassifyId(Long materialClassifyId) { this.materialClassifyId = materialClassifyId; } public Long getDepId() { return depId; } public void setDepId(Long depId) { this.depId = depId; } public String getMaterialName() { return materialName; } public void setMaterialName(String materialName) { this.materialName = materialName; } public Byte getConsumable() { return consumable; } public void setConsumable(Byte consumable) { this.consumable = consumable; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/SafeMaterialQuery.java
对比新文件 @@ -0,0 +1,28 @@ package com.gkhy.safePlatform.equipment.model.dto.req; public class SafeMaterialQuery { /** * 物资类型id */ private Long materialClassifyId; /** * 物资名称 */ private String materialName; public Long getMaterialClassifyId() { return materialClassifyId; } public void setMaterialClassifyId(Long materialClassifyId) { this.materialClassifyId = materialClassifyId; } public String getMaterialName() { return materialName; } public void setMaterialName(String materialName) { this.materialName = materialName; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/req/SafeMatetrialDetailQuery.java
对比新文件 @@ -0,0 +1,22 @@ package com.gkhy.safePlatform.equipment.model.dto.req; public class SafeMatetrialDetailQuery { private Byte irStatus; private String rfid; public Byte getIrStatus() { return irStatus; } public void setIrStatus(Byte irStatus) { this.irStatus = irStatus; } public String getRfid() { return rfid; } public void setRfid(String rfid) { this.rfid = rfid; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/BaseMaterialDto.java
对比新文件 @@ -0,0 +1,24 @@ package com.gkhy.safePlatform.equipment.model.dto.resp; public class BaseMaterialDto { //物资设备id private Long smId; //物资名称 private String materialName; public Long getSmId() { return smId; } public void setSmId(Long smId) { this.smId = smId; } public String getMaterialName() { return materialName; } public void setMaterialName(String materialName) { this.materialName = materialName; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/MaterialClassificationDto.java
对比新文件 @@ -0,0 +1,35 @@ package com.gkhy.safePlatform.equipment.model.dto.resp; import java.util.List; public class MaterialClassificationDto { //物资类型id private Long materialClassifyId; //物资类型名称 private String materialClassifyName; private List<MaterialDepartmentDto> departmentList; public Long getMaterialClassifyId() { return materialClassifyId; } public void setMaterialClassifyId(Long materialClassifyId) { this.materialClassifyId = materialClassifyId; } public String getMaterialClassifyName() { return materialClassifyName; } public void setMaterialClassifyName(String materialClassifyName) { this.materialClassifyName = materialClassifyName; } public List<MaterialDepartmentDto> getDepartmentList() { return departmentList; } public void setDepartmentList(List<MaterialDepartmentDto> departmentList) { this.departmentList = departmentList; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/MaterialDepartmentDto.java
对比新文件 @@ -0,0 +1,36 @@ package com.gkhy.safePlatform.equipment.model.dto.resp; import java.util.List; public class MaterialDepartmentDto { //部门id private Long depId; //部门名称 private String depName; //基础物资设备 private List<BaseMaterialDto> baseMaterialList; public Long getDepId() { return depId; } public void setDepId(Long depId) { this.depId = depId; } public String getDepName() { return depName; } public void setDepName(String depName) { this.depName = depName; } public List<BaseMaterialDto> getBaseMaterialList() { return baseMaterialList; } public void setBaseMaterialList(List<BaseMaterialDto> baseMaterialList) { this.baseMaterialList = baseMaterialList; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/SafeMaterialClassifyDto.java
对比新文件 @@ -0,0 +1,22 @@ package com.gkhy.safePlatform.equipment.model.dto.resp; public class SafeMaterialClassifyDto { private Long id; private String materialClassifyName; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getMaterialClassifyName() { return materialClassifyName; } public void setMaterialClassifyName(String materialClassifyName) { this.materialClassifyName = materialClassifyName; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/SafeMaterialDetailDto.java
对比新文件 @@ -0,0 +1,215 @@ package com.gkhy.safePlatform.equipment.model.dto.resp; import com.fasterxml.jackson.annotation.JsonFormat; import java.time.LocalDateTime; public class SafeMaterialDetailDto { /** * 主键 */ private Long id; /** * 物资名称 */ private String name; /** * 物资编号 */ private String materialNo; /** * 物资类型名称 */ private String materialClassifyName; /** * 部门名称 */ private String depName; /** * RFID */ private String rfid; /** * 耗材类型名称 */ private String consumableName; /** * 保质期类型 */ private Byte validType; /** * 保质期类型中文 */ private String validTypeName; /** * 保质到期时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime validTime; /** * 状态 */ private Byte validStatus; /** * 有效状态 */ private String validStatusName; /** * 出入库状态 */ private Byte irStatus; /** * 出入库状态中文 */ private String irStatusName; /** * 入库时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime wareHousingTime; /** * 出库时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime deliveryTime; /** * 认领人姓名 */ private String claimantName; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getMaterialNo() { return materialNo; } public void setMaterialNo(String materialNo) { this.materialNo = materialNo; } public String getDepName() { return depName; } public void setDepName(String depName) { this.depName = depName; } public String getRfid() { return rfid; } public void setRfid(String rfid) { this.rfid = rfid; } public String getMaterialClassifyName() { return materialClassifyName; } public void setMaterialClassifyName(String materialClassifyName) { this.materialClassifyName = materialClassifyName; } public String getConsumableName() { return consumableName; } public void setConsumableName(String consumableName) { this.consumableName = consumableName; } public Byte getValidType() { return validType; } public void setValidType(Byte validType) { this.validType = validType; } public LocalDateTime getValidTime() { return validTime; } public void setValidTime(LocalDateTime validTime) { this.validTime = validTime; } public Byte getValidStatus() { return validStatus; } public void setValidStatus(Byte validStatus) { this.validStatus = validStatus; } public String getValidStatusName() { return validStatusName; } public void setValidStatusName(String validStatusName) { this.validStatusName = validStatusName; } public Byte getIrStatus() { return irStatus; } public void setIrStatus(Byte irStatus) { this.irStatus = irStatus; } public String getIrStatusName() { return irStatusName; } public void setIrStatusName(String irStatusName) { this.irStatusName = irStatusName; } public LocalDateTime getWareHousingTime() { return wareHousingTime; } public void setWareHousingTime(LocalDateTime wareHousingTime) { this.wareHousingTime = wareHousingTime; } public LocalDateTime getDeliveryTime() { return deliveryTime; } public void setDeliveryTime(LocalDateTime deliveryTime) { this.deliveryTime = deliveryTime; } public String getClaimantName() { return claimantName; } public void setClaimantName(String claimantName) { this.claimantName = claimantName; } public String getValidTypeName() { return validTypeName; } public void setValidTypeName(String validTypeName) { this.validTypeName = validTypeName; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/SafeMaterialDto.java
对比新文件 @@ -0,0 +1,126 @@ package com.gkhy.safePlatform.equipment.model.dto.resp; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; public class SafeMaterialDto { /** * 主键 */ @TableId(type = IdType.AUTO) private Long id; /** * 物资序列号 (如果以后id使用雪花算法时候再启用该字段) */ private String serialNum; /** * 物资类型id */ private Long materialClassifyId; private String materialClassifyName; /** * 部门id */ private Long depId; /** * 部门名称 */ private String depName; /** * 物资名称 */ private String materialName; /** * 是否是耗材(0是, 1否) */ private Byte consumable; private String consumableName; /** * 有效库存数量 */ private Integer validStockCount; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getSerialNum() { return serialNum; } public void setSerialNum(String serialNum) { this.serialNum = serialNum; } public Long getMaterialClassifyId() { return materialClassifyId; } public void setMaterialClassifyId(Long materialClassifyId) { this.materialClassifyId = materialClassifyId; } public String getMaterialClassifyName() { return materialClassifyName; } public void setMaterialClassifyName(String materialClassifyName) { this.materialClassifyName = materialClassifyName; } public Long getDepId() { return depId; } public void setDepId(Long depId) { this.depId = depId; } public String getDepName() { return depName; } public void setDepName(String depName) { this.depName = depName; } public String getMaterialName() { return materialName; } public void setMaterialName(String materialName) { this.materialName = materialName; } public Byte getConsumable() { return consumable; } public void setConsumable(Byte consumable) { this.consumable = consumable; } public String getConsumableName() { return consumableName; } public void setConsumableName(String consumableName) { this.consumableName = consumableName; } public Integer getValidStockCount() { return validStockCount; } public void setValidStockCount(Integer validStockCount) { this.validStockCount = validStockCount; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/mq/consumer/SafeMaterialConsumer.java
对比新文件 @@ -0,0 +1,72 @@ package com.gkhy.safePlatform.equipment.mq.consumer; import com.gkhy.safePlatform.commons.utils.CalcuteDelayLevelUtils; import com.gkhy.safePlatform.commons.utils.JsonUtils; import com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailInfo; import com.gkhy.safePlatform.equipment.enums.ValidStatusEnum; import com.gkhy.safePlatform.equipment.mq.msg.SafeMaterialMsg; import com.gkhy.safePlatform.equipment.service.baseService.SafeMaterialDetailInfoService; import org.apache.rocketmq.client.producer.SendResult; import org.apache.rocketmq.client.producer.SendStatus; import org.apache.rocketmq.common.message.MessageExt; import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; import org.apache.rocketmq.spring.core.RocketMQListener; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.messaging.Message; import org.springframework.messaging.support.MessageBuilder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.nio.charset.StandardCharsets; import java.util.Date; @Service @RocketMQMessageListener(topic = "${rocketmq.topic.safeMaterialTopic}",consumerGroup = "${rocketmq.consumer.safeMaterialGroup}") public class SafeMaterialConsumer implements RocketMQListener<MessageExt> { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Value("${rocketmq.topic.safeMaterialTopic}") private String safeMaterialTopic; @Autowired private RocketMQTemplate rocketMQTemplate; @Autowired private SafeMaterialDetailInfoService safeMaterialDetailInfoService; @Override @Transactional public void onMessage(MessageExt message) { try{ SafeMaterialMsg msg = JsonUtils.parse(new String(message.getBody(), StandardCharsets.UTF_8),SafeMaterialMsg.class); if(null != msg && msg.getId()>0){ //当前时间早于目标处理时间前0秒 Long relaySeconds = (msg.getValidTime().getTime() - new Date().getTime())/1000; if(relaySeconds>0){ //重发消息,实现连续延时 Message reMsg = MessageBuilder.withPayload(msg).build(); SendResult sendResult = rocketMQTemplate.syncSend(safeMaterialTopic, reMsg, 10000, CalcuteDelayLevelUtils.calcuteDelayLevel(relaySeconds)); if(sendResult.getSendStatus() != SendStatus.SEND_OK){ throw new RuntimeException("【安全物资管理】重发消息失败" + msg.getId()+ "MSG_ID: "+ message.getMsgId()); } }else{//超时 SafeMaterialDetailInfo materialDetailInfo = safeMaterialDetailInfoService.queryById(msg.getId()); if(null != materialDetailInfo){ safeMaterialDetailInfoService.updateValidStatus(msg.getId()); logger.info("物资详细数据id:"+msg.getId()+" 物资过期!"); } } } }catch (Exception e){ logger.error("【安全物资和设备管理】消息消费异常!"+ "MSG_ID: "+ message.getMsgId()+e); } } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/mq/msg/SafeMaterialMsg.java
对比新文件 @@ -0,0 +1,46 @@ package com.gkhy.safePlatform.equipment.mq.msg; import com.fasterxml.jackson.annotation.JsonFormat; import java.util.Date; public class SafeMaterialMsg { /** * 主键 */ private Long id ; /** * 有效类型 */ private Byte validStatus; /** * 有效期 */ @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") private Date validTime; public Byte getValidStatus() { return validStatus; } public void setValidStatus(Byte validStatus) { this.validStatus = validStatus; } public Date getValidTime() { return validTime; } public void setValidTime(Date validTime) { this.validTime = validTime; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/SafeMaterialClassifyInfoRepository.java
对比新文件 @@ -0,0 +1,17 @@ package com.gkhy.safePlatform.equipment.repository; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.gkhy.safePlatform.equipment.entity.SafeMaterialClassifyInfo; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @Repository public interface SafeMaterialClassifyInfoRepository extends BaseMapper<SafeMaterialClassifyInfo> { int save(SafeMaterialClassifyInfo classifyInfo); int update(SafeMaterialClassifyInfo classifyInfo); SafeMaterialClassifyInfo queryById(@Param("id") Long id); } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/SafeMaterialDetailInfoRepository.java
对比新文件 @@ -0,0 +1,46 @@ package com.gkhy.safePlatform.equipment.repository; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailBO; import com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailInfo; import com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailCountDO; import com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailInfoDO; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMatetrialDetailQuery; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.time.LocalDateTime; import java.util.List; @Repository public interface SafeMaterialDetailInfoRepository extends BaseMapper<SafeMaterialDetailInfo> { Integer getTotalCount(); SafeMaterialDetailInfo queryById(Long id); void updateReceiptStatus(@Param("id") Long id, @Param("status") Byte status,@Param("wareHousingTime") LocalDateTime wareHousingTime); List<SafeMaterialDetailInfo> getListByIds(List<Long> ids); void updateReceiptStatusByIds(@Param("ids") List<Long> ids, @Param("irStatus") Byte irStatus, @Param("wareHousingTime")LocalDateTime wareHousingTime); List<SafeMaterialDetailCountDO> getCountGroupBySmId(@Param("ids") List<Long> ids, @Param("irStatus") Byte irStatus); List<SafeMaterialDetailCountDO> getStatisticsValidStock(@Param("smIds") List<Long> smIds,@Param("validStatus") Byte validStatus,@Param("irStatus") Byte irStatus); void deleteBatch(Long[] ids); void updateDeliveryStatusByIds(@Param("detailBO")SafeMaterialDetailBO detailBO); void deliveryBatchRandom(@Param("detailBO")SafeMaterialDetailBO detailBO); Integer getValidStockCount(@Param("smId")Long smId, @Param("validStatus")Byte validStatus, @Param("irStatus")Byte irStatus); List<SafeMaterialDetailInfoDO> listByCondition(Page<SafeMaterialDetailInfo> page, @Param("query") SafeMatetrialDetailQuery query); int getCountBySmIds(@Param("smIds") List<Long> smIds); int getCountBySmId(Long smId); void updateValidStatus(@Param("id") Long id, @Param("validStatus")Byte validStatus); } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/repository/SafeMaterialInfoRepository.java
对比新文件 @@ -0,0 +1,27 @@ package com.gkhy.safePlatform.equipment.repository; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gkhy.safePlatform.equipment.entity.SafeMaterialDO; import com.gkhy.safePlatform.equipment.entity.SafeMaterialInfo; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialQuery; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; @Repository public interface SafeMaterialInfoRepository extends BaseMapper<SafeMaterialInfo> { SafeMaterialInfo queryById(Long id); int getTotalCount(); int getCountByClassify(Long classifyId); int deleteBatch(List<Long> ids); List<SafeMaterialDO> listByConditions(Page<SafeMaterialDO> page, @Param("query") SafeMaterialQuery query); } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/MaterialClassifyService.java
对比新文件 @@ -0,0 +1,22 @@ package com.gkhy.safePlatform.equipment.service; import com.gkhy.safePlatform.commons.co.ContextCacheUser; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialClassifyAddReq; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialClassifyModReq; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialClassifyQuery; import com.gkhy.safePlatform.equipment.model.dto.resp.SafeMaterialClassifyDto; import java.util.List; public interface MaterialClassifyService { ResultVO<List<SafeMaterialClassifyDto>> list(SafeMaterialClassifyQuery query); ResultVO save(ContextCacheUser currentUser, SafeMaterialClassifyAddReq req); ResultVO update(ContextCacheUser currentUser, SafeMaterialClassifyModReq req); ResultVO delete(Long id); ResultVO<SafeMaterialClassifyDto> queryById(Long id); } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/SafeMaterialDetailService.java
对比新文件 @@ -0,0 +1,38 @@ package com.gkhy.safePlatform.equipment.service; import com.gkhy.safePlatform.commons.query.PageQuery; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.commons.vo.SearchResultVO; import com.gkhy.safePlatform.equipment.model.dto.req.*; import com.gkhy.safePlatform.equipment.model.dto.resp.SafeMaterialDetailDto; import java.util.List; public interface SafeMaterialDetailService { ResultVO save(SafeMaterialDetailAddReq req); ResultVO singleDelivery(SafeMaterialDetailReq req); ResultVO singleReceipt(Long id); ResultVO delete(Long id); ResultVO singleDdelivery0rReceipt(SafeMaterialDetailReq req); ResultVO saveBatch(SafeMaterialDetailAddReq req); ResultVO update(SafeMaterialDetailReq req); ResultVO receiptBatch(Long[] ids); ResultVO deleteBatch(Long[] ids); ResultVO deliveryBatchByIds(MterialDeliveryReq req); ResultVO deliveryBatchRandom(MterialRandomDeliveryReq req); SearchResultVO<List<SafeMaterialDetailDto>> listByPage(PageQuery<SafeMatetrialDetailQuery> pageQuery); ResultVO queryById(Long id); } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/SafeMaterialService.java
对比新文件 @@ -0,0 +1,26 @@ package com.gkhy.safePlatform.equipment.service; import com.gkhy.safePlatform.commons.query.PageQuery; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.commons.vo.SearchResultVO; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialAddReq; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialModReq; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialQuery; import com.gkhy.safePlatform.equipment.model.dto.resp.SafeMaterialDto; import java.util.List; public interface SafeMaterialService { ResultVO save(SafeMaterialAddReq req); ResultVO update(SafeMaterialModReq req); ResultVO queryById(Long id); ResultVO delete(Long id); ResultVO deleteBatch(Long[] ids); ResultVO list(); SearchResultVO<List<SafeMaterialDto>> listByPage(PageQuery<SafeMaterialQuery> pageQuery); } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/baseService/SafeMaterialClassifyInfoService.java
对比新文件 @@ -0,0 +1,21 @@ package com.gkhy.safePlatform.equipment.service.baseService; import com.baomidou.mybatisplus.extension.service.IService; import com.gkhy.safePlatform.equipment.entity.SafeMaterialClassifyInfo; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialClassifyQuery; import com.gkhy.safePlatform.equipment.model.dto.resp.SafeMaterialClassifyDto; import java.util.List; public interface SafeMaterialClassifyInfoService extends IService<SafeMaterialClassifyInfo> { SafeMaterialClassifyInfo queryById(Long id); boolean save(SafeMaterialClassifyInfo classifyInfo); int update(SafeMaterialClassifyInfo classifyInfo); List<SafeMaterialClassifyInfo> listByCondition(SafeMaterialClassifyQuery query); List<SafeMaterialClassifyInfo> getList(); } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/baseService/SafeMaterialDetailInfoService.java
对比新文件 @@ -0,0 +1,45 @@ package com.gkhy.safePlatform.equipment.service.baseService; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailBO; import com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailInfo; import com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailCountDO; import com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailInfoDO; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMatetrialDetailQuery; import java.util.List; public interface SafeMaterialDetailInfoService extends IService<SafeMaterialDetailInfo> { Integer getTotalCount(); SafeMaterialDetailInfo queryById(Long id); void updateReceiptStatus(Long id, Byte status); List<SafeMaterialDetailInfo> getListByIds(List<Long> ids); void updateReceiptStatusByIds(List<Long> ids, Byte irStatus); List<SafeMaterialDetailCountDO> getCountGroupBySmId(List<Long> ids, Byte irStatus); List<SafeMaterialDetailCountDO> getStatisticsValidStock(List<Long> smIds); void deleteBatch(Long[] ids); void updateDeliveryStatusByIds(SafeMaterialDetailBO detailBO); void deliveryBatchRandom(SafeMaterialDetailBO detailBO); Integer getValidStockCount(Long smId); List<SafeMaterialDetailInfoDO> listByPage(Page<SafeMaterialDetailInfo> page, SafeMatetrialDetailQuery query); int getCountBySmIds(List<Long> smIds); int getCountBySmId(Long smId); void updateValidStatus(Long id); } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/baseService/SafeMaterialInfoService.java
对比新文件 @@ -0,0 +1,25 @@ package com.gkhy.safePlatform.equipment.service.baseService; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.gkhy.safePlatform.equipment.entity.SafeMaterialDO; import com.gkhy.safePlatform.equipment.entity.SafeMaterialInfo; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialQuery; import java.util.List; public interface SafeMaterialInfoService extends IService<SafeMaterialInfo> { int getTotalCount(); SafeMaterialInfo queryById(Long id); int getCountByClassify(Long classifyId); int deleteBatch(List<Long> ids); List<SafeMaterialInfo> list(); List<SafeMaterialDO> listByPage(Page<SafeMaterialDO> page, SafeMaterialQuery query); } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/baseService/impl/SafeMaterialClassifyInfoServiceImpl.java
对比新文件 @@ -0,0 +1,63 @@ package com.gkhy.safePlatform.equipment.service.baseService.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.utils.StringUtils; import com.gkhy.safePlatform.equipment.entity.SafeMaterialClassifyInfo; import com.gkhy.safePlatform.equipment.entity.SafeMaterialInfo; import com.gkhy.safePlatform.equipment.excepiton.EquipmentException; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialClassifyQuery; import com.gkhy.safePlatform.equipment.repository.SafeMaterialClassifyInfoRepository; import com.gkhy.safePlatform.equipment.service.baseService.SafeMaterialClassifyInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service("SafeMaterialClassifyInfoService") public class SafeMaterialClassifyInfoServiceImpl extends ServiceImpl<SafeMaterialClassifyInfoRepository, SafeMaterialClassifyInfo> implements SafeMaterialClassifyInfoService { @Autowired private SafeMaterialClassifyInfoRepository repository; @Override public boolean save(SafeMaterialClassifyInfo classifyInfo) { boolean flag = true; int i = repository.save(classifyInfo); if(i == 0){ flag = false; } return flag; } //@Override public int update(SafeMaterialClassifyInfo classifyInfo) { if(classifyInfo.getId() == null){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } int i = repository.update(classifyInfo); return i; } @Override public SafeMaterialClassifyInfo queryById(Long id) { if(id == null){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } return repository.queryById(id); } @Override public List<SafeMaterialClassifyInfo> listByCondition(SafeMaterialClassifyQuery query){ List<SafeMaterialClassifyInfo> list = repository.selectList(new LambdaQueryWrapper<SafeMaterialClassifyInfo>() .eq(SafeMaterialClassifyInfo::getDelFlag, 0) .like(StringUtils.isNotBlank(query.getMaterialClassifyName()), SafeMaterialClassifyInfo::getMaterialClassifyName, query.getMaterialClassifyName()) ); return list; } @Override public List<SafeMaterialClassifyInfo> getList(){ List<SafeMaterialClassifyInfo> list = repository.selectList(new LambdaQueryWrapper<SafeMaterialClassifyInfo>()); return list; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/baseService/impl/SafeMaterialDetailInfoServiceImpl.java
对比新文件 @@ -0,0 +1,147 @@ package com.gkhy.safePlatform.equipment.service.baseService.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailBO; import com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailInfo; import com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailCountDO; import com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailInfoDO; import com.gkhy.safePlatform.equipment.enums.IssueReceiptEnum; import com.gkhy.safePlatform.equipment.enums.ValidStatusEnum; import com.gkhy.safePlatform.equipment.excepiton.EquipmentException; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMatetrialDetailQuery; import com.gkhy.safePlatform.equipment.repository.SafeMaterialDetailInfoRepository; import com.gkhy.safePlatform.equipment.service.baseService.SafeMaterialDetailInfoService; import jodd.util.StringUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.time.LocalDateTime; import java.util.List; @Service("SafeMaterialDetailInfoService") public class SafeMaterialDetailInfoServiceImpl extends ServiceImpl<SafeMaterialDetailInfoRepository, SafeMaterialDetailInfo> implements SafeMaterialDetailInfoService { @Autowired private SafeMaterialDetailInfoRepository repository; @Override public Integer getTotalCount() { return repository.getTotalCount(); } @Override public SafeMaterialDetailInfo queryById(Long id) { if(null == id){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } return repository.queryById(id); } @Override public void updateReceiptStatus(Long id, Byte status) { if(null == id || null == status){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } repository.updateReceiptStatus(id,status,LocalDateTime.now()); } @Override public List<SafeMaterialDetailInfo> getListByIds(List<Long> ids) { if(CollectionUtils.isEmpty(ids)){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } return repository.getListByIds(ids); } @Override public void updateReceiptStatusByIds(List<Long> ids, Byte irStatus) { if(CollectionUtils.isEmpty(ids) || null == irStatus){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } repository.updateReceiptStatusByIds(ids,irStatus,LocalDateTime.now()); } @Override public List<SafeMaterialDetailCountDO> getCountGroupBySmId(List<Long> ids, Byte irStatus) { if(!CollectionUtils.isEmpty(ids) || null == irStatus){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } return repository.getCountGroupBySmId(ids,irStatus); } @Override public List<SafeMaterialDetailCountDO> getStatisticsValidStock(List<Long> smIds) { return repository.getStatisticsValidStock(smIds, ValidStatusEnum.YES.getCode(), IssueReceiptEnum.IN_THE_LIBRARY.getCode()); } @Override public void deleteBatch(Long[] ids) { if(ids.length == 0){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } repository.deleteBatch(ids); } @Override public void updateDeliveryStatusByIds(SafeMaterialDetailBO detailBO) { if(CollectionUtils.isEmpty(detailBO.getIds()) || null == detailBO.getClaimantId() || StringUtil.isBlank(detailBO.getClaimantName())){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } detailBO.setIrStatus(IssueReceiptEnum.OUT_OF_LIBRARY.getCode()); detailBO.setDeliveryTime(LocalDateTime.now()); repository.updateDeliveryStatusByIds(detailBO); } @Override public void deliveryBatchRandom(SafeMaterialDetailBO detailBO) { if(null == detailBO.getCount() || null == detailBO.getClaimantId() || StringUtil.isBlank(detailBO.getClaimantName())){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } detailBO.setIrStatus(IssueReceiptEnum.OUT_OF_LIBRARY.getCode()); detailBO.setDeliveryTime(LocalDateTime.now()); repository.deliveryBatchRandom(detailBO); } @Override public Integer getValidStockCount(Long smId) { if(null == smId){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } Integer count = repository.getValidStockCount(smId,ValidStatusEnum.YES.getCode(),IssueReceiptEnum.IN_THE_LIBRARY.getCode()); return count; } @Override public List<SafeMaterialDetailInfoDO> listByPage(Page<SafeMaterialDetailInfo> page, SafeMatetrialDetailQuery query) { return repository.listByCondition(page,query); } @Override public int getCountBySmIds(List<Long> smIds) { if(null == smIds || smIds.size() == 0){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } return repository.getCountBySmIds(smIds); } @Override public int getCountBySmId(Long smId) { if(null == smId){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } return repository.getCountBySmId(smId); } @Override public void updateValidStatus(Long id) { if(null == id){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } repository.updateValidStatus(id,ValidStatusEnum.NO.getCode()); } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/baseService/impl/SafeMaterialInfoServiceImpl.java
对比新文件 @@ -0,0 +1,80 @@ package com.gkhy.safePlatform.equipment.service.baseService.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.utils.StringUtils; import com.gkhy.safePlatform.equipment.entity.SafeMaterialCountDO; import com.gkhy.safePlatform.equipment.entity.SafeMaterialDO; import com.gkhy.safePlatform.equipment.entity.SafeMaterialInfo; import com.gkhy.safePlatform.equipment.excepiton.EquipmentException; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialQuery; import com.gkhy.safePlatform.equipment.repository.SafeMaterialInfoRepository; import com.gkhy.safePlatform.equipment.service.baseService.SafeMaterialInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service("SafeMaterialInfoService") public class SafeMaterialInfoServiceImpl extends ServiceImpl<SafeMaterialInfoRepository, SafeMaterialInfo> implements SafeMaterialInfoService { @Autowired private SafeMaterialInfoRepository repository; /** * 获取所有数据,包括被删除的 * @return */ @Override public int getTotalCount() { return repository.getTotalCount(); } @Override public SafeMaterialInfo queryById(Long id) { if(null == id){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } SafeMaterialInfo safeMaterialInfo = repository.selectOne(new LambdaQueryWrapper<SafeMaterialInfo>() .eq(SafeMaterialInfo::getId, id) .eq(SafeMaterialInfo::getDelFlag, 0) ); return safeMaterialInfo; } /** * 根据类型统计数据 */ @Override public int getCountByClassify(Long classifyId){ if(null == classifyId){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } return repository.getCountByClassify(classifyId); } @Override public int deleteBatch(List<Long> ids) { if(null == ids || ids.size() == 0){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } repository.deleteBatch(ids); return 0; } @Override public List<SafeMaterialInfo> list(){ List<SafeMaterialInfo> safeMaterialInfos = repository.selectList(new LambdaQueryWrapper<SafeMaterialInfo>() .eq(SafeMaterialInfo::getDelFlag, 0)); return safeMaterialInfos; } @Override public List<SafeMaterialDO> listByPage(Page<SafeMaterialDO> page, SafeMaterialQuery query) { List<SafeMaterialDO> materialInfoList = repository.listByConditions(page, query); return materialInfoList; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/MaterialClassifyServiceImpl.java
对比新文件 @@ -0,0 +1,114 @@ package com.gkhy.safePlatform.equipment.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.gkhy.safePlatform.commons.co.ContextCacheUser; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.utils.StringUtils; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.equipment.entity.SafeMaterialClassifyInfo; import com.gkhy.safePlatform.equipment.excepiton.EquipmentException; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialClassifyAddReq; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialClassifyModReq; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialClassifyQuery; import com.gkhy.safePlatform.equipment.model.dto.resp.SafeMaterialClassifyDto; import com.gkhy.safePlatform.equipment.service.MaterialClassifyService; import com.gkhy.safePlatform.equipment.service.baseService.SafeMaterialClassifyInfoService; import com.gkhy.safePlatform.equipment.service.baseService.SafeMaterialInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.List; @Service("MaterialClassifyService") public class MaterialClassifyServiceImpl implements MaterialClassifyService { @Autowired private SafeMaterialClassifyInfoService safeMaterialClassifyInfoService; @Autowired private SafeMaterialInfoService safeMaterialInfoService; @Override public ResultVO<List<SafeMaterialClassifyDto>> list(SafeMaterialClassifyQuery query) { List<SafeMaterialClassifyInfo> list = safeMaterialClassifyInfoService.listByCondition(query); List<SafeMaterialClassifyDto> respList = new ArrayList<>(); if(!CollectionUtils.isEmpty(list)){ for(SafeMaterialClassifyInfo classifyInfo : list){ SafeMaterialClassifyDto respDTO = new SafeMaterialClassifyDto(); respDTO.setId(classifyInfo.getId()); respDTO.setMaterialClassifyName(classifyInfo.getMaterialClassifyName()); respList.add(respDTO); } } return new ResultVO<>(ResultCodes.OK,respList); } @Override public ResultVO save(ContextCacheUser currentUser, SafeMaterialClassifyAddReq req) { ResultVO resultVO = null; SafeMaterialClassifyInfo classifyInfo = new SafeMaterialClassifyInfo(); classifyInfo.setMaterialClassifyName(req.getMaterialClassifyName()); boolean flag = safeMaterialClassifyInfoService.save(classifyInfo); if (flag){ resultVO = new ResultVO(ResultCodes.OK); }else { resultVO = new ResultVO(ResultCodes.SERVER_ADD_ERROR); } return resultVO; } @Override public ResultVO update(ContextCacheUser currentUser, SafeMaterialClassifyModReq req) { ResultVO resultVO = null; if(req.getId() == null){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } SafeMaterialClassifyInfo classifyInfo = new SafeMaterialClassifyInfo(); classifyInfo.setMaterialClassifyName(req.getMaterialClassifyName()); classifyInfo.setId(req.getId()); boolean flag = safeMaterialClassifyInfoService.updateById(classifyInfo); if (flag){ resultVO = new ResultVO(ResultCodes.OK); }else { resultVO = new ResultVO(ResultCodes.SERVER_UPDATE_ERROR); } return resultVO; } @Override public ResultVO delete(Long id) { if(id == null){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } ResultVO resultVO = null; //判断是否被绑定 int count = safeMaterialInfoService.getCountByClassify(id); if(count > 0){ throw new EquipmentException(ResultCodes.SERVER_DEL_ERROR,"该类型已被绑定,不可删除!"); }else{ //如果没有被绑定,逻辑删除 SafeMaterialClassifyInfo classifyInfo = new SafeMaterialClassifyInfo(); classifyInfo.setId(id); classifyInfo.setDelFlag(1); boolean flag = safeMaterialClassifyInfoService.updateById(classifyInfo); if (flag){ resultVO = new ResultVO(ResultCodes.OK); }else { resultVO = new ResultVO(ResultCodes.SERVER_DEL_ERROR); } } return resultVO; } @Override public ResultVO<SafeMaterialClassifyDto> queryById(Long id) { if(id == null){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } SafeMaterialClassifyInfo classifyInfo = safeMaterialClassifyInfoService.queryById(id); SafeMaterialClassifyDto respDTO = new SafeMaterialClassifyDto(); respDTO.setId(classifyInfo.getId()); respDTO.setMaterialClassifyName(classifyInfo.getMaterialClassifyName()); return new ResultVO<>(ResultCodes.OK,respDTO); } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/SafeMaterialDetailServiceImpl.java
对比新文件 @@ -0,0 +1,541 @@ package com.gkhy.safePlatform.equipment.service.impl; import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gkhy.safePlatform.account.rpc.apimodel.AccountUserService; import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.UserInfoRPCRespDTO; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.query.PageQuery; import com.gkhy.safePlatform.commons.utils.StringUtils; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.commons.vo.SearchResultVO; import com.gkhy.safePlatform.equipment.common.RocketMQTemplateHelper; import com.gkhy.safePlatform.equipment.entity.*; import com.gkhy.safePlatform.equipment.enums.*; import com.gkhy.safePlatform.equipment.excepiton.EquipmentException; import com.gkhy.safePlatform.equipment.model.dto.req.*; import com.gkhy.safePlatform.equipment.model.dto.resp.SafeMaterialDetailDto; import com.gkhy.safePlatform.equipment.mq.msg.SafeMaterialMsg; import com.gkhy.safePlatform.equipment.service.SafeMaterialDetailService; import com.gkhy.safePlatform.equipment.service.baseService.SafeMaterialClassifyInfoService; import com.gkhy.safePlatform.equipment.service.baseService.SafeMaterialDetailInfoService; import com.gkhy.safePlatform.equipment.service.baseService.SafeMaterialInfoService; import org.apache.dubbo.config.annotation.DubboReference; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZonedDateTime; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @Service("SafeMaterialDetailService") public class SafeMaterialDetailServiceImpl implements SafeMaterialDetailService { @Autowired private SafeMaterialInfoService safeMaterialInfoService; @Autowired private SafeMaterialDetailInfoService safeMaterialDetailInfoService; @Autowired private SafeMaterialClassifyInfoService safeMaterialClassifyInfoService; @Value("${rocketmq.topic.safeMaterialTopic}") private String safeMaterialTopic; @DubboReference(check = false) private AccountUserService accountUserService; @Autowired private RocketMQTemplateHelper rocketMQTemplateHelper; @Override public ResultVO save(SafeMaterialDetailAddReq req) { //判断物资是否存在 SafeMaterialInfo materialInfo = safeMaterialInfoService.queryById(req.getSmId()); if(null == materialInfo){ throw new EquipmentException(EquipmentResultCodes.DATA_NOT_EXIST,"该种物资不存在!"); } if(null == ValidTypeEnum.getByCode(req.getValidType())){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_ILLEGAL,"有效期类型不合法!"); } if(req.getValidType().equals(ValidTypeEnum.SHORT_TERM.getCode()) && null == req.getValidTime()){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL,"有效期时间不可为空!"); } //获取数据量 Integer totalCount = safeMaterialDetailInfoService.getTotalCount(); List<SafeMaterialDetailInfo> list = new ArrayList<>(); //RFID起始不为空计算一下 if(StringUtils.isNotBlank(req.getStartRfid()) && StringUtils.isNotBlank(req.getEndRfid())){ int start = 0; int end = 0; String prefix = ""; try{ prefix = req.getStartRfid().substring(0,req.getStartRfid().length()-8); start = Integer.parseInt(req.getStartRfid().substring(req.getStartRfid().length()-8)); end = Integer.parseInt(req.getEndRfid().substring(req.getEndRfid().length()-8)); }catch (Exception e){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_ILLEGAL,"起始RFID不合法!"); } if((end-start+1) != req.getWareHousingCount()){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_ILLEGAL,"RFID起始和入库数量不能对应!"); } for(int i = 0;i < req.getWareHousingCount();i++){ String countStr = String.valueOf(start+i); String rfid = "0000000".substring(0,(8 - countStr.length()))+countStr; SafeMaterialDetailInfo materialDetailInfo = new SafeMaterialDetailInfo(); materialDetailInfo.setId(IdUtil.getSnowflake(0,0).nextId()); materialDetailInfo.setMaterialClassifyId(materialInfo.getMaterialClassifyId()); materialDetailInfo.setName(materialInfo.getMaterialName()+"(ID"+materialInfo.getId()+")"); materialDetailInfo.setSmId(req.getSmId()); materialDetailInfo.setConsumable(materialInfo.getConsumable()); materialDetailInfo.setValidType(req.getValidType()); if(req.getValidType().equals(ValidTypeEnum.SHORT_TERM.getCode())){ materialDetailInfo.setValidTime(req.getValidTime()); } materialDetailInfo.setValidStatus(ValidStatusEnum.YES.getCode()); materialDetailInfo.setIrStatus(IssueReceiptEnum.IN_THE_LIBRARY.getCode()); materialDetailInfo.setWareHousingTime(LocalDateTime.now()); materialDetailInfo.setRfid(prefix+rfid); materialDetailInfo.setMaterialNo(generateMaterialNo(totalCount+i)); list.add(materialDetailInfo); } }else{ //不分配FRID for(int i = 0;i < req.getWareHousingCount();i++){ SafeMaterialDetailInfo materialDetailInfo = new SafeMaterialDetailInfo(); materialDetailInfo.setId(IdUtil.getSnowflake(0,0).nextId()); materialDetailInfo.setMaterialClassifyId(materialInfo.getMaterialClassifyId()); materialDetailInfo.setName(materialInfo.getMaterialName()+"(ID"+materialInfo.getId()+")"); materialDetailInfo.setSmId(req.getSmId()); materialDetailInfo.setConsumable(materialInfo.getConsumable()); materialDetailInfo.setValidType(req.getValidType()); if(req.getValidType().equals(ValidTypeEnum.SHORT_TERM.getCode())){ materialDetailInfo.setValidTime(req.getValidTime()); } materialDetailInfo.setValidStatus(ValidStatusEnum.YES.getCode()); materialDetailInfo.setIrStatus(IssueReceiptEnum.IN_THE_LIBRARY.getCode()); materialDetailInfo.setWareHousingTime(LocalDateTime.now()); materialDetailInfo.setMaterialNo(generateMaterialNo(totalCount+i)); list.add(materialDetailInfo); } } //批量入库 safeMaterialDetailInfoService.saveBatch(list); //发送消息 if(req.getValidType().equals(ValidTypeEnum.SHORT_TERM.getCode()) && null != req.getValidTime()){ for(SafeMaterialDetailInfo materialDetailInfo:list){ SafeMaterialMsg safeMaterialMsg = new SafeMaterialMsg(); safeMaterialMsg.setId(materialDetailInfo.getId()); safeMaterialMsg.setValidTime(conversionTimeType(materialDetailInfo.getValidTime())); rocketMQTemplateHelper.syncSend(safeMaterialTopic,safeMaterialMsg); } } return new ResultVO<>(ResultCodes.OK); } /** * 批量入库 * @param req * @return */ @Override public ResultVO saveBatch(SafeMaterialDetailAddReq req) { //判断物资是否存在 SafeMaterialInfo materialInfo = safeMaterialInfoService.queryById(req.getSmId()); if(null == materialInfo){ throw new EquipmentException(EquipmentResultCodes.DATA_NOT_EXIST,"该种物资不存在!"); } if(null == ValidTypeEnum.getByCode(req.getValidType())){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_ILLEGAL,"有效期类型不合法!"); } if(req.getValidType().equals(ValidTypeEnum.SHORT_TERM.getCode()) && null == req.getValidTime()){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL,"有效期时间不可为空!"); } //获取数据量 Integer totalCount = safeMaterialDetailInfoService.getTotalCount(); List<SafeMaterialDetailInfo> list = new ArrayList<>(); for(int i = 0;i < req.getWareHousingCount();i++){ SafeMaterialDetailInfo materialDetailInfo = new SafeMaterialDetailInfo(); materialDetailInfo.setId(IdUtil.getSnowflake(0,0).nextId()); materialDetailInfo.setMaterialClassifyId(materialInfo.getMaterialClassifyId()); materialDetailInfo.setName(materialInfo.getMaterialName()+"(ID"+materialInfo.getId()+")"); materialDetailInfo.setSmId(req.getSmId()); materialDetailInfo.setConsumable(materialInfo.getConsumable()); materialDetailInfo.setValidType(req.getValidType()); if(req.getValidType().equals(ValidTypeEnum.SHORT_TERM.getCode())){ materialDetailInfo.setValidTime(req.getValidTime()); } materialDetailInfo.setValidStatus(ValidStatusEnum.YES.getCode()); materialDetailInfo.setIrStatus(IssueReceiptEnum.IN_THE_LIBRARY.getCode()); materialDetailInfo.setWareHousingTime(LocalDateTime.now()); materialDetailInfo.setRfid(req.getRfid()); materialDetailInfo.setMaterialNo(generateMaterialNo(totalCount+i)); list.add(materialDetailInfo); } //批量入库 safeMaterialDetailInfoService.saveBatch(list); //发送消息 if(req.getValidType().equals(ValidTypeEnum.SHORT_TERM.getCode()) && null != req.getValidTime()){ for(SafeMaterialDetailInfo materialDetailInfo:list){ //发送消息 SafeMaterialMsg safeMaterialMsg = new SafeMaterialMsg(); safeMaterialMsg.setId(materialInfo.getId()); safeMaterialMsg.setValidTime(conversionTimeType(materialDetailInfo.getValidTime())); rocketMQTemplateHelper.syncSend(safeMaterialTopic,safeMaterialMsg); } } return new ResultVO<>(ResultCodes.OK); } /** * 编辑 * @param req * @return */ @Transactional @Override public ResultVO update(SafeMaterialDetailReq req) { //获取该条数据 SafeMaterialDetailInfo vo = safeMaterialDetailInfoService.queryById(req.getId()); if(null == vo){ throw new EquipmentException(EquipmentResultCodes.DATA_NOT_EXIST); } //有效类型不为空 if(null != req.getValidType()){ if(null == ValidTypeEnum.getByCode(req.getValidType())){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_ILLEGAL,"有效期类型不合法!"); }else{ if(req.getValidType().equals(ValidTypeEnum.SHORT_TERM.getCode()) && null == req.getValidTime()){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL,"有效期时间不可为空!"); } } } //填充数据 SafeMaterialDetailInfo safeMaterialDetailInfo = new SafeMaterialDetailInfo(); safeMaterialDetailInfo.setId(req.getId()); safeMaterialDetailInfo.setRfid(req.getRfid()); safeMaterialDetailInfo.setSmId(req.getSmId()); safeMaterialDetailInfo.setValidType(req.getValidType()); safeMaterialDetailInfo.setValidTime(req.getValidTime()); //修改 safeMaterialDetailInfoService.updateById(safeMaterialDetailInfo); //如果是非常期 if(req.getValidType().equals(ValidTypeEnum.SHORT_TERM.getCode()) && null != req.getValidTime()){ //发送消息 SafeMaterialMsg safeMaterialMsg = new SafeMaterialMsg(); safeMaterialMsg.setId(req.getId()); safeMaterialMsg.setValidTime(conversionTimeType(req.getValidTime())); rocketMQTemplateHelper.syncSend(safeMaterialTopic,safeMaterialMsg); } return new ResultVO(ResultCodes.OK); } /** * 批量-重新入库 * @param ids * @return */ @Override public ResultVO receiptBatch(Long[] ids) { if (ids.length == 0) { throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } List<Long> idList = new ArrayList<>(); Collections.addAll(idList,ids); //验证 List<SafeMaterialDetailInfo> list = safeMaterialDetailInfoService.getListByIds(idList); List<SafeMaterialDetailInfo> selectList = list .stream() .filter(item -> item.getIrStatus().equals(IssueReceiptEnum.OUT_OF_LIBRARY.getCode())) .collect(Collectors.toList()); if(selectList.size() != ids.length){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_ILLEGAL,"已入库物资不可重复入库!"); } //修改为入库状态 safeMaterialDetailInfoService.updateReceiptStatusByIds(idList,IssueReceiptEnum.IN_THE_LIBRARY.getCode()); return new ResultVO(ResultCodes.OK); } /** * 逻辑删除 -批量删除 * @param * @return */ @Override public ResultVO deleteBatch(Long[] ids) { if (ids.length == 0) { throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } safeMaterialDetailInfoService.deleteBatch(ids); return new ResultVO(ResultCodes.OK); } /** * 批量出库 - 根据ids * @param req * @return */ @Override public ResultVO deliveryBatchByIds(MterialDeliveryReq req) { //获取认领人信息 UserInfoRPCRespDTO userInfo = getUserInfo(req.getClaimantId()); //验证 List<SafeMaterialDetailInfo> list = safeMaterialDetailInfoService.getListByIds(req.getIds()); List<SafeMaterialDetailInfo> selectList = list .stream() .filter(item -> item.getIrStatus().equals(IssueReceiptEnum.IN_THE_LIBRARY.getCode()) && item.getValidStatus().equals(ValidStatusEnum.YES.getCode())) .collect(Collectors.toList()); if(selectList.size() != req.getIds().size()){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_ILLEGAL,"已出库物资或无效物资,不可出库!"); } SafeMaterialDetailBO detailBO = new SafeMaterialDetailBO(); detailBO.setIds(req.getIds()); detailBO.setClaimantName(userInfo.getUsername()); detailBO.setClaimantId(req.getClaimantId()); safeMaterialDetailInfoService.updateDeliveryStatusByIds(detailBO); return new ResultVO(ResultCodes.OK); } @Override public ResultVO deliveryBatchRandom(MterialRandomDeliveryReq req) { UserInfoRPCRespDTO userInfo = getUserInfo(req.getClaimantId()); //获取有效数量 Integer validStockCount = safeMaterialDetailInfoService.getValidStockCount(req.getSmId()); if(req.getCount() > validStockCount){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_ILLEGAL,"出库数量不可大于有效库存数量!"); } SafeMaterialDetailBO detailBO = new SafeMaterialDetailBO(); detailBO.setCount(req.getCount()); detailBO.setClaimantName(userInfo.getUsername()); detailBO.setClaimantId(req.getClaimantId()); safeMaterialDetailInfoService.deliveryBatchRandom(detailBO); return new ResultVO(ResultCodes.OK); } @Override public SearchResultVO<List<SafeMaterialDetailDto>> listByPage(PageQuery<SafeMatetrialDetailQuery> pageQuery) { Page<SafeMaterialDetailInfo> page = new Page(pageQuery.getPageIndex(),pageQuery.getPageSize()); List<SafeMaterialDetailInfoDO> safeMaterialDetailInfoDOS = safeMaterialDetailInfoService.listByPage(page, pageQuery.getSearchParams()); List<SafeMaterialDetailDto> detailDtoList = new ArrayList<>(); for(SafeMaterialDetailInfoDO materialDetailInfoDO : safeMaterialDetailInfoDOS){ SafeMaterialDetailDto materialDetailDto = new SafeMaterialDetailDto(); BeanUtils.copyProperties(materialDetailInfoDO,materialDetailDto); materialDetailDto.setConsumableName(ConsumableEnum.getByCode(materialDetailInfoDO.getConsumable()).getValue()); materialDetailDto.setValidStatusName(ValidStatusEnum.getByCode(materialDetailInfoDO.getValidStatus()).getValue()); materialDetailDto.setValidTypeName(ValidTypeEnum.getByCode(materialDetailInfoDO.getValidType()).getValue()); materialDetailDto.setIrStatusName(IssueReceiptEnum.getByCode(materialDetailInfoDO.getIrStatus()).getValue()); detailDtoList.add(materialDetailDto); } return new SearchResultVO<>(true, page.getCurrent(),page.getSize(), page.getPages(),page.getTotal(),detailDtoList,ResultCodes.OK); } @Override public ResultVO queryById(Long id) { if(null == id){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } SafeMaterialDetailInfo materialDetailInfo = safeMaterialDetailInfoService.queryById(id); SafeMaterialDetailDto detailDto = new SafeMaterialDetailDto(); if(materialDetailInfo != null){ SafeMaterialInfo materialInfo = safeMaterialInfoService.queryById(materialDetailInfo.getSmId()); SafeMaterialClassifyInfo classifyInfo = safeMaterialClassifyInfoService.queryById(materialDetailInfo.getMaterialClassifyId()); BeanUtils.copyProperties(materialDetailInfo,detailDto); detailDto.setConsumableName(ConsumableEnum.getByCode(materialDetailInfo.getConsumable()).getValue()); detailDto.setValidStatusName(ValidStatusEnum.getByCode(materialDetailInfo.getValidStatus()).getValue()); detailDto.setValidTypeName(ValidTypeEnum.getByCode(materialDetailInfo.getValidType()).getValue()); detailDto.setIrStatusName(IssueReceiptEnum.getByCode(materialDetailInfo.getIrStatus()).getValue()); if(materialInfo != null){ detailDto.setDepName(materialInfo.getDepName()); } if(classifyInfo != null){ detailDto.setMaterialClassifyName(classifyInfo.getMaterialClassifyName()); } } return new ResultVO(ResultCodes.OK,detailDto); } /** * 单条-出库 * @param req * @return */ @Override public ResultVO singleDelivery(SafeMaterialDetailReq req) { //获取该条数据 SafeMaterialDetailInfo vo = safeMaterialDetailInfoService.queryById(req.getId()); if(null == vo){ throw new EquipmentException(EquipmentResultCodes.DATA_NOT_EXIST); } if(vo.getValidStatus().equals(ValidStatusEnum.NO.getCode())){ throw new EquipmentException(EquipmentResultCodes.MATERIAL_INVALID,"无效物资不可出库"); } if(vo.getIrStatus().equals(IssueReceiptEnum.OUT_OF_LIBRARY.getCode())){ throw new EquipmentException(EquipmentResultCodes.MATERIAL_OUT_OF_LIBRARY); } //检查认领人 UserInfoRPCRespDTO userInfo = getUserInfo(req.getClaimantId()); SafeMaterialDetailInfo materialDetailInfo = new SafeMaterialDetailInfo(); materialDetailInfo.setId(req.getId()); materialDetailInfo.setIrStatus(IssueReceiptEnum.OUT_OF_LIBRARY.getCode()); materialDetailInfo.setClaimantId(req.getClaimantId()); materialDetailInfo.setClaimantName(userInfo.getUsername()); materialDetailInfo.setDeliveryTime(LocalDateTime.now()); //修改出入库状态为出库 safeMaterialDetailInfoService.updateById(materialDetailInfo); return new ResultVO<>(ResultCodes.OK); } /** * 单条-重新入库 * @param id * @return */ @Override public ResultVO singleReceipt(Long id) { if(null == id){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } //获取该条数据 SafeMaterialDetailInfo vo = safeMaterialDetailInfoService.queryById(id); if(null == vo){ throw new EquipmentException(EquipmentResultCodes.DATA_NOT_EXIST); } if(vo.getIrStatus().equals(IssueReceiptEnum.IN_THE_LIBRARY.getCode())){ throw new EquipmentException(EquipmentResultCodes.MATERIAL_IN_THE_LIBRARY); } //修改出入库状态为入库 safeMaterialDetailInfoService.updateReceiptStatus(id,IssueReceiptEnum.IN_THE_LIBRARY.getCode()); return new ResultVO<>(ResultCodes.OK); } @Override public ResultVO singleDdelivery0rReceipt(SafeMaterialDetailReq req) { if(null == IssueReceiptEnum.getByCode(req.getIrStatus())){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_ILLEGAL,"物资状态不合法"); } //获取该条数据 SafeMaterialDetailInfo vo = safeMaterialDetailInfoService.queryById(req.getId()); if(null == vo){ throw new EquipmentException(EquipmentResultCodes.DATA_NOT_EXIST); } if(null == IssueReceiptEnum.getByCode(req.getIrStatus())){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_ILLEGAL,"出入库状态不合法"); } if(IssueReceiptEnum.IN_THE_LIBRARY.getCode().equals(req.getIrStatus())){ //重新入库 if(vo.getIrStatus().equals(req.getIrStatus())){ throw new EquipmentException(EquipmentResultCodes.MATERIAL_IN_THE_LIBRARY); } //修改出入库状态为入库 safeMaterialDetailInfoService.updateReceiptStatus(req.getId(), req.getIrStatus()); }else{ //出库 if(vo.getValidStatus().equals(ValidStatusEnum.NO.getCode())){ throw new EquipmentException(EquipmentResultCodes.MATERIAL_INVALID,"无效物资不可出库"); } if(vo.getIrStatus().equals(req.getIrStatus())){ throw new EquipmentException(EquipmentResultCodes.MATERIAL_OUT_OF_LIBRARY); } if(null == req.getClaimantId()){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL,"认领人不可为空!"); } //检查认领人 UserInfoRPCRespDTO userInfo = getUserInfo(req.getClaimantId()); //出库 SafeMaterialDetailInfo materialDetailInfo = new SafeMaterialDetailInfo(); materialDetailInfo.setId(req.getId()); materialDetailInfo.setIrStatus(req.getIrStatus()); materialDetailInfo.setClaimantId(req.getClaimantId()); materialDetailInfo.setClaimantName(userInfo.getUsername()); materialDetailInfo.setDeliveryTime(LocalDateTime.now()); //修改出入库状态为入库 safeMaterialDetailInfoService.updateById(materialDetailInfo); } return new ResultVO<>(ResultCodes.OK); } /** * 逻辑删除 -单条 * @param * @return */ public ResultVO delete(Long id){ if(null == id){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } //获取该条数据 SafeMaterialDetailInfo vo = safeMaterialDetailInfoService.queryById(id); if(null == vo){ throw new EquipmentException(EquipmentResultCodes.DATA_NOT_EXIST); } SafeMaterialDetailInfo materialDetailInfo = new SafeMaterialDetailInfo(); materialDetailInfo.setId(id); materialDetailInfo.setDelFlag(1); //删除一条数据 safeMaterialDetailInfoService.updateById(materialDetailInfo); return new ResultVO<>(ResultCodes.OK); } private UserInfoRPCRespDTO getUserInfo(Long uid) { UserInfoRPCRespDTO userInfo = new UserInfoRPCRespDTO(); ResultVO<UserInfoRPCRespDTO> rpcResult = accountUserService.getUserInfoByUid(uid); if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) { if (rpcResult.getData() != null) { userInfo = (UserInfoRPCRespDTO) rpcResult.getData(); }else { throw new EquipmentException(EquipmentResultCodes.DATA_NOT_EXIST,"认领人员不存在!"); } } else { throw new EquipmentException(ResultCodes.RPC_RESULT_NULL); } return userInfo; } private String generateMaterialNo(int count){ if(count < 0){ return null; } String serialCode = null; if(count >= 10000){ serialCode = "" + (count+1); }else if(count >=0){ String countStr = String.valueOf(count+1); serialCode = "10000".substring(0,(5 - countStr.length()))+countStr; } return serialCode; } private Date conversionTimeType(LocalDateTime localDateTime){ ZoneId zoneId = ZoneId.systemDefault(); ZonedDateTime zdt = localDateTime.atZone(zoneId); Date date = Date.from(zdt.toInstant()); return date; } } equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/SafeMaterialServiceImpl.java
对比新文件 @@ -0,0 +1,336 @@ package com.gkhy.safePlatform.equipment.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gkhy.safePlatform.account.rpc.apimodel.AccountDepartmentService; import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.DepInfoRPCRespDTO; import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.DepRPCRespDTO; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.query.PageQuery; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.commons.vo.SearchResultVO; import com.gkhy.safePlatform.equipment.entity.*; import com.gkhy.safePlatform.equipment.enums.ConsumableEnum; import com.gkhy.safePlatform.equipment.enums.EquipmentResultCodes; import com.gkhy.safePlatform.equipment.excepiton.EquipmentException; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialAddReq; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialModReq; import com.gkhy.safePlatform.equipment.model.dto.req.SafeMaterialQuery; import com.gkhy.safePlatform.equipment.model.dto.resp.BaseMaterialDto; import com.gkhy.safePlatform.equipment.model.dto.resp.MaterialClassificationDto; import com.gkhy.safePlatform.equipment.model.dto.resp.MaterialDepartmentDto; import com.gkhy.safePlatform.equipment.model.dto.resp.SafeMaterialDto; import com.gkhy.safePlatform.equipment.repository.SafeMaterialDetailInfoRepository; import com.gkhy.safePlatform.equipment.service.SafeMaterialService; import com.gkhy.safePlatform.equipment.service.baseService.SafeMaterialClassifyInfoService; import com.gkhy.safePlatform.equipment.service.baseService.SafeMaterialDetailInfoService; import com.gkhy.safePlatform.equipment.service.baseService.SafeMaterialInfoService; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.parameters.P; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @Service("SafeMaterialService") public class SafeMaterialServiceImpl implements SafeMaterialService { @Autowired private SafeMaterialInfoService safeMaterialInfoService; @DubboReference(check = false) private AccountDepartmentService accountDepartmentService; @Autowired private SafeMaterialClassifyInfoService safeMaterialClassifyInfoService; @Autowired private SafeMaterialDetailInfoService safeMaterialDetailInfoService; @Override public ResultVO save(SafeMaterialAddReq req) { ResultVO resultVO = null; //获取部门信息 DepInfoRPCRespDTO depInfo = getDepInfoByDepId(req.getDepId()); if(null == ConsumableEnum.getByCode(req.getConsumable())){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_ILLEGAL,"耗材类型不合法!"); } //获取物资类型 SafeMaterialClassifyInfo classifyInfo = safeMaterialClassifyInfoService.queryById(req.getMaterialClassifyId()); if(null == classifyInfo){ throw new EquipmentException(EquipmentResultCodes.DATA_NOT_EXIST,"物资类型不存在!"); } //获取数量 int safeMaterialTotalCount = safeMaterialInfoService.getTotalCount(); SafeMaterialInfo safeMaterialInfo = new SafeMaterialInfo(); BeanUtils.copyProperties(req,safeMaterialInfo); safeMaterialInfo.setDepName(depInfo.getDepName()); safeMaterialInfo.setSerialNum(this.generateSerialNum(safeMaterialTotalCount)); //插入 boolean flag = safeMaterialInfoService.save(safeMaterialInfo); if(flag){ resultVO = new ResultVO(ResultCodes.OK); }else { resultVO = new ResultVO(ResultCodes.SERVER_ADD_ERROR); } return resultVO; } @Override public ResultVO update(SafeMaterialModReq req) { ResultVO resultVO = null; //获取部门信息 DepInfoRPCRespDTO depInfo = getDepInfoByDepId(req.getDepId()); if(null == ConsumableEnum.getByCode(req.getConsumable())){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_ILLEGAL,"耗材类型不合法!"); } //获取物资类型 SafeMaterialClassifyInfo classifyInfo = safeMaterialClassifyInfoService.queryById(req.getMaterialClassifyId()); if(null == classifyInfo){ throw new EquipmentException(EquipmentResultCodes.DATA_NOT_EXIST,"物资类型不存在!"); } SafeMaterialInfo safeMaterialInfo = new SafeMaterialInfo(); BeanUtils.copyProperties(req,safeMaterialInfo); safeMaterialInfo.setDepName(depInfo.getDepName()); //跟新 boolean flag = safeMaterialInfoService.updateById(safeMaterialInfo); if(flag){ resultVO = new ResultVO(ResultCodes.OK); }else { resultVO = new ResultVO(ResultCodes.SERVER_UPDATE_ERROR); } return resultVO; } @Override public ResultVO queryById(Long id) { if(null == id){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } SafeMaterialInfo safeMaterialInfo = safeMaterialInfoService.queryById(id); SafeMaterialDto safeMaterialDto = new SafeMaterialDto(); if(null != safeMaterialInfo){ SafeMaterialClassifyInfo classifyInfo = safeMaterialClassifyInfoService.queryById(safeMaterialInfo.getMaterialClassifyId()); Integer validStockCount = safeMaterialDetailInfoService.getValidStockCount(safeMaterialInfo.getId()); BeanUtils.copyProperties(safeMaterialInfo,safeMaterialDto); safeMaterialDto.setConsumable(ConsumableEnum.getByCode(safeMaterialInfo.getConsumable()).getCode()); if(null != classifyInfo){ safeMaterialDto.setMaterialClassifyName(classifyInfo.getMaterialClassifyName()); } safeMaterialDto.setValidStockCount(validStockCount); } return new ResultVO(ResultCodes.OK,safeMaterialDto); } public ResultVO delete(Long id) { ResultVO resultVO = null; //删除之前检查详表中是否还有该物物资数据 int count = safeMaterialDetailInfoService.getCountBySmId(id); if(count > 0){ throw new EquipmentException(EquipmentResultCodes.DATA_HAS_BEEN_BOND,"该种物资已被绑定物资详情数据,不可删除!"); } SafeMaterialInfo materialInfo = new SafeMaterialInfo(); materialInfo.setId(id); materialInfo.setDelFlag(1); boolean flag = safeMaterialInfoService.updateById(materialInfo); if(flag){ resultVO = new ResultVO(ResultCodes.OK); }else{ resultVO = new ResultVO(ResultCodes.SERVER_DEL_ERROR); } return resultVO; } @Override public ResultVO deleteBatch(Long[] ids) { if(ids.length == 0){ throw new EquipmentException(ResultCodes.CLIENT_PARAM_NULL); } List<Long> idList = Arrays.asList(ids); int count = safeMaterialDetailInfoService.getCountBySmIds(idList); //判断是否绑定具体安全物资数据 if(count > 0){ throw new EquipmentException(EquipmentResultCodes.DATA_HAS_BEEN_BOND,"物资已被绑定物资详情数据,不可删除!"); } safeMaterialInfoService.deleteBatch(idList); return new ResultVO(ResultCodes.OK); } /** * 获取列表 * @return */ @Override public ResultVO list() { //获取所有数据 List<SafeMaterialInfo> materialInfoList = safeMaterialInfoService.list(); //获取所有部门 List<DepRPCRespDTO> depInfoList = getDepInfoList(); //获取所有物资类型 List<SafeMaterialClassifyInfo> classifyInfoList = safeMaterialClassifyInfoService.getList(); //循环物资分类 List<MaterialClassificationDto> classificationDtoList = new ArrayList<>(); for (SafeMaterialClassifyInfo classifyInfo:classifyInfoList){ MaterialClassificationDto classificationDto = new MaterialClassificationDto(); classificationDto.setMaterialClassifyId(classifyInfo.getId()); classificationDto.setMaterialClassifyName(classifyInfo.getMaterialClassifyName()); //循环部门 List<MaterialDepartmentDto> departmentDtoList = new ArrayList<>(); for (DepRPCRespDTO dep:depInfoList){ //过滤出物资数据 List<SafeMaterialInfo> selectMaterialList = materialInfoList .stream() .filter(item -> classifyInfo.getId().equals(item.getMaterialClassifyId()) && dep.getDepId().equals(item.getDepId())) .collect(Collectors.toList()); if(selectMaterialList.size()>0){ //填充部门数据 MaterialDepartmentDto departmentDto = new MaterialDepartmentDto(); departmentDto.setDepId(dep.getDepId()); departmentDto.setDepName(dep.getDepName()); List<BaseMaterialDto> baseMaterialDtoList = new ArrayList<>(); //循环物资 for (SafeMaterialInfo materialInfo:selectMaterialList){ //填充基础物资数据 BaseMaterialDto baseMaterialDto = new BaseMaterialDto(); baseMaterialDto.setMaterialName(materialInfo.getMaterialName()); baseMaterialDto.setSmId(materialInfo.getId()); baseMaterialDtoList.add(baseMaterialDto); } departmentDto.setBaseMaterialList(baseMaterialDtoList); departmentDtoList.add(departmentDto); } //子集部门 if(!CollectionUtils.isEmpty(dep.getChildren())){ this.recursiveDep(dep.getChildren(),departmentDtoList,materialInfoList,classifyInfo.getId()); } } classificationDto.setDepartmentList(departmentDtoList); classificationDtoList.add(classificationDto); } return new ResultVO(ResultCodes.OK,classificationDtoList); } private void recursiveDep(List<DepRPCRespDTO> depList,List<MaterialDepartmentDto> departmentDtoList,List<SafeMaterialInfo> materialInfoList,Long classifyId){ for(DepRPCRespDTO dep:depList){ //过滤出物资数据 List<SafeMaterialInfo> selectMaterialList = materialInfoList .stream() .filter(item -> classifyId.equals(item.getMaterialClassifyId()) && dep.getDepId().equals(item.getDepId())) .collect(Collectors.toList()); if(selectMaterialList.size()>0){ //填充部门数据 MaterialDepartmentDto departmentDto = new MaterialDepartmentDto(); departmentDto.setDepId(dep.getDepId()); departmentDto.setDepName(dep.getDepName()); List<BaseMaterialDto> baseMaterialDtoList = new ArrayList<>(); //循环物资 for (SafeMaterialInfo materialInfo:selectMaterialList){ //填充基础物资数据 BaseMaterialDto baseMaterialDto = new BaseMaterialDto(); baseMaterialDto.setMaterialName(materialInfo.getMaterialName()); baseMaterialDto.setSmId(materialInfo.getId()); baseMaterialDtoList.add(baseMaterialDto); } departmentDto.setBaseMaterialList(baseMaterialDtoList); departmentDtoList.add(departmentDto); } //子集 if(!CollectionUtils.isEmpty(dep.getChildren())){ this.recursiveDep(dep.getChildren(),departmentDtoList,materialInfoList,classifyId); } } } @Override public SearchResultVO<List<SafeMaterialDto>> listByPage(PageQuery<SafeMaterialQuery> pageQuery) { Page<SafeMaterialDO> page= new Page(pageQuery.getPageIndex(),pageQuery.getPageSize()); List<SafeMaterialDO> materialInfoList = safeMaterialInfoService.listByPage(page, pageQuery.getSearchParams()); List<Long> materialIdList = new ArrayList<>(); List<SafeMaterialDetailCountDO> statisticsList = new ArrayList<>(); if(materialInfoList.size()>0){ materialIdList = materialInfoList.stream().map(SafeMaterialDO::getId).collect(Collectors.toList()); } if(materialIdList.size()>0){ statisticsList = safeMaterialDetailInfoService.getStatisticsValidStock(materialIdList); } List<SafeMaterialDto> materialDtoList = new ArrayList<>(); for (SafeMaterialDO materialDO:materialInfoList){ SafeMaterialDto materialDto = new SafeMaterialDto(); BeanUtils.copyProperties(materialDO,materialDto); materialDto.setConsumableName(ConsumableEnum.getByCode(materialDO.getConsumable()).getValue()); //过滤出当前物资详细 List<SafeMaterialDetailCountDO> selectList = statisticsList .stream() .filter(item -> item.getSmId().equals(materialDO.getId())) .collect(Collectors.toList()); if(selectList.size()>0){ materialDto.setValidStockCount(selectList.get(0).getCount()); }else{ materialDto.setValidStockCount(0); } materialDtoList.add(materialDto); } return new SearchResultVO<>( true, page.getCurrent(), page.getSize(), page.getPages(), page.getTotal(), materialDtoList,ResultCodes.OK); } private DepInfoRPCRespDTO getDepInfoByDepId(Long deptId) { DepInfoRPCRespDTO dep = new DepInfoRPCRespDTO(); ResultVO<DepInfoRPCRespDTO> rpcResult = accountDepartmentService.getDepInfoByDepId(deptId); if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) { if (rpcResult.getData() != null) { dep = (DepInfoRPCRespDTO) rpcResult.getData(); }else { throw new EquipmentException(ResultCodes.CLIENT_DEP_NOT_EXIST); } } else { throw new EquipmentException(ResultCodes.RPC_RESULT_NULL); } return dep; } private List<DepRPCRespDTO> getDepInfoList() { List<DepRPCRespDTO> depInfoList = new ArrayList<>(); ResultVO<List<DepRPCRespDTO>> rpcResult = accountDepartmentService.depList(); if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) { if (rpcResult.getData() != null) { depInfoList = (List<DepRPCRespDTO>) rpcResult.getData(); }else{ throw new EquipmentException(ResultCodes.CLIENT_DEP_NOT_EXIST); } } else { throw new EquipmentException(ResultCodes.CLIENT_DEP_NOT_EXIST); } return depInfoList; } private String generateSerialNum(int count){ if(count < 0){ return null; } String code = null; String prefix = "ID-"; String serialCode = null; if(count >= 10000){ serialCode = "" + (count+1); }else if(count >=0){ String countStr = String.valueOf(count+1); serialCode = "00000".substring(0,(5 - countStr.length()))+countStr; } if(serialCode != null && !serialCode.isEmpty()){ code = prefix+serialCode; } return code; } } equipment/equipment-service/src/main/resources/config/mapper/equipment/SafeMaterialClassifyInfoMapper.xml
对比新文件 @@ -0,0 +1,43 @@ <?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.gkhy.safePlatform.equipment.repository.SafeMaterialClassifyInfoRepository"> <resultMap type="com.gkhy.safePlatform.equipment.entity.SafeMaterialClassifyDO" id="materialClassifyResult"> <id column="id" property="id" jdbcType="BIGINT"/> <result column="material_classify_name" property="materialClassifyName"/> </resultMap> <!--新增--> <insert id="save" parameterType="com.gkhy.safePlatform.equipment.entity.SafeMaterialClassifyInfo"> insert into safe_material_classify (id,material_classify_name,del_flag,create_time,create_uid,create_uname,update_time,update_uid,update_uname) values (#{id},#{materialClassifyName},#{delFlag},#{createTime},#{createUid},#{createUname},#{updateTime},#{updateUid},#{updateUname}) </insert> <!--更新--> <update id="update" parameterType="com.gkhy.safePlatform.equipment.entity.SafeMaterialClassifyInfo"> update safe_material_classify <trim prefix="SET" suffixOverrides=","> <if test="materialClassifyName != null and materialClassifyName != ''"> material_classify_name = #{materialClassifyName} </if> </trim> where id = #{id} </update> <!--逻辑删除--> <update id="delete"> update safe_material_classify set del_fag = 1 where id = #{id} </update> <!--查询单条数据--> <select id="queryById" resultType="com.gkhy.safePlatform.equipment.entity.SafeMaterialClassifyInfo"> select id,material_classify_name,create_time,create_uid,create_uname,update_time,update_uid,update_uname from safe_material_classify where id = #{id} and del_flag = 0; </select> <select id="listByContion" resultType="com.gkhy.safePlatform.equipment.entity.SafeMaterialClassifyInfo"> select id, material_classify_name from safe_material_classify where del_flag = 0 <if test="mateialClassifyName != null and materialClassifyName != ''"> and instr(material_classify_name,#{materialClassifyName}) > 0 </if> </select> </mapper> equipment/equipment-service/src/main/resources/config/mapper/equipment/SafeMaterialDetailInfoMapper.xml
对比新文件 @@ -0,0 +1,190 @@ <?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.gkhy.safePlatform.equipment.repository.SafeMaterialDetailInfoRepository"> <resultMap type="com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailInfo" id="materialDetailResult"> <id column="id" property="id" jdbcType="BIGINT"/> <result column="name" property="name" jdbcType="VARCHAR"/> <result column="material_no" property="materialNo" jdbcType="VARCHAR"/> <result column="material_classify_id" property="materialClassifyId" jdbcType="BIGINT"/> <result column="rfid" property="rfid" jdbcType="VARCHAR"/> <result column="consumable" property="consumable" jdbcType="TINYINT"/> <result column="valid_type" property="validType" jdbcType="TINYINT"/> <result column="valid_time" property="validTime" jdbcType="TIMESTAMP"/> <result column="valid_status" property="validStatus" jdbcType="TINYINT"/> <result column="ir_status" property="irStatus" jdbcType="TINYINT"/> <result column="ware_housing_time" property="wareHousingTime" jdbcType="TIMESTAMP"/> <result column="delivery_time" property="deliveryTime" jdbcType="TIMESTAMP"/> <result column="sm_id" property="smId" jdbcType="BIGINT"/> <result column="claimant_id" property="claimantId" jdbcType="BIGINT"/> <result column="claimant_name" property="claimantName" jdbcType="VARCHAR"/> <result column="del_flag" property="delFlag" jdbcType="INTEGER"/> <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/> <result column="create_uid" property="createUid" jdbcType="BIGINT"/> <result column="create_uname" property="createUname" jdbcType="VARCHAR"/> <result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/> <result column="update_uid" property="updateUid" jdbcType="BIGINT"/> <result column="update_uname" property="updateUname" jdbcType="VARCHAR"/> </resultMap> <select id="getTotalCount" resultType="java.lang.Integer"> select count(1) from safe_material_detail </select> <select id="queryById" resultMap="materialDetailResult"> select id, name, material_no, material_classify_id, rfid, consumable, valid_type, valid_time, valid_status, ir_status, ware_housing_time, ware_housing_time, delivery_time, sm_id, claimant_id, claimant_name from safe_material_detail where del_flag = 0 and id = #{id} </select> <update id="updateReceiptStatus" > update safe_material_detail set ir_status = #{status}, ware_housing_time = #{wareHousingTime}, claimant_id = null, claimant_name = null where id = #{id} </update> <select id="getListByIds" resultMap="materialDetailResult"> select id,name,material_no,material_classify_id,rfid,consumable,valid_type,valid_time,valid_status,ir_status,ware_housing_time,ware_housing_time,delivery_time,sm_id,claimant_id,claimant_name from safe_material_detail where del_flag = 0 and id in <foreach collection="ids" item="id" separator="," open="(" close=")"> #{id} </foreach> </select> <update id="updateReceiptStatusByIds" > update safe_material_detail set ir_status = #{irStatus}, ware_housing_time = #{wareHousingTime}, claimant_id = null, claimant_name = null where id in <foreach collection="ids" item="id" separator="," open="(" close=")"> #{id} </foreach> </update> <select id="getCountGroupBySmId" resultType="com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailCountDO"> select smId,count(*) from safe_material_detail where del_flag = 0 and ir_status = #{irStatus} and id in <foreach collection="ids" item="id" separator="," open="(" close=")"> #{id} </foreach> group by smId </select> <select id="getStatisticsValidStock" resultType="com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailCountDO"> select count(1) as count, sm_id from safe_material_detail where del_flag = 0 and valid_status = #{validStatus} and ir_status = #{irStatus} and sm_id in <foreach collection="smIds" item="smId" open="(" close=")" separator=","> #{smId} </foreach> GROUP BY sm_id </select> <!--批量删除--> <update id="deleteBatch"> update safe_material_detail set del_flag = 1 where id in <foreach collection="ids" item="id" open="(" close=")" separator=","> #{id} </foreach> </update> <!--批量出库-根据ids--> <update id="updateDeliveryStatusByIds" > update safe_material_detail set ir_status = #{detailBO.irStatus}, claimant_id = #{detailBO.claimantId}, claimant_name = #{detailBO.claimantName}, delivery_time = #{detailBO.deliveryTime} where id in <foreach collection="detailBO.ids" item="id" separator="," open="(" close=")"> #{id} </foreach> </update> <!--批量出库-随机--> <update id="deliveryBatchRandom" > update safe_material_detail set ir_status = #{detailBO.irStatus}, claimant_id = #{detailBO.claimantId}, claimant_name = #{detailBO.claimantName}, delivery_time = #{detailBO.deliveryTime} where id in (select t.id from (select id from safe_material_detail where ir_status = 0 and valid_status = 0 and del_flag = 0 ORDER BY ware_housing_time asc LIMIT #{detailBO.count}) t ) </update> <select id="getValidStockCount" resultType="java.lang.Integer"> select count(1) from safe_material_detail where del_flag = 0 and valid_status = #{validStatus} and ir_status = #{irStatus} and sm_id = #{smId} </select> <select id="listByCondition" resultType="com.gkhy.safePlatform.equipment.entity.SafeMaterialDetailInfoDO"> select sd.id, sd.name, sd.material_no, sd.material_classify_id, sd.rfid, sd.consumable, sd.valid_type, sd.valid_time, sd.valid_status, sd.ir_status, sd.ware_housing_time, sd.claimant_name, sd.delivery_time, sm.dep_id, sm.dep_name, sc.material_classify_name from safe_material_detail sd INNER JOIN safe_material_classify sc on sd.material_classify_id = sc.id INNER JOIN safe_material sm on sd.sm_id = sm.id where sd.del_flag = 0 <if test="query.rfid != null and query.rfid != '' "> and sd.rfid = #{query.rfid} </if> <if test="query.irStatus != null and query.irStatus != '' or query.irStatus == 0"> and sd.ir_status = #{query.irStatus} </if> ORDER BY sd.create_time desc </select> <!--根据smId统计数量--> <select id="getCountBySmId" resultType="java.lang.Integer"> select count(1) from safe_material_detail where del_flag = 0 and sm_id = #{smId} </select> <!--根据smIds统计数量--> <select id="getCountBySmIds" resultType="java.lang.Integer"> select count(1) from safe_material_detail where del_flag = 0 and sm_id in <foreach collection="smIds" item="smId" open="(" close=")" separator=","> #{smId} </foreach> </select> <update id="updateValidStatus" > update safe_material_detail set valid_status = #{validStatus} where id = #{id} </update> </mapper> equipment/equipment-service/src/main/resources/config/mapper/equipment/SafeMaterialInfoMapper.xml
对比新文件 @@ -0,0 +1,65 @@ <?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.gkhy.safePlatform.equipment.repository.SafeMaterialInfoRepository"> <resultMap type="com.gkhy.safePlatform.equipment.entity.SafeMaterialInfo" id="materialResult"> <id column="id" property="id" jdbcType="BIGINT"/> <result column="serial_num" property="serialNum" jdbcType="VARCHAR"/> <result column="material_classify_id" property="materialClassifyId" jdbcType="BIGINT"/> <result column="dep_id" property="depId" jdbcType="BIGINT"/> <result column="dep_name" property="depName" jdbcType="VARCHAR"/> <result column="material_name" property="materilaName" jdbcType="VARCHAR"/> <result column="consumable" property="consumable" jdbcType="TINYINT"/> <result column="del_flag" property="delFlag" jdbcType="INTEGER"/> <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/> <result column="create_uid" property="createUid" jdbcType="BIGINT"/> <result column="create_uname" property="createUname" jdbcType="VARCHAR"/> <result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/> <result column="update_uid" property="updateUid" jdbcType="BIGINT"/> <result column="update_uname" property="updateUname" jdbcType="VARCHAR"/> </resultMap> <!--查询单条数据--> <select id="queryById" resultMap="materialResult"> select id,serial_num,material_classify_id,dep_id,dep_name,material_name,consumable,del_flag,create_time,create_uid,create_uname,update_time,update_uid,update_uname from safe_material where id = #{id} and del_flag = 0; </select> <!--查询所有数量--> <select id="getTotalCount" resultType="java.lang.Integer"> select count(1) from safe_material; </select> <!--根据类型统计数量--> <select id="getCountByClassify" resultType="java.lang.Integer"> select count(1) from safe_material where del_flag = 0 and material_classify_id = #{classifyId} </select> <update id="deleteBatch"> update safe_material set del_flag = 1 where id in <foreach collection="ids" item="id" separator="," open="(" close=")" > #{id} </foreach> </update> <!--条件查询--> <select id="listByConditions" resultType="com.gkhy.safePlatform.equipment.entity.SafeMaterialDO"> select m.id, m.serial_num, m.material_classify_id, m.dep_id, m.dep_name, m.material_name, m.consumable, c.material_classify_name from safe_material m inner join safe_material_classify c on m.material_classify_id = c.id where m.del_flag = 0 <if test="query.materialName != null and query.materialName != '' "> and instr(m.material_name,#{query.materialName})>0 </if> <if test="query.materialClassifyId != null"> and m.material_classify_id = #{query.materialClassifyId} </if> order by m.create_time desc </select> </mapper> pom.xml
@@ -46,6 +46,7 @@ <jta.starter.version>2.7.1</jta.starter.version> <commons.utils.version>1.9.4</commons.utils.version> <redission.version>3.17.4</redission.version> <rocketmq.starter.version>2.2.2</rocketmq.starter.version> </properties> <dependencyManagement> @@ -144,6 +145,18 @@ <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version>${redission.version}</version> </dependency> <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot</artifactId> <version>${rocketmq.starter.version}</version> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.5</version> </dependency> </dependencies> @@ -264,6 +277,19 @@ <artifactId>account-rpc-api</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot</artifactId> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> </dependency> </dependencies> <build> safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigEquipment.java
@@ -2,8 +2,10 @@ import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; import com.baomidou.mybatisplus.core.config.GlobalConfig; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean; import com.gkhy.safePlatform.equipment.handler.MyMetaObjectHandler; import org.apache.ibatis.plugin.Interceptor; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionTemplate; @@ -63,6 +65,11 @@ //设置分页插件 Interceptor[] plugins = {mybatisPlusInterceptor}; factoryBean.setPlugins(plugins); GlobalConfig globalConfig = new GlobalConfig(); globalConfig.setMetaObjectHandler(new MyMetaObjectHandler()); factoryBean.setGlobalConfig(globalConfig); return factoryBean.getObject(); } safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/exception/GlobalExceptionHandler.java
@@ -6,12 +6,14 @@ import com.gkhy.safePlatform.commons.exception.BusinessException; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.emergency.excepiton.EmergencyException; import com.gkhy.safePlatform.equipment.excepiton.EquipmentException; import com.gkhy.safePlatform.incidentManage.exception.AccidentException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.security.access.AccessDeniedException; import org.springframework.security.core.AuthenticationException; import org.springframework.web.HttpRequestMethodNotSupportedException; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; @@ -38,6 +40,15 @@ @ResponseBody @ExceptionHandler(value = EmergencyException.class) public ResultVO AHandler(EmergencyException e) { logger.warn(e.getMessage()); return new ResultVO(e.getCode(),e.getMessage()); } /** * 设备自定义异常 */ @ResponseBody @ExceptionHandler(value = EquipmentException.class) public ResultVO AHandler(EquipmentException e) { logger.warn(e.getMessage()); return new ResultVO(e.getCode(),e.getMessage()); } @@ -115,4 +126,15 @@ return resultVO; // return new ResultVO(ResultCodes.SERVER_ERROR); } /** * 处理入参异常 * @param e * @return */ @ResponseBody @ExceptionHandler(MethodArgumentNotValidException.class) public ResultVO handleMethodArgumentNotValidException(MethodArgumentNotValidException e){ logger.warn(e.getBindingResult().getFieldError().getDefaultMessage()); return new ResultVO(ResultCodes.SERVER_PARAM_NULL.getCode(),e.getBindingResult().getFieldError().getDefaultMessage()); } } safePlatfrom-out-web/src/main/resources/config/application-dev.yaml
@@ -74,6 +74,10 @@ mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl global-config: db-config: logic-delete-value: 1 logic-not-delete-value: 0 dubbo: registry: @@ -112,8 +116,11 @@ sendMessageTimeout: 300000 consumer: group: gkhy-safeplatform-out-dev safeMaterialGroup: gkhy-safeplatform-out-safeMaterialConsumer topic: demoTopic: gkhy-safeplatform-topic-demo safeMaterialTopic: gkhy-safeplatform-out-safeMaterialTopic minio: endPoint: 192.168.0.52