瀏覽代碼

'销售bug'

HUJIANGUO 3 年之前
父節點
當前提交
dcd966b820

+ 11 - 0
src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.java

@@ -0,0 +1,11 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.AmsSaleOrderMaterial;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.math.BigDecimal;
+
+@Mapper
+public interface AmsSaleOrderMaterialMapper extends IBaseMapper<AmsSaleOrderMaterial, BigDecimal> {
+}

+ 3 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderSeparateMapper.java

@@ -70,4 +70,7 @@ public interface OmstruckOrderSeparateMapper {
 
     //查询零星物资出厂订单信息(还未分配车辆)状态:3  13
     List<Map<String, Object>> getOthersOrderMesToSend(Map<String, Object> map);
+
+    // 查询销售订单的物资件数或重量
+    List<Map<String, Object>> getWeightOrNumber(BigDecimal saleOrderMaterialId);
 }

+ 17 - 3
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderSeparateServiceImpl.java

@@ -2,6 +2,7 @@ package com.steerinfo.dil.service.impl;
 
 import com.steerinfo.dil.feign.IMFeign;
 import com.steerinfo.dil.feign.TmsTruckFeign;
+import com.steerinfo.dil.mapper.AmsSaleOrderMaterialMapper;
 import com.steerinfo.dil.mapper.OmstruckOrderMapper;
 import com.steerinfo.dil.mapper.OmstruckOrderMaterialMapper;
 import com.steerinfo.dil.mapper.OmstruckOrderSeparateMapper;
@@ -28,6 +29,9 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
     @Autowired
     private OmstruckOrderSeparateMapper omstruckOrderSeparateMapper;
 
+    @Autowired
+    AmsSaleOrderMaterialMapper amsSaleOrderMaterialMapper;
+
     @Autowired
     private OmstruckOrderMapper omstruckOrderMapper;
 
@@ -332,6 +336,8 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
         tmsTruckFeign.addTotalResult(orderIdMap);
         omstruckOrder.setOrderId(orderId);
         BigDecimal saleOrderMaterialId = omstruckOrderMapper.getSaleMaterialId(dispatchId);
+        // 查询销售订单中是物资重量还是件数
+        List<Map<String, Object>> materialMapList = omstruckOrderSeparateMapper.getWeightOrNumber(saleOrderMaterialId);
         omstruckOrder.setOrderPlanId(saleOrderMaterialId);
         String orderNumber = DataChange.generateEightDigitsNumber("WYSDD", orderId.intValue());
         omstruckOrder.setOrderNumber(orderNumber);
@@ -360,12 +366,20 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
                 omstruckOrderMaterial.setUpdateUsername("admin");
                 omstruckOrderMaterial.setInsertUpdateRemark("无");
                 if (map != null) {
-                    BigDecimal materialTheoreticalWeight = (BigDecimal) map.get("materialTheoreticalWeight");
                     BigDecimal saleOrderMaterialNumber = (BigDecimal) map.get("saleOrderMaterialNumber");
                     BigDecimal materialId = (BigDecimal) map.get("materialId");
-                    omstruckOrderMaterial.setOrderMaterialWeight(materialTheoreticalWeight);
                     omstruckOrderMaterial.setMaterialId(materialId);
-                    omstruckOrderMaterial.setOrderMaterialNumber(saleOrderMaterialNumber);
+                    // 判断是重量还是件数
+                    if (materialMapList != null) {
+                        BigDecimal saleMaterialNumber = (BigDecimal) materialMapList.get(0).get("materialNumber");
+                        if (saleMaterialNumber != null && saleMaterialNumber.toString().length() != 0) {
+                            omstruckOrderMaterial.setOrderMaterialNumber(saleOrderMaterialNumber);
+                        }
+                        else {
+                            omstruckOrderMaterial.setOrderMaterialWeight(saleOrderMaterialNumber);
+                        }
+                    }
+
                 }
                 omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
             }

+ 11 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderSeparateMapper.xml

@@ -462,5 +462,16 @@
         </if>
     </select>
 
+    <!-- 查询销售订单的物资件数或重量 -->
+    <select id="getWeightOrNumber" parameterType="DECIMAL" resultType="java.util.Map" >
+        SELECT ASM.MATERIAL_NUMBER AS "materialNumber",
+               ASM.MATERIAL_WEIGHT AS "materialWeight"
+        FROM AMS_SALE_ORDER_MATERIAL ASOM
+        LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+        ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN AMS_SALE_MATERIAL ASM
+        ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+        WHERE ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+    </select>
 
 </mapper>