|
|
@@ -170,7 +170,7 @@ public class HardwareMaterialApiServiceImpl implements HardwareMaterialApiServic
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public Boolean insertCheckedRecord(ReplaceMaterialParamDTO dto) throws JsonProcessingException {
|
|
|
- Assert.isFalse(dto.getList().isEmpty(), "更换物资不能为空!");
|
|
|
+ Assert.isFalse(dto.getList().isEmpty(), "没有确定要维修或更换的物资!");
|
|
|
Long cabinetId = null;
|
|
|
// 因为比较复杂,循环处理
|
|
|
for (ReplaceMaterialDTO replaceMaterialDTO : dto.getList()) {
|
|
|
@@ -180,9 +180,36 @@ public class HardwareMaterialApiServiceImpl implements HardwareMaterialApiServic
|
|
|
continue;
|
|
|
}
|
|
|
Assert.notNull(replaceMaterialDTO.getOldMaterialsId(), "旧物资ID不能为空!");
|
|
|
- // 1.对旧物资进行处理,如果新物资需要使用旧物资的rfid,则把旧物资的rfid清理掉,然后绑定给新物资,最后开柜门拿出旧物资解绑就可以了
|
|
|
IsMaterials oldMaterial = iIsMaterialsService.getById(replaceMaterialDTO.getOldMaterialsId());
|
|
|
cabinetId = oldMaterial.getMaterialsCabinetId();
|
|
|
+ // 查询该物资的最新报异常记录
|
|
|
+ IsMaterialsCheckRecord checkRecord = isMaterialsCheckRecordService.getOne(Wrappers.<IsMaterialsCheckRecord>lambdaQuery()
|
|
|
+ .eq(IsMaterialsCheckRecord::getMaterialsId, replaceMaterialDTO.getOldMaterialsId())
|
|
|
+ .eq(IsMaterialsCheckRecord::getStatus, "1")
|
|
|
+ .orderByDesc(IsMaterialsCheckRecord::getRecordId)
|
|
|
+ .last("limit 1"));
|
|
|
+ // 判断物资是不是维修,如果是维修,做维修处理
|
|
|
+ if (StringUtils.isNotBlank(replaceMaterialDTO.getMeasure()) && replaceMaterialDTO.getMeasure().equals("维修")) {
|
|
|
+ // 如果是维修直接更新物资状态
|
|
|
+ iIsMaterialsService.update(Wrappers.<IsMaterials>lambdaUpdate()
|
|
|
+ .eq(IsMaterials::getMaterialsId, replaceMaterialDTO.getOldMaterialsId())
|
|
|
+ .set(IsMaterials::getStatus, "0"));
|
|
|
+ // 生成维修记录
|
|
|
+ IsMaterialsChangeRecord isMaterialsChangeRecord = new IsMaterialsChangeRecord();
|
|
|
+ isMaterialsChangeRecord.setOldMaterialsId(replaceMaterialDTO.getOldMaterialsId());
|
|
|
+ isMaterialsChangeRecord.setOldMaterialsRfid(oldMaterial.getMaterialsRfid());
|
|
|
+ isMaterialsChangeRecord.setNewMaterialsId(oldMaterial.getMaterialsId());
|
|
|
+ isMaterialsChangeRecord.setNewMaterialsRfid(oldMaterial.getMaterialsRfid());
|
|
|
+ isMaterialsChangeRecord.setChangeUserId(SecurityUtils.getUserId());
|
|
|
+ isMaterialsChangeRecord.setChangeDate(new Date());
|
|
|
+ isMaterialsChangeRecord.setChangeType("0");
|
|
|
+ isMaterialsChangeRecord.setOperateType("3");
|
|
|
+ isMaterialsChangeRecord.setCheckRecordId(checkRecord != null ? checkRecord.getRecordId() : null);
|
|
|
+ isMaterialsChangeRecordService.save(isMaterialsChangeRecord);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 1.对旧物资进行处理,如果新物资需要使用旧物资的rfid,则把旧物资的rfid清理掉,然后绑定给新物资,最后开柜门拿出旧物资解绑就可以了
|
|
|
if (StringUtils.isNotBlank(oldMaterial.getMaterialsRfid()) && oldMaterial.getMaterialsRfid().equals(replaceMaterialDTO.getMaterialsRfid())) {
|
|
|
// 1.1该情况属于新物资需要使用旧物资的rfid
|
|
|
iIsMaterialsService.update(Wrappers.<IsMaterials>lambdaUpdate()
|
|
|
@@ -268,12 +295,7 @@ public class HardwareMaterialApiServiceImpl implements HardwareMaterialApiServic
|
|
|
isMaterialsChangeRecord.setChangeUserId(SecurityUtils.getUserId());
|
|
|
isMaterialsChangeRecord.setChangeDate(new Date());
|
|
|
isMaterialsChangeRecord.setChangeType("0");
|
|
|
- // 查询该物资的最新报异常记录
|
|
|
- IsMaterialsCheckRecord checkRecord = isMaterialsCheckRecordService.getOne(Wrappers.<IsMaterialsCheckRecord>lambdaQuery()
|
|
|
- .eq(IsMaterialsCheckRecord::getMaterialsId, replaceMaterialDTO.getOldMaterialsId())
|
|
|
- .eq(IsMaterialsCheckRecord::getStatus, "1")
|
|
|
- .orderByDesc(IsMaterialsCheckRecord::getRecordId)
|
|
|
- .last("limit 1"));
|
|
|
+
|
|
|
if (checkRecord != null) {
|
|
|
isMaterialsChangeRecord.setCheckRecordId(checkRecord.getRecordId());
|
|
|
} else {
|
|
|
@@ -310,7 +332,7 @@ public class HardwareMaterialApiServiceImpl implements HardwareMaterialApiServic
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public Boolean insertReplaceRecord(ReplaceMaterialParamDTO dto) throws JsonProcessingException {
|
|
|
- Assert.isFalse(dto.getList().isEmpty(), "更换物资不能为空!");
|
|
|
+ Assert.isFalse(dto.getList().isEmpty(), "没有确定要维修或更换的物资!");
|
|
|
// 因为比较复杂,循环处理
|
|
|
for (ReplaceMaterialDTO replaceMaterialDTO : dto.getList()) {
|
|
|
Assert.notNull(replaceMaterialDTO.getOldMaterialsId(), "旧物资ID不能为空!");
|