diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/d/a/da94e2f9402ad75ef272f2e95148c573aee9a1ff b/wms_pro/hd/.idea/sonarlint/issuestore/d/a/da94e2f9402ad75ef272f2e95148c573aee9a1ff
deleted file mode 100644
index de211bf5..00000000
--- a/wms_pro/hd/.idea/sonarlint/issuestore/d/a/da94e2f9402ad75ef272f2e95148c573aee9a1ff
+++ /dev/null
@@ -1,11 +0,0 @@
-
-d
-java:S1192E"IDefine a constant instead of duplicating this literal "service." 5 times.(���������
-N	java:S106"9Replace this use of System.out or System.err by a logger.(����
-Q	java:S125B"<This block of commented-out lines of code should be removed.(����
-�
-java:S1186N"�Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(ٿķ
-Q	java:S125V"<This block of commented-out lines of code should be removed.(י��
-V	java:S125Z"<This block of commented-out lines of code should be removed.(���������
-V	java:S125_"<This block of commented-out lines of code should be removed.(ގ�������
-V	java:S125a"<This block of commented-out lines of code should be removed.(���������
\ No newline at end of file
diff --git a/wms_pro/hd/.idea/sonarlint/issuestore/index.pb b/wms_pro/hd/.idea/sonarlint/issuestore/index.pb
index 0d835989..acd4404a 100644
--- a/wms_pro/hd/.idea/sonarlint/issuestore/index.pb
+++ b/wms_pro/hd/.idea/sonarlint/issuestore/index.pb
@@ -17,8 +17,6 @@ F
 jnladmin-system/src/main/java/org/nl/wms/system_manage/service/generator/impl/CodeGenConfigServiceImpl.java,2/d/2d32fa4ba277a66f4515ea7d34297bcfeca20b22
 �
 ^nladmin-system/src/main/java/org/nl/wms/system_manage/service/generator/dao/CodeGenConfig.java,3/a/3a408b7d961edb8db362ab2025efe90ae43186c9
-u
-Enladmin-system/src/main/java/org/nl/config/mybatis/CodeGenerator.java,d/a/da94e2f9402ad75ef272f2e95148c573aee9a1ff
 �
 dnladmin-system/src/main/java/org/nl/wms/system_manage/controller/coderule/SysCodeRuleController.java,3/2/327e504df1a8ea8af98fe85d21ec4692cccd130d
 �
@@ -185,12 +183,6 @@ Znladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/dto/FormDat
 gnladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/dao/mapper/xml/PmFormDataMapper.xml,2/7/27ddde88021914d58fc637c1e790357ee86616ab
 �
 Wnladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/dao/PmFormData.java,6/b/6b1cc623ef87736e8a936dc1ca0c0b2c653fb82a
-p
-@nladmin-system/src/main/java/org/nl/common/enums/StatusEnum.java,d/a/da2cfc661b6ccefab91ec1ba98461be21c19e65a
-�
-Pnladmin-system/src/main/java/org/nl/wms/flow_manage/event/FlowEventListener.java,0/0/000351c2d94d83aca2e1c6a17142cfc94473a457
-}
-Mnladmin-system/src/main/java/org/nl/wms/flow_manage/event/FlowStartEvent.java,e/e/ee0b7099ff5ea0631858c5b7767b9b3c39d157bd
 �
 fnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/controller/execution/ExecutionController.java,0/e/0e30069a5751c50d7cf828ec3c27e091f8565818
 �
@@ -198,4 +190,28 @@ cnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/controller/model/ActDe
 �
 ]nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/config/InitFlowConfig.java,7/5/758c32dcd4ffc4e615e513ba6feb54def23e084a
 �
-mnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/converter/node/impl/EndEventConverter.java,6/e/6eba45c7f4a86406f18cf8599c9e330f4b23040f
\ No newline at end of file
+mnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/converter/node/impl/EndEventConverter.java,6/e/6eba45c7f4a86406f18cf8599c9e330f4b23040f
+�
+inladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/converter/node/impl/FormConverter.java,9/a/9a6b510dccb8794c727b71c25590b6520f4bbd48
+�
+lnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/converter/node/impl/GatewayConverter.java,8/3/83f3cb02f57e755d93244600e35e950064d6ec3f
+�
+lnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/converter/node/impl/SendMsgConverter.java,4/0/40ad18873e8cf378f1051e3326af26f0ca2dc9fa
+�
+qnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/converter/node/impl/SequenceFlowConverter.java,4/9/490424a4892ae4e55d135cf29edcabfec388ac84
+�
+onladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/converter/node/impl/ServerTaskConverter.java,2/8/282eb24a7de2cae2f70415e7cc63431514f66170
+�
+onladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/converter/node/impl/StartEventConverter.java,5/0/50a4ede2946a62d868a5306a4048e19a0940aa40
+�
+nnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/converter/node/impl/StrucFormConverter.java,f/1/f18bf3c7284c279afac0739d24da476d29f4eced
+�
+onladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/converter/node/impl/SubProcessConverter.java,d/c/dca2288987a2f53c6667e6f21703d55f7a920fb7
+�
+hnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/converter/node/BaseNodeConverter.java,f/b/fb062fce1cddfa0a73e9674c68ee033c100e9e32
+�
+cnladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/converter/BpmnJSONConverter.java,d/e/dea9f27dd93ab9f3677417bf056c1cec6bb18b55
+w
+Gnladmin-system/src/main/java/org/nl/common/domain/entity/BaseQuery.java,f/0/f062b578de11e2952654784226f11bae7019cd76
+�
+[nladmin-system/src/main/java/org/nl/wms/stor_manage/struct/service/dto/StructattrQuery.java,c/8/c82a62a04d41331b300a120923e2949be6b68bb3
\ No newline at end of file
diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/config/mybatis/CodeGenerator.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/config/mybatis/CodeGenerator.java
index 50217a9e..ad65228b 100644
--- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/config/mybatis/CodeGenerator.java
+++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/config/mybatis/CodeGenerator.java
@@ -59,7 +59,7 @@ public class CodeGenerator {
         dsc.setUrl("jdbc:mysql://localhost:3306/wms?serverTimezone=GMT&setUnicode=true&characterEncoding=utf8");
         dsc.setDriverName("com.mysql.cj.jdbc.Driver");
         dsc.setUsername("root");
-        dsc.setPassword("123456");
+        dsc.setPassword("password");
         mpg.setDataSource(dsc);
         // 包配置
         PackageConfig pc = new PackageConfig();
diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/controller/SchBaseTaskController.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/controller/SchBaseTaskController.java
index ce1e9ae3..1e8508b1 100644
--- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/controller/SchBaseTaskController.java
+++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/controller/SchBaseTaskController.java
@@ -1,21 +1,12 @@
 package org.nl.wms.dispatch_manage.task.controller;
 
 
-import cn.hutool.core.date.DateUtil;
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.nl.common.TableDataInfo;
-import org.nl.common.anno.Log;
 import org.nl.common.domain.entity.PageQuery;
 import org.nl.common.domain.exception.BadRequestException;
-import org.nl.common.enums.StatusEnum;
-import org.nl.common.utils.IdUtil;
-import org.nl.common.utils.SecurityUtils;
 import org.nl.wms.dispatch_manage.task.service.ISchBaseTaskService;
 import org.nl.wms.dispatch_manage.task.service.dao.SchBaseTask;
-import org.nl.wms.dispatch_manage.task.service.dto.TaskQuery;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -23,9 +14,10 @@ import org.springframework.util.CollectionUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Arrays;
-import java.util.List;
+import org.nl.wms.dispatch_manage.task.service.dto.SchBaseTaskQuery;
+
 import java.util.Map;
+import java.util.Set;
 
 /**
  * <p>
@@ -38,67 +30,48 @@ import java.util.Map;
 @RestController
 @RequestMapping("api/schBaseTask")
 public class SchBaseTaskController {
-
     @Autowired
-    private ISchBaseTaskService iSchBaseTaskService;
+    private ISchBaseTaskService schBaseTaskService;
+
+
 
     @PostMapping("getVehicleTask")
     public ResponseEntity<Object> getVehicleTask(@RequestBody JSONObject param) {
         if (CollectionUtils.isEmpty(param)){
             throw new BadRequestException("参数不能为空");
         }
-        return new ResponseEntity<>(iSchBaseTaskService.getByVehicle(param.getString("vehicle_code")), HttpStatus.OK);
+        return new ResponseEntity<>(schBaseTaskService.getByVehicle(param.getString("vehicle_code")), HttpStatus.OK);
     }
 
+
     @GetMapping
-    @Log("查询任务")
-    public ResponseEntity<Object> query(TaskQuery query, PageQuery pageQuery) {
-        Page<SchBaseTask> page = iSchBaseTaskService.page(pageQuery.build(), query.build());
-        return new ResponseEntity<>(TableDataInfo.build(page), HttpStatus.OK);
-    }
-
-
-    @GetMapping("/undo")
-    @Log("查询任务")
-    public ResponseEntity<Object> undo() {
-        int count = iSchBaseTaskService.count(new QueryWrapper<SchBaseTask>()
-                .lt("task_status", StatusEnum.FORM_STATUS.code("完成")));
-        return new ResponseEntity<>(count, HttpStatus.OK);
+    public ResponseEntity<Object> query(SchBaseTaskQuery whereJson, PageQuery page){
+        return new ResponseEntity<>(TableDataInfo.build(schBaseTaskService.queryAll(whereJson,page)), HttpStatus.OK);
     }
 
     @PostMapping
-    @Log("新增任务")
-    public ResponseEntity<Object> create(@RequestBody JSONObject task) {
-        SchBaseTask schBaseTask = task.toJavaObject(SchBaseTask.class);
-        schBaseTask.setId(IdUtil.getStringId());
-        schBaseTask.setCreate_name(SecurityUtils.getCurrentNickName());
-        schBaseTask.setCreate_time(DateUtil.now());
-        iSchBaseTaskService.save(schBaseTask);
+    public ResponseEntity<Object> create(@Validated @RequestBody SchBaseTask entity){
+        schBaseTaskService.create(entity);
         return new ResponseEntity<>(HttpStatus.CREATED);
     }
 
     @PutMapping
-    @Log("修改任务")
-    public ResponseEntity<Object> update(@Validated @RequestBody JSONObject task) {
-        iSchBaseTaskService.updateById(task.toJavaObject(SchBaseTask.class));
+    public ResponseEntity<Object> update(@Validated @RequestBody SchBaseTask entity){
+        schBaseTaskService.update(entity);
         return new ResponseEntity<>(HttpStatus.NO_CONTENT);
     }
 
+
     @DeleteMapping
-    @Log("删除任务")
-    public ResponseEntity<Object> delete(@RequestBody String[] ids) {
-        if (ids!=null && ids.length>0){
-            iSchBaseTaskService.removeByIds(Arrays.asList(ids));
-        }
+    public ResponseEntity<Object> delete(@RequestBody Set<String> ids) {
+        schBaseTaskService.deleteAll(ids);
         return new ResponseEntity<>(HttpStatus.OK);
     }
 
-    @PostMapping("/operation")
-    @Log("任务操作")
-    public ResponseEntity<Object> taskOperation(@RequestBody JSONObject map) {
-        iSchBaseTaskService.operation(map);
-        return new ResponseEntity<>(HttpStatus.OK);
+    @PutMapping("/operation")
+    public ResponseEntity<Object> update(@RequestBody Map<String, Object> map) {
+        schBaseTaskService.operation(map);
+        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
     }
-
 }
 
diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/StackingTaskHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/StackingTaskHandler.java
index a5a517af..9b571177 100644
--- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/StackingTaskHandler.java
+++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/StackingTaskHandler.java
@@ -62,7 +62,7 @@ public class StackingTaskHandler  implements TaskHandler {
             task.setVehicle_code(vehicle_code);
             task.setPoint_code1(start_point);
             task.setPoint_code2(struct_code);
-        taskService.createTask(task);
+        taskService.create(task);
         Boolean isSend = param.getBoolean("is_send");
         if (isSend){
             //参数封装，调acs接口
diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/ISchBaseTaskService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/ISchBaseTaskService.java
index 52609dbc..219065c6 100644
--- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/ISchBaseTaskService.java
+++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/ISchBaseTaskService.java
@@ -1,12 +1,15 @@
 package org.nl.wms.dispatch_manage.task.service;
 
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.nl.common.domain.entity.PageQuery;
 import org.nl.wms.dispatch_manage.task.service.dao.SchBaseTask;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.nl.wms.dispatch_manage.task.service.dto.SchBaseTaskQuery;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
+
 
 /**
  * <p>
@@ -18,11 +21,43 @@ import java.util.Map;
  */
 public interface ISchBaseTaskService extends IService<SchBaseTask> {
 
-        void createTask(SchBaseTask task);
-
-        void operation(JSONObject param);
-
-
         List<Map> getByVehicle(String vehicle_code);
+        /**
+         * 查询数据分页
+         *
+         * @param whereJson 条件
+         * @param pageable  分页参数
+         * @return IPage<SchBaseTask>
+         */
+        IPage<SchBaseTask> queryAll(SchBaseTaskQuery whereJson, PageQuery pageable);
+
+
+        /**
+         * 创建
+         *
+         * @param entity /
+         */
+        void create(SchBaseTask entity);
+
+        /**
+         * 编辑
+         *
+         * @param entity /
+         */
+        void update(SchBaseTask entity);
+
+        /**
+         * 多选删除
+         *
+         * @param ids /
+         */
+        void deleteAll(Set<String> ids);
+
+        /**
+         * 任务操作
+         *
+         * @param param
+         */
+        void operation(Map<String, Object> param);
 
 }
diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dao/mapper/SchBaseTaskMapper.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dao/mapper/SchBaseTaskMapper.java
index 302e5354..02916312 100644
--- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dao/mapper/SchBaseTaskMapper.java
+++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dao/mapper/SchBaseTaskMapper.java
@@ -1,8 +1,13 @@
 package org.nl.wms.dispatch_manage.task.service.dao.mapper;
 
 import org.apache.ibatis.annotations.Select;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
 import org.nl.wms.dispatch_manage.task.service.dao.SchBaseTask;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.nl.wms.dispatch_manage.task.service.dto.SchBaseTaskQuery;
+
+import java.util.List;
 
 import java.util.List;
 import java.util.Map;
@@ -16,6 +21,7 @@ import java.util.Map;
  * @since 2024-05-06
  */
 public interface SchBaseTaskMapper extends BaseMapper<SchBaseTask> {
+    IPage<SchBaseTask> selectPageLeftJoin(IPage<SchBaseTask> pages, @Param("whereJson") SchBaseTaskQuery whereJson, @Param("collect") List<String> collect);
 
     @Select("SELECT\n" +
             "\tsch_base_task.*, md_pb_vehicleMater.*,md_me_materialbase.material_code,md_me_materialbase.material_name,md_me_materialbase.material_spec\n" +
diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dao/mapper/xml/SchBaseTaskMapper.xml b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dao/mapper/xml/SchBaseTaskMapper.xml
index 4caf4153..83667251 100644
--- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dao/mapper/xml/SchBaseTaskMapper.xml
+++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dao/mapper/xml/SchBaseTaskMapper.xml
@@ -1,5 +1,41 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.nl.wms.dispatch_manage.task.service.dao.mapper.SchBaseTaskMapper">
-
+    <select id="selectPageLeftJoin" resultType="org.nl.wms.dispatch_manage.task.service.dao.SchBaseTask">
+        SELECT
+        t.*
+        FROM
+        `sch_base_task` t
+        <where>
+            <if test="whereJson.task_code != null">
+                AND t.task_code = #{whereJson.task_code}
+            </if>
+            <if test="whereJson.config_code != null">
+                AND t.config_code = #{whereJson.config_code}
+            </if>
+            <if test="whereJson.point_code != null">
+                AND (t.point_code1 LIKE '%${whereJson.point_code}%'
+                OR t.point_code2 LIKE '%${whereJson.point_code}%')
+            </if>
+            <if test="whereJson.unFinished != null">
+                AND t.task_status <![CDATA[<=]]> #{whereJson.unFinished}
+            </if>
+            <if test="whereJson.vehicle_code != null">
+                AND t.vehicle_code = #{whereJson.vehicle_code}
+            </if>
+            <if test="whereJson.end_time != null">
+                AND t.create_time <![CDATA[<=]]> #{whereJson.end_time}
+            </if>
+            <if test="whereJson.begin_time != null">
+                AND t.create_time <![CDATA[>=]]> #{whereJson.begin_time}
+            </if>
+            <if test="collect != null and collect != ''">
+                AND t.task_status IN
+                <foreach collection="collect" item="code" separator="," open="(" close=")">
+                    #{code}
+                </foreach>
+            </if>
+        </where>
+        ORDER BY t.create_time DESC
+    </select>
 </mapper>
diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dto/SchBaseTaskQuery.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dto/SchBaseTaskQuery.java
new file mode 100644
index 00000000..d195123e
--- /dev/null
+++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/dto/SchBaseTaskQuery.java
@@ -0,0 +1,23 @@
+package org.nl.wms.dispatch_manage.task.service.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+* @author lyd
+* @date 2023-05-15
+**/
+@Data
+public class SchBaseTaskQuery implements Serializable {
+    private String task_code;
+    private String vehicle_code;
+    private String point_code;
+    private String begin_time;
+    private String end_time;
+    private String more_task_status;
+    private String unFinished;
+
+    private String config_code;
+
+}
diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/impl/SchBaseTaskServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/impl/SchBaseTaskServiceImpl.java
index ca7f1b13..d82cd224 100644
--- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/impl/SchBaseTaskServiceImpl.java
+++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/service/impl/SchBaseTaskServiceImpl.java
@@ -1,21 +1,26 @@
 package org.nl.wms.dispatch_manage.task.service.impl;
 
-import com.alibaba.fastjson.JSONObject;
 import org.apache.commons.lang3.StringUtils;
-import org.nl.common.utils.ListOf;
-import org.nl.wms.dispatch_manage.task.handler.TaskHandler;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.lang.Assert;
+import cn.hutool.core.util.IdUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.nl.common.domain.entity.PageQuery;
+import org.nl.common.domain.exception.BadRequestException;
+import org.nl.common.enums.StatusEnum;
+import org.nl.common.utils.SecurityUtils;
 import org.nl.wms.dispatch_manage.task.service.dao.SchBaseTask;
 import org.nl.wms.dispatch_manage.task.service.dao.mapper.SchBaseTaskMapper;
 import org.nl.wms.dispatch_manage.task.service.ISchBaseTaskService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.nl.wms.external_system.acs.service.WmsToAcsService;
+import org.nl.wms.dispatch_manage.task.service.dto.SchBaseTaskQuery;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -29,13 +34,27 @@ import java.util.Map;
 public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBaseTask> implements ISchBaseTaskService {
 
     @Autowired
-    private WmsToAcsService wmsToAcsService;
+    private SchBaseTaskMapper schBaseTaskMapper;
+
 
     @Override
-    public void createTask(SchBaseTask task) {
-        this.save(task);
+    public IPage<SchBaseTask> queryAll(SchBaseTaskQuery whereJson, PageQuery page) {
+        List<String> collect = ObjectUtil.isNotEmpty(whereJson.getMore_task_status())
+                ? Arrays.stream(whereJson.getMore_task_status().split(",")).collect(Collectors.toList()) : null;
+        if (collect != null) {
+            if (collect.contains("")) {
+                collect = null;
+                whereJson.setUnFinished(StatusEnum.FORM_STATUS.code("执行中"));
+            }
+        }
+        IPage<SchBaseTask> pages = new Page<>(page.getPage() + 1, page.getSize());
+        pages = schBaseTaskMapper.selectPageLeftJoin(pages, whereJson, collect);
+        return pages;
     }
 
+
+
+
     @Override
     public List<Map> getByVehicle(String vehicle_code) {
         if (StringUtils.isEmpty(vehicle_code)){
@@ -45,7 +64,42 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
     }
 
     @Override
-    public void operation(JSONObject param) {
+    public void update(SchBaseTask entity) {
+        SchBaseTask dto = schBaseTaskMapper.selectById(entity.getTask_code());
+        if (dto == null) throw new BadRequestException("任务信息不存在");
+
+        String nickName = SecurityUtils.getCurrentNickName();
+        String now = DateUtil.now();
+        entity.setUpdate_name(nickName);
+        entity.setUpdate_time(now);
+        schBaseTaskMapper.updateById(entity);
+    }
+
+    @Override
+    public void deleteAll(Set<String> ids) {
+        // 真删除
+        schBaseTaskMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void create(SchBaseTask entity) {
+        String nickName = SecurityUtils.getCurrentNickName();
+        String now = DateUtil.now();
+        Assert.notNull(entity.getTask_status(), "任务状态不能为空!");
+
+        entity.setId(IdUtil.getSnowflake(1, 1).nextIdStr());
+        entity.setTask_code(IdUtil.getSnowflake(1, 1).nextIdStr());
+        entity.setCreate_name(nickName);
+        entity.setCreate_time(now);
+        entity.setUpdate_name(nickName);
+        entity.setUpdate_time(now);
+        schBaseTaskMapper.insert(entity);
 
     }
+
+    @Override
+    public void operation(Map<String, Object> param) {
+    }
+
+
 }
diff --git a/wms_pro/hd/nladmin-system/src/main/resources/config/application-dev3.yml b/wms_pro/hd/nladmin-system/src/main/resources/config/application-dev3.yml
index 11ee79f3..6fe761a9 100644
--- a/wms_pro/hd/nladmin-system/src/main/resources/config/application-dev3.yml
+++ b/wms_pro/hd/nladmin-system/src/main/resources/config/application-dev3.yml
@@ -9,7 +9,7 @@ spring:
       driverClassName: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:wms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
       username: ${DB_USER:root}
-      password: ${DB_PWD:123456}
+      password: ${DB_PWD:password}
 
       # 初始连接数
       initial-size: 5
diff --git a/wms_pro/qd/src/views/system/dict/dict.js b/wms_pro/qd/src/views/system/dict/dict.js
index 99170f7d..a24d9257 100644
--- a/wms_pro/qd/src/views/system/dict/dict.js
+++ b/wms_pro/qd/src/views/system/dict/dict.js
@@ -31,4 +31,11 @@ export function edit(data) {
   })
 }
 
-export default { add, edit, del }
+export function getStatusEnum(data) {
+  return request({
+    url: 'api/dict/getStatusEnum/' + data,
+    method: 'get'
+  })
+}
+
+export default {add, edit, del, getStatusEnum}
diff --git a/wms_pro/qd/src/views/wms/dispatch_manage/task/index.vue b/wms_pro/qd/src/views/wms/dispatch_manage/task/index.vue
index 1ab42a7f..5c9b3f45 100644
--- a/wms_pro/qd/src/views/wms/dispatch_manage/task/index.vue
+++ b/wms_pro/qd/src/views/wms/dispatch_manage/task/index.vue
@@ -10,6 +10,7 @@
           label-width="80px"
           label-suffix=":"
         >
+<<<<<<< Updated upstream
           <el-form-item label="生产车间">
             <el-select
               v-model="query.product_area"
@@ -27,12 +28,18 @@
               />
             </el-select>
           </el-form-item>
+=======
+>>>>>>> Stashed changes
           <el-form-item label="任务号">
             <label slot="label">任&nbsp;&nbsp;务&nbsp;号:</label>
             <el-input
               v-model="query.task_code"
               clearable
+<<<<<<< Updated upstream
               style="width: 180px"
+=======
+              style="width: 240px"
+>>>>>>> Stashed changes
               placeholder="任务号"
               @keyup.enter.native="crud.toQuery"
             />
@@ -42,7 +49,11 @@
             <el-input
               v-model="query.vehicle_code"
               clearable
+<<<<<<< Updated upstream
               style="width: 180px"
+=======
+              style="width: 240px"
+>>>>>>> Stashed changes
               placeholder="载具号"
               @keyup.enter.native="crud.toQuery"
             />
@@ -51,11 +62,16 @@
             <el-input
               v-model="query.point_code"
               clearable
+<<<<<<< Updated upstream
               style="width: 180px"
+=======
+              style="width: 240px"
+>>>>>>> Stashed changes
               placeholder="起点"
               @keyup.enter.native="crud.toQuery"
             />
           </el-form-item>
+<<<<<<< Updated upstream
           <el-form-item label="任务类型">
             <el-select
               v-model="query.task_type"
@@ -110,23 +126,47 @@
               v-model="task_status"
               multiple
               style="width: 200px"
+=======
+          <el-form-item label="创建时间">
+            <el-date-picker
+              v-model="query.createTime"
+              type="datetimerange"
+              value-format="yyyy-MM-dd HH:mm:ss"
+              range-separator="至"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              @change="crud.toQuery">
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="任务状态">
+            <el-select
+              v-model="query.task_status"
+              multiple
+              style="width: 360px"
+>>>>>>> Stashed changes
               placeholder="任务状态"
               class="filter-item"
               clearable
               @change="handTaskStatus"
             >
               <el-option
+<<<<<<< Updated upstream
                 label="调度中任务"
                 value="-1"
               />
               <el-option
                 v-for="item in taskStatusList"
                 :key="item.code"
+=======
+                v-for="item in taskStatusList"
+                :key="item.value"
+>>>>>>> Stashed changes
                 :label="item.label"
                 :value="item.value"
               />
             </el-select>
           </el-form-item>
+<<<<<<< Updated upstream
           <rrOperation />
         </el-form>
       </div>
@@ -208,15 +248,114 @@
               icon="el-icon-success"
               @click="doOperate(scope.row, 'a')"
             >完成</el-button>
+=======
+          <rrOperation/>
+        </el-form>
+      </div>
+      <!--如果想在工具栏加入更多按钮，可以使用插槽方式， slot = 'left' or 'right'-->
+      <crudOperation :permission="permission"/>
+      <!--表单组件-->
+      <el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0"
+                 :title="crud.status.title" width="800px">
+        <el-form ref="form" style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;" :inline="true"
+                 :model="form" :rules="rules" size="mini" label-width="115px" label-suffix=":">
+          <el-form-item label="任务编码">
+            <el-input v-model="form.task_code" style="width: 240px;"/>
+          </el-form-item>
+          <el-form-item label="任务状态">
+            <el-input v-model="form.task_status" style="width: 240px;"/>
+          </el-form-item>
+          <el-form-item label="点位1">
+            <el-input v-model="form.point_code1" style="width: 240px;"/>
+          </el-form-item>
+          <el-form-item label="点位2">
+            <el-input v-model="form.point_code2" style="width: 240px;"/>
+          </el-form-item>
+          <el-form-item label="点位3">
+            <el-input v-model="form.point_code3" style="width: 240px;"/>
+          </el-form-item>
+          <el-form-item label="点位4">
+            <el-input v-model="form.point_code4" style="width: 240px;"/>
+          </el-form-item>
+          <el-form-item label="载具类型">
+            <el-input v-model="form.vehicle_type" style="width: 240px;"/>
+          </el-form-item>
+          <el-form-item label="载具编码">
+            <el-input v-model="form.vehicle_code" style="width: 240px;"/>
+          </el-form-item>
+          <el-form-item label="优先级">
+            <el-input v-model="form.priority" style="width: 240px;"/>
+          </el-form-item>
+          <el-form-item v-if="false" label="处理类">
+            <el-input v-model="form.handle_class" style="width: 240px;"/>
+          </el-form-item>
+          <el-form-item label="备注">
+            <el-input v-model="form.remark" style="width: 240px;"/>
+          </el-form-item>
+        </el-form>
+        <div slot="footer" class="dialog-footer">
+          <el-button type="text" @click="crud.cancelCU">取消</el-button>
+          <el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
+        </div>
+      </el-dialog>
+      <!--表格渲染-->
+      <el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;"
+                @selection-change="crud.selectionChangeHandler">
+        <el-table-column type="selection" width="55"/>
+        <el-table-column prop="product_area" show-overflow-tooltip show-tooltip-when-overflow label="生产区域"/>
+        <el-table-column prop="task_code" show-overflow-tooltip show-tooltip-when-overflow label="任务编码"/>
+        <el-table-column prop="task_type" show-overflow-tooltip show-tooltip-when-overflow label="任务类型"/>
+        <el-table-column prop="acs_type" show-overflow-tooltip show-tooltip-when-overflow width="130" label="ACS任务类型"/>
+        <el-table-column prop="task_status" show-overflow-tooltip show-tooltip-when-overflow label="任务状态">
+          <template slot-scope="scope">
+            {{ getStatusName(scope.row.task_status) }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="task_step" show-overflow-tooltip show-tooltip-when-overflow width="130" label="任务执行步骤"/>
+        <el-table-column prop="group_code" show-overflow-tooltip show-tooltip-when-overflow label="任务组"/>
+        <el-table-column prop="point_code1" show-overflow-tooltip show-tooltip-when-overflow width="130" label="起点1"/>
+        <el-table-column prop="point_code2" show-overflow-tooltip show-tooltip-when-overflow width="130" label="终点1"/>
+        <el-table-column prop="point_code3" show-overflow-tooltip show-tooltip-when-overflow width="130" label="起点2"/>
+        <el-table-column prop="point_code4" show-overflow-tooltip show-tooltip-when-overflow width="130" label="终点2"/>
+        <el-table-column prop="vehicle_code" show-overflow-tooltip show-tooltip-when-overflow label="载具编码">
+          <template slot-scope="scope">
+            {{ scope.row.vehicle_code ? scope.row.vehicle_code : '-' }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="priority" show-overflow-tooltip show-tooltip-when-overflow label="优先级"/>
+        <el-table-column prop="handle_class" show-overflow-tooltip show-tooltip-when-overflow width="150" label="处理类"/>
+        <el-table-column prop="is_send" show-overflow-tooltip show-tooltip-when-overflow label="立即下发"/>
+        <el-table-column prop="remark" show-overflow-tooltip show-tooltip-when-overflow label="备注"/>
+        <el-table-column prop="form_data" show-overflow-tooltip show-tooltip-when-overflow width="130" label="自定义参数"/>
+        <el-table-column prop="create_time" show-overflow-tooltip show-tooltip-when-overflow label="创建时间"/>
+        <el-table-column prop="update_name" show-overflow-tooltip show-tooltip-when-overflow label="修改人"/>
+        <el-table-column prop="update_time" show-overflow-tooltip show-tooltip-when-overflow label="修改时间"/>
+        <el-table-column v-permission="[]" label="操作" width="160px" align="center" fixed="right">
+          <template slot-scope="scope">
+            <el-button
+              type="text"
+              icon="el-icon-success"
+              @click="doOperate(scope.row, 'a')"
+              :disabled="scope.row.task_status==='5' || scope.row.task_status==='6'"
+            >完成
+            </el-button>
+>>>>>>> Stashed changes
             <el-button
               type="text"
               icon="el-icon-error"
               @click="doOperate(scope.row, 'b')"
+<<<<<<< Updated upstream
             >取消</el-button>
+=======
+              :disabled="scope.row.task_status==='5' || scope.row.task_status==='6'"
+            >取消
+            </el-button>
+>>>>>>> Stashed changes
           </template>
         </el-table-column>
       </el-table>
       <!--分页组件-->
+<<<<<<< Updated upstream
       <pagination />
     </div>
     <el-dialog
@@ -236,16 +375,27 @@
         <el-button type="primary" @click="viewDialogVisible = false">确 定</el-button>
       </span>
     </el-dialog>
+=======
+      <pagination/>
+    </div>
+>>>>>>> Stashed changes
   </div>
 </template>
 
 <script>
+<<<<<<< Updated upstream
 import crudTask from '@/views/wms/dispatch_manage/task/task'
 import CRUD, { crud, header, presenter } from '@crud/crud'
+=======
+import crudSchBaseTask from './schBaseTask'
+// import crudSchBaseTaskconfig from './config/schBaseTaskconfig'
+import CRUD, {crud, form, header, presenter} from '@crud/crud'
+>>>>>>> Stashed changes
 import rrOperation from '@crud/RR.operation'
 import crudOperation from '@crud/CRUD.operation'
 import udOperation from '@crud/UD.operation'
 import pagination from '@crud/Pagination'
+<<<<<<< Updated upstream
 import Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
 import '@riophae/vue-treeselect/dist/vue-treeselect.css'
 
@@ -273,17 +423,62 @@ export default {
         product_area: 'A1',
         task_status: '-1'
       },
+=======
+import crudDict from '@/views/system/dict/dict'
+
+
+const defaultForm = {
+  id: null,
+  product_area: null,
+  task_code: null,
+  task_type: null,
+  acs_type: null,
+  task_status: null,
+  task_step: null,
+  group_code: null,
+  point_code1: null,
+  point_code2: null,
+  point_code3: null,
+  point_code4: null,
+  vehicle_code: null,
+  priority: null,
+  handle_class: null,
+  is_send: null,
+  create_time: null,
+  update_time: null,
+  update_name: null,
+  remark: null,
+  form_data: null,
+  is_delete: false
+}
+export default {
+  name: 'Task',
+  components: {pagination, crudOperation, rrOperation, udOperation},
+  mixins: [presenter(), header(), form(defaultForm), crud()],
+  cruds() {
+    return CRUD({
+      title: '任务管理',
+      url: 'api/schBaseTask',
+      idField: 'task_id',
+      sort: 'task_code,desc',
+>>>>>>> Stashed changes
       optShow: {
         add: false,
         edit: false,
         del: false,
         download: false,
         reset: true
+<<<<<<< Updated upstream
       }
+=======
+      },
+      crudMethod: {...crudSchBaseTask}
+>>>>>>> Stashed changes
     })
   },
   data() {
     return {
+<<<<<<< Updated upstream
       viewDialogVisible: false,
       fullscreen: false,
       currentComponent: '',
@@ -347,11 +542,26 @@ export default {
           data.children = null // 重点代码
         }
       })
+=======
+      permission: {},
+      rules: {},
+      taskStatusList: [],
+    }
+  },
+  created() {
+    this.getTaskStatusList()
+  },
+  methods: {
+    // 钩子：在获取表格数据之前执行，false 则代表不获取数据
+    [CRUD.HOOK.beforeRefresh]() {
+      return true
+>>>>>>> Stashed changes
     },
     hand(value) {
       this.crud.toQuery()
     },
     handTaskStatus(value) {
+<<<<<<< Updated upstream
       this.crud.query.task_status = value.toString()
       this.crud.toQuery()
     },
@@ -370,6 +580,22 @@ export default {
         }
       }
       return ''
+=======
+      this.crud.query.more_task_status = null
+      if (value) {
+        this.crud.query.more_task_status = value.toString()
+      }
+      this.crud.toQuery()
+    },
+    getTaskStatusList() {
+      crudDict.getStatusEnum("FORM_STATUS").then(res => {
+        this.taskStatusList = res
+      })
+    },
+    getStatusName(code) {
+      const status = this.taskStatusList.find(item => item.code === code)
+      return status ? status.name : '-'
+>>>>>>> Stashed changes
     },
     doOperate(row, command) {
       let method_name = ''
@@ -388,6 +614,7 @@ export default {
           break
       }
       if (method_name === 'view') {
+<<<<<<< Updated upstream
         this.view(row)
         return
       }
@@ -396,11 +623,23 @@ export default {
         method_name: method_name
       }
       crudTask.operation(data).then(res => {
+=======
+        // this.view(row)
+        return
+      }
+      const data = {
+        task_code: row.task_code,
+        method_name: method_name,
+        config_code: row.config_code
+      }
+      crudSchBaseTask.operation(data).then(res => {
+>>>>>>> Stashed changes
         this.crud.toQuery()
         this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
       }).catch(err => {
         console.log(err.response.data.message)
       })
+<<<<<<< Updated upstream
     },
     view(row) {
       this.task_id = row.task_id
@@ -433,6 +672,10 @@ export default {
 
   }
 
+=======
+    }
+  }
+>>>>>>> Stashed changes
 }
 </script>
 
diff --git a/wms_pro/qd/src/views/wms/dispatch_manage/task/schBaseTask.js b/wms_pro/qd/src/views/wms/dispatch_manage/task/schBaseTask.js
new file mode 100644
index 00000000..c1f04371
--- /dev/null
+++ b/wms_pro/qd/src/views/wms/dispatch_manage/task/schBaseTask.js
@@ -0,0 +1,42 @@
+import request from '@/utils/request'
+
+export function add(data) {
+  return request({
+    url: 'api/schBaseTask',
+    method: 'post',
+    data
+  })
+}
+
+export function del(ids) {
+  return request({
+    url: 'api/schBaseTask/',
+    method: 'delete',
+    data: ids
+  })
+}
+
+export function edit(data) {
+  return request({
+    url: 'api/schBaseTask',
+    method: 'put',
+    data
+  })
+}
+
+export function getTaskStatusList() {
+  return request({
+    url: 'api/schBaseTask/taskStatusList',
+    method: 'get'
+  })
+}
+
+export function operation(data) {
+  return request({
+    url: 'api/schBaseTask/operation',
+    method: 'put',
+    data
+  })
+}
+
+export default { add, edit, del, getTaskStatusList, operation}
