车车 9 ماه پیش
والد
کامیت
fb415fcea9

+ 1 - 1
ktg-iscs/src/main/java/com/ktg/iscs/controller/IsMaterialsCheckRecordController.java

@@ -83,7 +83,7 @@ public class IsMaterialsCheckRecordController extends BaseController
     public CommonResult<Boolean> insertIsMaterialsCheckRecord(@RequestBody @Parameter(name = "isMaterialsCheckRecord", description = "新增数据类,放到body") IsMaterialsCheckRecord isMaterialsCheckRecord)
     {
         isMaterialsCheckRecord.setCheckDate(new Date());
-        return CommonResult.success(isMaterialsCheckRecordService.save(isMaterialsCheckRecord));
+        return CommonResult.success(isMaterialsCheckRecordService.insertIsMaterialsCheckRecord(isMaterialsCheckRecord));
     }
 
     @ApiOperation("修改物资检查记录")

+ 3 - 0
ktg-iscs/src/main/java/com/ktg/iscs/domain/dto/materials/MaterialsPageDTO.java

@@ -61,4 +61,7 @@ public class MaterialsPageDTO
     @ApiModelProperty(value = "规格值")
     private String recordId;
 
+    @ApiModelProperty(value = "物资状态(0-正常 1-异常)")
+    private String status;
+
 }

+ 8 - 2
ktg-iscs/src/main/java/com/ktg/iscs/domain/vo/materials/MaterialsPageVO.java

@@ -80,7 +80,7 @@ public class MaterialsPageVO extends BaseBean
     private String loanState;
 
     @ApiModelProperty(value = "物资RFID")
-    private Long materialsRfid;
+    private String materialsRfid;
 
     @ApiModelProperty(value = "供应商")
     @Excel(name = "供应商")
@@ -100,7 +100,13 @@ public class MaterialsPageVO extends BaseBean
     @ApiModelProperty(value = "属性数组,JSON 格式 [{propertId: , valueId: }, {propertId: , valueId: }]")
     private String properties;
 
-    @ApiModelProperty(value = "属性数组,JSON 格式 [{propertId: , valueId: }, {propertId: , valueId: }]")
+    @ApiModelProperty(value = "物资规格")
     private String propertiesValue;
 
+    @ApiModelProperty(value = "物资规格种类")
+    private String propertiesProperty;
+
+    @ApiModelProperty(value = "物资状态(0-正常 1-异常)")
+    private String status;
+
 }

+ 2 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/IIsMaterialsCheckRecordService.java

@@ -16,4 +16,6 @@ public interface IIsMaterialsCheckRecordService extends IService<IsMaterialsChec
 
     Page<IsMaterialsCheckRecordVO> getIsMaterialsCheckRecordPage(Page<IsMaterialsCheckRecord> page, CheckRecordPageDTO dto);
 
+    Boolean insertIsMaterialsCheckRecord(IsMaterialsCheckRecord isMaterialsCheckRecord);
+
 }

+ 22 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsMaterialsCheckRecordServiceImpl.java

@@ -1,14 +1,19 @@
 package com.ktg.iscs.service.impl;
 
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ktg.iscs.domain.IsMaterials;
 import com.ktg.iscs.domain.IsMaterialsCheckRecord;
 import com.ktg.iscs.domain.dto.checkRecord.CheckRecordPageDTO;
 import com.ktg.iscs.domain.vo.checkRecord.IsMaterialsCheckRecordVO;
 import com.ktg.iscs.mapper.IsMaterialsCheckRecordMapper;
 import com.ktg.iscs.service.IIsMaterialsCheckRecordService;
+import com.ktg.iscs.service.IIsMaterialsService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * 物资检查记录Service业务层处理
@@ -21,6 +26,8 @@ public class IsMaterialsCheckRecordServiceImpl extends ServiceImpl<IsMaterialsCh
 
     @Autowired
     private IsMaterialsCheckRecordMapper isMaterialsCheckRecordMapper;
+    @Autowired
+    private IIsMaterialsService iIsMaterialsService;
 
     @Override
     public Page<IsMaterialsCheckRecordVO> getIsMaterialsCheckRecordPage(Page<IsMaterialsCheckRecord> page, CheckRecordPageDTO dto) {
@@ -28,4 +35,19 @@ public class IsMaterialsCheckRecordServiceImpl extends ServiceImpl<IsMaterialsCh
         return result;
     }
 
+    @Transactional
+    @Override
+    public Boolean insertIsMaterialsCheckRecord(IsMaterialsCheckRecord isMaterialsCheckRecord) {
+        Assert.notNull(isMaterialsCheckRecord.getPlanId(), "计划id不能为空!");
+        Assert.notNull(isMaterialsCheckRecord.getMaterialsId(), "物资id不能为空!");
+        save(isMaterialsCheckRecord);
+        // 2.开始更新物资本身状态
+        if ("1".equals(isMaterialsCheckRecord.getStatus())) {
+            iIsMaterialsService.update(Wrappers.<IsMaterials>lambdaUpdate()
+                    .eq(IsMaterials::getMaterialsId, isMaterialsCheckRecord.getMaterialsId())
+                    .set(IsMaterials::getStatus, isMaterialsCheckRecord.getStatus()));
+        }
+        return true;
+    }
+
 }

