diff --git a/lms/nladmin-system/src/main/java/org/nl/config/ConfigParam.java b/lms/nladmin-system/src/main/java/org/nl/config/ConfigParam.java
deleted file mode 100644
index 6d832de..0000000
--- a/lms/nladmin-system/src/main/java/org/nl/config/ConfigParam.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.nl.config;
-
-import org.springframework.context.annotation.Configuration;
-
-import javax.annotation.PostConstruct;
-import java.util.HashMap;
-import java.util.Map;
-
-/*
- * @author ZZQ
- * @Date 2022/11/16 4:32 下午
- */
-@Configuration
-public class ConfigParam {
-
-    //旧料盅叫料跟空盅入库都从公共点位回去
-    public static Map<String,String> YZJ_OLD_POINT = new HashMap<>();
-
-    @PostConstruct
-    public void initData(){
-        //数据库更新该配置数据YZJ_OLD_POINT
-    }
-}
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/MaterialbaseDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/MaterialbaseDto.java
index b8b4ac8..4e2cd84 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/MaterialbaseDto.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/service/dto/MaterialbaseDto.java
@@ -97,6 +97,11 @@ public class MaterialbaseDto implements Serializable {
 
     private String material_height_type;
 
+    private String AlongSide; // A长边
+    private String BshortSide; // B短边
+    private String Htrapezoidal; // H梯形高
+    private String Wthickness; // W厚度
+
     private Long ass_unit_id;
 
     private Long product_series;
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java
index 52ee1d3..e36add8 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java
@@ -56,7 +56,7 @@ public class AcsToWmsController {
     @PostMapping("/manipulatorApply")
     @Log("ACS机械手给WMS发送任务")
     @ApiOperation("ACS机械手给WMS发送任务")
-    public ResponseEntity<Object> manipulatorApply(@RequestBody Map whereJson) {
+    public ResponseEntity<Object> manipulatorApply(@RequestBody JSONObject whereJson) {
         acsToWmsService.manipulatorApply(whereJson);
         JSONObject result = new JSONObject();
         result.put("status", HttpStatus.OK.value());
@@ -64,6 +64,18 @@ public class AcsToWmsController {
         return new ResponseEntity<>(result, HttpStatus.OK);
     }
 
+    @PostMapping("/reverseGroup")
+    @Log("入窑口反向组盘")
+    @ApiOperation("入窑口反向组盘")
+    public ResponseEntity<Object> reverseGroup(@RequestBody JSONObject whereJson) {
+        acsToWmsService.reverseGroup(whereJson);
+        JSONObject result = new JSONObject();
+        result.put("status", HttpStatus.OK.value());
+        result.put("message", "发送任务成功");
+        return new ResponseEntity<>(result, HttpStatus.OK);
+    }
+
+
     @PostMapping("/ispackage")
     @Log("ACS给WMS请求是否优先包装")
     @ApiOperation("ACS给WMS请求是否优先包装")
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java
index a516363..2f35dc5 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java
@@ -56,7 +56,7 @@ public interface AcsToWmsService {
      * 组盘
      * @param whereJson
      */
-    void manipulatorApply(Map whereJson);
+    void manipulatorApply(JSONObject whereJson);
 
     /**
      * ACS给WMS请求是否优先包装
@@ -86,4 +86,10 @@ public interface AcsToWmsService {
      * @return Map<String, Object>
      */
     Map<String, Object> getDeviceCodeByVehicleType(Map jsonObject);
+
+    /**
+     * 入窑口反向组盘
+     * @param whereJson
+     */
+    void reverseGroup(JSONObject whereJson);
 }
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
index 1cb105f..4e82f83 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
@@ -199,8 +199,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
          * 根据type判断是什么业务类型:
          *  1.混碾机送料入库-困料货架
          *  2.混碾机呼叫空托盘
-         *  3.压制机下料位叫料出库
-         *  4.压制机下料位送空托盘
+         *  3.压制机上料位叫料出库
+         *  4.压制机上料位送空盅
          *  5.压制机满料入库
          *  6.压制机呼叫空钢托盘
          *  7.烧制叫料出库
@@ -214,13 +214,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
         switch (type) {
             case "1":
                 // 1.混碾机送料入库:混碾机物料送到困料货架
-                if (ObjectUtil.isEmpty(point_code)) throw new BadRequestException("设备号不能为空");
                 // 创建任务
                 param.put("point_code1", point_code); // 起点
                 SpringContextHolder.getBean(HnSendMaterialTask.class).createTask(param);
                 break;
             case "2":
-                if (ObjectUtil.isEmpty(point_code)) throw new BadRequestException("设备号不能为空");
                 param.put("point_code2", point_code); // 终点
                 // 创建任务
                 SpringContextHolder.getBean(HnCallEmptyVehicleTask.class).createTask(param);
@@ -232,7 +230,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
                 SpringContextHolder.getBean(YzjCallMaterialTask.class).createTask(param);
                 break;
             case "4":
-                // 压制机送空托盘
+                // 压制机送空盅
                 param.put("point_code1", point_code); // 起点
                 // 创建任务
                 SpringContextHolder.getBean(YzjSendEmpVehicleTask.class).createTask(param);
@@ -240,6 +238,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
             case "5":
                 // 压制机满料入库
                 param.put("point_code1", point_code); // 起点
+                param.put("group_id", whereJson.getString("group_id")); // 组盘标识
                 // 创建任务
                 SpringContextHolder.getBean(YzjSendMaterialTask.class).createTask(param);
                 break;
@@ -295,28 +294,30 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
      * @param jsonObject
      */
     @Override
-    public void manipulatorApply(Map jsonObject) {
+    public void manipulatorApply(JSONObject jsonObject) {
         //组盘
         JSONObject produceInfoByCode = new JSONObject();
-        String device_code = (String) jsonObject.get("device_code");
+        String device_code = (String) jsonObject.get("device_code"); // 对接位
+        // vehicle_code:不一定有,分拣码垛会提供木托盘载具号、压制码垛是不提供载具号
         String vehicle_code = (String) jsonObject.get("vehicle_code");
         String qty = String.valueOf(jsonObject.get("qty"));
-        produceInfoByCode = this.getProduceInfoByCode(device_code);
+        produceInfoByCode = this.getProduceInfoByCode(device_code); // 获取设备的
         String material_id = (String) produceInfoByCode.get("material_id");
         String cust_id = (String) produceInfoByCode.get("cust_id");
         String producetask_id = (String) produceInfoByCode.get("producetask_id");
         WQLObject.getWQLObject("st_buss_vehiclegroup").delete("vehicle_code ='" + vehicle_code + "'");
-        // 如果上报不了,则去点位上取(木托盘情况)
-        if (StrUtil.equals("0", vehicle_code)) {
-            vehicle_code = produceInfoByCode.getString("vehicle_code");
-        }
+//        // 如果上报不了,则去点位上取(木托盘情况)
+//        if (StrUtil.equals("0", vehicle_code)) {
+//            vehicle_code = produceInfoByCode.getString("vehicle_code");
+//        }
+
         JSONObject materialObj = WQLObject
-                .getWQLObject("MD_ME_Material")
+                .getWQLObject("MD_ME_MaterialBase")
                 .query("material_id='" + material_id + "'")
                 .uniqueResult(0);
         JSONObject groubObj = new JSONObject();
-        groubObj.put("group_id", IdUtil.getSnowflake(1, 1).nextId());
-
+        long nextId = IdUtil.getSnowflake(1, 1).nextId();
+        groubObj.put("group_id", nextId);
         groubObj.put("vehicle_code", vehicle_code);
         groubObj.put("material_uuid", material_id);
         groubObj.put("material_code", materialObj.getString("material_code"));
@@ -324,10 +325,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
         groubObj.put("cust_id", cust_id);
         groubObj.put("qty", qty);
         groubObj.put("producetask_id", producetask_id);
-        groubObj.put("AlongSide", jsonObject.get("AlongSide"));
-        groubObj.put("BshortSide", jsonObject.get("BshortSide"));
-        groubObj.put("Htrapezoidal", jsonObject.get("Htrapezoidal"));
-        groubObj.put("Wthickness", jsonObject.get("Wthickness"));
+//        groubObj.put("AlongSide", jsonObject.get("AlongSide"));
+//        groubObj.put("BshortSide", jsonObject.get("BshortSide"));
+//        groubObj.put("Htrapezoidal", jsonObject.get("Htrapezoidal"));
+//        groubObj.put("Wthickness", jsonObject.get("Wthickness"));
         groubObj.put("tray_qty", jsonObject.get("tray_qty"));
         groubObj.put("crib_category", jsonObject.get("crib_category"));
         groubObj.put("tray_high", jsonObject.get("tray_high"));
@@ -386,13 +387,14 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
         groubObj.put("create_name", SecurityUtils.getCurrentNickName());
         groubObj.put("create_time", DateUtil.now());
         WQLObject.getWQLObject("st_buss_vehiclegroup").insert(groubObj);
+        jsonObject.put("group_id", nextId); // 组盘标识
         // 判断是分拣还是压制的送料入库
         if (device_code.startsWith("FJCD")) {
             jsonObject.put("type", "11");
         } else {
             jsonObject.put("type", "5");
         }
-        this.apply((JSONObject) jsonObject);
+        this.apply(jsonObject);
     }
 
     /**
@@ -558,14 +560,32 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
         return returnjo;
     }
 
-    private JSONObject getProduceInfoByCode(String code) {
+    /**
+     * 入窑口反向组盘
+     *
+     * @param whereJson
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void reverseGroup(JSONObject whereJson) {
+        WQLObject pointTab = WQLObject.getWQLObject("sch_base_point");
+        WQLObject groupTab = WQLObject.getWQLObject("st_buss_vehiclegroup");
+        String vehicle_code = whereJson.getString("vehicle_code");
+        JSONObject rywPoint = pointTab.query("point_code = 'RYW'").uniqueResult(0);
+        String group_id = rywPoint.getString("group_id");
+        JSONObject group = groupTab.query("group_id = '" + group_id + "'").uniqueResult(0);
+        group.put("vehicle_code", vehicle_code);
+        groupTab.update(group);
+    }
+
+    private JSONObject getProduceInfoByCode(String code) { // 查找工单
         //根据 设备点位去找生产任务信息
         //1 根据点位去找设备,去找对应的设备信息
         JSONObject pointObj = WQLObject.getWQLObject("sch_base_point").query("point_code ='" + code + "'").uniqueResult(0);
         String device_code = pointObj.getString("device_code");
         //2 根据设备去找对应的生产任务 1-未生产、2-已下发、3-生产中、4-暂停、5-完成
         JSONObject productTaskObj = WQLObject.getWQLObject("PDM_BD_WorkOrder")
-                .query("device_code ='" + device_code + "' and producetask_status in ('3','2','4')", "seq_no")
+                .query("device_code ='" + device_code + "' and order_status in ('3','2','4')", "workorder_procedure")
                 .uniqueResult(0);
         if (ObjectUtil.isEmpty(productTaskObj)) {
             throw new BadRequestException("未找到点位为'" + code + "'的生产任务!");
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/WorkorderDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/WorkorderDto.java
index b4c2586..ab88c38 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/WorkorderDto.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/WorkorderDto.java
@@ -55,6 +55,9 @@ public class WorkorderDto implements Serializable {
     /** 工单状态 */
     private String order_status;
 
+    /** 新旧物料 */
+    private String is_new;
+
     /** 是否搬运 */
     private String is_needmove;
 
@@ -90,4 +93,10 @@ public class WorkorderDto implements Serializable {
 
     /** 修改时间 */
     private String update_time;
+
+    /** 静置时间 */
+    private String standing_time;
+
+    /** 阈值时间 */
+    private String warn_time;
 }
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/SchTaskDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/SchTaskDto.java
index 313d52d..3c84779 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/SchTaskDto.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/SchTaskDto.java
@@ -63,9 +63,14 @@ public class SchTaskDto implements Serializable {
     private String point_code4;
 
     /**
-     * 物料详细信息,满料请求,取工单标识,组盘时候取组盘表
+     * 物料详细信息,满料请求,工单标识
      */
-    private Long material_info_id;
+    private Long workorder_id;
+
+    /**
+     * 组盘标识
+     */
+    private Long group_id;
 
     /**
      * 物料标识
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/WorkOrderEnum.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/WorkOrderEnum.java
index 913b1f2..cf7a7bb 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/WorkOrderEnum.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/WorkOrderEnum.java
@@ -11,7 +11,10 @@ public enum WorkOrderEnum {
     ORDER_STATUS_DELIVERED("2", "已下发"),
     ORDER_STATUS_PRODUCING("3", "生产中"),
     ORDER_STATUS_STOP("4", "停止"),
-    ORDER_STATUS_FINISH("5", "完成")
+    ORDER_STATUS_FINISH("5", "完成"),
+
+    IS_NEW_MATERIAL("1", "新物料"),
+    IS_OLD_MATERIAL("2", "旧物料")
     ;
     private final String code;
     private final String name;
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/PointDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/PointDto.java
index 2e0b9bb..a27e6c7 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/PointDto.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/PointDto.java
@@ -142,6 +142,12 @@ public class PointDto implements Serializable {
     /** 计量单位标识 */
     private Long qty_unit_id;
 
+    /** 库存数 */
+    private BigDecimal ivt_weight;
+
+    /** 计量单位标识 */
+    private Long weight_unit_id;
+
     /** 入库时间 */
     private String instorage_time;
 
@@ -150,4 +156,7 @@ public class PointDto implements Serializable {
 
     /** 是否关联库存表 */
     private String is_ref_ivt;
+
+    /** 组盘标识 */
+    private Long group_id;
 }
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java
index 752734a..9a97af1 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java
@@ -172,6 +172,7 @@ public class PointServiceImpl implements PointService {
             dto.setVehicle_code("");
             dto.setVehicle_qty("");
             dto.setPcsn("");
+            dto.setTask_id(null);
             dto.setIvt_qty(BigDecimal.valueOf(0));
             dto.setInstorage_time(null);
             dto.setStanding_time(BigDecimal.valueOf(0));
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/PointUpdateUtil.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/PointUpdateUtil.java
new file mode 100644
index 0000000..2759a9b
--- /dev/null
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/PointUpdateUtil.java
@@ -0,0 +1,58 @@
+package org.nl.wms.sch.tasks;
+
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSONObject;
+import org.nl.modules.wql.core.bean.WQLObject;
+import org.nl.wms.sch.manage.PointEnum;
+
+/**
+ * @author: lyd
+ * @description: 点位更新工具类
+ * @Date: 2022/11/23
+ */
+public class PointUpdateUtil {
+
+    /**
+     * 清理点位
+     */
+    public static void clearPoint(String point_code) {
+        WQLObject pointTab = WQLObject.getWQLObject("sch_base_point");
+        JSONObject pointObj = pointTab.query("point_code = '" + point_code + "'").uniqueResult(0);
+        pointObj.put("point_status", PointEnum.POINT_STATUS_EMPTY_POSITION.getCode());
+        pointObj.put("lock_type", PointEnum.LOCK_TYPE_FALSE.getCode());
+        pointObj.put("vehicle_type", null);
+        pointObj.put("vehicle_code", null);
+        pointObj.put("vehicle_qty", "0");
+        pointObj.put("material_id", null);
+        pointObj.put("pcsn", null);
+        pointObj.put("ivt_qty", "0");
+        pointObj.put("qty_unit_id", null);
+        pointObj.put("ivt_weight", "0");
+        pointObj.put("weight_unit_id", null);
+        pointObj.put("instorage_time", null);
+        pointObj.put("is_full", "0");
+        pointObj.put("standing_time", "0");
+        pointObj.put("warn_time", "0");
+        pointObj.put("group_id", null);
+        pointTab.update(pointObj);
+    }
+
+    /**
+     * 点位:空载具
+     */
+    public static void setVehicle(JSONObject jsonObject) {
+        WQLObject pointTab = WQLObject.getWQLObject("sch_base_point");
+        JSONObject pointObj = pointTab.query("point_code = '" + jsonObject.getString("point_code") + "'").uniqueResult(0);
+        pointObj.put("lock_type", PointEnum.LOCK_TYPE_FALSE.getCode());
+        pointObj.put("point_status", PointEnum.POINT_STATUS_EMPTY_VEHICLE.getCode());
+        pointObj.put("vehicle_code", jsonObject.getString("vehicle_code"));
+        pointObj.put("vehicle_qty", "1");
+        pointObj.put("instorage_time", DateUtil.now());
+        pointObj.put("is_full", "1");
+        pointObj.put("ivt_qty", "0");
+        pointObj.put("pcsn", null);
+        pointObj.put("material_id", null);
+        pointObj.put("standing_time", "0");
+        pointTab.update(pointObj);
+    }
+}
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/HnCallEmptyVehicleTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/HnCallEmptyVehicleTask.java
index 712c78a..899f0c8 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/HnCallEmptyVehicleTask.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/HnCallEmptyVehicleTask.java
@@ -16,8 +16,11 @@ import org.nl.modules.wql.WQL;
 import org.nl.modules.wql.core.bean.WQLObject;
 import org.nl.wms.sch.SchTaskDto;
 import org.nl.wms.sch.manage.AbstractAcsTask;
+import org.nl.wms.sch.manage.PointEnum;
 import org.nl.wms.sch.manage.TaskStatusEnum;
+import org.nl.wms.sch.manage.UpdateTaskStatusEnum;
 import org.nl.wms.sch.tasks.AcsTaskDto;
+import org.nl.wms.sch.tasks.PointUpdateUtil;
 import org.nl.wms.sch.tasks.RegionTypeEnum;
 import org.springframework.stereotype.Service;
 
@@ -83,7 +86,7 @@ public class HnCallEmptyVehicleTask extends AbstractAcsTask {
         String task_id = task.getString("task_id");
         JSONObject taskObj = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0);
 
-        if (StrUtil.equals(status, "0")) {
+        if (StrUtil.equals(status, UpdateTaskStatusEnum.CANCEL.getCode())) {
             /*
              * 取消任务
              */
@@ -92,9 +95,9 @@ public class HnCallEmptyVehicleTask extends AbstractAcsTask {
             }
 
             String point_code1 = task.getString("point_code1");
-            if (ObjectUtil.isEmpty(point_code1)) {
+            if (ObjectUtil.isNotEmpty(point_code1)) {
                 JSONObject endPoint = pointTab.query("point_code = '" + point_code1 + "'").uniqueResult(0);
-                endPoint.put("lock_type", "1");
+                endPoint.put("lock_type", PointEnum.LOCK_TYPE_FALSE.getCode());
                 pointTab.update(endPoint);
             }
             taskObj.put("task_status", TaskStatusEnum.FINISHED.getCode());
@@ -103,7 +106,7 @@ public class HnCallEmptyVehicleTask extends AbstractAcsTask {
             taskTab.update(taskObj);
         }
 
-        if ("1".equals(status)) {
+        if (UpdateTaskStatusEnum.EXECUTION.getCode().equals(status)) {
             // 更新任务状态为执行中
             taskObj.put("task_status", TaskStatusEnum.EXECUTING.getCode());
             taskObj.put("update_time", DateUtil.now());
@@ -111,7 +114,7 @@ public class HnCallEmptyVehicleTask extends AbstractAcsTask {
             taskTab.update(taskObj);
         }
 
-        if (StrUtil.equals(status, "2")) {
+        if (StrUtil.equals(status, UpdateTaskStatusEnum.FORCEFINISH.getCode())) {
             /*
              * 更改任务状态为完成
              */
@@ -122,13 +125,11 @@ public class HnCallEmptyVehicleTask extends AbstractAcsTask {
             taskTab.update(taskObj);
 
             /**
-             * 点位更新,起点:空位,解锁;
+             * 点位更新,起点:空位
              */
             String point_code1 = taskObj.getString("point_code1");
-            JSONObject startPoint = pointTab.query("point_code = '" + point_code1 + "'").uniqueResult(0);
-            startPoint.put("point_status", "1");
-            startPoint.put("lock_type", "1");
-            pointTab.update(startPoint);
+            if (ObjectUtil.isEmpty(point_code1)) return;
+            PointUpdateUtil.clearPoint(point_code1);
         }
     }
 
@@ -165,8 +166,9 @@ public class HnCallEmptyVehicleTask extends AbstractAcsTask {
                 .task_status(TaskStatusEnum.SURE_END.getCode())
                 .point_code2(point_code2)
                 .acs_task_type("2")
+                .workorder_id(workOrderObj.getLong("workorder_id"))
                 .vehicle_code(form.getString("vehicle_code"))
-                .vehicle_type(workOrderObj.getString("vehicle_type"))//载具类型统一用载具表维护
+                .vehicle_type(workOrderObj.getString("is_new"))//载具类型统一用载具表维护
                 .vehicle_qty(form.getIntValue("qty"))
                 .task_group_id(org.nl.wms.util.IdUtil.getLongId())
                 .handle_class(THIS_CLASS)
@@ -197,9 +199,8 @@ public class HnCallEmptyVehicleTask extends AbstractAcsTask {
             // 创建任务
             JSONObject taskObj = taskArr.getJSONObject(i);
             // 获取工单
-            String point_code2 = taskObj.getString("point_code2");
-            String device_code = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0).getString("device_code");
-            JSONObject workOrderObj = workOrderTab.query("device_code = '" + device_code + "' and order_status = '3' and is_delete ='0'").uniqueResult(0);
+            String workorder_id = taskObj.getString("workorder_id");
+            JSONObject workOrderObj = workOrderTab.query("workorder_id = '" + workorder_id + "'").uniqueResult(0);
 
             JSONObject param1 = new JSONObject();
             param1.put("flag", "1");
@@ -219,7 +220,7 @@ public class HnCallEmptyVehicleTask extends AbstractAcsTask {
 
                 //锁住起点
                 startPoint.put("task_id", taskObj.getString("task_id"));
-                startPoint.put("lock_type", "2");
+                startPoint.put("lock_type", PointEnum.LOCK_TYPE_TRUE.getCode());
                 pointTab.update(startPoint);
             }
         }
@@ -240,7 +241,7 @@ public class HnCallEmptyVehicleTask extends AbstractAcsTask {
         WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
         JSONObject taskObj = taskTab.query("task_id = '" + task_id + "' and is_delete = '0' and task_status <> " + TaskStatusEnum.FINISHED.getCode()).uniqueResult(0);
         if (ObjectUtil.isNotEmpty(taskObj))
-            this.updateTaskStatus(taskObj,"2");
+            this.updateTaskStatus(taskObj,UpdateTaskStatusEnum.FORCEFINISH.getCode());
         else {
             throw new BadRequestException("未找到该任务或者任务已完成!");
         }
@@ -256,7 +257,7 @@ public class HnCallEmptyVehicleTask extends AbstractAcsTask {
         WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
         JSONObject taskObj = taskTab.query("task_id = '" + task_id + "' and is_delete = '0' and task_status <> " + TaskStatusEnum.FINISHED.getCode()).uniqueResult(0);
         if (ObjectUtil.isNotEmpty(taskObj))
-            this.updateTaskStatus(taskObj,"0");
+            this.updateTaskStatus(taskObj,UpdateTaskStatusEnum.CANCEL.getCode());
         else {
             throw new BadRequestException("未找到该任务或者任务已完成!");
         }
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/YzjCallEmptyVehicleTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/YzjCallEmptyVehicleTask.java
index 4aaa9c3..4635593 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/YzjCallEmptyVehicleTask.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/YzjCallEmptyVehicleTask.java
@@ -14,9 +14,9 @@ import org.nl.modules.system.util.CodeUtil;
 import org.nl.modules.wql.WQL;
 import org.nl.modules.wql.core.bean.WQLObject;
 import org.nl.wms.sch.SchTaskDto;
-import org.nl.wms.sch.manage.AbstractAcsTask;
-import org.nl.wms.sch.manage.TaskStatusEnum;
+import org.nl.wms.sch.manage.*;
 import org.nl.wms.sch.tasks.AcsTaskDto;
+import org.nl.wms.sch.tasks.PointUpdateUtil;
 import org.nl.wms.util.IdUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -86,26 +86,25 @@ public class YzjCallEmptyVehicleTask extends AbstractAcsTask {
 
         String point_code1 = task.getString("point_code1");
 
-        if (StrUtil.equals(status, "0")) {
+        if (StrUtil.equals(status, UpdateTaskStatusEnum.CANCEL.getCode())) {
             /*
              * 取消任务
              */
             if (StrUtil.equals(taskObj.getString("task_status"), TaskStatusEnum.FINISHED.getCode())) {
                 throw new BadRequestException("已完成不能取消!");
             }
-            if (ObjectUtil.isNotEmpty(point_code1)) {
-                taskObj.put("task_status", TaskStatusEnum.FINISHED.getCode());
-                taskObj.put("update_time", DateUtil.now());
-                taskObj.put("remark", "已取消");
-                taskTab.update(taskObj);
-
+            taskObj.put("task_status", TaskStatusEnum.FINISHED.getCode());
+            taskObj.put("update_time", DateUtil.now());
+            taskObj.put("remark", "已取消");
+            taskTab.update(taskObj);
+            if (ObjectUtil.isNotEmpty(point_code1) && !point_code1.equals("KGTDDW05")) {
                 JSONObject startPoint = pointTab.query("point_code = '" + point_code1 + "'").uniqueResult(0);
-                startPoint.put("lock_type", "1");
+                startPoint.put("lock_type", PointEnum.LOCK_TYPE_FALSE.getCode());
                 pointTab.update(startPoint);
             }
         }
 
-        if ("1".equals(status)) {
+        if (UpdateTaskStatusEnum.EXECUTION.getCode().equals(status)) {
             // 更新任务状态为执行中
             taskObj.put("task_status", TaskStatusEnum.EXECUTING.getCode());
             taskObj.put("update_time", DateUtil.now());
@@ -113,7 +112,7 @@ public class YzjCallEmptyVehicleTask extends AbstractAcsTask {
             taskTab.update(taskObj);
         }
 
-        if (StrUtil.equals(status,"2")) {
+        if (StrUtil.equals(status,UpdateTaskStatusEnum.FORCEFINISH.getCode())) {
             /*
              * 更改任务状态为完成
              */
@@ -124,46 +123,31 @@ public class YzjCallEmptyVehicleTask extends AbstractAcsTask {
             taskTab.update(taskObj);
 
             JSONObject startPoint = pointTab.query("point_code = '" + point_code1 + "'").uniqueResult(0);
-            if (point_code1.startsWith("L")) { // 入窑缓存位
+            if (point_code1.startsWith("R")) { // 入窑缓存位
                 // 插入出库单
                 JSONObject regionIoObj = new JSONObject();
                 regionIoObj.put("iostorinv_id", IdUtil.getLongId());
                 regionIoObj.put("bill_code", CodeUtil.getNewCode("IN_STORE_CODE"));
                 regionIoObj.put("buss_date", DateUtil.today());
-                regionIoObj.put("io_type", "2"); // 出库
+                regionIoObj.put("io_type", RegionIOEnum.IO_TYPE_OUT.getCode()); // 出库
                 regionIoObj.put("region_id", startPoint.getString("region_id"));
                 regionIoObj.put("region_code", startPoint.getString("region_code"));
                 regionIoObj.put("region_name", startPoint.getString("region_name"));
                 regionIoObj.put("material_id", taskObj.getString("material_id"));
                 regionIoObj.put("vehicle_code", taskObj.getString("vehicle_code"));
                 regionIoObj.put("qty", requestObj.getString("qty"));
-                regionIoObj.put("bill_status", "3");
+                regionIoObj.put("bill_status", RegionIOEnum.BILL_STATUS_FINISH.getCode());
                 regionIoObj.put("start_point_code", taskObj.getString("point_code1"));
                 regionIoObj.put("end_point_code", taskObj.getString("point_code2"));
-                regionIoObj.put("create_mode", "2");
+                regionIoObj.put("create_mode", RegionIOEnum.CREATE_MODE_ACS.getCode());
                 regionIoObj.put("pcsn", DateUtil.format(DateUtil.parse(DateUtil.today()), "yyyyMMdd"));
                 regionIoObj.put("create_id", SecurityUtils.getCurrentUserId());
                 regionIoObj.put("create_name", SecurityUtils.getCurrentNickName());
                 regionIoObj.put("create_time", DateUtil.now());
                 regionIoTab.insert(regionIoObj);
                 // 点位更新,起点:空位,解锁;
-                startPoint.put("point_status", "1");
-                startPoint.put("lock_type", "1");
-                startPoint.put("task_id", "");
-                startPoint.put("pcsn", "");
-                startPoint.put("ivt_qty", "0");
-                startPoint.put("material_id", "");
-                startPoint.put("instorage_time", "");
-                startPoint.put("is_full", "2");
-                startPoint.put("standing_time", "0");
-                startPoint.put("vehicle_type", "");
-                startPoint.put("vehicle_code", "");
-            } else { // 钢托盘每次就一个    --- 如果是堆叠位5需要更新设备状态??
-                startPoint.put("point_status", "1");
-                startPoint.put("lock_type", "1");
-                startPoint.put("vehicle_qty", "0");
+                PointUpdateUtil.clearPoint(startPoint.getString("point_code"));
             }
-            pointTab.update(startPoint);
         }
     }
 
@@ -187,11 +171,8 @@ public class YzjCallEmptyVehicleTask extends AbstractAcsTask {
         JSONObject taskObj = taskTab.query("is_delete='0' and point_code2 = '" + form.getString("point_code2") + "'  and task_status <> '" + TaskStatusEnum.FINISHED.getCode() + "'").uniqueResult(0);
         if (ObjectUtil.isNotEmpty(taskObj)) throw new BadRequestException("当前点位" + form.getString("point_code2") + "存在未完成的任务");
 
-
         String point_code2 = form.getString("point_code2");
-        String sub_device_code = point_code2.substring(0, point_code2.indexOf("_"));
-
-        String device_code = pointTab.query("point_code = '" + sub_device_code + "'").uniqueResult(0).getString("device_code");
+        String device_code = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0).getString("device_code");
 
         JSONObject workOrderObj = workOrderTab.query("device_code = '" + device_code + "' and order_status = '3' and is_delete ='0'").uniqueResult(0);
         if (ObjectUtil.isEmpty(workOrderObj)) throw new BadRequestException("该设备当前未生产或者已删除");
@@ -203,11 +184,13 @@ public class YzjCallEmptyVehicleTask extends AbstractAcsTask {
                 .task_status(TaskStatusEnum.SURE_END.getCode())
                 .point_code2(point_code2)
                 .acs_task_type("2")
-                .vehicle_code(form.getString("vehicle_code"))
-                .vehicle_type(workOrderObj.getString("vehicle_type"))
+                .material_id(workOrderObj.getLong("material_id"))
+                .workorder_id(workOrderObj.getLong("workorder_id"))
+                .vehicle_type(PointEnum.VEHICLE_TYPE_STEEL_TRAY.getCode())
                 .vehicle_qty(form.getIntValue("qty"))
                 .task_group_id(org.nl.wms.util.IdUtil.getLongId())
                 .handle_class(THIS_CLASS)
+                .request_param(form.toJSONString())
                 .create_time(DateUtil.now())
                 .build();
         JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
@@ -247,9 +230,10 @@ public class YzjCallEmptyVehicleTask extends AbstractAcsTask {
 
                 //锁住起点
                 noFullPoint.put("task_id", taskObj.getString("task_id"));
-                noFullPoint.put("lock_type", "2");
+                noFullPoint.put("lock_type", PointEnum.LOCK_TYPE_TRUE.getCode());
                 pointTab.update(noFullPoint);
             } else { // 到KGTDDW05找空钢托盘
+                // 向ACS查询是否有空钢托盘
                 JSONObject param = new JSONObject();
                 param.put("flag", "2");
                 param.put("region_code", "KGTCPQ");
@@ -263,7 +247,7 @@ public class YzjCallEmptyVehicleTask extends AbstractAcsTask {
 
                     //锁住起点
                     kgtPoint.put("task_id", taskObj.getString("task_id"));
-                    kgtPoint.put("lock_type", "2");
+                    kgtPoint.put("lock_type", PointEnum.LOCK_TYPE_TRUE.getCode());
                     pointTab.update(kgtPoint);
                 } else {
                     taskObj.put("remark", "未找到可用的载具!");
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/wql/QSCH_hnCallEmptyVehicle_01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/wql/QSCH_hnCallEmptyVehicle_01.wql
index 7c0b63d..682220d 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/wql/QSCH_hnCallEmptyVehicle_01.wql
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/wql/QSCH_hnCallEmptyVehicle_01.wql
@@ -48,17 +48,16 @@ IF 输入.flag = "1"
             	p.point_name
             FROM
             	SCH_BASE_Point p
-            	LEFT JOIN md_pb_vehicle vehicle ON vehicle.vehicle_code = p.vehicle_code
             WHERE
-            	lock_type = '1'
-            	AND is_used = '1'
+                lock_type = '1'
+                AND is_used = '1'
             	AND is_delete = '0'
             	AND point_status = '2'
                 OPTION 输入.region_code <> ""
                      p.region_code = 输入.region_code
                 ENDOPTION
                 OPTION 输入.is_new <> ""
-                     vehicle.vehicle_type = 输入.is_new
+                     p.vehicle_type = 输入.is_new
                 ENDOPTION
     		ENDSELECT
     	ENDQUERY
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/wql/QSCH_yzjCallEmptyVehicle_01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/wql/QSCH_yzjCallEmptyVehicle_01.wql
index c92d852..c240eac 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/wql/QSCH_yzjCallEmptyVehicle_01.wql
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/wql/QSCH_yzjCallEmptyVehicle_01.wql
@@ -51,9 +51,9 @@
             WHERE
                 lock_type = '1'
                 AND is_used = '1'
-                AND is_full = '2'
+                AND is_full = '0'
                 AND is_delete = '0'
-                AND point_status = '2'
+                AND point_status = '3'
                 OPTION 输入.region_code <> ""
                      p.region_code = 输入.region_code
                 ENDOPTION
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/FjCallMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/FjCallMaterialTask.java
index c091d03..f4dad83 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/FjCallMaterialTask.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/FjCallMaterialTask.java
@@ -187,7 +187,7 @@ public class FjCallMaterialTask extends AbstractAcsTask {
                 .task_status(TaskStatusEnum.SURE_END.getCode())
                 .point_code2(point_code2)
                 .vehicle_code(vehicle_code)
-                .material_info_id(workOrderObj.getLong("workorder_id"))
+                .workorder_id(workOrderObj.getLong("workorder_id"))
                 .material_id(workOrderObj.getLong("material_id"))
                 .vehicle_type(vehicle_type)
                 .handle_class(THIS_CLASS)
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/SzCallMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/SzCallMaterialTask.java
index 9125628..20ca49e 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/SzCallMaterialTask.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/SzCallMaterialTask.java
@@ -14,10 +14,9 @@ import org.nl.modules.system.util.CodeUtil;
 import org.nl.modules.wql.WQL;
 import org.nl.modules.wql.core.bean.WQLObject;
 import org.nl.wms.sch.SchTaskDto;
-import org.nl.wms.sch.manage.AbstractAcsTask;
-import org.nl.wms.sch.manage.TaskStatusEnum;
-import org.nl.wms.sch.manage.UpdateTaskStatusEnum;
+import org.nl.wms.sch.manage.*;
 import org.nl.wms.sch.tasks.AcsTaskDto;
+import org.nl.wms.sch.tasks.PointUpdateUtil;
 import org.nl.wms.util.IdUtil;
 import org.springframework.stereotype.Service;
 
@@ -94,7 +93,7 @@ public class SzCallMaterialTask extends AbstractAcsTask {
 
             if (ObjectUtil.isNotEmpty(material_point)) {
                 // 点位解锁
-                material_point.put("lock_type", "1");
+                material_point.put("lock_type", PointEnum.LOCK_TYPE_FALSE.getCode());
                 pointTab.update(material_point);
             }
         }
@@ -121,17 +120,17 @@ public class SzCallMaterialTask extends AbstractAcsTask {
             regionIoObj.put("iostorinv_id", IdUtil.getLongId());
             regionIoObj.put("bill_code", CodeUtil.getNewCode("IN_STORE_CODE"));
             regionIoObj.put("buss_date", DateUtil.today());
-            regionIoObj.put("io_type", "2"); // 出库
+            regionIoObj.put("io_type", RegionIOEnum.IO_TYPE_OUT.getCode()); // 出库
             regionIoObj.put("region_id", material_point.getString("region_id"));
             regionIoObj.put("region_code", material_point.getString("region_code"));
             regionIoObj.put("region_name", material_point.getString("region_name"));
             regionIoObj.put("material_id", taskObj.getString("material_id"));
             regionIoObj.put("vehicle_code", taskObj.getString("vehicle_code"));
             regionIoObj.put("qty", requestObj.getString("qty"));
-            regionIoObj.put("bill_status", "3");
+            regionIoObj.put("bill_status", RegionIOEnum.BILL_STATUS_FINISH.getCode());
             regionIoObj.put("start_point_code", taskObj.getString("point_code1"));
             regionIoObj.put("end_point_code", taskObj.getString("point_code2"));
-            regionIoObj.put("create_mode", "2");
+            regionIoObj.put("create_mode", RegionIOEnum.CREATE_MODE_ACS.getCode());
             regionIoObj.put("pcsn", DateUtil.format(DateUtil.parse(DateUtil.today()), "yyyyMMdd"));
             regionIoObj.put("create_id", SecurityUtils.getCurrentUserId());
             regionIoObj.put("create_name", SecurityUtils.getCurrentNickName());
@@ -140,18 +139,7 @@ public class SzCallMaterialTask extends AbstractAcsTask {
 
             //完成后
             // 物料点位解锁 并设置空位
-            material_point.put("lock_type", "1");
-            material_point.put("point_status", "1");
-            material_point.put("task_id", "");
-            material_point.put("pcsn", "");
-            material_point.put("ivt_qty", "0");
-            material_point.put("material_id", "");
-            material_point.put("instorage_time", "");
-            material_point.put("is_full", "2");
-            material_point.put("standing_time", "0");
-            material_point.put("vehicle_type", "");
-            material_point.put("vehicle_code", "");
-            pointTab.update(material_point);
+            PointUpdateUtil.clearPoint(material_point.getString("point_code"));
         }
     }
 
@@ -188,7 +176,7 @@ public class SzCallMaterialTask extends AbstractAcsTask {
                 .task_status(TaskStatusEnum.SURE_END.getCode())
                 .point_code2(point_code2)
                 .vehicle_code(vehicle_code)
-                .material_info_id(workOrderObj.getLong("workorder_id"))
+                .workorder_id(workOrderObj.getLong("workorder_id"))
                 .material_id(workOrderObj.getLong("material_id"))
                 .vehicle_type(vehicle_type)
                 .handle_class(THIS_CLASS)
@@ -231,7 +219,7 @@ public class SzCallMaterialTask extends AbstractAcsTask {
                 JSONObject material_point = pointTab.query("point_id = '" + json1.getString("point_id") + "' and lock_type = '1'").uniqueResult(0);
                 if (ObjectUtil.isEmpty(material_point)) throw new BadRequestException("数据错误,请校验!");
                 // 物料点位上锁
-                material_point.put("lock_type", "2");
+                material_point.put("lock_type", PointEnum.LOCK_TYPE_TRUE.getCode());
                 pointTab.update(material_point);
 
                 taskObj.put("point_code1", material_point.getString("point_code"));
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/YzjCallMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/YzjCallMaterialTask.java
index 10a52c8..f3cdb1a 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/YzjCallMaterialTask.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/YzjCallMaterialTask.java
@@ -9,22 +9,20 @@ import com.alibaba.fastjson.JSONObject;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
-import org.nl.config.ConfigParam;
 import org.nl.modules.common.exception.BadRequestException;
 import org.nl.modules.common.utils.SecurityUtils;
 import org.nl.modules.system.util.CodeUtil;
 import org.nl.modules.wql.WQL;
 import org.nl.modules.wql.core.bean.WQLObject;
 import org.nl.wms.sch.SchTaskDto;
-import org.nl.wms.sch.manage.AbstractAcsTask;
-import org.nl.wms.sch.manage.TaskStatusEnum;
+import org.nl.wms.sch.manage.*;
 import org.nl.wms.sch.tasks.AcsTaskDto;
+import org.nl.wms.sch.tasks.PointUpdateUtil;
 import org.nl.wms.util.IdUtil;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
-import java.util.function.BiConsumer;
-import java.util.function.Predicate;
 
 /**
  * @author: lyd
@@ -36,8 +34,6 @@ import java.util.function.Predicate;
 @Slf4j
 public class YzjCallMaterialTask extends AbstractAcsTask {
     private final String THIS_CLASS = YzjCallMaterialTask.class.getName();
-    //start point,[endpoint1,endpoin2]
-    public static Map<String,String> YZJ_OLD_POINT = new HashMap<>();
     /**
      * 添加任务进行下发
      *
@@ -87,7 +83,7 @@ public class YzjCallMaterialTask extends AbstractAcsTask {
         // 物料点
         JSONObject material_point = pointTab.query("point_code = '" + taskObj.getString("point_code1") + "'").uniqueResult(0);
         //任务取消
-        if (StrUtil.equals(status, "0")) {
+        if (StrUtil.equals(status, UpdateTaskStatusEnum.CANCEL.getCode())) {
             // 取消删除任务
             if (StrUtil.equals(taskObj.getString("task_status"), TaskStatusEnum.FINISHED.getCode())) {
                 throw new BadRequestException("已完成不能取消!");
@@ -96,12 +92,13 @@ public class YzjCallMaterialTask extends AbstractAcsTask {
             taskObj.put("remark", "已取消");
             taskTab.update(taskObj);
 
-            // 点位解锁
-            material_point.put("lock_type", "1");
+            if (ObjectUtil.isEmpty(material_point)) return;
+            // 解锁
+            material_point.put("lock_type", PointEnum.LOCK_TYPE_FALSE.getCode());
             pointTab.update(material_point);
         }
 
-        if ("1".equals(status)) {
+        if (UpdateTaskStatusEnum.EXECUTION.getCode().equals(status)) {
             // 更新任务状态为执行中
             taskObj.put("task_status", TaskStatusEnum.EXECUTING.getCode());
             taskObj.put("update_time", DateUtil.now());
@@ -109,52 +106,38 @@ public class YzjCallMaterialTask extends AbstractAcsTask {
             taskTab.update(taskObj);
         }
 
-        if (StrUtil.equals(status, "2")) {
+        if (StrUtil.equals(status, UpdateTaskStatusEnum.FORCEFINISH.getCode())) {
             // 更改任务状态为完成
             taskObj.put("task_status", TaskStatusEnum.FINISHED.getCode());
             taskObj.put("update_time", DateUtil.now());
             taskTab.update(taskObj);
-
+            if (ObjectUtil.isEmpty(material_point)) return;
             JSONObject requestObj = task.getJSONObject("request_param");
-
-            插入区域表:{
-                //区域出入表【st_ivt_regionIO】
-                WQLObject regionIoTab = WQLObject.getWQLObject("st_ivt_regionIO");
-                JSONObject regionIoObj = new JSONObject();
-                regionIoObj.put("iostorinv_id", IdUtil.getLongId());
-                regionIoObj.put("bill_code", CodeUtil.getNewCode("IN_STORE_CODE"));
-                regionIoObj.put("buss_date", DateUtil.today());
-                regionIoObj.put("io_type", "2"); // 出库
-                regionIoObj.put("region_id", material_point.getString("region_id"));
-                regionIoObj.put("region_code", material_point.getString("region_code"));
-                regionIoObj.put("region_name", material_point.getString("region_name"));
-                regionIoObj.put("material_id", taskObj.getString("material_id"));
-                regionIoObj.put("vehicle_code", taskObj.getString("vehicle_code"));
-                regionIoObj.put("qty", requestObj.getString("qty"));
-                regionIoObj.put("bill_status", "3");
-                regionIoObj.put("start_point_code", taskObj.getString("point_code1"));
-                regionIoObj.put("end_point_code", taskObj.getString("point_code2"));
-                regionIoObj.put("create_mode", "2");
-                regionIoObj.put("pcsn", DateUtil.format(DateUtil.parse(DateUtil.today()), "yyyyMMdd"));
-                regionIoObj.put("create_id", SecurityUtils.getCurrentUserId());
-                regionIoObj.put("create_name", SecurityUtils.getCurrentNickName());
-                regionIoObj.put("create_time", DateUtil.now());
-                regionIoTab.insert(regionIoObj);
-            }
+            // 区域出入表【st_ivt_regionIO】
+            WQLObject regionIoTab = WQLObject.getWQLObject("st_ivt_regionIO");
+            JSONObject regionIoObj = new JSONObject();
+            regionIoObj.put("iostorinv_id", IdUtil.getLongId());
+            regionIoObj.put("bill_code", CodeUtil.getNewCode("IN_STORE_CODE"));
+            regionIoObj.put("buss_date", DateUtil.today());
+            regionIoObj.put("io_type", RegionIOEnum.IO_TYPE_OUT.getCode()); // 出库
+            regionIoObj.put("region_id", material_point.getString("region_id"));
+            regionIoObj.put("region_code", material_point.getString("region_code"));
+            regionIoObj.put("region_name", material_point.getString("region_name"));
+            regionIoObj.put("material_id", taskObj.getString("material_id"));
+            regionIoObj.put("vehicle_code", taskObj.getString("vehicle_code"));
+            regionIoObj.put("qty", requestObj.getString("qty"));
+            regionIoObj.put("bill_status", RegionIOEnum.BILL_STATUS_FINISH.getCode());
+            regionIoObj.put("start_point_code", taskObj.getString("point_code1"));
+            regionIoObj.put("end_point_code", taskObj.getString("point_code2"));
+            regionIoObj.put("create_mode", RegionIOEnum.CREATE_MODE_ACS.getCode());
+            regionIoObj.put("pcsn", DateUtil.format(DateUtil.parse(DateUtil.today()), "yyyyMMdd"));
+            regionIoObj.put("create_id", SecurityUtils.getCurrentUserId());
+            regionIoObj.put("create_name", SecurityUtils.getCurrentNickName());
+            regionIoObj.put("create_time", DateUtil.now());
+            regionIoTab.insert(regionIoObj);
             //完成后
             // 物料点位解锁 并设置空位
-            material_point.put("lock_type", "1");
-            material_point.put("point_status", "1");
-            material_point.put("task_id", "");
-            material_point.put("pcsn", "");
-            material_point.put("ivt_qty", "0");
-            material_point.put("material_id", "");
-            material_point.put("instorage_time", "");
-            material_point.put("is_full", "2");
-            material_point.put("standing_time", "0");
-            material_point.put("vehicle_type", "");
-            material_point.put("vehicle_code", "");
-            pointTab.update(material_point);
+            PointUpdateUtil.clearPoint(material_point.getString("point_code"));
         }
     }
 
@@ -181,20 +164,21 @@ public class YzjCallMaterialTask extends AbstractAcsTask {
         String device_code = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0).getString("device_code");
         JSONObject workOrderObj = workOrderTab.query("device_code = '" + device_code + "' and order_status = '3' and is_delete ='0'").uniqueResult(0);
         if (ObjectUtil.isEmpty(workOrderObj)) throw new BadRequestException("该设备当前未生产或者已删除");
-        String oldMatSendPoint = ConfigParam.YZJ_OLD_POINT.get(point_code2);//旧料盅终点
-        if (StringUtils.isNotEmpty(oldMatSendPoint)){
-            point_code2=oldMatSendPoint;
-        }
+
         SchTaskDto dto = SchTaskDto.builder()
                 .task_id(IdUtil.getLongId())
                 .task_code(CodeUtil.getNewCode("TASK_CODE"))
                 .task_type("task_type")
                 .task_name("压制机叫料")
                 .material_qty(qty)
+                .acs_task_type("2")
+                .vehicle_type(workOrderObj.getString("is_new"))
+                .workorder_id(workOrderObj.getLong("workorder_id"))
                 .task_status(TaskStatusEnum.SURE_END.getCode())
                 .point_code2(point_code2)
                 .vehicle_code(vehicle_code)
-                .material_info_id(workOrderObj.getLong("workorder_id"))
+                .vehicle_type(workOrderObj.getString("vehicle_type"))
+                .workorder_id(workOrderObj.getLong("workorder_id"))
                 .material_id(workOrderObj.getLong("material_id"))
                 .vehicle_type(vehicle_type)
                 .handle_class(THIS_CLASS)
@@ -216,25 +200,39 @@ public class YzjCallMaterialTask extends AbstractAcsTask {
      * @created 2020年6月12日 下午6:01:30
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void findStartPoint() {
-        /*
+        /**
          * 根据业务找对应的起点,直接到困料货架获取
+         * 如果是普通压制机:区分新旧物料、新料有对接位,旧料需要查找放到哪个旧盅货架
+         * 如果是液压机:手持呼叫,到困料货架查找相同物料的料盅(这里只能是新料盅)
          */
         WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); // 任务表
         WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); // 点位表
         WQLObject workOrderTab = WQLObject.getWQLObject("PDM_BD_WorkOrder"); // 工单表
+        WQLObject deviceTab = WQLObject.getWQLObject("PDM_BI_Device"); // 设备表
 
         JSONArray taskArr = taskTab.query("handle_class = '" + THIS_CLASS + "'and is_delete = '0' and task_status = '" + TaskStatusEnum.SURE_END.getCode() + "'").getResultJSONArray(0);
         for (int i = 0; i < taskArr.size(); i++) {
             JSONObject taskObj = taskArr.getJSONObject(i);
-            // 获取工单
+            // point_code2是对应的上料点
             String point_code2 = taskObj.getString("point_code2");
-            String device_code = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0).getString("device_code");
-
-            JSONObject workOrderObj = workOrderTab.query("device_code = '" + device_code + "' and order_status = '3' and is_delete ='0'").uniqueResult(0);
+            JSONObject point = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0);
+            String device_code = point.getString("device_code");
+            // 获取工单
+            JSONObject workOrderObj = workOrderTab.query("workorder_id = '" + taskObj.getString("workorder_id") + "'").uniqueResult(0);
+            JSONObject deviceObj = deviceTab.query("device_code = '" + device_code + "'").uniqueResult(0);
+            if (deviceObj.getString("device_model").equals("3")) { // 普通压制机:区分新旧物料
+                // 新物料終点不用修改
+                if (workOrderObj.getString("is_new").equals(WorkOrderEnum.IS_OLD_MATERIAL.getCode())) { // 旧物料
+                    // 查找该设备对应的旧盅位
+                    JSONObject endPoint = pointTab.query("region_code = 'KLHJ' AND point_type = '4' AND device_code LIKE '%" +
+                            point_code2 + "%' AND point_status = '1' AND is_used = '1' AND is_delete = '0' AND lock_type = '1'").uniqueResult(0);
+                    point_code2 = endPoint.getString("point_code"); // 未锁的旧盅货架位
+                }
+            }
 
             String material_id = taskObj.getString("material_id");
-            String vehicle_type = taskObj.getString("vehicle_type");
             JSONObject queryParam = new JSONObject();
             queryParam.put("flag", "1");
             queryParam.put("material_id", material_id);
@@ -243,23 +241,22 @@ public class YzjCallMaterialTask extends AbstractAcsTask {
             JSONObject json1 = WQL.getWO("QSCH_yzjCallMaterial_01").addParamMap(queryParam).process().uniqueResult(0);
             if (ObjectUtil.isNotEmpty(json1)) {
                 // 拿到点位
-                JSONObject material_point = pointTab.query("point_id = '" + json1.getString("point_id") + "' and lock_type = '1'").uniqueResult(0);
+                JSONObject material_point = pointTab.query("point_id = '" + json1.getString("point_id") + "'").uniqueResult(0);
                 if (ObjectUtil.isEmpty(material_point)) throw new BadRequestException("数据错误,请校验!");
                 // 物料点位上锁
-                material_point.put("lock_type", "2");
+                material_point.put("lock_type", PointEnum.LOCK_TYPE_TRUE.getCode());
+                material_point.put("task_id", taskObj.getString("task_id"));
                 pointTab.update(material_point);
 
+                taskObj.put("point_code2", point_code2);
                 taskObj.put("point_code1", material_point.getString("point_code"));
                 taskObj.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
-                taskObj.put("acs_task_type", "2");
                 taskObj.put("update_time", DateUtil.now());
-                taskTab.update(taskObj);
             } else {
                 taskObj.put("remark", "困料货架无所需物料");
                 taskObj.put("update_time", DateUtil.now());
-                taskTab.update(taskObj);
             }
-
+            taskTab.update(taskObj);
         }
     }
 
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/wql/QSCH_szCallMaterial_01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/wql/QSCH_szCallMaterial_01.wql
index b4bbdc9..d91c3f6 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/wql/QSCH_szCallMaterial_01.wql
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/wql/QSCH_szCallMaterial_01.wql
@@ -54,7 +54,7 @@
             WHERE
                 p.is_used = '1'
                 AND is_delete = '0'
-                AND lock_type='1'
+                AND lock_type = '1'
                 AND point_status = '3'
                 OPTION 输入.material_id <> ""
                      p.material_id = 输入.material_id
@@ -65,7 +65,7 @@
                 OPTION 输入.vehicle_type <> ""
                      p.can_vehicle_type like 输入.vehicle_type
                 ENDOPTION
-                ORDER BY is_full desc,col_num,row_num,layer_num
+                ORDER BY is_full desc
             ENDSELECT
         ENDQUERY
     ENDIF
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/wql/QSCH_yzjCallMaterial_01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/wql/QSCH_yzjCallMaterial_01.wql
index 8a708a4..c324ca2 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/wql/QSCH_yzjCallMaterial_01.wql
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/wql/QSCH_yzjCallMaterial_01.wql
@@ -49,11 +49,12 @@
             FROM
                 SCH_BASE_Point p
             WHERE
-                p.is_used = '1'
+                lock_type = '1'
+                AND p.is_used = '1'
                 AND standing_time is not null
                 AND now() > DATE_ADD(instorage_time,INTERVAL standing_time MINUTE)
                 AND is_delete = '0'
-                AND lock_type='1'
+                AND point_type = '1'
                 AND point_status = '3'
                 OPTION 输入.material_id <> ""
                      p.material_id = 输入.material_id
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendEmpty/YzjSendEmpVehicleTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendEmpty/YzjSendEmpVehicleTask.java
index b62907b..f3c39eb 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendEmpty/YzjSendEmpVehicleTask.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendEmpty/YzjSendEmpVehicleTask.java
@@ -9,7 +9,6 @@ import com.alibaba.fastjson.JSONObject;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
-import org.nl.config.ConfigParam;
 import org.nl.modules.common.exception.BadRequestException;
 import org.nl.modules.common.utils.SecurityUtils;
 import org.nl.modules.system.util.CodeUtil;
@@ -17,9 +16,11 @@ import org.nl.modules.wql.WQL;
 import org.nl.modules.wql.core.bean.WQLObject;
 import org.nl.wms.sch.SchTaskDto;
 import org.nl.wms.sch.manage.AbstractAcsTask;
+import org.nl.wms.sch.manage.PointEnum;
 import org.nl.wms.sch.manage.TaskStatusEnum;
+import org.nl.wms.sch.manage.UpdateTaskStatusEnum;
 import org.nl.wms.sch.tasks.AcsTaskDto;
-import org.nl.wms.sch.tasks.RegionTypeEnum;
+import org.nl.wms.sch.tasks.PointUpdateUtil;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -83,7 +84,7 @@ public class YzjSendEmpVehicleTask extends AbstractAcsTask {
         String point_code2 = taskObj.getString("point_code2");
         JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0);
 
-        if (StrUtil.equals(status, "0")) {
+        if (StrUtil.equals(status, UpdateTaskStatusEnum.CANCEL.getCode())) {
             // 取消删除任务
             if (StrUtil.equals(jsonTask.getString("task_status"), TaskStatusEnum.FINISHED.getCode())) {
                 throw new BadRequestException("已完成不能取消!");
@@ -91,7 +92,7 @@ public class YzjSendEmpVehicleTask extends AbstractAcsTask {
             // 解锁终点位置
             if (ObjectUtil.isNotEmpty(point_code2)) { // 未找到终点的取消只需要完成任务就行
                 JSONObject point2 = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0);
-                point2.put("lock_type", "1");
+                point2.put("lock_type", PointEnum.LOCK_TYPE_FALSE.getCode());
                 pointTab.update(point2);
             }
             // 任务设置为完成
@@ -100,7 +101,7 @@ public class YzjSendEmpVehicleTask extends AbstractAcsTask {
             taskTab.update(jsonTask);
         }
 
-        if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
+        if (UpdateTaskStatusEnum.EXECUTION.getCode().equals(status)) {
             // 更新任务状态为执行中
             jsonTask.put("task_status", TaskStatusEnum.EXECUTING.getCode());
             jsonTask.put("update_time", DateUtil.now());
@@ -108,7 +109,7 @@ public class YzjSendEmpVehicleTask extends AbstractAcsTask {
             taskTab.update(jsonTask);
         }
 
-        if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
+        if (StrUtil.equals(status, UpdateTaskStatusEnum.FORCEFINISH.getCode())) {
             // 更改任务状态为完成
             jsonTask.put("task_status", TaskStatusEnum.FINISHED.getCode());
             jsonTask.put("update_optid", SecurityUtils.getCurrentUserId());
@@ -117,18 +118,10 @@ public class YzjSendEmpVehicleTask extends AbstractAcsTask {
             taskTab.update(jsonTask);
             // 释放点位
             if (ObjectUtil.isNotEmpty(point_code2)) { // 防止只有确定起点的任务完成
-                JSONObject point_2 = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0);
-                point_2.put("lock_type", "1");
-                point_2.put("point_status", "2");
-                point_2.put("vehicle_code", jsonTask.getString("vehicle_code"));
-                point_2.put("vehicle_qty", "1");
-                point_2.put("instorage_time", DateUtil.now());
-                point_2.put("is_full", "1");
-                point_2.put("ivt_qty", "0");
-                point_2.put("pcsn", "");
-                point_2.put("material_id", "");
-                point_2.put("standing_time", "0");
-                pointTab.update(point_2);
+                JSONObject jsonObject = new JSONObject();
+                jsonObject.put("point_code", point_code2);
+                jsonObject.put("vehicle_code", jsonTask.getString("vehicle_code"));
+                PointUpdateUtil.setVehicle(jsonObject);
             }
         }
     }
@@ -147,17 +140,13 @@ public class YzjSendEmpVehicleTask extends AbstractAcsTask {
         WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); // 任务表
 
         String point_code1 = form.getString("point_code1");
-        String oldMatSendPoint = ConfigParam.YZJ_OLD_POINT.get(point_code1);//旧空料盅的回库的话从公共点位返回
-        if (StringUtils.isNotEmpty(oldMatSendPoint)){
-            point_code1=oldMatSendPoint;
-        }
         SchTaskDto dto = SchTaskDto.builder().task_id(org.nl.wms.util.IdUtil.getLongId())
                 .task_code(CodeUtil.getNewCode("TASK_CODE"))
                 .task_type("")
                 .task_name("压制机空盅入库")
                 .task_status(TaskStatusEnum.SURE_START.getCode())
                 .point_code1(point_code1)
-                .vehicle_code(form.getString("vehicle_code"))
+                .vehicle_code(form.getString("vehicle_code")) // 送空盅需要
                 .vehicle_type(form.getString("vehicle_type"))
                 .vehicle_qty(form.getIntValue("qty"))
                 .handle_class(THIS_CLASS)
@@ -206,7 +195,7 @@ public class YzjSendEmpVehicleTask extends AbstractAcsTask {
 
                 //锁住终点
                 endPoint.put("task_id", taskObj.getString("task_id"));
-                endPoint.put("lock_type", "2");
+                endPoint.put("lock_type", PointEnum.LOCK_TYPE_TRUE.getCode());
                 pointTab.update(endPoint);
             }
         }
@@ -221,7 +210,16 @@ public class YzjSendEmpVehicleTask extends AbstractAcsTask {
      */
     @Override
     public void forceFinish(String task_id) {
-
+        /*
+         * 强制完成
+         */
+        WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
+        JSONObject taskObj = taskTab.query("task_id = '" + task_id + "' and is_delete = '0' and task_status <> " + TaskStatusEnum.FINISHED.getCode()).uniqueResult(0);
+        if (ObjectUtil.isNotEmpty(taskObj))
+            this.updateTaskStatus(taskObj,UpdateTaskStatusEnum.FORCEFINISH.getCode());
+        else {
+            throw new BadRequestException("未找到该任务或者任务已完成!");
+        }
     }
 
     /**
@@ -231,6 +229,12 @@ public class YzjSendEmpVehicleTask extends AbstractAcsTask {
      */
     @Override
     public void cancel(String task_id) {
-
+        WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
+        JSONObject taskObj = taskTab.query("task_id = '" + task_id + "' and is_delete = '0' and task_status <> " + TaskStatusEnum.FINISHED.getCode()).uniqueResult(0);
+        if (ObjectUtil.isNotEmpty(taskObj))
+            this.updateTaskStatus(taskObj,UpdateTaskStatusEnum.CANCEL.getCode());
+        else {
+            throw new BadRequestException("未找到该任务或者任务已完成!");
+        }
     }
 }
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendEmpty/wql/QSCH_yzjSendEmptyVehicle_01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendEmpty/wql/QSCH_yzjSendEmptyVehicle_01.wql
index 92cd9e6..61a4c22 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendEmpty/wql/QSCH_yzjSendEmptyVehicle_01.wql
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendEmpty/wql/QSCH_yzjSendEmptyVehicle_01.wql
@@ -54,7 +54,7 @@
             WHERE
                 p.is_used = '1'
                 AND is_delete = '0'
-                AND lock_type='1'
+                AND lock_type = '1'
                 AND point_status = '1'
                 OPTION 输入.material_id <> ""
                      p.material_id = 输入.material_id
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/FjSendMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/FjSendMaterialTask.java
index 7c88607..dbfc267 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/FjSendMaterialTask.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/FjSendMaterialTask.java
@@ -96,7 +96,7 @@ public class FjSendMaterialTask extends AbstractAcsTask {
             JSONObject point2Obj = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0);
             JSONObject requestObj = task.getJSONObject("request_param");
             //工单标识
-            String workorder_id = requestObj.getString("material_info_id");
+            String workorder_id = requestObj.getString("workorder_id");
             //生产工单表【PDM_BD_WorkOrder】
             WQLObject workOrderTab = WQLObject.getWQLObject("PDM_BD_WorkOrder");
             JSONObject workorderObj = workOrderTab.query("workorder_id", workorder_id).uniqueResult(0);
@@ -177,7 +177,7 @@ public class FjSendMaterialTask extends AbstractAcsTask {
                 .point_code1(point_code1)
                 .vehicle_code(vehicle_code)
                 .vehicle_type(workOrderObj.getString("vehicle_type"))
-                .material_info_id(workOrderObj.getLong("workorder_id"))
+                .workorder_id(workOrderObj.getLong("workorder_id"))
                 .material_id(workOrderObj.getLong("material_id"))
                 .handle_class(THIS_CLASS)
                 .create_time(DateUtil.now())
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/HnSendMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/HnSendMaterialTask.java
index 5b882a2..32d350a 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/HnSendMaterialTask.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/HnSendMaterialTask.java
@@ -126,7 +126,7 @@ public class HnSendMaterialTask extends AbstractAcsTask {
             JSONObject point2Obj = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0);
             JSONObject requestObj = task.getJSONObject("request_param");
             // 工单标识
-            String workorder_id = taskObj.getString("material_info_id");
+            String workorder_id = taskObj.getString("workorder_id");
             JSONObject workorderObj = workOrderTab.query("workorder_id = '" + workorder_id + "'").uniqueResult(0);
             // 物料
             JSONObject materialObj = materialTab.query("material_id = '" + workorderObj.getString("material_id") + "'").uniqueResult(0);
@@ -145,7 +145,7 @@ public class HnSendMaterialTask extends AbstractAcsTask {
             regionIoObj.put("material_id", taskObj.getString("material_id"));
             regionIoObj.put("vehicle_code", taskObj.getString("vehicle_code"));
             regionIoObj.put("qty", requestObj.getString("qty"));
-            regionIoObj.put("is_new", workorderObj.getString("is_new"));
+            regionIoObj.put("ivt_weight", requestObj.getString("weight"));
             regionIoObj.put("bill_status", RegionIOEnum.BILL_STATUS_FINISH.getCode());
             regionIoObj.put("start_point_code", taskObj.getString("point_code1"));
             regionIoObj.put("end_point_code", taskObj.getString("point_code2"));
@@ -160,6 +160,7 @@ public class HnSendMaterialTask extends AbstractAcsTask {
             point2Obj.put("instorage_time", taskObj.getString("create_time")); // 入库时间为任务生成的时间
             point2Obj.put("pcsn", DateUtil.format(DateUtil.parse(DateUtil.today()), "yyyyMMdd"));
             point2Obj.put("ivt_qty", requestObj.getString("qty"));
+            point2Obj.put("ivt_weight", requestObj.getString("weight"));
             point2Obj.put("standing_time", materialObj.getString("standing_time"));
             point2Obj.put("warn_time", materialObj.getString("warn_time"));
             point2Obj.put("material_id", workorderObj.getString("material_id"));
@@ -186,7 +187,7 @@ public class HnSendMaterialTask extends AbstractAcsTask {
         String vehicle_code = form.getString("vehicle_code");
         String qty = form.getString("qty");
         String is_full = form.getString("is_full");
-        String weight = form.getString("weight"); // 未存
+        String weight = form.getString("weight");
         //任务表【SCH_BASE_Task】
         WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
         //判断当前点是否有未完成的任务
@@ -212,7 +213,7 @@ public class HnSendMaterialTask extends AbstractAcsTask {
                 .point_code1(point_code1)
                 .vehicle_code(vehicle_code)
                 .vehicle_type(workOrderObj.getString("vehicle_type"))
-                .material_info_id(workOrderObj.getLong("workorder_id"))
+                .workorder_id(workOrderObj.getLong("workorder_id"))
                 .material_id(workOrderObj.getLong("material_id"))
                 .handle_class(THIS_CLASS)
                 .create_time(DateUtil.now())
@@ -235,7 +236,8 @@ public class HnSendMaterialTask extends AbstractAcsTask {
     public void findNextPoint() {
         /**
          * 根据业务找到相应的终点
-         * 高速混碾机下料先找高速压制机旁边的三个困料位,没有位置则去公共货架
+         * 高速混碾机下料先判断高速压制机的工单生产的是不是相同的,是的话判断坤料货架是否有相同物料,
+         * 没有就去旁边的三个困料位,没有位置则去公共货架;工单不同或者困料货架没有相同物料则去公共货架
          * 普通混碾机下料直接送到公共困料货架
          */
         WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
@@ -243,12 +245,47 @@ public class HnSendMaterialTask extends AbstractAcsTask {
         JSONArray taskArr = taskTab.query("handle_class = '" + THIS_CLASS + "'and is_delete = '0' and task_status = '2'").getResultJSONArray(0);
         for (int i = 0; i < taskArr.size(); i++) {
             JSONObject taskObj = taskArr.getJSONObject(i);
-            String vehicle_type = taskObj.getString("vehicle_type");//混碾载具类型新旧料? 工單不提供载具类型
+            // 找生产改物料的液压机的工单
+            JSONObject paramObj = new JSONObject();
+            paramObj.put("flag", "1");
+            paramObj.put("material_id", taskObj.getString("material_id"));
+            JSONArray workerOrders = WQL.getWO("QSCH_hnSendMaterial_01").addParamMap(paramObj).process().getResultJSONArray(0);
+            for (int j = 0; j < workerOrders.size(); j++) {
+                JSONObject workerOrder = workerOrders.getJSONObject(j);
+                // 判断仓库是否有该物料
+                JSONObject param2 = new JSONObject();
+                param2.put("flag", "2");
+                param2.put("material_id", workerOrder.getString("material_id"));
+                param2.put("point_type", "1"); // 公用货架
+                param2.put("point_status", PointEnum.POINT_STATUS_HAVE_MATERIAL.getCode()); // 有料
+                JSONArray ivts = WQL.getWO("QSCH_hnSendMaterial_01").addParamMap(param2).process().getResultJSONArray(0);
+                if (ivts.size() > 0) continue;
+                // 判断是否有空位
+                JSONObject param3 = new JSONObject();
+                param3.put("flag", "2");
+                param3.put("device_code", workerOrder.getString("device_code"));
+                param3.put("point_type", "2"); // 液压机旁边三个位置
+                param3.put("point_status", PointEnum.POINT_STATUS_EMPTY_POSITION.getCode()); // 空位
+                JSONObject endPoint = WQL.getWO("QSCH_hnSendMaterial_01").addParamMap(param3).process().uniqueResult(0);
+                if (ObjectUtil.isEmpty(endPoint)) continue;
+
+                // 找到位置就可以直接搬
+                taskObj.put("update_time", DateUtil.now());
+                taskObj.put("point_code2", endPoint.getString("point_code"));
+                taskObj.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
+                taskTab.update(taskObj);
+
+                // 点位上锁
+                endPoint.put("lock_type", PointEnum.LOCK_TYPE_TRUE.getCode());
+                endPoint.put("task_id", taskObj.getString("task_id"));
+                pointTab.update(endPoint);
+                return;
+            }
+            // 其他情况直接搬到困料货架上
             JSONObject param1 = new JSONObject();
-            param1.put("flag", "1");
+            param1.put("flag", "3");
             param1.put("region_code", "KLHJ");
-            param1.put("vehicle_type", "%" + vehicle_type + "%");
-            //1、查找困料货架是否有响应的载具类型和对应的物料
+            // 查找困料货架
             JSONObject endPoint = WQL.getWO("QSCH_hnSendMaterial_01").addParamMap(param1).process().uniqueResult(0);
             if (ObjectUtil.isEmpty(endPoint)) {
                 taskObj.put("remark", "困料货架无可用货位");
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/SendMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/SendMaterialTask.java
index 1e0f711..314a234 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/SendMaterialTask.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/SendMaterialTask.java
@@ -111,7 +111,7 @@ public class SendMaterialTask extends AbstractAcsTask {
             JSONObject point2Obj = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0);
             JSONObject requestObj = task.getJSONObject("request_param");
             //工单标识
-            String workorder_id = requestObj.getString("material_info_id");
+            String workorder_id = requestObj.getString("workorder_id");
             //生产工单表【PDM_BD_WorkOrder】
             WQLObject workOrderTab = WQLObject.getWQLObject("PDM_BD_WorkOrder");
             JSONObject workorderObj = workOrderTab.query("workorder_id", workorder_id).uniqueResult(0);
@@ -193,7 +193,7 @@ public class SendMaterialTask extends AbstractAcsTask {
                 .point_code1(point_code1)
                 .vehicle_code(vehicle_code)
                 .vehicle_type(workOrderObj.getString("vehicle_type"))
-                .material_info_id(workOrderObj.getLong("workorder_id"))
+                .workorder_id(workOrderObj.getLong("workorder_id"))
                 .material_id(workOrderObj.getLong("material_id"))
                 .handle_class(THIS_CLASS)
                 .create_time(DateUtil.now())
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/SzSendMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/SzSendMaterialTask.java
index 0bb88e4..e040b51 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/SzSendMaterialTask.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/SzSendMaterialTask.java
@@ -117,7 +117,7 @@ public class SzSendMaterialTask extends AbstractAcsTask {
             JSONObject point2Obj = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0);
             JSONObject requestObj = task.getJSONObject("request_param");
             //工单标识
-            String workorder_id = requestObj.getString("material_info_id");
+            String workorder_id = requestObj.getString("workorder_id");
             //生产工单表【PDM_BD_WorkOrder】
             WQLObject workOrderTab = WQLObject.getWQLObject("PDM_BD_WorkOrder");
             JSONObject workorderObj = workOrderTab.query("workorder_id", workorder_id).uniqueResult(0);
@@ -199,7 +199,7 @@ public class SzSendMaterialTask extends AbstractAcsTask {
                 .point_code1(point_code1)
                 .vehicle_code(vehicle_code)
                 .vehicle_type(workOrderObj.getString("vehicle_type"))
-                .material_info_id(workOrderObj.getLong("workorder_id"))
+                .workorder_id(workOrderObj.getLong("workorder_id"))
                 .material_id(workOrderObj.getLong("material_id"))
                 .handle_class(THIS_CLASS)
                 .create_time(DateUtil.now())
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/YzjSendMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/YzjSendMaterialTask.java
index d2a902f..d4ba8a7 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/YzjSendMaterialTask.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/YzjSendMaterialTask.java
@@ -14,8 +14,7 @@ import org.nl.modules.system.util.CodeUtil;
 import org.nl.modules.wql.WQL;
 import org.nl.modules.wql.core.bean.WQLObject;
 import org.nl.wms.sch.SchTaskDto;
-import org.nl.wms.sch.manage.AbstractAcsTask;
-import org.nl.wms.sch.manage.TaskStatusEnum;
+import org.nl.wms.sch.manage.*;
 import org.nl.wms.sch.tasks.AcsTaskDto;
 import org.nl.wms.util.IdUtil;
 import org.springframework.stereotype.Service;
@@ -81,15 +80,15 @@ public class YzjSendMaterialTask extends AbstractAcsTask {
         JSONObject taskObj = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0);
 
         //任务取消
-        if (StrUtil.equals(status, "0")) {
+        if (StrUtil.equals(status, UpdateTaskStatusEnum.CANCEL.getCode())) {
             // 取消删除任务
             if (StrUtil.equals(taskObj.getString("task_status"), TaskStatusEnum.FINISHED.getCode())) {
                 throw new BadRequestException("已完成不能取消!");
             }
             String point_code2 = taskObj.getString("point_code2");
-            if (ObjectUtil.isEmpty(point_code2)) {
+            if (ObjectUtil.isNotEmpty(point_code2)) {
                 JSONObject endPoint = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0);
-                endPoint.put("lock_type", "1");
+                endPoint.put("lock_type", PointEnum.LOCK_TYPE_FALSE.getCode());
                 pointTab.update(endPoint);
             }
             taskObj.put("task_status", TaskStatusEnum.FINISHED.getCode());
@@ -97,7 +96,7 @@ public class YzjSendMaterialTask extends AbstractAcsTask {
             taskTab.update(taskObj);
         }
 
-        if ("1".equals(status)) {
+        if (UpdateTaskStatusEnum.EXECUTION.getCode().equals(status)) {
             // 更新任务状态为执行中
             taskObj.put("task_status", TaskStatusEnum.EXECUTING.getCode());
             taskObj.put("update_time", DateUtil.now());
@@ -105,7 +104,7 @@ public class YzjSendMaterialTask extends AbstractAcsTask {
             taskTab.update(taskObj);
         }
 
-        if (StrUtil.equals(status, "2")) {
+        if (StrUtil.equals(status, UpdateTaskStatusEnum.FORCEFINISH.getCode())) {
             // 更改任务状态为完成
             taskObj.put("task_status", TaskStatusEnum.FINISHED.getCode());
             taskObj.put("update_optid", SecurityUtils.getCurrentUserId());
@@ -115,9 +114,10 @@ public class YzjSendMaterialTask extends AbstractAcsTask {
 
             String point_code2 = taskObj.getString("point_code2");
             JSONObject point2Obj = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0);
+            if (ObjectUtil.isEmpty(point2Obj)) return;
             JSONObject requestObj = task.getJSONObject("request_param");
             //工单标识
-            String workorder_id = requestObj.getString("material_info_id");
+            String workorder_id = requestObj.getString("workorder_id");
             //生产工单表【PDM_BD_WorkOrder】
             WQLObject workOrderTab = WQLObject.getWQLObject("PDM_BD_WorkOrder");
             JSONObject workorderObj = workOrderTab.query("workorder_id", workorder_id).uniqueResult(0);
@@ -128,17 +128,18 @@ public class YzjSendMaterialTask extends AbstractAcsTask {
             regionIoObj.put("iostorinv_id", IdUtil.getLongId());
             regionIoObj.put("bill_code", CodeUtil.getNewCode("IN_STORE_CODE"));
             regionIoObj.put("buss_date", DateUtil.today());
-            regionIoObj.put("io_type", "1"); // 入库
+            regionIoObj.put("io_type", RegionIOEnum.IO_TYPE_IN.getCode()); // 入库
             regionIoObj.put("region_id", point2Obj.getString("region_id"));
             regionIoObj.put("region_code", point2Obj.getString("region_code"));
             regionIoObj.put("region_name", point2Obj.getString("region_name"));
             regionIoObj.put("material_id", taskObj.getString("material_id"));
             regionIoObj.put("vehicle_code", taskObj.getString("vehicle_code"));
             regionIoObj.put("qty", requestObj.getString("qty"));
-            regionIoObj.put("bill_status", "3");
+            regionIoObj.put("ivt_weight", requestObj.getString("weight"));
+            regionIoObj.put("bill_status", RegionIOEnum.BILL_STATUS_FINISH.getCode());
             regionIoObj.put("start_point_code", taskObj.getString("point_code1"));
             regionIoObj.put("end_point_code", taskObj.getString("point_code3"));
-            regionIoObj.put("create_mode", "2");
+            regionIoObj.put("create_mode", RegionIOEnum.CREATE_MODE_ACS.getCode());
             regionIoObj.put("pcsn", DateUtil.format(DateUtil.parse(DateUtil.today()), "yyyyMMdd"));
             regionIoObj.put("create_id", SecurityUtils.getCurrentUserId());
             regionIoObj.put("create_name", SecurityUtils.getCurrentNickName());
@@ -149,15 +150,18 @@ public class YzjSendMaterialTask extends AbstractAcsTask {
             point2Obj.put("instorage_time", DateUtil.now());
             point2Obj.put("pcsn", DateUtil.format(DateUtil.parse(DateUtil.today()), "yyyyMMdd"));
             point2Obj.put("ivt_qty", requestObj.getString("qty"));
+            point2Obj.put("ivt_weight", requestObj.getString("weight"));
             point2Obj.put("standing_time", workorderObj.getString("standing_time"));
+            point2Obj.put("warn_time", workorderObj.getString("warn_time"));
             point2Obj.put("material_id", workorderObj.getString("material_id"));
             point2Obj.put("vehicle_type", workorderObj.getString("vehicle_type"));
             point2Obj.put("vehicle_code", taskObj.getString("vehicle_code"));
+            point2Obj.put("vehicle_qty", "1"); // 入库为1个载具
             point2Obj.put("is_full", requestObj.getString("is_full"));
-
-            // 终点解锁
-            point2Obj.put("lock_type", "1");
-            point2Obj.put("point_status", "3");
+            point2Obj.put("group_id", taskObj.getString("group_id")); // 组盘标识
+            // 解锁终点
+            point2Obj.put("lock_type", PointEnum.LOCK_TYPE_FALSE.getCode());
+            point2Obj.put("point_status", PointEnum.POINT_STATUS_HAVE_MATERIAL.getCode());
             pointTab.update(point2Obj);
         }
     }
@@ -198,8 +202,9 @@ public class YzjSendMaterialTask extends AbstractAcsTask {
                 .task_status(TaskStatusEnum.SURE_START.getCode())
                 .point_code1(point_code1)
                 .vehicle_code(vehicle_code)
-                .vehicle_type(workOrderObj.getString("vehicle_type"))
-                .material_info_id(workOrderObj.getLong("workorder_id"))
+                .group_id(form.getLong("group_id"))
+                .vehicle_type(PointEnum.VEHICLE_TYPE_STEEL_TRAY.getCode())
+                .workorder_id(workOrderObj.getLong("workorder_id"))
                 .material_id(workOrderObj.getLong("material_id"))
                 .handle_class(THIS_CLASS)
                 .create_time(DateUtil.now())
@@ -247,11 +252,9 @@ public class YzjSendMaterialTask extends AbstractAcsTask {
 
                 //锁住终点
                 endPoint.put("task_id", taskObj.getString("task_id"));
-                endPoint.put("lock_type", "2");
+                endPoint.put("lock_type", PointEnum.LOCK_TYPE_TRUE.getCode());
                 pointTab.update(endPoint);
             }
-
-
         }
     }
 
@@ -270,7 +273,7 @@ public class YzjSendMaterialTask extends AbstractAcsTask {
         WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
         JSONObject taskObj = taskTab.query("task_id = '" + task_id + "' and is_delete = '0' and task_status <> " + TaskStatusEnum.FINISHED.getCode()).uniqueResult(0);
         if (ObjectUtil.isNotEmpty(taskObj))
-            this.updateTaskStatus(taskObj,"2");
+            this.updateTaskStatus(taskObj,UpdateTaskStatusEnum.FORCEFINISH.getCode());
         else {
             throw new BadRequestException("未找到该任务或者任务已完成!");
         }
@@ -286,7 +289,7 @@ public class YzjSendMaterialTask extends AbstractAcsTask {
         WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
         JSONObject taskObj = taskTab.query("task_id = '" + task_id + "' and is_delete = '0' and task_status <> " + TaskStatusEnum.FINISHED.getCode()).uniqueResult(0);
         if (ObjectUtil.isNotEmpty(taskObj))
-            this.updateTaskStatus(taskObj,"0");
+            this.updateTaskStatus(taskObj,UpdateTaskStatusEnum.CANCEL.getCode());
         else {
             throw new BadRequestException("未找到该任务或者任务已完成!");
         }
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/wql/QSCH_hnSendMaterial_01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/wql/QSCH_hnSendMaterial_01.wql
index b9158ab..813b6ec 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/wql/QSCH_hnSendMaterial_01.wql
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/wql/QSCH_hnSendMaterial_01.wql
@@ -14,9 +14,12 @@
 	##			表字段对应输入参数
 	#################################################
 	输入.flag					        TYPEAS s_string
-	输入.region_code					    TYPEAS s_string
-	输入.material_id					    TYPEAS s_string
+	输入.region_code					TYPEAS s_string
+	输入.material_id					TYPEAS s_string
 	输入.vehicle_type					TYPEAS s_string
+	输入.device_code					TYPEAS s_string
+	输入.point_type					    TYPEAS s_string
+	输入.point_status					TYPEAS s_string
 
 
 [临时表]
@@ -40,7 +43,49 @@
 	##########################################
 	#			3、业务主过程			 	 #
 	##########################################
-IF 输入.flag = "1"
+	IF 输入.flag = "1"
+	    QUERY
+	        SELECT
+            	workorder.*
+            FROM
+            	pdm_bd_workorder  workorder
+            	LEFT JOIN pdm_bi_device device ON device.device_code = workorder.device_code
+            WHERE
+            	workorder.order_status = '3'
+            	AND
+            	device.device_model = '4'
+            	OPTION 输入.material_id <> ""
+            	    workorder.material_id = 输入.material_id
+                ENDOPTION
+            ENDSELECT
+	    ENDQUERY
+	ENDIF
+
+    IF 输入.flag = "2"
+        QUERY
+            SELECT
+            	*
+            FROM
+            	`sch_base_point`
+            WHERE
+                lock_type = '1'
+                AND region_code = 'KLHJ'
+            	AND is_used = '1'
+                AND is_delete = '0'
+            	OPTION 输入.material_id <> ""
+            	    material_id = 输入.material_id
+                ENDOPTION
+                OPTION 输入.point_type <> ""
+            	    point_type = 输入.point_type
+                ENDOPTION
+                OPTION 输入.point_status <> ""
+            	    point_status = 输入.point_status
+                ENDOPTION
+            ENDSELECT
+        ENDQUERY
+    ENDIF
+
+    IF 输入.flag = "3"
        	QUERY
        		SELECT
             	p.point_id,
@@ -49,13 +94,10 @@ IF 输入.flag = "1"
             FROM
             	SCH_BASE_Point p
             WHERE
-            	lock_type = '1'
-            	AND is_used = '1'
+                lock_type = '1'
+                AND is_used = '1'
             	AND is_delete = '0'
             	AND point_status = '1'
-            	OPTION 输入.vehicle_type <> ""
-                     p.can_vehicle_type like 输入.vehicle_type
-                ENDOPTION
                 OPTION 输入.region_code <> ""
                      p.region_code = 输入.region_code
                 ENDOPTION
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls b/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls
index 50ef193..1936aed 100644
Binary files a/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls and b/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls differ
diff --git a/lms/nladmin-ui/src/views/login.vue b/lms/nladmin-ui/src/views/login.vue
index caa6d06..b246c98 100644
--- a/lms/nladmin-ui/src/views/login.vue
+++ b/lms/nladmin-ui/src/views/login.vue
@@ -56,8 +56,8 @@ export default {
       codeUrl: '',
       cookiePass: '',
       loginForm: {
-        username: 'admin',
-        password: '123456',
+        username: '',
+        password: '',
         rememberMe: false,
         code: '',
         uuid: ''