|
|
@@ -15,6 +15,7 @@ import com.usky.vpp.service.VppContractService;
|
|
|
import com.usky.vpp.service.vo.VppContractRequestVO;
|
|
|
import com.usky.vpp.service.vo.VppContractResponseVO;
|
|
|
import com.usky.vpp.util.VppAuditHelper;
|
|
|
+import com.usky.vpp.util.VppContractStatusHelper;
|
|
|
import com.usky.vpp.util.VppFieldValidator;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -73,7 +74,8 @@ public class VppContractServiceImpl implements VppContractService {
|
|
|
contract.setTemplateId(vo.getTemplateId());
|
|
|
contract.setContractType(vo.getContractType());
|
|
|
contract.setContractName(vo.getContractName());
|
|
|
- contract.setContractStatus(vo.getContractStatus());
|
|
|
+ contract.setContractStatus(VppContractStatusHelper.resolveForPersist(
|
|
|
+ vo.getContractStatus(), vo.getEffectiveDate(), vo.getExpireDate()));
|
|
|
contract.setSignDate(vo.getSignDate());
|
|
|
contract.setEffectiveDate(vo.getEffectiveDate());
|
|
|
contract.setExpireDate(vo.getExpireDate());
|
|
|
@@ -117,9 +119,6 @@ public class VppContractServiceImpl implements VppContractService {
|
|
|
if (StringUtils.isNotBlank(vo.getContractName())) {
|
|
|
existingRecord.setContractName(vo.getContractName());
|
|
|
}
|
|
|
- if (vo.getContractStatus() != null) {
|
|
|
- existingRecord.setContractStatus(vo.getContractStatus());
|
|
|
- }
|
|
|
if (vo.getSignDate() != null) {
|
|
|
existingRecord.setSignDate(vo.getSignDate());
|
|
|
}
|
|
|
@@ -145,6 +144,11 @@ public class VppContractServiceImpl implements VppContractService {
|
|
|
existingRecord.setRemark(vo.getRemark());
|
|
|
}
|
|
|
|
|
|
+ Integer requestedStatus = vo.getContractStatus() != null
|
|
|
+ ? vo.getContractStatus() : existingRecord.getContractStatus();
|
|
|
+ existingRecord.setContractStatus(VppContractStatusHelper.resolveForPersist(
|
|
|
+ requestedStatus, existingRecord.getEffectiveDate(), existingRecord.getExpireDate()));
|
|
|
+
|
|
|
VppAuditHelper.fillUpdate(existingRecord);
|
|
|
|
|
|
int result = vppContractMapper.updateById(existingRecord);
|
|
|
@@ -164,9 +168,9 @@ public class VppContractServiceImpl implements VppContractService {
|
|
|
.le(signDateEnd != null, VppContract::getSignDate, signDateEnd)
|
|
|
.eq(templateId != null, VppContract::getTemplateId, templateId)
|
|
|
.eq(contractType != null, VppContract::getContractType, contractType)
|
|
|
- .eq(customerId != null, VppContract::getCustomerId, customerId)
|
|
|
- .eq(contractStatus != null, VppContract::getContractStatus, contractStatus)
|
|
|
- .orderByDesc(VppContract::getCreateTime);
|
|
|
+ .eq(customerId != null, VppContract::getCustomerId, customerId);
|
|
|
+ VppContractStatusHelper.applyStatusFilter(queryWrapper, contractStatus);
|
|
|
+ queryWrapper.orderByDesc(VppContract::getCreateTime);
|
|
|
page = vppContractMapper.selectPage(page, queryWrapper);
|
|
|
|
|
|
List<VppContract> records = page.getRecords();
|
|
|
@@ -197,7 +201,8 @@ public class VppContractServiceImpl implements VppContractService {
|
|
|
vo.setTemplateName(templateNameMap.get(entity.getTemplateId()));
|
|
|
vo.setContractType(entity.getContractType());
|
|
|
vo.setContractName(entity.getContractName());
|
|
|
- vo.setContractStatus(entity.getContractStatus());
|
|
|
+ vo.setContractStatus(VppContractStatusHelper.resolve(
|
|
|
+ entity.getContractStatus(), entity.getEffectiveDate(), entity.getExpireDate()));
|
|
|
vo.setSignDate(entity.getSignDate());
|
|
|
vo.setEffectiveDate(entity.getEffectiveDate());
|
|
|
vo.setExpireDate(entity.getExpireDate());
|