qianxb 1 жил өмнө
parent
commit
ea22a27af3

+ 0 - 1
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/InspectTreeVO.java

@@ -57,7 +57,6 @@ public class InspectTreeVO implements INode<InspectTreeVO> {
     @ApiModelProperty(value = "节点名称")
     private String nodeName;
 
-
     @ApiModelProperty(value = "分属专家")
     private String nodeInfo;
 

+ 17 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ChangeTokenInventory.java

@@ -16,6 +16,8 @@
  */
 package org.springblade.meter.entity;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotation.TableName;
 
 import java.io.Serializable;
@@ -64,6 +66,21 @@ public class ChangeTokenInventory extends BaseEntity {
      */
     @ApiModelProperty(value = "合同工程清单id")
     private Long contractFormId;
+    /**
+     * 清单编号
+     */
+    @ApiModelProperty(value = "清单编号")
+    private String formNumber;
+    /**
+     * 清单名称
+     */
+    @ApiModelProperty(value = "清单名称")
+    private String formName;
+    /**
+     * 当前单价
+     */
+    @ApiModelProperty(value = "当前单价")
+    private BigDecimal currentPrice;
     /**
      * 变更前数量
      */

+ 13 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/ChangeTokenMeter.java

@@ -19,6 +19,7 @@ package org.springblade.meter.entity;
 import com.baomidou.mybatisplus.annotation.TableName;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 
 import io.swagger.annotations.ApiModelProperty;
 import org.springblade.core.mp.base.BaseEntity;
@@ -58,11 +59,23 @@ public class ChangeTokenMeter extends BaseEntity {
      */
     @ApiModelProperty(value = "合同计量单元id")
     private Long contractMeterId;
+
+    @ApiModelProperty(value = "工程名称")
+    private String nodeName;
+
+    @ApiModelProperty(value = "节点路径")
+    private String nodeUrl;
     /**
      * 合同图号
      */
     @ApiModelProperty(value = "合同图号")
     private String contractPicture;
 
+    @ApiModelProperty(value = "变更后金额")
+    private BigDecimal changeMoney;
+
+    @ApiModelProperty(value = "是否增补")
+    private Integer isSupplement;
+
 
 }

+ 1 - 1
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/ChangeFormVO2.java

@@ -17,7 +17,7 @@ public class ChangeFormVO2 {
     @ApiModelProperty(value = "合同计量单元id(部位)")
     private Long contractMeterId;
 
-    @ApiModelProperty(value = "id")
+    @ApiModelProperty(value = "清单id")
     private Long id;
 
     @ApiModelProperty(value = "清单编号")

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

@@ -30,6 +30,9 @@ public class ChangeNodeVO {
     private BigDecimal changeMoney;
 
     @ApiModelProperty(value = "是否增补")
+    private Integer isSupplement;
+
+    @ApiModelProperty(value = "是否增补名称")
     private String isSupplementName;
 
     @ApiModelProperty(value = "清单集合")

+ 1 - 1
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/ChangeTokenFormMapper.java

@@ -44,7 +44,7 @@ public interface ChangeTokenFormMapper extends BaseMapper<ChangeTokenForm> {
 
     List<Long> getNodeForm(@Param("contractId") Long contractId,@Param("nodeId") Long nodeId);
 
-    List<ChangeNodeVO> getChangeNode(@Param("contractId") Long contractId,@Param("ids") List<Long> longs,@Param("id") String ids);
+    List<ChangeNodeVO> getChangeNode(@Param("contractId") Long contractId,@Param("ids") List<Long> longs,@Param("id2") String ids);
 
     List<ChangeFormVO2> selectForm(@Param("contractId") Long contractId,@Param("ids") List<Long> longs,@Param("nodeId") Long nodeId);
 

+ 16 - 7
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/ChangeTokenFormMapper.xml

@@ -92,20 +92,29 @@
         GROUP BY contract_form_id
     </select>
     <select id="getChangeNode" resultType="org.springblade.meter.vo.ChangeNodeVO">
-        select id,node_name,change_picture as contractPicture,change_money,
+        select id,node_name,change_picture as contractPicture,0 as change_money,ifnull(is_supplement,0) as isSupplement,
                 if(is_supplement = 1,'是','否') as isSupplementName
         from s_meter_tree_contract mtc
         WHERE mtc.contract_id = #{contractId} and mtc.is_deleted = 0
         and (select COUNT(1) from s_meter_tree_contract mtc2 WHERE contract_id = #{contractId} and mtc2.parent_id=mtc.id)=0
-        and (mtc.id in
-        <foreach collection="ids" item="id" open="(" separator="," close=")">
+        and
+        <foreach collection="ids" item="id" open="(" separator= "or" close=")">
+            FIND_IN_SET(#{id} , mtc.ancestor)
+        </foreach>
+        union
+        select id,node_name,change_picture as contractPicture,0 as change_money,ifnull(is_supplement,0) as isSupplement,
+        if(is_supplement = 1,'是','否') as isSupplementName
+        from s_meter_tree_contract mtc
+        WHERE mtc.contract_id = #{contractId} and mtc.is_deleted = 0
+        and (select COUNT(1) from s_meter_tree_contract mtc2 WHERE contract_id = #{contractId} and mtc2.parent_id=mtc.id)=0
+        and id in
+        <foreach collection="ids" item="id" open="(" separator= "," close=")">
             #{id}
         </foreach>
-         or FIND_IN_SET(mtc.parent_id , #{id}))
     </select>
     <select id="selectForm" resultType="org.springblade.meter.vo.ChangeFormVO2">
         select id,form_number,form_name,current_price,
-                IFNULL((select build_picture_total
+                IFNULL((select change_build_picture_total
         from s_inventory_form_meter ifm
         WHERE contract_id = #{contractId} and is_deleted = 0 and ifm.contract_form_id = cif.id and ifm.contract_meter_id = #{nodeId}),0) as contractTotal
         from s_contract_inventory_form cif
@@ -131,11 +140,11 @@
           AND ctm.change_token_id = #{id}
     </select>
     <select id="getFormList" resultType="org.springblade.meter.vo.ChangeFormVO2">
-        select cif.id,cif.form_number,cif.form_name,cif.current_price,cti.contract_meter_id,
+        select cti.contract_form_id as id,cti.form_number,cti.form_name,cti.current_price,cti.contract_meter_id,
                cti.change_before_total as contractTotal,cti.change_total as currentChangeTotal,
                cti.change_after_total as changeTotal,cti.change_before_money as contractMoney,
                cti.change_money as currentChangeMoney,cti.change_after_money as changeMoney
-        from s_change_token_inventory cti left join s_contract_inventory_form cif on cti.contract_form_id = cif.id
+        from s_change_token_inventory cti
         where cti.contract_id = #{contractId} and cti.is_deleted = 0
           AND cti.change_token_id = #{id}
     </select>

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

@@ -135,9 +135,19 @@ public class ChangeTokenFormServiceImpl extends BaseServiceImpl<ChangeTokenFormM
                 meter.setChangeTokenId(id);
                 meter.setContractMeterId(l.getId());
                 meter.setContractPicture(l.getContractPicture());
+                //设置部位基础信息,方便公式生成报表
+                meter.setNodeName(l.getNodeName());
+                meter.setNodeUrl(l.getNodeUrl());
+                meter.setChangeMoney(new BigDecimal(0));
+                meter.setIsSupplement(l.getIsSupplement());
                 List<ChangeFormVO2> list = l.getFormList();
                 if (list != null && list.size() != 0){
                     formList.addAll(list);
+                    BigDecimal big = new BigDecimal(0);
+                    for (ChangeFormVO2 vo2 : list) {
+                        big = big.add(vo2.getChangeMoney());
+                    }
+                    meter.setChangeMoney(big);
                 }
                 return meter;
             }).collect(Collectors.toList());
@@ -155,6 +165,10 @@ public class ChangeTokenFormServiceImpl extends BaseServiceImpl<ChangeTokenFormM
                 inventory.setContractFormId(vo2.getId());
                 inventory.setChangeBeforeTotal(vo2.getContractTotal());
                 inventory.setChangeTotal(vo2.getCurrentChangeTotal());
+                //设置清单3个基础信息,因为变更后不能改变
+                inventory.setFormNumber(vo2.getFormNumber());
+                inventory.setFormName(vo2.getFormName());
+                inventory.setCurrentPrice(vo2.getCurrentPrice());
                 if (vo2.getContractMeterId() == null){
                     throw new ServiceException("未找到清单("+vo2.getFormName()+")的部位id");
                 }
@@ -308,6 +322,10 @@ public class ChangeTokenFormServiceImpl extends BaseServiceImpl<ChangeTokenFormM
                 inventory.setContractFormId(vo2.getId());
                 inventory.setChangeBeforeTotal(vo2.getContractTotal());
                 inventory.setChangeTotal(vo2.getCurrentChangeTotal());
+                //设置清单3个基础信息,因为变更后不能改变
+                inventory.setFormNumber(vo2.getFormNumber());
+                inventory.setFormName(vo2.getFormName());
+                inventory.setCurrentPrice(vo2.getCurrentPrice());
                 if (vo2.getContractMeterId() == null){
                     throw new ServiceException("未找到清单("+vo2.getFormName()+")的部位id");
                 }