结算限制
This commit is contained in:
parent
4118bc1358
commit
1a354c7b97
|
|
@ -142,9 +142,10 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
public List<SltAgreementInfo> getSltAgreementInfo4Project(SltAgreementInfo bean) {
|
||||
Long userId = SecurityUtils.getLoginUser().getUserid();
|
||||
List<SltAgreementInfo> list = sltAgreementInfoMapper.getSltAgreementInfo4Project(bean);
|
||||
|
||||
// 删除 null 对象
|
||||
list.removeIf(Objects::isNull);
|
||||
|
||||
list.removeIf(info -> info.getSltStatus() != null && info.getSltStatus().equals("2"));
|
||||
// 遍历列表,设置默认值
|
||||
list.forEach(obj -> {
|
||||
if (obj.getIsSlt() == null) { obj.setIsSlt("0");}
|
||||
|
|
@ -634,6 +635,9 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
if (agreementId == null || agreementId <= 0) {
|
||||
throw new ServiceException("协议id错误");
|
||||
}
|
||||
|
||||
|
||||
|
||||
int theSettledCount = sltAgreementInfoMapper.selectTheSettledCountByAgreementIdType(sltInfoVo.getSettlementType(), agreementId);
|
||||
if (sltInfoVo.getAgreementIds().length <= 1) {
|
||||
// 如果不是批量提交,已结算的费用类型就直接提示已结算
|
||||
|
|
@ -654,6 +658,12 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
SltAgreementInfo info = new SltAgreementInfo();
|
||||
info.setAgreementId(agreementId);
|
||||
|
||||
//获取该协议下的所有维修任务
|
||||
List<TmTask> repairList = taskMapper.getTaskIdByAgreementId(info);
|
||||
if(repairList != null && !repairList.isEmpty()){
|
||||
throw new ServiceException("结算中存在维修和报废未完成的任务,无法结算!");
|
||||
}
|
||||
|
||||
// 获取各项成本并累加
|
||||
totalCost = totalCost.add(getLeaseList(info).stream()
|
||||
.map(SltAgreementInfo::getCosts)
|
||||
|
|
|
|||
|
|
@ -181,4 +181,6 @@ public interface TmTaskMapper {
|
|||
* @return
|
||||
*/
|
||||
List<RepairApplyDetails> selectBackApplyInfoById(BackApplyInfo backApplyInfo);
|
||||
|
||||
List<TmTask> getTaskIdByAgreementId(SltAgreementInfo info);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -270,4 +270,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
WHERE
|
||||
back_id = #{id}
|
||||
</select>
|
||||
<select id="getTaskIdByAgreementId" resultType="com.bonus.material.task.domain.TmTask">
|
||||
select
|
||||
tt.task_id as taskId,
|
||||
tt.task_type as taskType,
|
||||
tt.task_status as taskStatus
|
||||
|
||||
from tm_task tt
|
||||
left join tm_task_agreement tta on tta.task_id = tt.task_id
|
||||
where tta.agreement_id = #{agreementId} and tt.task_type = 4 and tt.task_status != 1
|
||||
</select>
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue