Selaa lähdekoodia

零号清单修改生成,修改查询

qianxb 1 vuosi sitten
vanhempi
commit
e28fb51ade

+ 1 - 1
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ContractInventoryForm.java

@@ -203,6 +203,6 @@ public class ContractInventoryForm extends BaseEntity {
      */
     @ApiModelProperty(value = "生成变更时划分数量,零号变更时存入")
     @ExcelIgnore
-    private Integer buildChangeTotal;
+    private BigDecimal buildChangeTotal;
 
 }

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

@@ -43,4 +43,7 @@ public class MeterTreeContractVO2 {
     @ApiModelProperty(value = "计算式")
     private String calculateFormula;
 
+    @ApiModelProperty(value = "关联的资料是否审批通过,true通过,false不通过")
+    private Boolean isApp;
+
 }

+ 4 - 2
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/ChangeTokenFormMapper.xml

@@ -76,11 +76,13 @@
         delete from s_change_token_inventory where change_token_id = #{tokenId} and is_collect_form = 1
     </delete>
     <select id="getAllForm" resultType="org.springblade.meter.entity.ContractInventoryForm">
-        select cif.id,
+        select cif.id,cif.current_price,
                IFNULL((select sum(build_picture_total) from s_inventory_form_meter ifm
                 where ifm.contract_id = #{contractId} and ifm.is_deleted = 0 and ifm.contract_form_id = cif.id),0) as build_change_total
         from s_contract_inventory_form cif
-        where contract_id = #{contractId} and is_deleted = 0 and is_form_node = 1
+        where id in
+        (select contract_form_id from s_inventory_form_meter
+                where contract_id = #{contractId} group by contract_form_id)
     </select>
     <select id="getZeroChange" resultType="org.springblade.meter.vo.ZeroChangeVO">
         select id,form_number,form_name,current_price,contract_total,contract_money,

+ 6 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/ChangeTokenFormServiceImpl.java

@@ -96,6 +96,11 @@ public class ChangeTokenFormServiceImpl extends BaseServiceImpl<ChangeTokenFormM
         if (list.size() == 0){
             throw new ServiceException("生成失败,当前合同段还没有清单");
         }
+        //每次生成零号变更时,把清单变更后数量,修改为当前划分数量
+        for (ContractInventoryForm form : list) {
+            form.setChangeTotal(form.getBuildChangeTotal());
+            form.setChangeMoney(form.getCurrentPrice().multiply(form.getChangeTotal()));
+        }
         //修改清单表的划分数量
         contractInventoryFormService.updateBatchById(list);
     }
@@ -121,6 +126,7 @@ public class ChangeTokenFormServiceImpl extends BaseServiceImpl<ChangeTokenFormM
             //核实金额=核实量*现行单价
             vo.setVerifyMoney(vo.getCurrentPrice().multiply(new BigDecimal(vo.getVerifyTotal())));
         }
+        vos = vos.stream().filter(l->l.getUpdateTotal() != 0).collect(Collectors.toList());
         return vos;
     }
 

+ 20 - 19
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/MiddleMeterApplyServiceImpl.java

@@ -1188,13 +1188,12 @@ public class MiddleMeterApplyServiceImpl extends BaseServiceImpl<MiddleMeterAppl
                 MeterTreeContractVO2 vo2 = iterator.next();
                 //先去获取对应质检的相关数据
                 List<Long> linkWbsIds = Func.toLongList(vo2.getLinkWbs());
-                Boolean isApp = false;
+                Boolean isApp = true;
                 Integer strength = null;
                 for (Long id : linkWbsIds) {
                     MeterLinkWbsInfoVO vo = wbsInfoVOMap.get(id);
                     if (vo.getAppStatus() != 2) {
-                        isApp = true;
-                        break;
+                        isApp = false;
                     }
                     if (vo.getMaxType() == 12) {
                         strength = 28;
@@ -1213,7 +1212,7 @@ public class MiddleMeterApplyServiceImpl extends BaseServiceImpl<MiddleMeterAppl
                     }
                     //根据附件设置强度设置强度值
                     if (strength == 28){
-                        if (isApp){
+                        if (!isApp){
                             iterator.remove();
                             continue;
                         }else {
@@ -1225,7 +1224,7 @@ public class MiddleMeterApplyServiceImpl extends BaseServiceImpl<MiddleMeterAppl
                 }else {
                     //不为混凝土节点
                     //审批不通过,移除,审批通过则设置为后台比例
-                    if (isApp) {
+                    if (!isApp) {
                         iterator.remove();
                         continue;
                     }else {
@@ -1236,7 +1235,7 @@ public class MiddleMeterApplyServiceImpl extends BaseServiceImpl<MiddleMeterAppl
                 str.append(vo2.getLinkWbs()+",");
                 str2.append(vo2.getId()+",");
                 str3.append(vo2.getLinkForm()+",");
-
+                vo2.setIsApp(isApp);
             }
             if (voList.size() == 0 || StringUtils.isBlank(str.toString()) || StringUtils.isBlank(str2.toString()) || StringUtils.isBlank(str3.toString())){
                 throw new ServiceException("当前没有符合要求的合同计量单元-2");
@@ -1348,20 +1347,22 @@ public class MiddleMeterApplyServiceImpl extends BaseServiceImpl<MiddleMeterAppl
                 for (Long aLong : longs) {
                     //new 中间计量申请的附件,通过query数据填写信息
                     WbsLinkQueryInfoVO vo = wbsMap.get(aLong);
-                    if (vo == null || StringUtils.isBlank(vo.getEVisaPdf())){
-                        throw new ServiceException("合同计量单元("+vo2.getNodeName()+")所关联的WBS节点id:"+aLong+"未找到电签PDF");
+                    if (vo2.getIsApp()){
+                        if (vo == null || StringUtils.isBlank(vo.getEVisaPdf())) {
+                            throw new ServiceException("合同计量单元(" + vo2.getNodeName() + ")所关联的WBS节点id:" + aLong + "未找到电签PDF");
+                        }
+                        AttachmentForm form = new AttachmentForm();
+                        form.setProjectId(projectId);
+                        form.setContractId(contractId);
+                        form.setMasterId(middleId);
+                        form.setFileName(vo.getName());
+                        form.setFileUrl(vo.getEVisaPdf());
+                        form.setFilePdfUrl(vo.getEVisaPdf());
+                        form.setFileType(1);
+                        form.setSelectId(vo.getId());
+                        //添加到附件表
+                        attachmentFormAdd.add(form);
                     }
-                    AttachmentForm form = new AttachmentForm();
-                    form.setProjectId(projectId);
-                    form.setContractId(contractId);
-                    form.setMasterId(middleId);
-                    form.setFileName(vo.getName());
-                    form.setFileUrl(vo.getEVisaPdf());
-                    form.setFilePdfUrl(vo.getEVisaPdf());
-                    form.setFileType(1);
-                    form.setSelectId(vo.getId());
-                    //添加到附件表
-                    attachmentFormAdd.add(form);
                 }
                 //设置中间计量申请属性
                 apply.setProjectId(projectId);