维修数量增加限制
This commit is contained in:
parent
a26d40d9ea
commit
55435560c3
|
|
@ -443,4 +443,11 @@ public interface RepairMapper {
|
|||
List<RepairProjectInfo> getRepairProjectList(RepairProjectInfo bean);
|
||||
|
||||
List<PartDetails> getPartUsingList(PartDetails bean);
|
||||
|
||||
/**
|
||||
* 根据任务id查询待修数量
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
RepairDeviceVO getRepairNumByTaskId(RepairDeviceVO bean);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -684,6 +684,43 @@ public class RepairServiceImpl implements RepairService {
|
|||
continue;
|
||||
}
|
||||
|
||||
//校验本次维修数量不能大于待维修数量
|
||||
if (bean.getTaskId() != null && bean.getTypeId() != null) {
|
||||
// 查询该任务待维修数量
|
||||
RepairDeviceVO repairDeviceVO = repairMapper.getRepairNumByTaskId(bean);
|
||||
BigDecimal thisRepairNum = BigDecimal.ZERO;
|
||||
|
||||
// 计算本次维修数量
|
||||
if (bean.getNumberInRepairPartList().size() > 0) {
|
||||
if (null != bean.getNumberInRepairPartList().get(0).getRepairNum() && 0 < bean.getNumberInRepairPartList().get(0).getRepairNum().compareTo(BigDecimal.ZERO)) {
|
||||
thisRepairNum = thisRepairNum.add(bean.getNumberInRepairPartList().get(0).getRepairNum());
|
||||
}
|
||||
}
|
||||
if (bean.getNumberOutRepairPartList().size() > 0) {
|
||||
if (null != bean.getNumberOutRepairPartList().get(0).getRepairNum() && 0 < bean.getNumberOutRepairPartList().get(0).getRepairNum().compareTo(BigDecimal.ZERO)) {
|
||||
thisRepairNum = thisRepairNum.add(bean.getNumberOutRepairPartList().get(0).getRepairNum());
|
||||
}
|
||||
}
|
||||
if (bean.getNumberScrapRepairPartList().size() > 0) {
|
||||
if (null != bean.getNumberScrapRepairPartList().get(0).getScrapNum() && 0 < bean.getNumberScrapRepairPartList().get(0).getScrapNum().compareTo(BigDecimal.ZERO)) {
|
||||
thisRepairNum = thisRepairNum.add(bean.getNumberScrapRepairPartList().get(0).getScrapNum());
|
||||
}
|
||||
}
|
||||
|
||||
// 比较 repairHomeInfo.getRepairNum() 和 thisRepairNum 的值
|
||||
if (repairDeviceVO != null && repairDeviceVO.getRepairNum() != null) {
|
||||
int comparisonResult = thisRepairNum.compareTo(repairDeviceVO.getRepairNum());
|
||||
|
||||
if (comparisonResult > 0) {
|
||||
// thisRepairNum 大于 repairHomeInfo.getRepairNum()
|
||||
return AjaxResult.success("维修已完成");
|
||||
}
|
||||
} else {
|
||||
// repairHomeInfo 或 repairHomeInfo.getRepairNum() 为 null 的处理
|
||||
throw new ServiceException("此维修记录不存在,请检查后提交");
|
||||
}
|
||||
}
|
||||
|
||||
// 更新维修人员信息
|
||||
if (!CollectionUtils.isEmpty(bean.getRepairList())) {
|
||||
RepairPartDetails repairPartDetails = bean.getRepairList().get(0);
|
||||
|
|
|
|||
|
|
@ -1591,4 +1591,12 @@
|
|||
</if>
|
||||
order by rpd.create_time desc
|
||||
</select>
|
||||
<select id="getRepairNumByTaskId" resultType="com.bonus.material.repair.domain.vo.RepairDeviceVO">
|
||||
SELECT rad.id,
|
||||
rad.repair_num - (rad.repaired_num + rad.scrap_num) as repairNum
|
||||
FROM repair_apply_details rad
|
||||
WHERE rad.task_id = #{taskId}
|
||||
and rad.type_id = #{typeId}
|
||||
and rad.is_ds = '0'
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue