HUJIANGUO 3 rokov pred
rodič
commit
2e98f503c8

+ 15 - 7
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -267,6 +267,15 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                     // 如果有物流系统销售订单物资表主键:认定是走物流新增的销售订单(通过物流系统主键进行查询)
                     if (saleMaterialId != null && (!saleMaterialId.equals("null")) && !saleMaterialId.equals("")) {
                         amsSaleMaterial = amsSaleMaterialMapper.selectByPrimaryKey(new BigDecimal(saleMaterialId));
+                        Object meterWeight = materialMap.get("meterWeight");
+                        if (meterWeight != null && !"".equals(meterWeight.toString())) {
+                            amsSaleMaterial.setMeterWeight(DataChange.dataToBigDecimal(meterWeight));
+                        }
+                        else {
+                            Double weightDouble = new Double(materialNumber);
+                            BigDecimal liWeight = new BigDecimal( weightDouble/amsSaleMaterial.getMaterialNumber().doubleValue() * 1000);
+                            amsSaleMaterial.setMeterWeight(liWeight);
+                        }
                         // 同步修改车序号物资表
                         resultMap.put("materialId",saleMaterialId);
                         List<AmsSaleTrucknoMaterial> amsSaleTrucknoMaterials = amsSaleTrucknoMaterialMapper.selectByParameters(resultMap);
@@ -284,20 +293,19 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                     }
                     // 得到物资编码
                     String materialCode = (String) materialMap.get("materialCode");
-                    BigDecimal materialId = amsSaleMaterialMapper.getMaterialId(materialCode);
                     // 得到计量单位
                     String materialUnit = (String) materialMap.get("materialUnit");
-                    Object meterWeight = materialMap.get("meterWeight");
-                    amsSaleMaterial.setEasPrimaryId(easPrimaryId);
-                    amsSaleMaterial.setSaleOrderId(amsSaleOrder.getSaleOrderId());
-                    amsSaleMaterial.setMaterialId(materialId);
-                    amsSaleMaterial.setInsertTime(new Date());
-                    amsSaleMaterial.setMeterWeight(DataChange.dataToBigDecimal(meterWeight));
                     if (materialUnit.equals("件")) {
                         amsSaleMaterial.setMaterialNumber(new BigDecimal(materialNumber));
                     } else {
                         amsSaleMaterial.setMaterialWeight(new BigDecimal(materialNumber));
                     }
+                    BigDecimal materialId = amsSaleMaterialMapper.getMaterialId(materialCode);
+                    amsSaleMaterial.setEasPrimaryId(easPrimaryId);
+                    amsSaleMaterial.setSaleOrderId(amsSaleOrder.getSaleOrderId());
+                    amsSaleMaterial.setMaterialId(materialId);
+                    amsSaleMaterial.setInsertTime(new Date());
+
                     result += amsSaleMaterialMapper.updateByPrimaryKeySelective(amsSaleMaterial);
                 }
                 result += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);