Browse Source

Merge branch 'dev' of https://git.steerinfo.com/DAL-DAZHOU2/DAL-DAZHOU-JOIN-API into dev

txf 3 years ago
parent
commit
36f876831b

+ 42 - 3
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -85,13 +85,21 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         String saleNumber = (String) mapVal.get("saleNumber");
         Map<String,Object> map = new HashMap<>();
         map.put("saleNumber",saleNumber);
+        // 判断是删除还是非删除
+        String closeStatus = (String) mapVal.get("closeStatus");
         List<AmsSaleOrder> amsSaleOrders = amsSaleOrderMapper.selectByParameters(map);
-        if (orderStatus.equals("4")) {
+        if (closeStatus.equals("0")) {
+            AmsSaleOrder amsSaleOrder = amsSaleOrders.get(0);
+            amsSaleOrder.setDeleted(new BigDecimal(1));
+            result = amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
+        }
+        if (orderStatus.equals("4") && closeStatus.equals("1")){
             AmsSaleOrder amsSaleOrder = amsSaleOrders.get(0);
             amsSaleOrder.setSaleOrderStatus(new BigDecimal(4));
+            amsSaleOrder.setDeleted(new BigDecimal(0));
             result = amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
         }
-        else {
+        if (orderStatus.equals("2") && closeStatus.equals("1")){
             // 得到账户余额
             String saleAccountBalance = (String) mapVal.get("saleAccountBalance");
             // 得到当前订单金额
@@ -194,6 +202,9 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 amsSaleOrder.setSaleNumber(saleNumber);
                 amsSaleOrder.setSaleAccountBalance(new BigDecimal(saleAccountBalance));
                 amsSaleOrder.setSaleCurrentOrderAmount(new BigDecimal(saleCurrentOrderAmount));
+                amsSaleOrder.setSaleRemark(saleRemark);
+                amsSaleOrder.setDeleted(new BigDecimal(0));
+                amsSaleOrder.setUpdateTime(new Date());
                 if (saleHistoricalOrderAmount != null && saleHistoricalOrderAmount.length() != 0) {
                     amsSaleOrder.setSaleHistoricalOrderAmount(new BigDecimal(saleHistoricalOrderAmount));
                 }
@@ -203,8 +214,36 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                     String saleMaterialId = (String) materialMap.get("saleMaterialId");
                     // 得到金蝶分录id
                     String easPrimaryId = (String) materialMap.get("easPrimaryId");
-                    AmsSaleMaterial amsSaleMaterial = amsSaleMaterialMapper.selectByPrimaryKey(new BigDecimal(saleMaterialId));
+                    Map<String,Object> resultMap = new HashMap<>();
+                    resultMap.put("easPrimaryId",easPrimaryId);
+                    AmsSaleMaterial amsSaleMaterial;
+                    // 如果有物流系统销售订单物资表主键:认定是走物流新增的销售订单(通过物流系统主键进行查询)
+                    if (saleMaterialId != null && (!saleMaterialId.equals("null")) && !saleMaterialId.equals("")) {
+                        amsSaleMaterial = amsSaleMaterialMapper.selectByPrimaryKey(new BigDecimal(saleMaterialId));
+                    }
+                    // 否则认定是走金蝶新增的销售订单(通过金蝶分录id进行查询)
+                    else {
+                        List<AmsSaleMaterial> amsSaleMaterials = amsSaleMaterialMapper.selectByParameters(resultMap);
+                        amsSaleMaterial = amsSaleMaterials.get(0);
+                    }
+                    // 得到物资编码
+                    String materialCode = (String) materialMap.get("materialCode");
+                    BigDecimal materialId = amsSaleMaterialMapper.getMaterialId(materialCode);
+                    // 得到物资数量
+                    String materialNumber = (String) materialMap.get("materialNumber");
+                    // 得到计量单位
+                    String materialUnit = (String) materialMap.get("materialUnit");
                     amsSaleMaterial.setEasPrimaryId(easPrimaryId);
+                    amsSaleMaterial.setSaleOrderId(amsSaleOrder.getSaleOrderId());
+                    amsSaleMaterial.setMaterialId(materialId);
+                    amsSaleMaterial.setInsertTime(new Date());
+                    amsSaleMaterial.setInsertUsername("金蝶");
+                    amsSaleMaterial.setInsertUpdateRemark("采集金蝶销售订单");
+                    if (materialUnit.equals("件")) {
+                        amsSaleMaterial.setMaterialNumber(new BigDecimal(materialNumber));
+                    } else {
+                        amsSaleMaterial.setMaterialWeight(new BigDecimal(materialNumber));
+                    }
                     result += amsSaleMaterialMapper.updateByPrimaryKeySelective(amsSaleMaterial);
                 }
                 result += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);