ソースを参照

合同清单相关修改2

qianxb 1 年間 前
コミット
3e450f1bbd

+ 0 - 2
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/ZeroChangeVO.java

@@ -51,7 +51,5 @@ public class ZeroChangeVO {
     @ApiModelProperty(value = "核实金额")
     private BigDecimal verifyMoney;
 
-    @ApiModelProperty(value = "状态名称")
-    private String statusName;
 
 }

+ 14 - 9
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/ContractInventoryFormServiceImpl.java

@@ -282,7 +282,7 @@ public class ContractInventoryFormServiceImpl extends BaseServiceImpl<ContractIn
         InventoryFormDetailVO vo = baseMapper.getById(id);
         //如果是清单节点就直接返回
         if (vo.getIsFormNode() == 1){
-           if (this.nodeIsChange(id)){
+           if (this.nodeIsChange(vo)){
                vo.setCiteStatus(1);
            }else {
                vo.setCiteStatus(0);
@@ -336,6 +336,11 @@ public class ContractInventoryFormServiceImpl extends BaseServiceImpl<ContractIn
                 throw new ServiceException("增补清单必须为清单节点");
             }
         }
+        if (form.getIsFormNode() == 1) {
+            if (form.getBidPrice() == null || form.getContractTotal() == null) {
+                throw new ServiceException("清单节点必须填写:中标单价和合同数量");
+            }
+        }
         if (StringUtils.isBlank(form.getFormNumber())){
             throw new ServiceException("清单编号不能为空");
         }
@@ -393,7 +398,7 @@ public class ContractInventoryFormServiceImpl extends BaseServiceImpl<ContractIn
             //相同则先判断修改后节点类型是否为清单类型
             if (form.getIsFormNode().equals(1)){
                 //判断是否已经被分解或者被变更,包括零号变更
-                Boolean isChange = this.nodeIsChange(nodeInfo.getId());
+                Boolean isChange = this.nodeIsChange(nodeInfo);
                 //发生过变更,就去判断单价和数量。没被变更或者修改过,就不去判断单价和数量是否发生改变
                 if (isChange) {
                     //判断单价和数量是否发生改变
@@ -423,7 +428,7 @@ public class ContractInventoryFormServiceImpl extends BaseServiceImpl<ContractIn
                 }
             }else {
                 //不为清单节点:判断当前节点是否被分解或者被变更,包括零号变更
-                Boolean isChange = this.nodeIsChange(nodeInfo.getId());
+                Boolean isChange = this.nodeIsChange(nodeInfo);
                 if (isChange){
                     throw new ServiceException("当前节点已被分解或变更,不能修改为非清单节点");
                 }
@@ -514,17 +519,17 @@ public class ContractInventoryFormServiceImpl extends BaseServiceImpl<ContractIn
     /**
      * 判断当前节点是否已经分解或变更过,变更过返回true
      */
-    private Boolean nodeIsChange(Long id) {
-//        if (form.getBuildChangeTotal() != null) {
-//            return true;
-//        }
+    private Boolean nodeIsChange(ContractInventoryForm form) {
+        if (form.getBuildChangeTotal() != null) {
+            return true;
+        }
         long count = formMeterService.count(new LambdaQueryWrapper<InventoryFormMeter>()
-                .eq(InventoryFormMeter::getContractFormId, id));
+                .eq(InventoryFormMeter::getContractFormId, form.getId()));
         if (count > 0) {
             return true;
         }
         long count1 = tokenInventoryService.count(new LambdaQueryWrapper<ChangeTokenInventory>()
-                .eq(ChangeTokenInventory::getContractFormId, id));
+                .eq(ChangeTokenInventory::getContractFormId, form.getId()));
         if (count1 > 0) {
             return true;
         }

+ 5 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/MeterPeriodServiceImpl.java

@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.AllArgsConstructor;
+import org.apache.commons.lang.StringUtils;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.support.Query;
 import org.springblade.meter.dto.MeterPeriodDTO;
@@ -71,6 +72,10 @@ public class MeterPeriodServiceImpl extends BaseServiceImpl<MeterPeriodMapper, M
                 period.setProjectId(dto.getProjectId());
                 period.setContractId(dto.getContractId());
                 period.setType(dto.getType());
+                //校验期号、期名称
+                if (StringUtils.isBlank(period.getPeriodNumber()) || StringUtils.isBlank(period.getPeriodName())){
+                    throw new ServiceException("请填写期号,期名称");
+                }
                 //校验开始结束日期
                 if (period.getPeriodYear() == null || period.getPeriodMonth() == null) {
                     throw new ServiceException("请填写年份、月份");