luobang 2 роки тому
батько
коміт
e07f011a27

+ 1 - 1
src/main/java/com/steerinfo/dil/mapper/TmstruckLeaveFactoryResultMapper.java

@@ -114,7 +114,7 @@ public interface TmstruckLeaveFactoryResultMapper extends IBaseMapper<TmstruckLe
      * @Date: 2022-08-30
      * @Description:根据物资ID和订单编号查询物资件数
     */
-    BigDecimal queryNumber(BigDecimal materialid,String orderNumber);
+    BigDecimal queryNumber(BigDecimal materialid,String orderNumber,BigDecimal saleMaterialIdOld);
 
     /**
      * @author:zyf

+ 9 - 4
src/main/java/com/steerinfo/dil/service/impl/TmstruckSelfMachineService.java

@@ -82,9 +82,11 @@ public class TmstruckSelfMachineService implements ITmstruckSelfMachineService {
                 //判断为棒材还是线材
                 for (Map<String,Object> map1:deliveryOrderMaterialList){
                     BigDecimal materialid = (BigDecimal) map1.get("materialId");
+                    BigDecimal saleMaterialIdOld = DataChange.dataToBigDecimal(map1.get("saleMaterialIdOld"));
                     String materialName =(String) map1.get("materialName");
                     map.put("materialName",materialName);
-                    BigDecimal Bigdecimal1 = tmstruckLeaveFactoryResultMapper.queryNumber(materialid, orderNumber);
+                    map.put("saleMaterialIdOld",saleMaterialIdOld);
+                    BigDecimal Bigdecimal1 = tmstruckLeaveFactoryResultMapper.queryNumber(materialid, orderNumber,saleMaterialIdOld);
                     map1.put("materialNumber",Bigdecimal1);
                     //判断是实重还是理重的标志
                     BigDecimal isPoundSale = (BigDecimal) map1.get("isPoundSale");
@@ -93,8 +95,9 @@ public class TmstruckSelfMachineService implements ITmstruckSelfMachineService {
                     List<Map<String, Object>> netWeightlist = tmstruckLeaveFactoryResultMapper.getNetWeightByOrder(map);
                     for (Map<String, Object> stringObjectMap : netWeightlist) {
                         BigDecimal materialid1 = (BigDecimal) stringObjectMap.get("materialid");
+                        BigDecimal saleMaterialId = DataChange.dataToBigDecimal(stringObjectMap.get("saleMaterialId"));
                         if(materialid1 !=null&&!("".equals(materialid1))){
-                            if (materialid.compareTo(materialid1) == 0) {
+                            if (materialid.compareTo(materialid1) == 0 && saleMaterialIdOld.compareTo(saleMaterialId) == 0) {
                                 BigDecimal nowNetWeight = (BigDecimal) stringObjectMap.get("nowNetWeight");
                                 if (nowNetWeight != null) {
                                     map1.put("netWeightTime",stringObjectMap.get("netWeightTime"));
@@ -111,8 +114,9 @@ public class TmstruckSelfMachineService implements ITmstruckSelfMachineService {
                     if (isPoundSale !=null && isPoundSale.compareTo(BigDecimal.valueOf(0))==0){
                         for (Map<String, Object> stringObjectMap : netWeightlist) {
                             BigDecimal materialid1 = (BigDecimal) stringObjectMap.get("materialid");
+                            BigDecimal saleMaterialId = DataChange.dataToBigDecimal(stringObjectMap.get("saleMaterialId"));
                             if(materialid1 !=null&&!("".equals(materialid1))){
-                                if (materialid.compareTo(materialid1) == 0) {
+                                if (materialid.compareTo(materialid1) == 0 && saleMaterialIdOld.compareTo(saleMaterialId) == 0) {
                                     BigDecimal nowNetWeight = (BigDecimal) stringObjectMap.get("nowNetWeight");
                                     if (nowNetWeight != null) {
                                         map1.put("materialWeight", nowNetWeight);
@@ -127,7 +131,8 @@ public class TmstruckSelfMachineService implements ITmstruckSelfMachineService {
                         List<Map<String, Object>> theoryWeightlist = tmstruckLeaveFactoryResultMapper.getTheoryWeight(map);
                         for (Map<String, Object> stringObjectMap : theoryWeightlist) {
                             BigDecimal materialid1 = (BigDecimal) stringObjectMap.get("materialid");
-                            if (materialid.compareTo(materialid1) == 0){
+                            BigDecimal saleMaterialId = DataChange.dataToBigDecimal(stringObjectMap.get("saleMaterialId"));
+                            if (materialid.compareTo(materialid1) == 0 && saleMaterialIdOld.compareTo(saleMaterialId) == 0){
                                 BigDecimal theoryWeight=(BigDecimal) stringObjectMap.get("theoreticalWeight");
                                 if (theoryWeight != null){
                                     map1.put("materialWeight",theoryWeight);

+ 6 - 3
src/main/resources/com/steerinfo/dil/mapper/TmstruckLeaveFactoryResultMapper.xml

@@ -1087,7 +1087,8 @@
         rm.material_specification "materialSpe",
         rm.material_model "materialModel",
         rm.material_id "materialId",
-        asm.is_pound_sale "isPoundSale"
+        asm.is_pound_sale "isPoundSale",
+        asm.SALE_MATERIAL_ID "saleMaterialIdOld"
         FROM
         omstruck_order oo
         LEFT JOIN rms_capacity rc ON rc.capacity_id = oo.capacity_id
@@ -1310,7 +1311,8 @@
 <!--    获取物资理重-->
     <select id="getTheoryWeight" resultType="java.util.Map" parameterType="java.util.Map">
         select ASM.MATERIAL_WEIGHT "theoreticalWeight",
-        ASM.MATERIAL_ID "materialid"
+        ASM.MATERIAL_ID "materialid",
+        ASM.SALE_MATERIAL_ID "saleMaterialId"
        from OMSTRUCK_ORDER oo
        left join AMS_SALE_ORDER_MATERIAL ASOM
        ON ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
@@ -1322,7 +1324,7 @@
        ON ASO.SALE_ORDER_ID=ASM.SALE_ORDER_ID
         left join RMS_MATERIAL RM
         ON RM.MATERIAL_ID=ASM.MATERIAL_ID
-       where  oo.ORDER_NUMBER=#{orderNumber}  and RM.MATERIAL_NAME=#{materialName}
+       where  oo.ORDER_NUMBER=#{orderNumber}  and RM.MATERIAL_NAME=#{materialName} and asm.sale_material_id = #{saleMaterialIdOld}
     </select>
 
     <select id="querynote" resultType="java.lang.String">
@@ -1363,6 +1365,7 @@
                  LEFT JOIN AMS_SALE_MATERIAL ASM
                            ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
         where  ASM.MATERIAL_ID=#{materialid}
+          and ASM.SALE_MATERIAL_ID = #{saleMaterialIdOld}
           and OO.order_number=#{orderNumber} and oo.order_status in (2,5)
             FETCH NEXT 1 ROW ONLY
     </select>