luobang 2 年之前
父节点
当前提交
2436129449

+ 1 - 0
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java

@@ -1442,6 +1442,7 @@ public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController
         String json = JSONUtils.toJSONString(totalMap);
         System.out.println(json);
         Map<String,Object> resultMap = joinFeign.deleteSaleOrderToEas(totalMap);
+
         try {
             newFileTool.newFile("deleteSaleOrderToEas:"+totalMap,"金蝶通讯报文");
         }catch (Exception e){

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMapper.java

@@ -221,4 +221,6 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
 
     List<BigDecimal> getSaleOrderIds();
 
+    BigDecimal getSaleOrderId(String saleNumber);
+
 }

+ 37 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -283,6 +283,11 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         }
         System.out.println(s);
         amsSaleOrder.setSaleOrderStatus(new BigDecimal(1));
+        try {
+            saleLogUtil.logSaleOrder(saleOrderId,"物流上传销售订单至金蝶" ,"物流" ,SaleLogUtil.UPDATE);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
         return amsSaleOrderMapper.updateByPrimaryKey(amsSaleOrder);
     }
 
@@ -1070,6 +1075,11 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 omstruckOrder.setLineId(lineId);
                 omstruckOrder.setInsertTime(new Date());
                 omstruckOrder.setInsertUsername("");
+                //如果这个车序号下面有运单,则证明已经派了
+                Map<String,Object> orderMap1 = amsSaleOrderMapper.getSteelOrderMap(saleOrderMaterialId);
+                if (orderMap1 != null) {
+                    continue;
+                }
                 result += omstruckOrderMapper.insertSelective(omstruckOrder);
                 //插入日志
                 saleLogUtil.logOrder(orderId,"普通派单,派车号:" + capacityNumber,map,SaleLogUtil.INSERT);
@@ -1452,6 +1462,11 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         if (amsSaleMaterials != null && amsSaleMaterials.get(0).getSaleWarehouse() != null && amsSaleMaterials.get(0).getSaleWarehouse().equals("副产品库")) {
             result += amsSaleOrderMapper.closeOrderNotIn(saleOrderId);
         }
+        try {
+            saleLogUtil.logSaleOrder(saleOrderId,"物流删除/关闭销售订单" ,"物流" ,SaleLogUtil.CLOSE);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
         result += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
         return result;
     }
@@ -1523,6 +1538,11 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             System.out.println(s);
             amsSaleOrder.setSaleOrderId(saleOrderId);
             amsSaleOrder.setSaleOrderStatus(new BigDecimal(1));
+            try {
+                saleLogUtil.logSaleOrder(saleOrderId,"物流上传销售订单至金蝶" ,"物流" ,SaleLogUtil.UPDATE);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
             result += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
         }
         return result;
@@ -2363,6 +2383,12 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         List<Map<String, Object>> weightIdList = amsSaleMaterialMapper.findWeightIdList(saleOrderMaterialId);
         String reason = (String) mapValue.get("reason");
         BigDecimal saleMaterialId = DataChange.dataToBigDecimal(mapValue.get("saleMaterialId"));
+        try {
+            BigDecimal saleOrderId = amsSaleOrderMapper.getSaleOrderId(mapValue.get("number").toString());
+            saleLogUtil.logSaleOrder(saleOrderId,"物流同步关闭金蝶分录,分录为" + saleMaterialId ,"物流" ,SaleLogUtil.CLOSE);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
         // 如果还未派车
         if (orderId == null) {
             // 订单子表设为关闭状态
@@ -2580,6 +2606,11 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         String json = JSONUtils.toJSONString(totalMap);
         System.out.println(json);
         Map<String,Object> resultMap = joinFeign.deleteSaleOrderToEas(totalMap);
+        try {
+            saleLogUtil.logSaleOrder(saleOrderId,"物流关闭销售订单" ,"物流" ,SaleLogUtil.CLOSE);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
         try {
             newFileTool.newFile("deleteSaleOrderToEas:"+totalMap,"金蝶通讯报文");
         }catch (Exception e){
@@ -2716,6 +2747,12 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         if(result == 7){
             //如果为7则更新
             amsSaleOrderMapper.updateSaleOrderStatus(saleNumber);
+            try {
+                BigDecimal saleOrderId = amsSaleOrderMapper.getSaleOrderId(saleNumber);
+                saleLogUtil.logSaleOrder(saleOrderId,"物流查询金蝶销售订单,物流同步关闭" ,"物流" ,SaleLogUtil.CLOSE);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
         }
         return result;
     }

+ 45 - 0
src/main/java/com/steerinfo/dil/util/SaleLogUtil.java

@@ -4,8 +4,11 @@ import com.steerinfo.dil.mapper.SaleLogMapper;
 import com.steerinfo.dil.model.SaleLog;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 import java.util.Map;
 
 @Component
@@ -66,6 +69,48 @@ public class SaleLogUtil {
         }
     }
 
+
+    //插入销售订单操作日志
+    public int logSaleOrder(BigDecimal saleOrderId,String descriptoin,String userName,int oprationType) {
+        try {
+            //List<BigDecimal> orderIds = saleLogMapper.getOrderIds(orderNumber);
+            List<SaleLog> list = new ArrayList<>();
+            //for(BigDecimal orderId:orderIds){
+            SaleLog saleLog = new SaleLog();
+            saleLog.setResultId(saleLogMapper.selectMaxId());
+            //saleLog.setOrderId(orderId);
+            saleLog.setSaleOrderId(saleOrderId);
+            saleLog.setDescription(descriptoin);
+            //saleLog.setJsonData(""+map);
+            saleLog.setInsertTime(new Date());
+            saleLog.setInsertUsername(userName);
+            switch (oprationType) {
+                case INSERT:
+                    saleLog.setOprationType("新增");
+                    break;
+                case UPDATE:
+                    saleLog.setOprationType("修改");
+                    break;
+                case DELETE:
+                    saleLog.setOprationType("删除");
+                    break;
+                case OPEN:
+                    saleLog.setOprationType("启用");
+                    break;
+                case CLOSE:
+                    saleLog.setOprationType("关闭");
+                    break;
+                default:
+                    saleLog.setOprationType("未知操作");
+            }
+            list.add(saleLog);
+            //}
+            return saleLogMapper.batchInsert(list);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return -1;
+        }
+    }
     /**
      * 处理插入用户名
      * @param map

+ 6 - 1
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -4890,7 +4890,8 @@
   </update>
     <update id="updateSaleOrderStatus">
       update AMS_SALE_ORDER ASO
-      set aso.DELETED = 2
+      set aso.DELETED = 2,
+          INSERT_UPDATE_REMARK = '查询金蝶销售订单状态,物流同步关闭'
       WHERE ASO.SALE_NUMBER = #{saleNumber}
     </update>
   <select id="getDispachSwitch" resultType="java.lang.Integer">
@@ -5010,5 +5011,9 @@
       SELECT SALE_ORDER_ID FROM AMS_SALE_ORDER
       WHERE SALE_TYPE = 4
     </select>
+  <select id="getSaleOrderId" resultType="java.math.BigDecimal" parameterType="string">
+    SELECT SALE_ORDER_ID FROM AMS_SALE_ORDER
+    WHERE SALE_NUMBER = #{saleNumber}
+  </select>
 
 </mapper>