|
@@ -22,6 +22,7 @@ import com.itextpdf.text.pdf.PdfCopy;
|
|
|
import com.itextpdf.text.pdf.PdfReader;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
+import javassist.bytecode.stackmap.BasicBlock;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.Data;
|
|
|
import net.logstash.logback.encoder.org.apache.commons.lang3.ObjectUtils;
|
|
@@ -66,6 +67,7 @@ import org.springblade.meter.mapper.*;
|
|
|
import org.springblade.meter.service.IContractMeterPeriodService;
|
|
|
import org.springblade.meter.service.IInterimPayCertificateService;
|
|
|
import org.springblade.meter.service.IMaterialStartStatementService;
|
|
|
+import org.springblade.meter.service.ITaskRepealMessageService;
|
|
|
import org.springblade.meter.service.impl.*;
|
|
|
import org.springblade.meter.utils.CollectionUtils;
|
|
|
import org.springblade.meter.utils.FileUtils;
|
|
@@ -131,6 +133,7 @@ public class TaskController extends BladeController {
|
|
|
private final MaterialMeterFormTaskMapper materialMeterFormTaskMapper;
|
|
|
private final StartPayMeterFormTaskMapper startPayMeterFormTaskMapper;
|
|
|
private final MeterPeriodMapper meterPeriodMapper;
|
|
|
+ private final ITaskRepealMessageService repealMessageService;
|
|
|
|
|
|
private final WbsTreePrivateClient wbsTreePrivateClient;
|
|
|
private final ExcelTabClient excelTabClient;
|
|
@@ -241,6 +244,11 @@ public class TaskController extends BladeController {
|
|
|
if (countMiddleMeterApplies > 0) {
|
|
|
throw new ServiceException("当前期数的数据中存在已上报的任务,操作失败");
|
|
|
}
|
|
|
+ /*校验计量单金额是否为0*/
|
|
|
+ BigDecimal reduce = middleMeterApplies.stream().map(l -> l.getMeterMoney()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ if (reduce.compareTo(BigDecimal.ZERO) == 0){
|
|
|
+ throw new ServiceException("上报金额不能为0");
|
|
|
+ }
|
|
|
|
|
|
/*获取所有中间计量申请下的清单信息*/
|
|
|
List<Long> middleMeterAppliesIds = middleMeterApplies.stream().map(MiddleMeterApply::getId).collect(Collectors.toList());
|
|
@@ -334,6 +342,12 @@ public class TaskController extends BladeController {
|
|
|
throw new ServiceException("当前期数的数据中存在已上报的任务,操作失败");
|
|
|
}
|
|
|
|
|
|
+ /*校验计量单金额是否为0*/
|
|
|
+ BigDecimal reduce = materialMeterForms.stream().map(l -> l.getMeterMoney()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ if (reduce.compareTo(BigDecimal.ZERO) == 0){
|
|
|
+ throw new ServiceException("上报金额不能为0");
|
|
|
+ }
|
|
|
+
|
|
|
List<Long> materialMeterFormsIds = materialMeterForms.stream().map(MaterialMeterForm::getId).collect(Collectors.toList());
|
|
|
|
|
|
/*复制材料计量单数据任务VO*/
|
|
@@ -399,6 +413,12 @@ public class TaskController extends BladeController {
|
|
|
throw new ServiceException("当前期数的数据中存在已上报的任务,操作失败");
|
|
|
}
|
|
|
|
|
|
+ /*校验计量单金额是否为0*/
|
|
|
+ BigDecimal reduce = startPayMeterForms.stream().map(l -> l.getMeterMoney()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ if (reduce.compareTo(BigDecimal.ZERO) == 0){
|
|
|
+ throw new ServiceException("上报金额不能为0");
|
|
|
+ }
|
|
|
+
|
|
|
List<Long> startPayMeterFormsIds = startPayMeterForms.stream().map(StartPayMeterForm::getId).collect(Collectors.toList());
|
|
|
|
|
|
/*复制开工预付款计量单数据任务VO*/
|
|
@@ -796,6 +816,9 @@ public class TaskController extends BladeController {
|
|
|
}
|
|
|
Task task = jdbcTemplate.query("SELECT * FROM u_task WHERE id = " + taskRepealDTO.getTaskId(), new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
|
|
|
if (task != null) {
|
|
|
+ //先插入任务废除通知,发生异常时会回滚
|
|
|
+ task.setMeterTaskRepealDesc(taskRepealDTO.getMeterTaskRepealDesc());
|
|
|
+ this.buildRepealMessage(task);
|
|
|
/*校验当前用户是否为当前轮次审批人*/
|
|
|
String processInstanceId = task.getProcessInstanceId();
|
|
|
List<TaskParallel> taskParallels = jdbcTemplate.query("SELECT * FROM u_task_parallel WHERE process_instance_id = '" + processInstanceId + "' ORDER BY sort", new BeanPropertyRowMapper<>(TaskParallel.class));
|
|
@@ -1003,6 +1026,27 @@ public class TaskController extends BladeController {
|
|
|
return R.fail("操作失败");
|
|
|
}
|
|
|
|
|
|
+ //创建废除提示信息,目前只通知上报人
|
|
|
+ private void buildRepealMessage(Task task){
|
|
|
+ try {
|
|
|
+ TaskRepealMessage repealMessage = new TaskRepealMessage();
|
|
|
+ repealMessage.setProjectId(Long.valueOf(task.getProjectId()));
|
|
|
+ repealMessage.setContractId(Long.valueOf(task.getContractId()));
|
|
|
+ repealMessage.setUserId(Long.valueOf(task.getReportUser()));
|
|
|
+ repealMessage.setTaskId(task.getId());
|
|
|
+ repealMessage.setTaskName(task.getTaskName());
|
|
|
+ repealMessage.setMeterTaskType(task.getMeterTaskType());
|
|
|
+ repealMessage.setTaskFlowId(task.getFixedFlowId());
|
|
|
+ repealMessage.setStartDate(LocalDate.parse(task.getStartTime()));
|
|
|
+ repealMessage.setRepealDate(LocalDate.now());
|
|
|
+ repealMessage.setRejectPersonId(AuthUtil.getUserId());
|
|
|
+ repealMessage.setRejectReason(task.getMeterTaskRepealDesc());
|
|
|
+ repealMessageService.save(repealMessage);
|
|
|
+ }catch (Exception e){
|
|
|
+ throw new ServiceException("创建废除提示信息时解析错误:"+e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 分页查询
|
|
|
*/
|