Переглянути джерело

Merge remote-tracking branch 'origin/master' into master

yangyj 1 рік тому
батько
коміт
736aa86c67

+ 14 - 7
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.xml

@@ -179,16 +179,23 @@
           AND contract_id = #{contractId}
     </update>
 
+<!--    <update id="updateByCondition1">-->
+<!--        UPDATE m_wbs_tree_contract-->
+<!--        SET node_type       = #{wbsTP.nodeType},-->
+<!--            node_name       = #{wbsTP.nodeName},-->
+<!--            unique_code     = #{wbsTP.uniqueCode},-->
+<!--            partition_code  = #{wbsTP.partitionCode},-->
+<!--            major_data_type = #{wbsTP.majorDataType}-->
+<!--        WHERE project_id = #{wbsTP.projectId}-->
+<!--          AND id = #{wbsTP.id}-->
+<!--          AND wbs_id = #{wbsTP.wbsId}-->
+<!--    </update>-->
+
     <update id="updateByCondition1">
         UPDATE m_wbs_tree_contract
-        SET node_type       = #{wbsTP.nodeType},
-            node_name       = #{wbsTP.nodeName},
-            unique_code     = #{wbsTP.uniqueCode},
-            partition_code  = #{wbsTP.partitionCode},
-            major_data_type = #{wbsTP.majorDataType}
+        SET node_type = #{wbsTP.nodeType}
         WHERE project_id = #{wbsTP.projectId}
-          AND id = #{wbsTP.id}
-          AND wbs_id = #{wbsTP.wbsId}
+          AND is_type_private_pid = #{wbsTP.pKeyId}
     </update>
 
     <update id="updateByCondition2">

+ 1 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreePrivateServiceImpl.java

@@ -126,6 +126,7 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
             if (row > 0) {
                 WbsTreePrivate wbsTreePrivate1 = baseMapper.getByPKeyId(pKeyId);
                 wbsTreePrivate1.setFullName(wbsTreePrivate1.getNodeName());
+                //修改项目级节点时,直接修改所有对应合同段的节点的节点类型
                 wbsTreeContractMapper.updateByCondition1(wbsTreePrivate1);
                 return true;
             }

+ 4 - 6
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/ContractMaterialAdjustServiceImpl.java

@@ -102,12 +102,12 @@ public class ContractMaterialAdjustServiceImpl extends BaseServiceImpl<ContractM
             //市场价低于基准价
             adjustMoney = adjustTotal.multiply(currentPrice.subtract((price.multiply(new BigDecimal(1).subtract(material.getQuotaRatio().multiply(new BigDecimal("0.01"))))))).multiply(new BigDecimal("1.09")).setScale(2, RoundingMode.HALF_UP);
             str.append("调差公式(标准):调增金额=调差数量×[市场价-基准价×(1-风险幅度差%)]×(1+合同增值税税率)\n");
-            str.append("调差公式(计算):"+adjustMoney+"="+adjustTotal+"*["+currentPrice+"-"+price+"*(1-"+dto.getRangePriceRatio().abs()+"%)]*(1+9.0/100)");
+            str.append("调差公式(计算):"+adjustMoney+"="+adjustTotal+"*["+currentPrice+"-"+price+"*(1-"+material.getQuotaRatio()+"%)]*(1+9.0/100)");
         }else {
             //市场价高于基准价
             adjustMoney = adjustTotal.multiply(currentPrice.subtract((price.multiply(new BigDecimal(1).add(material.getQuotaRatio().multiply(new BigDecimal("0.01"))))))).multiply(new BigDecimal("1.09")).setScale(2, RoundingMode.HALF_UP);
             str.append("调差公式(标准):调增金额=调差数量×[市场价-基准价×(1+风险幅度差%)]×(1+合同增值税税率)\n");
-            str.append("调差公式(计算):"+adjustMoney+"="+adjustTotal+"*["+currentPrice+"-"+price+"*(1+"+dto.getRangePriceRatio()+"%)]*(1+9.0/100)");
+            str.append("调差公式(计算):"+adjustMoney+"="+adjustTotal+"*["+currentPrice+"-"+price+"*(1+"+material.getQuotaRatio()+"%)]*(1+9.0/100)");
         }
         adjust.setAdjustTotal(adjustTotal);
         adjust.setAdjustMoney(adjustMoney);
@@ -211,14 +211,12 @@ public class ContractMaterialAdjustServiceImpl extends BaseServiceImpl<ContractM
         BigDecimal currentPrice = dto.getCurrentPrice();
         if (price.compareTo(currentPrice) == 1){
             //市场价低于基准价
-            adjustMoney = adjustTotal.multiply(currentPrice.subtract((price.multiply(new BigDecimal(1).subtract(material.getQuotaRatio().multiply(new BigDecimal("0.01"))))))).multiply(new BigDecimal("1.09")).setScale(2, RoundingMode.DOWN);
+            adjustMoney = adjustTotal.multiply(currentPrice.subtract((price.multiply(new BigDecimal(1).subtract(material.getQuotaRatio().multiply(new BigDecimal("0.01"))))))).multiply(new BigDecimal("1.09")).setScale(2, RoundingMode.HALF_UP);
             str.append("调差公式(标准):调增金额=调差数量×[市场价-基准价×(1-风险幅度差%)]×(1+合同增值税税率)\n");
             str.append("调差公式(计算):"+adjustMoney+"="+adjustTotal+"*["+currentPrice+"-"+price+"*(1-"+material.getQuotaRatio()+"%)]*(1+9.0/100)");
         }else {
             //市场价高于基准价
-            BigDecimal b1 = new BigDecimal(1).add(material.getQuotaRatio().multiply(new BigDecimal("0.01"))).setScale(3, RoundingMode.HALF_UP);
-            BigDecimal b2 = price.multiply(b1).setScale(3, RoundingMode.HALF_UP);
-            adjustMoney = adjustTotal.multiply(currentPrice.subtract(b2)).multiply(new BigDecimal("1.09")).setScale(2, RoundingMode.HALF_UP);
+            adjustMoney = adjustTotal.multiply(currentPrice.subtract((price.multiply(new BigDecimal(1).add(material.getQuotaRatio().multiply(new BigDecimal("0.01"))))))).multiply(new BigDecimal("1.09")).setScale(2, RoundingMode.HALF_UP);
             str.append("调差公式(标准):调增金额=调差数量×[市场价-基准价×(1+风险幅度差%)]×(1+合同增值税税率)\n");
             str.append("调差公式(计算):"+adjustMoney+"="+adjustTotal+"*["+currentPrice+"-"+price+"*(1+"+material.getQuotaRatio()+"%)]*(1+9.0/100)");
         }