Kaynağa Gözat

计量bug

Signed-off-by: liuyc <56808083@qq.com>
liuyc 1 yıl önce
ebeveyn
işleme
b0986d1ac5

+ 5 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/AttachmentFormTask.java

@@ -48,6 +48,11 @@ public class AttachmentFormTask extends BaseEntity {
      */
     @ApiModelProperty(value = "附件pdf地址")
     private String filePdfUrl;
+    /**
+     * 中间计量申请专用字段 1中间计量附件,2变更令附件
+     */
+    @ApiModelProperty(value = "中间计量申请专用字段 1中间计量附件,2变更令附件")
+    private Integer fileType;
 
 
 }

+ 5 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MiddleMeterApplyTask.java

@@ -87,6 +87,11 @@ public class MiddleMeterApplyTask extends BaseEntity {
      */
     @ApiModelProperty(value = "变更令编号")
     private String changeTokenNumber;
+    /**
+     * 变更令id
+     */
+    @ApiModelProperty(value = "变更令id,逗号拼接")
+    private String changeTokenIds;
     /**
      * 图片地址
      */

+ 3 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/MiddleMeterApplyTaskVO.java

@@ -10,4 +10,7 @@ public class MiddleMeterApplyTaskVO extends MiddleMeterApplyTask {
     @ApiModelProperty(value = "是否已批注,1=是,0=否")
     private Integer isComment;
 
+    @ApiModelProperty(value = "合同计量期名称")
+    private String contractPeriodIdName;
+
 }

+ 2 - 2
blade-service/blade-business/src/main/java/org/springblade/business/controller/InformationWriteQueryController.java

@@ -1089,7 +1089,7 @@ public class InformationWriteQueryController extends BladeController {
                         /*修改任务副表u_task_parallel全部废除*/
                         List<Long> collect = linkList.stream().map(TaskParallel::getId).collect(Collectors.toList());
                         if (collect.size() > 0) {
-                            jdbcTemplate.execute("UPDATE u_task_parallel SET status = 3 WHERE id in(" + StringUtils.join(collect, ",") + ")");
+                            jdbcTemplate.execute("UPDATE u_task_parallel SET status = 3,e_visa_content = '废除成功' WHERE id in(" + StringUtils.join(collect, ",") + ")");
                         }
 
                         for (InformationQuery query : queries) {
@@ -1134,7 +1134,7 @@ public class InformationWriteQueryController extends BladeController {
                                 }
                             }
 
-                            if (linkList != null && linkList.size() > 0) {
+                            if (linkList.size() > 0) {
                                 ProjectInfo projectInfo = this.projectClient.queryProjectList(Func.toStrList(task.getProjectId())).get(0);
                                 ContractInfo contractInfo = this.contractClient.getContractById(Long.parseLong(task.getContractId()));
 

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TaskServiceImpl.java

@@ -580,7 +580,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
     }
 
 
-    @Scheduled(cron = "0 */1 * * * ?")
+    //@Scheduled(cron = "0 */1 * * * ?")
     public void SignInfo() {
         //执行代码
         logger.debug("扫描开始");

+ 6 - 2
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/MidPayItemController.java

@@ -491,8 +491,12 @@ public class MidPayItemController extends BladeController {
     @ApiOperation(value = "合同段中期支付项引用项目级数据", notes = "传入数据id逗号拼接ids、projectId、contractId")
     public R<Object> contractReferenced(@RequestParam String ids, @RequestParam Long projectId, @RequestParam Long contractId) {
         if (StringUtils.isNotEmpty(ids)) {
-            List<Long> projectIds = Func.toLongList(ids);
-            List<MeterMidPayItemProject> meterMidPayItemProjects = payItemProjectService.getBaseMapper().selectList(Wrappers.<MeterMidPayItemProject>lambdaQuery().in(MeterMidPayItemProject::getId, projectIds).orderByAsc(MeterMidPayItemProject::getCreateTime));
+            List<Long> projectDataIds = Func.toLongList(ids);
+            List<MeterMidPayItemProject> meterMidPayItemProjects = payItemProjectService.getBaseMapper().selectList(Wrappers.<MeterMidPayItemProject>lambdaQuery().in(MeterMidPayItemProject::getId, projectDataIds).orderByAsc(MeterMidPayItemProject::getCreateTime));
+
+            /*List<MeterMidPayItemRelation> meterMidPayItemProjectsRelation = jdbcTemplate.query("SELECT * FROM s_meter_mid_pay_item_relation WHERE mid_pay_id in(" + ids + ")", new BeanPropertyRowMapper<>(MeterMidPayItemRelation.class));
+            List<MeterMidPayItemContract> meterMidPayItemContractsRelation = new ArrayList<>();*/
+
             List<MeterMidPayItemContract> meterMidPayItemContracts = new ArrayList<>();
             for (MeterMidPayItemProject projectPay : meterMidPayItemProjects) {
                 MeterMidPayItemContract contractPay = BeanUtil.copyProperties(projectPay, MeterMidPayItemContract.class);

+ 110 - 17
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/TaskController.java

@@ -1070,11 +1070,18 @@ public class TaskController extends BladeController {
         if (task != null) {
             if (task.getMeterTaskType().equals(1)) {
                 MiddleMeterApplyTask middleMeterApplyTask = middleMeterApplyServiceTask.getById(dataId);
-                vo.setBasicsInfo(middleMeterApplyTask);
-
-                /*清单信息*/
-                List<MeterInventoryVO> formToTask = middleMeterApplyMapper.getFormCopy(Long.parseLong(dataId), middleMeterApplyTask.getContractId(), middleMeterApplyTask.getContractUnitId());
-                vo.setAssociatedDataInfoList(formToTask);
+                MiddleMeterApplyTaskVO middleMeterApplyTaskVO = BeanUtil.copyProperties(middleMeterApplyTask, MiddleMeterApplyTaskVO.class);
+                if (middleMeterApplyTaskVO != null) {
+                    ContractMeterPeriod contractMeterPeriod = contractMeterPeriodService.getById(middleMeterApplyTaskVO.getContractPeriodId());
+                    if (contractMeterPeriod != null) {
+                        middleMeterApplyTaskVO.setContractPeriodIdName(contractMeterPeriod.getPeriodNumber());
+                        vo.setBasicsInfo(middleMeterApplyTaskVO);
+
+                        /*清单信息*/
+                        List<MeterInventoryVO> formToTask = middleMeterApplyMapper.getFormCopy(Long.parseLong(dataId), middleMeterApplyTask.getContractId(), middleMeterApplyTask.getContractUnitId());
+                        vo.setAssociatedDataInfoList(formToTask);
+                    }
+                }
 
             } else if (task.getMeterTaskType().equals(2)) {
                 MaterialMeterFormTask materialMeterFormTask = materialMeterFormServiceTask.getById(dataId);
@@ -1147,11 +1154,31 @@ public class TaskController extends BladeController {
 
                         BigDecimal updatedMeterMoney = meterMoney.subtract(result); //相减
 
-                        String updateSql = "UPDATE s_middle_meter_apply_task SET meter_money = ? WHERE id = ?";
-                        Object[] params = {updatedMeterMoney, inventoryFormApplyTask.getMiddleMeterId()};
-                        jdbcTemplate.update(updateSql, params);
+                        /*获取当前节点变更令*/
+                        MiddleMeterTokenVO nodeToken = middleMeterApplyService.getNodeToken(Long.parseLong(task.getContractId()), middleMeterApplyTask.getContractUnitId(),
+                                inventoryFormApplyTask.getContractFormId().toString(), new SimpleDateFormat("yyyy-MM-dd").format(middleMeterApplyTask.getBusinessDate()));
+
+                        if (nodeToken != null) {//TODO
+                            /*修改中间计量申请金额,变更令id、编号、以及文件信息*/
+                            String updateSql = "UPDATE s_middle_meter_apply_task SET meter_money = ?,change_token_number = ?,change_token_ids = ? WHERE id = ?";
+                            Object[] params = {updatedMeterMoney, nodeToken.getChangeTokenNumber(), nodeToken.getChangeTokenIds(), inventoryFormApplyTask.getMiddleMeterId()};
+                            jdbcTemplate.update(updateSql, params);
 
-                        return R.data(200, updatedMeterMoney, "操作成功");
+                            /*删除该中间计量的变更令附件*/
+                            jdbcTemplate.execute("DELETE FROM s_attachment_form_task WHERE file_type = 2 AND master_id = " + dto.getDataId());
+
+                            /*新增*/
+                            List<AttachmentForm> files = nodeToken.getFiles();
+                            List<AttachmentFormTask> attachmentFormTasks = BeanUtil.copyProperties(files, AttachmentFormTask.class);
+                            for (AttachmentFormTask attachmentFormTask : attachmentFormTasks) {
+                                attachmentFormTask.setMasterId(dto.getDataId());
+                                attachmentFormTask.setTaskId(dto.getTaskId());
+                                attachmentFormTask.setFileType(2);
+                            }
+                            attachmentFormServiceTask.saveBatch(attachmentFormTasks);
+
+                            return R.data(200, updatedMeterMoney, "操作成功");
+                        }
                     }
                 }
 
@@ -1250,8 +1277,8 @@ public class TaskController extends BladeController {
                     BigDecimal totalSum = BigDecimal.ZERO;
                     for (MeterInventoryVO meterInventoryVO : formToTask) {
                         BigDecimal currentMeterTotal = meterInventoryVO.getCurrentMeterTotal();
-                        BigDecimal currentMeterMoney = meterInventoryVO.getCurrentMeterMoney();
-                        BigDecimal product = currentMeterTotal.multiply(currentMeterMoney);
+                        BigDecimal currentPrice = meterInventoryVO.getCurrentPrice();
+                        BigDecimal product = currentMeterTotal.multiply(currentPrice);
                         totalSum = totalSum.add(product);
                     }
 
@@ -1318,12 +1345,39 @@ public class TaskController extends BladeController {
                 for (InventoryFormApplyTask formApplyTask : formAppliesTask) {
                     currentMeterMoneyTotal = currentMeterMoneyTotal.add(formApplyTask.getCurrentMeterMoney());
                 }
-                inventoryFormApplyServiceTask.saveBatch(formAppliesTask);
 
-                /*修改计量单当前总金额*/
-                String updateSql = "UPDATE s_middle_meter_apply_task SET meter_money = ? WHERE id = ?";
-                Object[] params = {currentMeterMoneyTotal, middleMeterApplyTask.getId()};
-                jdbcTemplate.update(updateSql, params);
+                /*获取所有清单ids*/
+                List<Long> collect = formAppliesTask.stream().map(InventoryFormApplyTask::getContractFormId).collect(Collectors.toList());
+
+                /*获取当前节点变更令*/
+                MiddleMeterTokenVO nodeToken = middleMeterApplyService.getNodeToken(Long.parseLong(task.getContractId()), middleMeterApplyTask.getContractUnitId(),
+                        StringUtils.join(collect, ","), new SimpleDateFormat("yyyy-MM-dd").format(middleMeterApplyTask.getBusinessDate()));
+
+                if (nodeToken != null) {//TODO
+
+                    /*入库*/
+                    inventoryFormApplyServiceTask.saveBatch(formAppliesTask);
+
+                    /*修改中间计量申请金额,变更令id、编号、以及文件信息*/
+                    String updateSql = "UPDATE s_middle_meter_apply_task SET meter_money = ?,change_token_number = ?,change_token_ids = ? WHERE id = ?";
+                    Object[] params = {currentMeterMoneyTotal, nodeToken.getChangeTokenNumber(), nodeToken.getChangeTokenIds(), middleMeterApplyTask.getId()};
+                    jdbcTemplate.update(updateSql, params);
+
+                    /*删除该中间计量的变更令附件*/
+                    jdbcTemplate.execute("DELETE FROM s_attachment_form_task WHERE file_type = 2 AND master_id = " + dto.getDataId());
+
+                    /*新增*/
+                    List<AttachmentForm> files = nodeToken.getFiles();
+                    List<AttachmentFormTask> attachmentFormTasks = BeanUtil.copyProperties(files, AttachmentFormTask.class);
+                    for (AttachmentFormTask attachmentFormTask : attachmentFormTasks) {
+                        attachmentFormTask.setMasterId(dto.getDataId());
+                        attachmentFormTask.setTaskId(dto.getTaskId());
+                        attachmentFormTask.setFileType(2);
+                    }
+                    attachmentFormServiceTask.saveBatch(attachmentFormTasks);
+
+                    return R.data(200, currentMeterMoneyTotal, "操作成功");
+                }
 
                 return R.data(200, formList, "操作成功");
             }
@@ -1565,6 +1619,7 @@ public class TaskController extends BladeController {
                     file.setContractId(Long.parseLong(task.getContractId()));
                     file.setMasterId(dto.getDataId());
                     file.setTaskId(dto.getTaskId());
+                    file.setFileType(1);
                 }
                 attachmentFormServiceTask.saveOrUpdateBatch(fileList);
                 return R.success("操作成功");
@@ -1787,6 +1842,7 @@ public class TaskController extends BladeController {
             List<MiddleMeterApplyTask> middleMeterApplyTasks = middleMeterApplyServiceTask.getBaseMapper().selectList(Wrappers.<MiddleMeterApplyTask>lambdaQuery()
                     .eq(MiddleMeterApplyTask::getContractPeriodId, formDataId)
                     .eq(MiddleMeterApplyTask::getTaskId, dto.getTaskId())
+                    .eq(MiddleMeterApplyTask::getStatus, 1)
             );
             List<Long> middleMeterApplyTasksIds = middleMeterApplyTasks.stream().map(MiddleMeterApplyTask::getId).collect(Collectors.toList());
             if (middleMeterApplyTasksIds.size() > 0) {
@@ -1800,6 +1856,7 @@ public class TaskController extends BladeController {
             List<InventoryFormApplyTask> inventoryFormAppliesTasks = inventoryFormApplyServiceTask.getBaseMapper().selectList(Wrappers.<InventoryFormApplyTask>lambdaQuery()
                     .eq(InventoryFormApplyTask::getContractPeriodId, formDataId)
                     .eq(InventoryFormApplyTask::getTaskId, dto.getTaskId())
+                    .eq(InventoryFormApplyTask::getStatus, 1)
             );
             List<Long> inventoryFormAppliesTasksIds = inventoryFormAppliesTasks.stream().map(InventoryFormApplyTask::getId).collect(Collectors.toList());
             if (inventoryFormAppliesTasksIds.size() > 0) {
@@ -1814,6 +1871,7 @@ public class TaskController extends BladeController {
             List<MaterialMeterFormTask> materialMeterFormTasks = materialMeterFormServiceTask.getBaseMapper().selectList(Wrappers.<MaterialMeterFormTask>lambdaQuery()
                     .eq(MaterialMeterFormTask::getMeterPeriodId, formDataId)
                     .eq(MaterialMeterFormTask::getTaskId, dto.getTaskId())
+                    .eq(MaterialMeterFormTask::getStatus, 1)
             );
             List<Long> ids = materialMeterFormTasks.stream().map(MaterialMeterFormTask::getId).collect(Collectors.toList());
             if (ids.size() > 0) {
@@ -1827,6 +1885,7 @@ public class TaskController extends BladeController {
             List<StartPayMeterFormTask> startPayMeterFormTasks = startPayMeterFormServiceTask.getBaseMapper().selectList(Wrappers.<StartPayMeterFormTask>lambdaQuery()
                     .eq(StartPayMeterFormTask::getMeterPeriodId, formDataId)
                     .eq(StartPayMeterFormTask::getTaskId, dto.getTaskId())
+                    .eq(StartPayMeterFormTask::getStatus, 1)
             );
             List<Long> ids = startPayMeterFormTasks.stream().map(StartPayMeterFormTask::getId).collect(Collectors.toList());
             if (ids.size() > 0) {
@@ -1837,7 +1896,18 @@ public class TaskController extends BladeController {
                 startPayMeterFormServiceTask.update(updateEntity, updateWrapper);
             }
         } else if (task.getMeterTaskType().equals(4)) {
-            jdbcTemplate.execute("UPDATE s_change_token_form_task SET approve_status = 2 WHERE id IN(" + formDataId + ")");
+            List<String> formDataIds = Func.toStrList(formDataId);
+            List<ChangeTokenFormTask> changeTokenFormTasks = changeTokenFormServiceTask.getBaseMapper().selectList(Wrappers.<ChangeTokenFormTask>lambdaQuery()
+                    .in(ChangeTokenFormTask::getId, formDataIds)
+                    .eq(ChangeTokenFormTask::getStatus, 1));
+            List<Long> ids = changeTokenFormTasks.stream().map(ChangeTokenFormTask::getId).collect(Collectors.toList());
+            if (ids.size() > 0) {
+                UpdateWrapper<ChangeTokenFormTask> updateWrapper = new UpdateWrapper<>();
+                updateWrapper.in("id", ids);
+                ChangeTokenFormTask updateEntity = new ChangeTokenFormTask();
+                updateEntity.setApproveStatus(2);
+                changeTokenFormServiceTask.update(updateEntity, updateWrapper);
+            }
         }
         return this;
     }
@@ -1871,7 +1941,17 @@ public class TaskController extends BladeController {
             jdbcTemplate.execute("DELETE FROM s_inventory_form_apply WHERE contract_period_id = " + task.getFormDataId());
 
             List<MiddleMeterApply> middleMeterApplies = BeanUtil.copyProperties(middleMeterApplyTasks, MiddleMeterApply.class);
+            for (MiddleMeterApply apply : middleMeterApplies) {
+                if (apply.getStatus() == 2) {
+                    apply.setApproveStatus(3);
+                }
+            }
             List<InventoryFormApply> inventoryFormApplies = BeanUtil.copyProperties(inventoryFormApplyTasks, InventoryFormApply.class);
+            for (InventoryFormApply apply : inventoryFormApplies) {
+                if (apply.getStatus() == 2) {
+                    apply.setApproveStatus(3);
+                }
+            }
             middleMeterApplyService.saveBatch(middleMeterApplies, 1000);
             inventoryFormApplyService.saveBatch(inventoryFormApplies, 1000);
 
@@ -1882,6 +1962,11 @@ public class TaskController extends BladeController {
             jdbcTemplate.execute("DELETE FROM s_material_meter_form WHERE meter_period_id = " + task.getFormDataId());
 
             List<MaterialMeterForm> materialMeterForms = BeanUtil.copyProperties(materialMeterFormTasks, MaterialMeterForm.class);
+            for (MaterialMeterForm form : materialMeterForms) {
+                if (form.getStatus() == 2) {
+                    form.setApproveStatus(3);
+                }
+            }
             materialMeterFormService.saveBatch(materialMeterForms, 1000);
 
         } else if (task.getMeterTaskType().equals(3)) {
@@ -1891,6 +1976,11 @@ public class TaskController extends BladeController {
             jdbcTemplate.execute("DELETE FROM s_start_pay_meter_form WHERE meter_period_id = " + task.getFormDataId());
 
             List<StartPayMeterForm> startPayMeterForms = BeanUtil.copyProperties(startPayMeterFormTasks, StartPayMeterForm.class);
+            for (StartPayMeterForm form : startPayMeterForms) {
+                if (form.getStatus() == 2) {
+                    form.setApproveStatus(3);
+                }
+            }
             startPayMeterFormService.saveBatch(startPayMeterForms, 1000);
 
         } else if (task.getMeterTaskType().equals(4)) {
@@ -1910,6 +2000,9 @@ public class TaskController extends BladeController {
                             jdbcTemplate.execute("DELETE FROM s_change_token_form WHERE id = " + dataId);
 
                             ChangeTokenForm changeTokenForm = BeanUtil.copyProperties(changeTokenFormTask, ChangeTokenForm.class);
+                            if (changeTokenForm != null && changeTokenForm.getStatus().equals(2)) {
+                                changeTokenForm.setApproveStatus(3);
+                            }
                             changeTokenFormService.save(changeTokenForm);
 
                             List<ChangeTokenMeter> changeTokenMeter = BeanUtil.copyProperties(changeTokenMeterTasks, ChangeTokenMeter.class);