|
@@ -49,11 +49,16 @@ import org.springblade.feign.ArchiveFileTaskClient;
|
|
|
import org.springblade.manager.entity.ContractInfo;
|
|
|
import org.springblade.manager.entity.ContractRelationJlyz;
|
|
|
import org.springblade.manager.feign.FormulaClient;
|
|
|
+import org.springblade.manager.feign.ProjectClient;
|
|
|
import org.springblade.manager.vo.ReportMergeCellsConfig;
|
|
|
import org.springblade.manager.vo.ReportResult;
|
|
|
+import org.springblade.meter.config.MyJdbcTemplate;
|
|
|
import org.springblade.meter.dto.*;
|
|
|
import org.springblade.meter.entity.*;
|
|
|
+import org.springblade.meter.mapper.ContractMeterPeriodMapper;
|
|
|
import org.springblade.meter.mapper.MiddleMeterApplyMapper;
|
|
|
+import org.springblade.meter.mapper.MiddleMeterApplyTaskMapper;
|
|
|
+import org.springblade.meter.service.IContractMeterPeriodService;
|
|
|
import org.springblade.meter.service.IInterimPayCertificateService;
|
|
|
import org.springblade.meter.service.IMaterialStartStatementService;
|
|
|
import org.springblade.meter.service.impl.*;
|
|
@@ -74,6 +79,7 @@ import java.lang.reflect.Method;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.time.LocalDate;
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.time.Month;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
@@ -88,16 +94,21 @@ import java.util.stream.Collectors;
|
|
|
@Api(value = "计量任务管理相关接口", tags = "计量任务管理相关接口")
|
|
|
public class TaskController extends BladeController {
|
|
|
|
|
|
+
|
|
|
+ private final ProjectClient projectClient;
|
|
|
private final JdbcTemplate jdbcTemplate;
|
|
|
+ private final MyJdbcTemplate myJdbcTemplate;
|
|
|
private final BladeRedis bladeRedis;
|
|
|
private final TaskClient taskClient;
|
|
|
private final IUserClient iUserClient;
|
|
|
private final ArchiveFileTaskClient archiveFileTaskClient;
|
|
|
private final ContractMeterPeriodServiceImpl contractMeterPeriodService;
|
|
|
+ private final ContractMeterPeriodMapper contractMeterPeriodMapper;
|
|
|
private final MeterPeriodServiceImpl periodService;
|
|
|
private final MiddleMeterApplyServiceImpl middleMeterApplyService;
|
|
|
private final InventoryFormApplyServiceImpl inventoryFormApplyService;
|
|
|
private final MiddleMeterApplyServiceTaskImpl middleMeterApplyServiceTask;
|
|
|
+ private final MiddleMeterApplyTaskMapper middleMeterApplyTaskMapper;
|
|
|
private final InventoryFormApplyServiceTaskImpl inventoryFormApplyServiceTask;
|
|
|
private final MaterialMeterFormServiceImpl materialMeterFormService;
|
|
|
private final MaterialMeterFormServiceTaskImpl materialMeterFormServiceTask;
|
|
@@ -107,6 +118,7 @@ public class TaskController extends BladeController {
|
|
|
private final AttachmentFormServiceTaskImpl attachmentFormServiceTask;
|
|
|
private final MiddleMeterApplyMapper middleMeterApplyMapper;
|
|
|
|
|
|
+
|
|
|
private final ChangeTokenFormServiceImpl changeTokenFormService;
|
|
|
private final ChangeTokenFormServiceTaskImpl changeTokenFormServiceTask;
|
|
|
private final ChangeTokenMeterServiceImpl changeTokenMeterService;
|
|
@@ -1174,8 +1186,15 @@ public class TaskController extends BladeController {
|
|
|
/*中间计量申请,返回值增加:上报总金额,本期进度款,审计意见*/
|
|
|
if (task.getMeterTaskType() != null && task.getMeterTaskType() == 1){
|
|
|
//实时查询上报总金额
|
|
|
- BigDecimal reportAllMoney = jdbcTemplate.queryForObject("select * from s_middle_meter_apply_task where is_deleted = 0 and task_id = " + task.getId(), BigDecimal.class);
|
|
|
- vo.setReportAllMoney(reportAllMoney == null ? BigDecimal.ZERO : reportAllMoney);
|
|
|
+ BigDecimal reportAllMoney = middleMeterApplyTaskMapper.selectAllMoney(task.getId());
|
|
|
+ if (reportAllMoney == null){
|
|
|
+ throw new ServiceException("上报金额不能为0");
|
|
|
+ }
|
|
|
+ ContractMeterPeriod period = contractMeterPeriodService.getById(task.getFormDataId());
|
|
|
+ if (period == null){
|
|
|
+ throw new ServiceException("未获取到计量期信息");
|
|
|
+ }
|
|
|
+ vo.setReportAllMoney(reportAllMoney);
|
|
|
vo.setProgressMoney(task.getTaskCommonMoney() == null ? BigDecimal.ZERO : task.getTaskCommonMoney());
|
|
|
vo.setPdfUrl(task.getAttachmentPdfUrl());
|
|
|
//查看当前用户是否是第一人
|
|
@@ -1183,6 +1202,17 @@ public class TaskController extends BladeController {
|
|
|
if (currentUser.equals(firstUser)){
|
|
|
//是第一人,设置意见为1,并返回默认值字段
|
|
|
vo.setOpinionType(1);
|
|
|
+ //todo 目前直接把key写死在代码里面,后面有空再去动态获取key
|
|
|
+ Map<String,Object> tableData = new HashMap<>();
|
|
|
+ tableData.put("key_18__3_1",projectClient.getById(task.getProjectId()).getProjectName());
|
|
|
+ tableData.put("key_7__4_3",reportAllMoney);
|
|
|
+ tableData.put("key_1__5_3",LocalDate.now());
|
|
|
+ tableData.put("key_5__10_1",reportAllMoney);
|
|
|
+ //获取本期之前所有计量期金额
|
|
|
+ BigDecimal beforeMoney = contractMeterPeriodMapper.getBeforeMoney(period);
|
|
|
+ tableData.put("key_14__11_1",beforeMoney == null ? "" : beforeMoney);
|
|
|
+ tableData.put("key_10__11_3",beforeMoney == null ? reportAllMoney : beforeMoney.add(reportAllMoney));
|
|
|
+ vo.setTableData(tableData);
|
|
|
}else {
|
|
|
//不是第一人,判断PDF是否生成,生成了类型为2,没有生成类型为3
|
|
|
if (StringUtils.isNotBlank(task.getAttachmentPdfUrl())){
|