liyg 2 lat temu
rodzic
commit
af472935a1

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

@@ -16,4 +16,7 @@ public interface SaleLogMapper extends IBaseMapper<SaleLog, BigDecimal> {
 
     //查询所有日志
     List<Map<String,Object>> selectAllLog(Map<String,Object> map);
+
+    //查询用户名
+    String getUserNameById(Map<String,Object> map);
 }

+ 22 - 1
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -109,6 +109,9 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     @Autowired
     BmstruckFeign bmstruckFeign;
 
+    @Autowired
+    SaleLogUtil saleLogUtil;
+
     @Override
     public List<Map<String, Object>> getSaleOrderInfo(Map<String, Object> map) {
         return amsSaleOrderMapper.getSaleOrderInfo(map);
@@ -1038,6 +1041,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 omstruckOrder.setInsertTime(new Date());
                 omstruckOrder.setInsertUsername("");
                 result += omstruckOrderMapper.insertSelective(omstruckOrder);
+                //插入日志
+                saleLogUtil.logOrder(orderId,"普通派单",map,SaleLogUtil.INSERT);
             } else {
                 omstruckOrder = omstruckOrders.get(0);
             }
@@ -1154,6 +1159,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             omstruckOrder.setInsertTime(new Date());
             omstruckOrder.setInsertUsername("continue");
             result += omstruckOrderMapper.insertSelective(omstruckOrder);
+            //插入日志
+            saleLogUtil.logOrder(orderId,"继续装派单",map,SaleLogUtil.INSERT);
             for (Map<String, Object> materialMap : materialList) {
                 BigDecimal materialId = (BigDecimal) materialMap.get("materialId");
                 BigDecimal materialWeight = (BigDecimal) materialMap.get("materialWeight");
@@ -1679,6 +1686,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 omstruckOrder.setOptionerCode(operateName);
             }
             omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+            //插入日志
+            saleLogUtil.logOrder(orderId,"修改收货地址",mapValue,SaleLogUtil.UPDATE);
             // 得到销售订单物资表主键
             List<Map<String,Object>> saleMaterialIdList = amsSaleOrderMapper.getSaleMaterialId(saleOrderMaterialId);
             for (Map<String, Object> map : saleMaterialIdList) {
@@ -1847,6 +1856,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         omstruckOrder.setOrderId(orderId);
         omstruckOrder.setCanWork(new BigDecimal(1));
         omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+        //插入日志
+        saleLogUtil.logOrder(orderId,"修改销售订单中的物资:改为不可作业",mapValue,SaleLogUtil.UPDATE);
         // 得到运单中的物资
         List<Map<String, Object>> oldList = omstruckOrderMaterialMapper.getMaterialList(orderId);
         Map<String, Object> toTmsMap = new HashMap<>();
@@ -2081,6 +2092,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         wysdd.setOrderId(DataChange.dataToBigDecimal(mapValue.get("orderId")));
         wysdd.setOrderNumber(DataChange.generateEightDigitsNumber("WYSDD", omstruckOrderMapper.selectMaxId().intValue()));
         omstruckOrderMapper.updateByPrimaryKeySelective(wysdd);
+        //插入日志
+        saleLogUtil.logOrder(wysdd.getOrderId(),"修改车牌号",mapValue,SaleLogUtil.UPDATE);
         if (lineSequence == null || "0".equals(lineSequence.toString()) || "1".equals(lineSequence.toString()) || "2".equals(lineSequence.toString())) {
             String capacityids="";
             Integer capacityid1= (Integer) mapValue.get("capacityIds");
@@ -2271,6 +2284,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 omstruckOrder.setUpdateTime(new Date());
                 omstruckOrder.setInsertUpdateRemark("关闭分录,同步关闭运输订单");
                 result += omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+                //插入日志
+                saleLogUtil.logOrder(omstruckOrder.getOrderId(),"关闭分录,同步关闭运输订单",mapValue,SaleLogUtil.UPDATE);
         }
         result += amsSaleMaterialMapper.updateByPrimaryKeySelective(amsSaleMaterial);
         if(netWeightCount == 0) {
@@ -2376,6 +2391,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 omstruckOrder.setUpdateTime(new Date());
                 omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
             }
+            //插入日志
+            saleLogUtil.logOrder(omstruckOrder.getOrderId(),"反关闭分录,运单同步开启",null,SaleLogUtil.UPDATE);
         }
         // 设置反关闭分录id
         head.put("unCloseEntryId",amsSaleMaterial.getEasPrimaryId());
