瀏覽代碼

任务回调配置

andy 2 年之前
父節點
當前提交
6af70c4672

+ 4 - 5
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warewms/pda/PdaController.java

@@ -29,7 +29,7 @@ import com.ruoyi.ams.lineCall.service.ILineCallService;
 import com.ruoyi.ams.order.domain.ActAllocationDetails;
 import com.ruoyi.ams.order.form.ArrangeStockForm;
 import com.ruoyi.ams.order.form.CheckOutForm;
-import com.ruoyi.ams.order.form.ClearLocationForm;
+import com.ruoyi.ams.order.form.CheckOutSearchForm;
 import com.ruoyi.ams.order.form.PickForm;
 import com.ruoyi.ams.order.service.IActAllocationDetailsService;
 import com.ruoyi.ams.order.service.IWmsDocOrderHeaderService;
@@ -44,7 +44,6 @@ import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.service.ISysDictDataService;
 import lombok.extern.slf4j.Slf4j;
-import org.aspectj.weaver.loadtime.Aj;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -362,12 +361,12 @@ public class PdaController {
     /**
      * 出库列表
      *
-     * @param checkOutForm
+     * @param checkOutSearchForm
      * @return
      */
     @GetMapping("/docOrder/checkOutList")
-    public AjaxResult checkOutList(@RequestBody CheckOutForm checkOutForm) {
-        List<CheckOutVO> checkOutVOList = wmsDocOrderHeaderService.checkOutList(checkOutForm.getOrderNoList());
+    public AjaxResult checkOutList(@RequestBody CheckOutSearchForm checkOutSearchForm) {
+        List<CheckOutVO> checkOutVOList = wmsDocOrderHeaderService.checkOutList(checkOutSearchForm.getOrderNos());
         return AjaxResult.success(checkOutVOList);
     }
 

+ 9 - 6
warewms-ams/src/main/java/com/ruoyi/ams/business/BusinessServiceImpl.java

@@ -98,7 +98,7 @@ public class BusinessServiceImpl implements IBusinessService {
                     for (AgvCallItemDTO call : agvCallDTO.getAgvCallItemDTOList()) {
                         invLotLocIdService.initInv(locationFrom.getId().toString(), call.getSku(), Constant.CUSTOMER_ID, call.getQty(), call.getLotattDTO(), BigDecimal.ZERO);
                     }
-                    wcsTaskList.addAll(this.genTask(locationFrom, locationTo, flowConfigHeaderVO, token));
+                    wcsTaskList.addAll(this.genTask(locationFrom, locationTo, flowConfigHeaderVO, agvCallDTO, token));
                 } else if (flowConfigHeaderVO.getFlowType().equals("SO")) {
                     List<Long> locationList = new ArrayList<>();
                     for (BaseLocationInfo b : locationFromList) {
@@ -135,7 +135,7 @@ public class BusinessServiceImpl implements IBusinessService {
                         inWarehouseDTO.setWeight(b.getOutWarehouseDTO().getAgvCallItemDTO().getWeight());
                         inWarehouseDTO.setLotattDTO(b.getOutWarehouseDTO().getAgvCallItemDTO().getLotattDTO());
                         locationTo = locationAllocationStrategy.filterLockLocation(locationToList, token);
-                        wcsTaskList.addAll(this.genTask(b.getLocationInfo(), locationTo, flowConfigHeaderVO, token));
+                        wcsTaskList.addAll(this.genTask(b.getLocationInfo(), locationTo, flowConfigHeaderVO, agvCallDTO, token));
                     }
                 } else if (flowConfigHeaderVO.getFlowType().equals("MVCALL")) {
                     for (AgvCallItemDTO agvCall : agvCallDTO.getAgvCallItemDTOList()) {
@@ -165,7 +165,7 @@ public class BusinessServiceImpl implements IBusinessService {
                             if (locationTo == null) {
                                 break;
                             }
-                            wcsTaskList.addAll(this.genTask(mvLocationFrom, locationTo, flowConfigHeaderVO, token));
+                            wcsTaskList.addAll(this.genTask(mvLocationFrom, locationTo, flowConfigHeaderVO, agvCallDTO, token));
                             if (agvCall.getQty() != null) {
                                 Double current = invLotLocIdMapper.queryInvBySkuLocationId(agvCall.getSku(), mvLocationFrom.getId(), agvCall.getLotattDTO());
                                 if (current != null) {
@@ -200,12 +200,12 @@ public class BusinessServiceImpl implements IBusinessService {
                         throw new ServiceException("库位锁定失败");
                     }
                     //生成任务
-                    this.genTask(locationFrom, locationTo, flowConfigHeaderVO, token);
+                    this.genTask(locationFrom, locationTo, flowConfigHeaderVO, agvCallDTO, token);
                 } else if (flowConfigHeaderVO.getFlowType().equals("MV")) {
                     AgvCallItemDTO agvCall = agvCallDTO.getAgvCallItemDTOList().get(0);
                     locationFrom = this.zoneLocationAllocation(locationFromList, "locationFrom", "MV", asnSoStrategy, agvCall, token);
                     locationTo = this.zoneLocationAllocation(locationToList, "locationTo", "MV", asnSoStrategy, agvCall, token);
-                    wcsTaskList.addAll(this.genTask(locationFrom, locationTo, flowConfigHeaderVO, token));
+                    wcsTaskList.addAll(this.genTask(locationFrom, locationTo, flowConfigHeaderVO, agvCallDTO, token));
                 }
             }
             return AjaxResult.success("任务下发成功");
@@ -223,6 +223,7 @@ public class BusinessServiceImpl implements IBusinessService {
         callItemDTO.setLocationTo(agvCallDTO.getLocationTo());
         callItemDTO.setWarehouseId(agvCallDTO.getWarehouseId());
         callItemDTO.setLotattDTO(new LotattDTO());
+        callItemDTO.setExtParam(agvCallDTO.getExtParam());
         callItemDTOList.add(callItemDTO);
         agvCallDTO.setAgvCallItemDTOList(callItemDTOList);
         agvCallDTOList.add(agvCallDTO);
@@ -427,7 +428,7 @@ public class BusinessServiceImpl implements IBusinessService {
     }
 
     @Override
-    public List<WcsTask> genTask(BaseLocationInfo locationFrom, BaseLocationInfo locationTo, FlowConfigHeaderVO flowConfigHeaderVO, Long token) {
+    public List<WcsTask> genTask(BaseLocationInfo locationFrom, BaseLocationInfo locationTo, FlowConfigHeaderVO flowConfigHeaderVO, AgvCallDTO agvCallDTO, Long token) {
         if (locationFrom == null || locationTo == null) {
             throw new ServiceException("任务执行库位不能为空", token);
         }
@@ -446,6 +447,8 @@ public class BusinessServiceImpl implements IBusinessService {
             wcsTask.setBusinessType("01");
             wcsTask.setTaskType("");
             wcsTask.setExt8(token.toString());
+            wcsTask.setExt7(flowConfigHeaderVO.getId().toString());
+            wcsTask.setExtParam(agvCallDTO.getExtParam());
             wcsTaskList.add(wcsTask);
             businessService.addTask(wcsTask);
         } else {

+ 4 - 1
warewms-ams/src/main/java/com/ruoyi/ams/business/IBusinessService.java

@@ -31,6 +31,7 @@ public interface IBusinessService {
 
     /**
      * AGV呼叫业务
+     *
      * @param flowConfigHeaderVO
      * @param agvCallDTO
      * @return
@@ -76,7 +77,7 @@ public interface IBusinessService {
      * @param flowConfigHeaderVO
      * @return
      */
-    List<WcsTask> genTask(BaseLocationInfo locationFrom, BaseLocationInfo locationTo, FlowConfigHeaderVO flowConfigHeaderVO, Long token);
+    List<WcsTask> genTask(BaseLocationInfo locationFrom, BaseLocationInfo locationTo, FlowConfigHeaderVO flowConfigHeaderVO, AgvCallDTO agvCallDTO, Long token);
 
     /**
      * 新增任务
@@ -87,6 +88,7 @@ public interface IBusinessService {
 
     /**
      * 新增任务列表
+     *
      * @param wcsTaskList
      * @return
      */
@@ -102,6 +104,7 @@ public interface IBusinessService {
 
     /**
      * 批量下发任务
+     *
      * @param wcsTaskList
      * @return
      */

+ 58 - 2
warewms-ams/src/main/java/com/ruoyi/ams/config/domain/FlowConfigEvent.java

@@ -9,13 +9,13 @@ import com.ruoyi.common.core.domain.BaseEntity;
  * 事件调用配置对象 flow_config_event
  * 
  * @author andy
- * @date 2022-09-16
+ * @date 2022-11-28
  */
 public class FlowConfigEvent extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
 
-    /** $column.columnComment */
+    /**  */
     private Long id;
 
     /** 流程id */
@@ -30,18 +30,34 @@ public class FlowConfigEvent extends BaseEntity
     @Excel(name = "请求地址")
     private String accessUrl;
 
+    /** 请求方法 */
+    @Excel(name = "请求方法")
+    private String accessMethod;
+
     /** 请求参数 */
     @Excel(name = "请求参数")
     private String accessParam;
 
+    /** 请求类型 */
+    @Excel(name = "请求类型")
+    private String accessType;
+
     /** 回调地址 */
     @Excel(name = "回调地址")
     private String callbackUrl;
 
+    /** 回调方法 */
+    @Excel(name = "回调方法")
+    private String callbackMothed;
+
     /** 回调参数 */
     @Excel(name = "回调参数")
     private String callbackParam;
 
+    /** 回调类型 */
+    @Excel(name = "回调类型")
+    private String callbackType;
+
     public void setId(Long id) 
     {
         this.id = id;
@@ -78,6 +94,15 @@ public class FlowConfigEvent extends BaseEntity
     {
         return accessUrl;
     }
+    public void setAccessMethod(String accessMethod) 
+    {
+        this.accessMethod = accessMethod;
+    }
+
+    public String getAccessMethod() 
+    {
+        return accessMethod;
+    }
     public void setAccessParam(String accessParam) 
     {
         this.accessParam = accessParam;
@@ -87,6 +112,15 @@ public class FlowConfigEvent extends BaseEntity
     {
         return accessParam;
     }
+    public void setAccessType(String accessType) 
+    {
+        this.accessType = accessType;
+    }
+
+    public String getAccessType() 
+    {
+        return accessType;
+    }
     public void setCallbackUrl(String callbackUrl) 
     {
         this.callbackUrl = callbackUrl;
@@ -96,6 +130,15 @@ public class FlowConfigEvent extends BaseEntity
     {
         return callbackUrl;
     }
+    public void setCallbackMothed(String callbackMothed) 
+    {
+        this.callbackMothed = callbackMothed;
+    }
+
+    public String getCallbackMothed() 
+    {
+        return callbackMothed;
+    }
     public void setCallbackParam(String callbackParam) 
     {
         this.callbackParam = callbackParam;
@@ -105,6 +148,15 @@ public class FlowConfigEvent extends BaseEntity
     {
         return callbackParam;
     }
+    public void setCallbackType(String callbackType) 
+    {
+        this.callbackType = callbackType;
+    }
+
+    public String getCallbackType() 
+    {
+        return callbackType;
+    }
 
     @Override
     public String toString() {
@@ -113,9 +165,13 @@ public class FlowConfigEvent extends BaseEntity
             .append("flowId", getFlowId())
             .append("eventCode", getEventCode())
             .append("accessUrl", getAccessUrl())
+            .append("accessMethod", getAccessMethod())
             .append("accessParam", getAccessParam())
+            .append("accessType", getAccessType())
             .append("callbackUrl", getCallbackUrl())
+            .append("callbackMothed", getCallbackMothed())
             .append("callbackParam", getCallbackParam())
+            .append("callbackType", getCallbackType())
             .append("createTime", getCreateTime())
             .toString();
     }

+ 9 - 0
warewms-ams/src/main/java/com/ruoyi/ams/config/domain/dto/AgvCallDTO.java

@@ -13,6 +13,7 @@ public class AgvCallDTO {
     private String locationTo;
     private Long warehouseId;
     private List<AgvCallItemDTO> agvCallItemDTOList = new ArrayList<>();
+    private String extParam;
 
     public Long getId() {
         return id;
@@ -61,4 +62,12 @@ public class AgvCallDTO {
     public void setPalletNo(String palletNo) {
         this.palletNo = palletNo;
     }
+
+    public String getExtParam() {
+        return extParam;
+    }
+
+    public void setExtParam(String extParam) {
+        this.extParam = extParam;
+    }
 }

+ 1 - 0
warewms-ams/src/main/java/com/ruoyi/ams/config/domain/dto/AgvCallItemDTO.java

@@ -12,4 +12,5 @@ public class AgvCallItemDTO {
     private Double weight;
     private String supplier;
     private LotattDTO lotattDTO;
+    private String extParam;
 }

+ 1 - 1
warewms-ams/src/main/java/com/ruoyi/ams/order/form/CheckOutForm.java

@@ -9,5 +9,5 @@ import java.util.List;
  */
 @Data
 public class CheckOutForm {
-    private List<String> orderNoList;
+    private List<CheckOutInfoForm> checkOutInfoFormList;
 }

+ 3 - 1
warewms-ams/src/main/java/com/ruoyi/ams/order/form/ClearLocationForm.java

@@ -3,6 +3,8 @@ package com.ruoyi.ams.order.form;
 import lombok.Data;
 
 @Data
-public class ClearLocationForm {
+public class CheckOutInfoForm {
+    private String orderNo;
+    private String palletNo;
     private String locationNo;
 }

+ 10 - 0
warewms-ams/src/main/java/com/ruoyi/ams/order/form/CheckOutSearchForm.java

@@ -0,0 +1,10 @@
+package com.ruoyi.ams.order.form;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CheckOutSearchForm {
+    private List<String> orderNos;
+}

+ 8 - 0
warewms-ams/src/main/java/com/ruoyi/ams/order/service/IWmsDocOrderHeaderService.java

@@ -118,6 +118,7 @@ public interface IWmsDocOrderHeaderService {
 
     /**
      * 查询拣货列表
+     *
      * @param palletNo
      * @return
      */
@@ -133,6 +134,7 @@ public interface IWmsDocOrderHeaderService {
 
     /**
      * 出库list
+     *
      * @param orderNoList
      * @return
      */
@@ -192,4 +194,10 @@ public interface IWmsDocOrderHeaderService {
      */
     AjaxResult invTally(InvTallyForm invTallyForm);
 
+    /**
+     * 拣货出去回调
+     *
+     * @param taskNo
+     */
+    void checkOutCallback(String taskNo, String extParam);
 }

+ 32 - 4
warewms-ams/src/main/java/com/ruoyi/ams/order/service/impl/WmsDocOrderHeaderServiceImpl.java

@@ -3,6 +3,7 @@ package com.ruoyi.ams.order.service.impl;
 import java.math.BigDecimal;
 import java.util.*;
 
+import com.alibaba.fastjson.JSON;
 import com.ruoyi.ams.box.domain.WmsBoxInfo;
 import com.ruoyi.ams.box.mapper.WmsBoxInfoMapper;
 import com.ruoyi.ams.box.service.IWmsBoxInfoService;
@@ -404,9 +405,24 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
     @Override
     public AjaxResult doCheckout(CheckOutForm checkOutForm) {
         //TODO 待实现
-        /*for (CheckOutInfoForm check : checkOutForms) {
+        for (CheckOutInfoForm check : checkOutForm.getCheckOutInfoFormList()) {
+
             //TODO 生成任务呼叫到接驳位
-            ActAllocationDetails actAllocationDetails = actAllocationDetailsService.selectActAllocationDetailsByAllocationId(check.getActAllocationId());
+            BaseLocationInfo baseLocationInfo = baseLocationInfoService.selectBaseLocationInfoByIdOrNo(check.getLocationNo(), Constant.WAREHOUSE_ID);
+            FlowConfigHeaderVO flowConfigHeaderVO = flowConfigHeaderService.selectFlowConfigHeaderById(6L);
+            AgvCallDTO agvCallDTO = new AgvCallDTO();
+            agvCallDTO.setId(flowConfigHeaderVO.getId());
+            agvCallDTO.setLocationFrom(baseLocationInfo.getId().toString());
+            agvCallDTO.setLocationTo(null);
+            agvCallDTO.setPalletNo(check.getPalletNo());
+            agvCallDTO.setWarehouseId(Constant.WAREHOUSE_ID);
+            agvCallDTO.setExtParam(JSON.toJSONString(checkOutForm));
+            AjaxResult result = businessService.agvCall(flowConfigHeaderVO, agvCallDTO);
+            if ((int) result.get(AjaxResult.CODE_TAG) == 500) {
+                throw new ServiceException("任务生成失败");
+            }
+
+            /*ActAllocationDetails actAllocationDetails = actAllocationDetailsService.selectActAllocationDetailsByAllocationId(check.getActAllocationId());
             //清空库存
             WmsBoxInfo wmsBoxInfo = wmsBoxInfoService.selectWmsBoxInfoByBoxNo(actAllocationDetails.getUserdefine1());
             invLotLocIdService.clear(wmsBoxInfo.getLocationId().toString(), Constant.WAREHOUSE_ID, "");
@@ -417,8 +433,15 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
             wmsDocOrderDetails.setLineStatus("99");
             wmsDocOrderDetails.setOrderNo(actAllocationDetails.getOrderNo());
             wmsDocOrderDetails.setOrderLineNo(new BigDecimal(actAllocationDetails.getLineNo()));
-            wmsDocOrderDetailsMapper.updateWmsDocOrderDetails(wmsDocOrderDetails);
-        }*/
+            wmsDocOrderDetailsMapper.updateWmsDocOrderDetails(wmsDocOrderDetails);*/
+
+            //修改出库单状态为完成
+            WmsDocOrderHeader header = wmsDocOrderHeaderService.selectWmsDocOrderHeaderByOrderNo(check.getOrderNo());
+            header.setOrderStatus("99");
+            wmsDocOrderHeaderMapper.updateWmsDocOrderHeader(header);
+        }
+
+
         return AjaxResult.success("操作成功");
     }
 
@@ -610,4 +633,9 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
             return AjaxResult.error("操作失败");
         }
     }
+
+    @Override
+    public void checkOutCallback(String taskNo, String extParam) {
+        System.out.println(extParam);
+    }
 }

+ 6 - 0
warewms-ams/src/main/java/com/ruoyi/ams/task/service/IWcsTaskService.java

@@ -92,4 +92,10 @@ public interface IWcsTaskService {
      * @param result 处理结果
      */
     void invDisposition(WcsTask wcsTask,String result);
+
+    /**
+     * 事件回调
+     * @param wcsTask
+     */
+    void eventCallBack(String code,WcsTask wcsTask);
 }

+ 35 - 0
warewms-ams/src/main/java/com/ruoyi/ams/task/service/impl/WcsTaskServiceImpl.java

@@ -1,14 +1,18 @@
 package com.ruoyi.ams.task.service.impl;
 
+import java.lang.reflect.Method;
 import java.util.List;
 
 import com.ruoyi.ams.box.domain.WmsBoxInfo;
 import com.ruoyi.ams.box.service.IWmsBoxInfoService;
+import com.ruoyi.ams.config.domain.FlowConfigEvent;
+import com.ruoyi.ams.config.service.IFlowConfigEventService;
 import com.ruoyi.ams.inv.mapper.InvLotLocIdMapper;
 import com.ruoyi.base.domain.BaseLocationInfo;
 import com.ruoyi.base.service.IBaseLocationInfoService;
 import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.spring.SpringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
@@ -36,6 +40,8 @@ public class WcsTaskServiceImpl implements IWcsTaskService {
     private RedisCache redisCache;
     @Autowired
     private IWmsBoxInfoService wmsBoxInfoService;
+    @Autowired
+    private IFlowConfigEventService flowConfigEventService;
 
     /**
      * 查询AGV任务
@@ -163,6 +169,8 @@ public class WcsTaskServiceImpl implements IWcsTaskService {
             wmsBoxInfoService.updateLocationBind(Long.parseLong(wcsTask.getLocationFrom()), Long.parseLong(wcsTask.getLocationTo()), null);
         }
 
+        this.eventCallBack("543", wcsTask);
+
         //修改任务状态
         wcsTask.setState(2L);
         wcsTaskMapper.updateWcsTask(wcsTask);
@@ -208,4 +216,31 @@ public class WcsTaskServiceImpl implements IWcsTaskService {
             invLotLocIdMapper.clearInvByLocationId(bf.getId());
         }
     }
+
+    @Override
+    public void eventCallBack(String code, WcsTask wcsTask) {
+        if (!StringUtils.isEmpty(wcsTask.getExt7())) {
+            FlowConfigEvent flowConfigEvent = new FlowConfigEvent();
+            flowConfigEvent.setEventCode(code);
+            List<FlowConfigEvent> flowConfigEvents = flowConfigEventService.selectFlowConfigEventList(flowConfigEvent);
+            for (FlowConfigEvent event : flowConfigEvents) {
+                if (event.getAccessType().equals("local")) {
+                    Object bean = SpringUtils.getBean(event.getAccessUrl());
+                    try {
+                        Method method = bean.getClass().getMethod(event.getAccessMethod(), new Class[]{String.class});
+                        Object result = method.invoke(bean, wcsTask.getTaskNo(), wcsTask.getExtParam());
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                } else {
+
+                }
+            }
+        }
+        try {
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 }

+ 28 - 19
warewms-ams/src/main/resources/mapper/ams/FlowConfigEventMapper.xml

@@ -9,25 +9,33 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="flowId"    column="flow_id"    />
         <result property="eventCode"    column="event_code"    />
         <result property="accessUrl"    column="access_url"    />
+        <result property="accessMethod"    column="access_method"    />
         <result property="accessParam"    column="access_param"    />
+        <result property="accessType"    column="access_type"    />
         <result property="callbackUrl"    column="callback_url"    />
+        <result property="callbackMothed"    column="callback_mothed"    />
         <result property="callbackParam"    column="callback_param"    />
+        <result property="callbackType"    column="callback_type"    />
         <result property="createTime"    column="create_time"    />
     </resultMap>
 
     <sql id="selectFlowConfigEventVo">
-        select id, flow_id, event_code, access_url, access_param, callback_url, callback_param, create_time from flow_config_event
+        select id, flow_id, event_code, access_url, access_method, access_param, access_type, callback_url, callback_mothed, callback_param, callback_type, create_time from flow_config_event
     </sql>
 
     <select id="selectFlowConfigEventList" parameterType="FlowConfigEvent" resultMap="FlowConfigEventResult">
         <include refid="selectFlowConfigEventVo"/>
-        <where>  
-            <if test="flowId != null "> and flow_id = #{flowId}</if>
-            <if test="eventCode != null  and eventCode != ''"> and event_code = #{eventCode}</if>
-            <if test="accessUrl != null  and accessUrl != ''"> and access_url = #{accessUrl}</if>
-            <if test="accessParam != null  and accessParam != ''"> and access_param = #{accessParam}</if>
-            <if test="callbackUrl != null  and callbackUrl != ''"> and callback_url = #{callbackUrl}</if>
-            <if test="callbackParam != null  and callbackParam != ''"> and callback_param = #{callbackParam}</if>
+        <where>
+            <if test="flowId != null"> and flow_id = #{flowId}</if>
+            <if test="eventCode != null"> and event_code = #{eventCode}</if>
+            <if test="accessUrl != null"> and access_url = #{accessUrl}</if>
+            <if test="accessMethod != null"> and access_method = #{accessMethod}</if>
+            <if test="accessParam != null"> and access_param = #{accessParam}</if>
+            <if test="accessType != null"> and access_type = #{accessType}</if>
+            <if test="callbackUrl != null"> and callback_url = #{callbackUrl}</if>
+            <if test="callbackMothed != null"> and callback_method = #{callbackMothed}</if>
+            <if test="callbackParam != null"> and callback_param = #{callbackParam}</if>
+            <if test="callbackType != null"> and callback_type = #{callbackType}</if>
         </where>
     </select>
     
@@ -42,18 +50,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="flowId != null">flow_id,</if>
             <if test="eventCode != null">event_code,</if>
             <if test="accessUrl != null">access_url,</if>
+            <if test="accessMethod != null">access_method,</if>
             <if test="accessParam != null">access_param,</if>
+            <if test="accessType != null">access_type,</if>
             <if test="callbackUrl != null">callback_url,</if>
+            <if test="callbackMothed != null">callback_mothed,</if>
             <if test="callbackParam != null">callback_param,</if>
+            <if test="callbackType != null">callback_type,</if>
             <if test="createTime != null">create_time,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="flowId != null">#{flowId},</if>
             <if test="eventCode != null">#{eventCode},</if>
             <if test="accessUrl != null">#{accessUrl},</if>
+            <if test="accessMethod != null">#{accessMethod},</if>
             <if test="accessParam != null">#{accessParam},</if>
+            <if test="accessType != null">#{accessType},</if>
             <if test="callbackUrl != null">#{callbackUrl},</if>
+            <if test="callbackMothed != null">#{callbackMothed},</if>
             <if test="callbackParam != null">#{callbackParam},</if>
+            <if test="callbackType != null">#{callbackType},</if>
             <if test="createTime != null">#{createTime},</if>
          </trim>
     </insert>
@@ -64,9 +80,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="flowId != null">flow_id = #{flowId},</if>
             <if test="eventCode != null">event_code = #{eventCode},</if>
             <if test="accessUrl != null">access_url = #{accessUrl},</if>
+            <if test="accessMethod != null">access_method = #{accessMethod},</if>
             <if test="accessParam != null">access_param = #{accessParam},</if>
+            <if test="accessType != null">access_type = #{accessType},</if>
             <if test="callbackUrl != null">callback_url = #{callbackUrl},</if>
+            <if test="callbackMothed != null">callback_mothed = #{callbackMothed},</if>
             <if test="callbackParam != null">callback_param = #{callbackParam},</if>
+            <if test="callbackType != null">callback_type = #{callbackType},</if>
             <if test="createTime != null">create_time = #{createTime},</if>
         </trim>
         where id = #{id}
@@ -76,21 +96,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         delete from flow_config_event where id = #{id}
     </delete>
 
-    <delete id="deleteFlowConfigEventByFlowID" parameterType="Long">
-        delete from flow_config_event where flow_id = #{id}
-    </delete>
-
     <delete id="deleteFlowConfigEventByIds" parameterType="String">
         delete from flow_config_event where id in 
         <foreach item="id" collection="array" open="(" separator="," close=")">
             #{id}
         </foreach>
     </delete>
-
-    <insert id="batchFlowConfigEvent">
-        insert into flow_config_event( id, flow_id, event_code, access_url, access_param, callback_url, callback_param, create_time) values
-        <foreach item="item" index="index" collection="list" separator=",">
-            ( #{item.id}, #{item.flowId}, #{item.eventCode}, #{item.accessUrl}, #{item.accessParam}, #{item.callbackUrl}, #{item.callbackParam}, #{item.createTime})
-        </foreach>
-    </insert>
 </mapper>

+ 2 - 0
warewms-ams/src/main/resources/mapper/docOrder/WmsDocOrderHeaderMapper.xml

@@ -376,5 +376,7 @@
         <foreach item="orderNo" collection="list" open="(" separator="," close=")">
             #{orderNo}
         </foreach>
+        and de.line_status = '40'
+        group by de.order_no,w.box_no,b.location_no
     </select>
 </mapper>