+ 19 - 3
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsMaterialsServiceImpl.java

@@ -94,6 +94,12 @@ public class IsMaterialsServiceImpl extends ServiceImpl<IsMaterialsMapper, IsMat
         // 1.检查物资编码有没有被使用
         List<IsMaterials> list = list(Wrappers.<IsMaterials>lambdaQuery().eq(IsMaterials::getMaterialsCode, isMaterials.getMaterialsCode()));
         Assert.isFalse(!list.isEmpty(), "该物资编码已被使用!");
+        // 2.检查rfid重复
+        if (StringUtils.isNotBlank(isMaterials.getMaterialsRfid())) {
+            List<IsMaterials> rfidList = list(Wrappers.<IsMaterials>lambdaQuery()
+                    .eq(IsMaterials::getMaterialsRfid, isMaterials.getMaterialsRfid()));
+            Assert.isTrue(rfidList.isEmpty(), "该RFID已被使用!");
+        }
         isMaterials.setCreateTime(DateUtils.getNowDate());
         return isMaterialsMapper.insertIsMaterials(isMaterials);
     }
@@ -107,8 +113,16 @@ public class IsMaterialsServiceImpl extends ServiceImpl<IsMaterialsMapper, IsMat
     @Override
     public int updateIsMaterials(IsMaterials isMaterials) {
         // 1.检查物资编码有没有被使用
-        List<IsMaterials> list = list(Wrappers.<IsMaterials>lambdaQuery().eq(IsMaterials::getMaterialsCode, isMaterials.getMaterialsCode()).ne(IsMaterials::getMaterialsId, isMaterials.getMaterialsId()));
+        List<IsMaterials> list = list(Wrappers.<IsMaterials>lambdaQuery()
+                .eq(IsMaterials::getMaterialsCode, isMaterials.getMaterialsCode()).ne(IsMaterials::getMaterialsId, isMaterials.getMaterialsId()));
         Assert.isFalse(!list.isEmpty(), "该物资编码已被使用!");
+        // 2.检查rfid重复
+        if (StringUtils.isNotBlank(isMaterials.getMaterialsRfid())) {
+            List<IsMaterials> rfidList = list(Wrappers.<IsMaterials>lambdaQuery()
+                    .eq(IsMaterials::getMaterialsRfid, isMaterials.getMaterialsRfid())
+                    .ne(IsMaterials::getMaterialsId, isMaterials.getMaterialsId()));
+            Assert.isTrue(rfidList.isEmpty(), "该RFID已被使用!");
+        }
         isMaterials.setUpdateTime(DateUtils.getNowDate());
         return isMaterialsMapper.updateIsMaterials(isMaterials);
     }
@@ -152,8 +166,10 @@ public class IsMaterialsServiceImpl extends ServiceImpl<IsMaterialsMapper, IsMat
             for (MaterialsPageVO record : isMaterialsPage.getRecords()) {
                 if (StringUtils.isNotBlank(record.getProperties())) {
                     List<PropertyVO> propertyVOS = objectMapper.readValue(record.getProperties(), new TypeReference<List<PropertyVO>>() {});
-                    String collect = propertyVOS.stream().map(PropertyVO::getValueName).collect(Collectors.joining(","));
-                    record.setPropertiesValue(collect);
+                    String propertiesValue = propertyVOS.stream().map(PropertyVO::getValueName).collect(Collectors.joining(","));
+                    record.setPropertiesValue(propertiesValue);
+                    String propertiesProperty = propertyVOS.stream().map(PropertyVO::getPropertyName).collect(Collectors.joining(","));
+                    record.setPropertiesProperty(propertiesProperty);
                 }
             }
         }

+ 5 - 1
ktg-iscs/src/main/resources/mapper/IsMaterialsMapper.xml

@@ -125,6 +125,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="updateBy != null">update_by = #{updateBy},</if>
             <if test="loanState != null and loanState != ''">loan_state = #{loanState},</if>
             <if test="materialsRfid != null">materials_rfid = #{materialsRfid},</if>
+            <if test="materialsRfid == null || materialsName == ''">materials_rfid = null,</if>
             <if test="supplier != null and supplier != ''">supplier = #{supplier},</if>
             <if test="expirationDate != null">expiration_date = #{expirationDate},</if>
             <if test="expirationDate == null">expiration_date = null,</if>
@@ -165,11 +166,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="dto.loanState != null and dto.loanState.trim != ''">
                 and m.loan_state = #{dto.loanState}
             </if>
+            <if test="dto.status != null and dto.status.trim != ''">
+                and m.status = #{dto.status}
+            </if>
             <if test="dto.materialsCabinetId != null and dto.materialsCabinetId > 0">
                 and m.materials_cabinet_id = #{dto.materialsCabinetId}
             </if>
             <if test="dto.materialsCabinetId != null and dto.materialsCabinetId == 0">
-                and m.materials_cabinet_id is null
+                and (m.materials_cabinet_id is null || m.materials_cabinet_id = 0)
             </if>
             <if test="dto.materialsTypeId != null">
                 and m.materials_type_id = #{dto.materialsTypeId}