@@ -2484,6 +2501,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 omstruckOrder.setOptionerCode(operateName);
             }
             omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+            //插入日志
+            saleLogUtil.logOrder(omstruckOrder.getOrderId(),"反关闭",null,SaleLogUtil.UPDATE);
             // 根据车序号主键修改子表
             amsSaleMaterialMapper.updateSaleMaterial(saleOrderMaterialId);
             //查询分录ID,修改金蝶
@@ -2616,13 +2635,15 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 omstruckOrder.setInsertUpdateRemark("反关闭分录,运单同步开启");
                 omstruckOrder.setUpdateTime(new Date());
                 omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
-            }else{
+              }else{
                 omstruckOrder.setOrderId(orderId);
                 omstruckOrder.setOrderStatus(new BigDecimal(5));
                 omstruckOrder.setInsertUpdateRemark("反关闭分录,运单同步开启");
                 omstruckOrder.setUpdateTime(new Date());
                 omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
             }
+            //插入日志
+            saleLogUtil.logOrder(orderId,"反关闭分录,运单同步开启",null,SaleLogUtil.UPDATE);
         }
         return result;
     }

+ 52 - 28
src/main/java/com/steerinfo/dil/util/SaleLogUtil.java

@@ -27,40 +27,64 @@ public class SaleLogUtil {
      * 插入运输订单的操作日志
      * @param orderId
      * @param descriptoin
-     * @param userName
      * @param oprationType 操作类型
      * @param map 可以传null
      * @return
      */
-    public int logOrder(BigDecimal orderId,String descriptoin,String userName,int oprationType,Map map){
-        SaleLog saleLog=new SaleLog();
-        saleLog.setResultId(saleLogMapper.selectMaxId());
-        saleLog.setOrderId(orderId);
-        saleLog.setDescription(descriptoin);
-        if(map!=null){
+    public int logOrder(BigDecimal orderId,String descriptoin,Map<String,Object> map,int oprationType){
+        try{
+            SaleLog saleLog=new SaleLog();
+            saleLog.setResultId(saleLogMapper.selectMaxId());
+            saleLog.setOrderId(orderId);
+            saleLog.setDescription(descriptoin);
             saleLog.setJsonData(""+map);
+            saleLog.setInsertTime(new Date());
+            saleLog.setInsertUsername(getUserName(map));
+            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("未知操作");
+            }
+            return saleLogMapper.insertSelective(saleLog);
+
+        }catch (Exception e){
+            return -1;
         }
-        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("未知操作");
+    }
+
+    /**
+     * 处理插入用户名
+     * @param map
+     * @return
+     */
+    private String getUserName(Map<String,Object> map){
+        try{
+            if(map==null){
+                return "system";
+            }else if(map.get("userName")!=null){
+                return ""+map.get("userName");
+            }else if(map.get("userId")!=null){
+                return saleLogMapper.getUserNameById(map);
+            }else{
+                return "未知用户";
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return "未知用户";
         }
-        return saleLogMapper.insertSelective(saleLog);
     }
 }

+ 5 - 0
src/main/resources/com/steerinfo/dil/mapper/SaleLogMapper.xml

@@ -323,4 +323,9 @@
     </if>
     </where>
   </select>
+    <select id="getUserNameById" resultType="java.lang.String">
+      SELECT USER_NAME FROM SSO.SYS_USER
+      WHERE USER_ID = #{userId}
+      FETCH NEXT 1 ROWS ONLY
+    </select>
 </mapper>