|
@@ -87,6 +87,7 @@ import org.springblade.websocket.feign.WebSocketClient;
|
|
|
import org.springblade.websocket.vo.UserInfoVO;
|
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
+import org.springframework.jdbc.core.SingleColumnRowMapper;
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.transaction.annotation.Isolation;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -204,7 +205,7 @@ public class TaskController extends BladeController {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- bigDecimal = middleMeterApplyTaskMapper.selectSubmitApprovalMoney(Long.valueOf(contractId), Long.valueOf(id));
|
|
|
+ bigDecimal = middleMeterApplyTaskMapper.selectAllMoney(Long.valueOf(contractId), Long.valueOf(id));
|
|
|
}
|
|
|
Map<String,Object> map=new HashMap<>();
|
|
|
map.put("name",name);
|
|
@@ -332,37 +333,45 @@ public class TaskController extends BladeController {
|
|
|
Long id = this.updateStatement(Long.valueOf(approvalDTO.getPeriodId()), 1, 1);
|
|
|
//修改报表项
|
|
|
if(ObjectUtil.isNotEmpty(id)){
|
|
|
- InterimPayCertificateItem item = new InterimPayCertificateItem();
|
|
|
- item.setId(SnowFlakeUtil.getId());
|
|
|
- item.setCertificateId(id);
|
|
|
- item.setChapterSeq("施工单位送审金额");
|
|
|
- item.setCurrentPeriodPay(approvalDTO.getSubmitApprovalMoney()+"");
|
|
|
- String sql="Select * from s_contract_meter_period where contract_id="+approvalDTO.getContractId()+" and is_deleted=0"+" order by start_date";
|
|
|
- List<ContractMeterPeriod> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(ContractMeterPeriod.class));
|
|
|
- if (list.size()>0) {
|
|
|
- //上期末施工单位金额
|
|
|
- BigDecimal shangqimo=BigDecimal.ZERO;
|
|
|
- OptionalInt index= IntStream.range(0, list.size())
|
|
|
- .filter(i -> list.get(i).getId().equals(approvalDTO.getPeriodId()))
|
|
|
- .findFirst();
|
|
|
- if(index.isPresent()){
|
|
|
- int j = index.getAsInt();
|
|
|
- //j>0表示前面有数据
|
|
|
- if(j>0){
|
|
|
- //上一期的到本期末
|
|
|
- BigDecimal bigDecimal = middleMeterApplyTaskMapper.selectSubmitApprovalMoneyPre(approvalDTO.getContractId(), list.get(j - 1).getId());
|
|
|
- if(ObjectUtil.isNotEmpty(bigDecimal)){
|
|
|
- shangqimo=shangqimo.add(bigDecimal);
|
|
|
+ Boolean flag=false;
|
|
|
+ InterimPayCertificateItem item = interimPayCertificateItemService.selectItem("施工单位送审金额",id);
|
|
|
+ if(item.getId()==null){
|
|
|
+ item.setId(SnowFlakeUtil.getId());
|
|
|
+ flag=true;
|
|
|
+ }
|
|
|
+ item.setCertificateId(id);
|
|
|
+ item.setChapterSeq("施工单位送审金额");
|
|
|
+ item.setCurrentPeriodPay(approvalDTO.getSubmitApprovalMoney()+"");
|
|
|
+ String sql="Select * from s_contract_meter_period where contract_id="+approvalDTO.getContractId()+" and is_deleted=0"+" order by start_date";
|
|
|
+ List<ContractMeterPeriod> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(ContractMeterPeriod.class));
|
|
|
+ if (list.size()>0) {
|
|
|
+ //上期末施工单位金额
|
|
|
+ BigDecimal shangqimo=BigDecimal.ZERO;
|
|
|
+ OptionalInt index= IntStream.range(0, list.size())
|
|
|
+ .filter(i -> list.get(i).getId().equals(approvalDTO.getPeriodId()))
|
|
|
+ .findFirst();
|
|
|
+ if(index.isPresent()){
|
|
|
+ int j = index.getAsInt();
|
|
|
+ //j>0表示前面有数据
|
|
|
+ if(j>0){
|
|
|
+ //上一期的到本期末
|
|
|
+ BigDecimal bigDecimal = middleMeterApplyTaskMapper.selectSubmitApprovalMoneyPre(approvalDTO.getContractId(), list.get(j - 1).getId());
|
|
|
+ if(ObjectUtil.isNotEmpty(bigDecimal)){
|
|
|
+ shangqimo=shangqimo.add(bigDecimal);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ if(shangqimo.compareTo(BigDecimal.ZERO)!=0){
|
|
|
+ item.setPreviousPeriodEndPay(shangqimo+"");
|
|
|
+ }
|
|
|
+ item.setCurrentPeriodEndPay(shangqimo.add(approvalDTO.getSubmitApprovalMoney())+"");
|
|
|
}
|
|
|
- if(shangqimo.compareTo(BigDecimal.ZERO)!=0){
|
|
|
- item.setPreviousPeriodEndPay(shangqimo+"");
|
|
|
+ item.setSort(24);
|
|
|
+ if(flag){
|
|
|
+ interimPayCertificateItemService.save(item);
|
|
|
+ }else {
|
|
|
+ interimPayCertificateItemService.updateById(item);
|
|
|
}
|
|
|
- item.setCurrentPeriodEndPay(shangqimo.add(approvalDTO.getSubmitApprovalMoney())+"");
|
|
|
- }
|
|
|
- item.setSort(24);
|
|
|
- interimPayCertificateItemService.saveOrUpdate(item);
|
|
|
}
|
|
|
return R.data(200, aopParamsSet, "操作成功");
|
|
|
}
|
|
@@ -3619,6 +3628,7 @@ public class TaskController extends BladeController {
|
|
|
} else if (task.getMeterTaskType().equals(2)) {
|
|
|
List<MaterialMeterFormTask> materialMeterFormTasks = materialMeterFormServiceTask.getBaseMapper().selectList(Wrappers.<MaterialMeterFormTask>lambdaQuery().eq(MaterialMeterFormTask::getMeterPeriodId, task.getFormDataId()).eq(MaterialMeterFormTask::getTaskId, dto.getTaskId()));
|
|
|
fileIds = materialMeterFormTasks.stream().map(l -> l.getId()).collect(Collectors.toList());
|
|
|
+ List<MaterialMeterForm> forms = jdbcTemplate.query("Select * from s_material_meter_form WHERE meter_period_id = " + task.getFormDataId(), new BeanPropertyRowMapper<>(MaterialMeterForm.class));
|
|
|
jdbcTemplate.execute("DELETE FROM s_material_meter_form WHERE meter_period_id = " + task.getFormDataId());
|
|
|
|
|
|
List<MaterialMeterForm> materialMeterForms = BeanUtil.copyProperties(materialMeterFormTasks, MaterialMeterForm.class);
|
|
@@ -3627,6 +3637,14 @@ public class TaskController extends BladeController {
|
|
|
form.setApproveStatus(3);
|
|
|
}
|
|
|
}
|
|
|
+ for (MaterialMeterForm form : forms) {
|
|
|
+ for (MaterialMeterForm meterForm : materialMeterForms) {
|
|
|
+ if(meterForm.getId()==form.getId()){
|
|
|
+ meterForm.setPrice(form.getPrice());
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
materialMeterFormService.saveBatch(materialMeterForms, 1000);
|
|
|
|
|
|
/*材料计量期状态修改=已审批*/
|
|
@@ -3763,6 +3781,26 @@ public class TaskController extends BladeController {
|
|
|
if (list.size() > 1){
|
|
|
return R.fail("撤销失败:当前计量期查询出多条任务,请联系管理员");
|
|
|
}
|
|
|
+ if(type==1){
|
|
|
+ String slectMaterialStart="Select * from s_interim_pay_certificate where is_deleted=0 and material_period_ids like '%"+periodId+"%'";
|
|
|
+ List<InterimPayCertificate> query = jdbcTemplate.query(slectMaterialStart, new BeanPropertyRowMapper<>(InterimPayCertificate.class));
|
|
|
+ if(query.size()>0){
|
|
|
+ InterimPayCertificate cate = query.get(0);
|
|
|
+ if(cate.getMaterialPeriodIds()!=null&&!cate.getMaterialPeriodIds().equals("")){
|
|
|
+ return R.fail("当前材料期已被“中间计量第"+cate.getPeriodNumber()+"期”关联,请先取消关联后撤回");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(type==2){
|
|
|
+ String slectMaterialStart1="Select * from s_interim_pay_certificate where is_deleted=0 and start_period_ids like '%"+periodId+"%'";
|
|
|
+ List<InterimPayCertificate> query1 = jdbcTemplate.query(slectMaterialStart1, new BeanPropertyRowMapper<>(InterimPayCertificate.class));
|
|
|
+ if(query1.size()>0){
|
|
|
+ InterimPayCertificate cate = query1.get(0);
|
|
|
+ if(cate.getStartPeriodIds()!=null&&!cate.getStartPeriodIds().equals("")){
|
|
|
+ return R.fail("当前开工预付期已被“中间计量第"+cate.getPeriodNumber()+"期”关联,请先取消关联后撤回");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
Task task = list.get(0);
|
|
|
String deleteMapTask1 = null;
|
|
|
String deleteMapTask2 = null;
|