车车 hai 3 meses
pai
achega
acbf61d323

+ 3 - 2
ktg-iscs/src/main/java/com/ktg/iscs/controller/HardwareMaterialApiController.java

@@ -124,12 +124,13 @@ public class HardwareMaterialApiController extends BaseController {
         return CommonResult.success(hardwareMaterialApiService.selectMaterialsByRfidList(dto));
     }
 
-    @ApiOperation("物资领取/归还")
+    // 在物资controller   ----- updateIsMaterialById
+    /*@ApiOperation("物资领取/归还")
     @Log(title = "物资领取/归还", businessType = BusinessType.UPDATE)
     @PostMapping("/updateMaterialReceiveReturn")
     public CommonResult<String> updateMaterialReceiveReturn(@RequestBody @Parameter(name = "dto", description = "修改数据类,放到body") RecRetParamDTO dto) throws Exception {
         return CommonResult.success(hardwareMaterialApiService.updateMaterialReceiveReturn(dto));
-    }
+    }*/
 
     // ----------------------------------主界面-------------------------------------------------------
     @ApiOperation("主界面")

+ 3 - 0
ktg-iscs/src/main/java/com/ktg/iscs/domain/dto/materialsLoan/AddLoanDTO.java

@@ -17,6 +17,9 @@ public class AddLoanDTO
     @ApiModelProperty(value = "物资ID")
     private Long materialsId;
 
+    @ApiModelProperty(value = "materialsRfid")
+    private String materialsRfid;
+
     @ApiModelProperty(value = "领取人ID")
     private Long loanUserId;
 

+ 5 - 1
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/HardwareMaterialApiServiceImpl.java

@@ -1082,13 +1082,17 @@ public class HardwareMaterialApiServiceImpl implements HardwareMaterialApiServic
         }
         // 2.开始绑定
         if (!dto.getBindingMaterialRfidList().isEmpty()) {
+            // 判定绑定的物资数据是否存在,存在的话是不是异常的数据
+
             iIsMaterialsService.update(Wrappers.<IsMaterials>lambdaUpdate()
                     .in(IsMaterials::getMaterialsRfid, dto.getBindingMaterialRfidList())
                     .set(IsMaterials::getMaterialsCabinetId, cabinetByCode.getCabinetId())
                     .set(IsMaterials::getLoanState, "1")
                     .set(IsMaterials::getStatus, "0"));
-            bingdingList = iIsMaterialsService.getMaterialListByRfid(dto.getUnbindMaterialRfidList());
+            bingdingList = iIsMaterialsService.getMaterialListByRfid(dto.getBindingMaterialRfidList());
+            // Assert.isFalse(bingdingList.size() != dto.getBindingMaterialRfidList().size(), "缺邵需要绑定的物资");
             for (IsMaterials materials : bingdingList) {
+                Assert.isTrue(materials.getStatus().equals("0"), "存在异常的替换物资!");
                 IsMaterialsChangeRecord isMaterialsChangeRecord = new IsMaterialsChangeRecord();
                 isMaterialsChangeRecord.setNewMaterialsId(materials.getMaterialsId());
                 isMaterialsChangeRecord.setNewMaterialsRfid(materials.getMaterialsRfid());

+ 12 - 14
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsMaterialsLoanServiceImpl.java

@@ -324,19 +324,17 @@ public class IsMaterialsLoanServiceImpl extends ServiceImpl<IsMaterialsLoanMappe
             // 1.物资信息
             IsMaterials materials = isMaterialsService.getById(isMaterialsLoan.getMaterialsId());
             MaterialsTypePageVO materialsTypePageVO = new MaterialsTypePageVO();
-            // 1.1如果是从错误柜子中拿出这个物资,默认是为了更正
-            if ("0".equals(materials.getLoanState()) && "3".equals(materials.getStatus())) {
-                // 1.1.1纠正归还异常
-                isMaterialsLoanExceptionService.update(Wrappers.<IsMaterialsLoanException>lambdaUpdate()
-                        .eq(IsMaterialsLoanException::getMaterialsId, isMaterialsLoan.getMaterialsId())
-                        .set(IsMaterialsLoanException::getStatus, "1")
-                        .set(IsMaterialsLoanException::getHandleTime, nowDate));
-                // 1.1.2纠正物资状态
-                isMaterialsService.update(Wrappers.<IsMaterials>lambdaUpdate()
-                        .eq(IsMaterials::getMaterialsId, dto.getMaterialsId())
-                        .set(IsMaterials::getStatus, "0"));
-                return 1;
-            }
+            // 1.1处理更新错放异常
+            isMaterialsLoanExceptionService.update(Wrappers.<IsMaterialsLoanException>lambdaUpdate()
+                    .eq(IsMaterialsLoanException::getMaterialsRfid, dto.getMaterialsRfid())
+                    .set(IsMaterialsLoanException::getStatus, "1")
+                    .set(IsMaterialsLoanException::getHandleTime, nowDate));
+            // 1.1.1同时处理物资的借出状态
+            isMaterialsService.update(Wrappers.<IsMaterials>lambdaUpdate()
+                    .eq(IsMaterials::getMaterialsId, dto.getMaterialsId())
+                    .eq(IsMaterials::getStatus, "3")
+                    .set(IsMaterials::getStatus, "0"));
+
             // 1.2借用到期规则
             IsMailNotifyConfig reminderConf = isMailNotifyConfigService.getOne(Wrappers.<IsMailNotifyConfig>lambdaQuery()
                     .eq(IsMailNotifyConfig::getTemplateCode, isSystemAttributeService.getIsSystemAttributeByKey("sys.template.material_expiration_reminder").getSysAttrValue()));
@@ -396,7 +394,7 @@ public class IsMaterialsLoanServiceImpl extends ServiceImpl<IsMaterialsLoanMappe
                 map.put("[借用时间]", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, nowDate));
                 map.put("[到期时间]", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, re));
                 map.put("[告警时间]", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, al));
-                map.put("[归还地址]", cabinet.getCabinetName());
+                map.put("[归还地址]", cabinet != null ? cabinet.getCabinetName() : "");
                 map.put("[发件人]", isSystemAttributeService.getIsSystemAttributeByKey("info.mail.name").getSysAttrValue());
                 map.put("[公司名称]", isSystemAttributeService.getIsSystemAttributeByKey("info.mail.company").getSysAttrValue());
                 // 2.3处理归还提醒

+ 1 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsMaterialsServiceImpl.java

@@ -242,6 +242,7 @@ public class IsMaterialsServiceImpl extends ServiceImpl<IsMaterialsMapper, IsMat
                         // 4.1开始新增借出记录表
                         AddLoanDTO addMaterialsLoan = new AddLoanDTO();
                         addMaterialsLoan.setMaterialsId(dto.getMaterialsId());
+                        addMaterialsLoan.setMaterialsRfid(materials.getMaterialsRfid());
                         addMaterialsLoan.setLoanUserId(userId);
                         iIsMaterialsLoanService.insertIsMaterialsLoan(addMaterialsLoan);
                     } else if ("1".equals(dto.getLoanState())) {