重庆结算驳回功能开发

This commit is contained in:
liang.chao 2024-09-13 14:30:06 +08:00
parent 3a1d073a68
commit d8dead113a
4 changed files with 40 additions and 21 deletions

View File

@ -135,4 +135,6 @@ public class AgreementInfo extends BaseEntity {
@ApiModelProperty(value = "导出选中列表") @ApiModelProperty(value = "导出选中列表")
private List<Long> dataCondition; private List<Long> dataCondition;
private Integer isCommit;
} }

View File

@ -34,6 +34,7 @@ public interface SltAgreementInfoMapper {
int insApply(SltAgreementApply apply); int insApply(SltAgreementApply apply);
int insRelation(SltAgreementRelation relation); int insRelation(SltAgreementRelation relation);
int upRelation(SltAgreementRelation relation);
int insDetails(SltAgreementInfo info); int insDetails(SltAgreementInfo info);

View File

@ -88,27 +88,34 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
public int settlementReview(SltAgreementApply apply) { public int settlementReview(SltAgreementApply apply) {
Long userid = SecurityUtils.getLoginUser().getUserid(); Long userid = SecurityUtils.getLoginUser().getUserid();
apply.setAuditor(String.valueOf(userid)); apply.setAuditor(String.valueOf(userid));
int i = sltAgreementInfoMapper.updateRelation(apply); int j;
int j = 0; if ("2".equals(apply.getStatus())) {
if (i > 0) { // 驳回
List<SltAgreementRelation> relations = sltAgreementInfoMapper.getRelations(apply); int i = sltAgreementInfoMapper.updateRelation(apply);
List<AgreementInfo> infos = new ArrayList<>();
for (SltAgreementRelation bean : relations) {
AgreementInfo info = new AgreementInfo();
info.setAgreementId(Long.valueOf(bean.getAgreementId()));
infos.add(info);
}
List<SltAgreementInfo> loseList = getLoseList(infos);
for (SltAgreementInfo agreementInfo : loseList) {
if (agreementInfo.getMaId() != null && agreementInfo.getMaId().isEmpty()) {
agreementInfo.setStatus("103");
sltAgreementInfoMapper.updateMaStatus(agreementInfo);
}
}
j = sltAgreementInfoMapper.updateApply(apply); j = sltAgreementInfoMapper.updateApply(apply);
} else { } else {
throw new ServiceException("结算审核失败"); // 通过
//throw new ServiceException(ExceptionDict.SETTLEMENT_REVIEW_ERROR_MSG,ExceptionDict.SETTLEMENT_REVIEW_ERROR); int i = sltAgreementInfoMapper.updateRelation(apply);
if (i > 0) {
List<SltAgreementRelation> relations = sltAgreementInfoMapper.getRelations(apply);
List<AgreementInfo> infos = new ArrayList<>();
for (SltAgreementRelation bean : relations) {
AgreementInfo info = new AgreementInfo();
info.setAgreementId(Long.valueOf(bean.getAgreementId()));
infos.add(info);
}
List<SltAgreementInfo> loseList = getLoseList(infos);
for (SltAgreementInfo agreementInfo : loseList) {
if (agreementInfo.getMaId() != null && agreementInfo.getMaId().isEmpty()) {
agreementInfo.setStatus("103");
sltAgreementInfoMapper.updateMaStatus(agreementInfo);
}
}
j = sltAgreementInfoMapper.updateApply(apply);
} else {
throw new ServiceException("结算审核失败");
//throw new ServiceException(ExceptionDict.SETTLEMENT_REVIEW_ERROR_MSG,ExceptionDict.SETTLEMENT_REVIEW_ERROR);
}
} }
return j; return j;
} }
@ -181,6 +188,7 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
list.add(info); list.add(info);
relation.setApplyId(String.valueOf(apply.getId())); relation.setApplyId(String.valueOf(apply.getId()));
sltAgreementInfoMapper.updateInfoStatus(relation.getAgreementId()); sltAgreementInfoMapper.updateInfoStatus(relation.getAgreementId());
sltAgreementInfoMapper.upRelation(relation);
int j = sltAgreementInfoMapper.insRelation(relation); int j = sltAgreementInfoMapper.insRelation(relation);
if (j < 0) { if (j < 0) {
throw new ServiceException("新增协议结算记录失败"); throw new ServiceException("新增协议结算记录失败");

View File

@ -91,11 +91,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where agreement_id = #{agreementId} where agreement_id = #{agreementId}
and type_id = #{typeId} and type_id = #{typeId}
</update> </update>
<delete id="upRelation">
update slt_agreement_relation
set is_commit = 1
where agreement_id = #{agreementId}
</delete>
<select id="getSltAgreementInfo" resultType="com.bonus.sgzb.material.domain.AgreementInfo"> <select id="getSltAgreementInfo" resultType="com.bonus.sgzb.material.domain.AgreementInfo">
SELECT bai.agreement_id, bai.agreement_code, contract_code,file_url ,file_name,sign_time, SELECT bai.agreement_id, bai.agreement_code, contract_code,file_url ,file_name,sign_time,
bui.unit_id,bui.unit_name , bp.lot_id as projectId , bp.lot_name as projectName, bui.unit_id,bui.unit_name , bp.lot_id as projectId , bp.lot_name as projectName,
plan_start_time,lease_day,auth_person,phone,saa.remark,bai.protocol,sar.cost as cost, plan_start_time,lease_day,auth_person,phone,saa.remark,bai.protocol,sar.cost as cost,sar.is_commit as isCommit,
case when sar.id is null then '1' when sar.status = '0' then '2' when sar.status = '1' then '3' end as sltStatus case when sar.id is null then '1' when sar.status = '0' then '2' when sar.status = '1' then '3' when sar.status = '2' then '4' end as sltStatus
FROM bm_agreement_info bai FROM bm_agreement_info bai
LEFT JOIN bm_project_lot bp ON bp.lot_id = bai.project_id LEFT JOIN bm_project_lot bp ON bp.lot_id = bai.project_id
LEFT JOIN bm_unit_info bui ON bui.unit_id = bai.unit_id LEFT JOIN bm_unit_info bui ON bui.unit_id = bai.unit_id
@ -118,6 +123,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<when test="sltStatus == '3'.toString()"> <when test="sltStatus == '3'.toString()">
and sar.status = '1' and sar.status = '1'
</when> </when>
<when test="sltStatus == '4'.toString()">
and sar.status = '2'
</when>
</choose> </choose>
ORDER BY sltStatus,bai.agreement_id desc ORDER BY sltStatus,bai.agreement_id desc
</select> </select>