liuyc 1 year ago
parent
commit
f993c9f3fa

+ 3 - 3
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MeterMidPayItemContract.java

@@ -60,10 +60,10 @@ public class MeterMidPayItemContract extends BaseEntity {
     @ApiModelProperty(value = "排序")
     private Integer sort;
 
-    @ApiModelProperty(value = "数据源类型 1=原始引用、2=新增")
-    private Integer dataSourceType;
-
     @ApiModelProperty(value = "备注")
     private String remarks;
 
+    @ApiModelProperty(value = "数据源id(项目级数据id)")
+    private Long dataSourceId;
+
 }

+ 3 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MeterMidPayItemProject.java

@@ -63,4 +63,7 @@ public class MeterMidPayItemProject extends BaseEntity {
     @ApiModelProperty(value = "备注")
     private String remarks;
 
+    @ApiModelProperty(value = "数据源id(系统级数据id)")
+    private Long dataSourceId;
+
 }

+ 20 - 3
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/MidPayItemController.java

@@ -16,6 +16,7 @@ import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.meter.entity.*;
 import org.springblade.meter.service.MidPayItemContractService;
 import org.springblade.meter.service.MidPayItemProjectService;
@@ -132,6 +133,7 @@ public class MidPayItemController extends BladeController {
                 if (projectPay != null) {
                     projectPay.setId(SnowFlakeUtil.getId());
                     projectPay.setProjectId(projectId);
+                    projectPay.setDataSourceId(systemPay.getId());
                     meterMidPayItemProjects.add(projectPay);
                 }
             }
@@ -162,7 +164,14 @@ public class MidPayItemController extends BladeController {
     @ApiOperationSupport(order = 9)
     @ApiOperation(value = "项目中期支付项删除", notes = "传入id")
     public R<Object> projectRemove(@RequestParam String id) {
-        return R.data(payItemProjectService.removeById(id));
+        MeterMidPayItemProject obj = payItemProjectService.getById(id);
+        if (obj != null && ObjectUtil.isNotEmpty(obj.getDataSourceId())) {
+            /*修改回未被引用状态*/
+            if (payItemSystemService.update(Wrappers.<MeterMidPayItemSystem>lambdaUpdate().set(MeterMidPayItemSystem::getIsReferenced, 0).eq(MeterMidPayItemSystem::getId, obj.getDataSourceId()))) {
+                return R.data(payItemProjectService.removeById(id));
+            }
+        }
+        return R.fail("操作失败");
     }
 
     @PostMapping("/project/page")
@@ -222,6 +231,7 @@ public class MidPayItemController extends BladeController {
                     contractPay.setId(SnowFlakeUtil.getId());
                     contractPay.setProjectId(projectId);
                     contractPay.setContractId(contractId);
+                    contractPay.setDataSourceId(projectPay.getId());
                     meterMidPayItemContracts.add(contractPay);
                 }
             }
@@ -252,7 +262,14 @@ public class MidPayItemController extends BladeController {
     @ApiOperationSupport(order = 15)
     @ApiOperation(value = "合同段中期支付项删除", notes = "传入id")
     public R<Object> contractRemove(@RequestParam String id) {
-        return R.data(payItemContractService.removeById(id));
+        MeterMidPayItemContract obj = payItemContractService.getById(id);
+        if (obj != null && ObjectUtil.isNotEmpty(obj.getDataSourceId())) {
+            /*修改回未被引用状态*/
+            if (payItemProjectService.update(Wrappers.<MeterMidPayItemProject>lambdaUpdate().set(MeterMidPayItemProject::getIsReferenced, 0).eq(MeterMidPayItemProject::getId, obj.getDataSourceId()))) {
+                return R.data(payItemContractService.removeById(id));
+            }
+        }
+        return R.fail("操作失败");
     }
 
     @PostMapping("/contract/page")
@@ -276,7 +293,7 @@ public class MidPayItemController extends BladeController {
     @PostMapping("/bind/submit")
     @ApiOperationSupport(order = 18)
     @ApiOperation(value = "中期支付项添加汇总项", notes = "传入id、汇总项列表id逗号拼接成bindIds")
-    public R<Object> bind(@RequestParam String id, @RequestParam String bindIds) {
+    public R<Object> bindSubmit(@RequestParam String id, @RequestParam String bindIds) {
         if (StringUtils.isNotEmpty(id)) {
             if (StringUtils.isEmpty(bindIds)) {
                 /*删除*/