自动化立体仓库 - WMS系统
13
zhang
昨天 ab41622d30946f83b34e5a5d881741237628f6f1
13
22个文件已修改
20个文件已添加
2957 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/AgvWrkDetlController.java 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/AgvWrkDetlLogController.java 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/AgvWrkMastController.java 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/AgvWrkMastLogController.java 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MobileController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OutController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/WaitPakinController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/AgvWrkDetl.java 382 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/AgvWrkDetlLog.java 382 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/AgvWrkMast.java 516 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/AgvWrkMastLog.java 515 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/OrderDetlPakout.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/OrderPakinDomainParam.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/AgvWrkDetlLogMapper.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/AgvWrkDetlMapper.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/AgvWrkMastLogMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/AgvWrkMastMapper.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/OrderPakoutMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/OrderReportMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/AgvWrkDetlLogService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/AgvWrkDetlService.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/AgvWrkMastLogService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/AgvWrkMastService.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderPakinService.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderPakoutService.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderReportService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvWrkDetlLogServiceImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvWrkDetlServiceImpl.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvWrkMastLogServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImpl.java 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderReportServiceImpl.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/AutoLocMoveScheduler.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/timer/LoadingConfigTimer.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/AgvWrkDetlLogMapper.xml 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/AgvWrkDetlMapper.xml 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/AgvWrkMastLogMapper.xml 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/AgvWrkMastMapper.xml 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/AgvWrkDetlController.java
@@ -10,8 +10,8 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.service.WrkDetlService;
import com.zy.asrs.entity.AgvWrkDetl;
import com.zy.asrs.service.AgvWrkDetlService;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -25,12 +25,12 @@
public class AgvWrkDetlController extends BaseController {
    @Autowired
    private WrkDetlService wrkDetlService;
    private AgvWrkDetlService agvWrkDetlService;
    @RequestMapping(value = "/agvWrkDetl/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") String id) {
        return R.ok(wrkDetlService.selectById(String.valueOf(id)));
        return R.ok(agvWrkDetlService.selectById(String.valueOf(id)));
    }
    @RequestMapping(value = "/agvWrkDetl/list/auth")
@@ -42,15 +42,15 @@
                  @RequestParam(required = false) String condition,
                  @RequestParam Map<String, Object> param) {
        excludeTrash(param);
        EntityWrapper<WrkDetl> wrapper = new EntityWrapper<>();
        EntityWrapper<AgvWrkDetl> wrapper = new EntityWrapper<>();
        convert(param, wrapper);
        allLike(WrkDetl.class, param.keySet(), wrapper, condition);
        allLike(AgvWrkDetl.class, param.keySet(), wrapper, condition);
        if (!Cools.isEmpty(orderByField)) {
            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
        } else {
            wrapper.orderBy("appe_time", false);
        }
        return R.ok(wrkDetlService.selectPage(new Page<>(curr, limit), wrapper));
        return R.ok(agvWrkDetlService.selectPage(new Page<>(curr, limit), wrapper));
    }
    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) {
@@ -68,20 +68,20 @@
    @RequestMapping(value = "/agvWrkDetl/add/auth")
    @ManagerAuth(memo = "工作档明细添加")
    public R add(WrkDetl wrkDetl) {
        wrkDetlService.insert(wrkDetl);
    public R add(AgvWrkDetl wrkDetl) {
        agvWrkDetlService.insert(wrkDetl);
        return R.ok();
    }
    @RequestMapping(value = "/agvWrkDetl/delete/auth")
    @ManagerAuth(memo = "工作档明细删除")
    public R delete(@RequestParam String param) {
        List<WrkDetl> list = JSONArray.parseArray(param, WrkDetl.class);
        List<AgvWrkDetl> list = JSONArray.parseArray(param, AgvWrkDetl.class);
        if (Cools.isEmpty(list)) {
            return R.error();
        }
        for (WrkDetl entity : list) {
            wrkDetlService.delete(new EntityWrapper<>(entity));
        for (AgvWrkDetl entity : list) {
            agvWrkDetlService.delete(new EntityWrapper<>(entity));
        }
        return R.ok();
    }
@@ -90,21 +90,21 @@
    @ManagerAuth(memo = "工作档明细导出")
    public R export(@RequestBody JSONObject param) {
        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
        EntityWrapper<WrkDetl> wrapper = new EntityWrapper<>();
        EntityWrapper<AgvWrkDetl> wrapper = new EntityWrapper<>();
        Map<String, Object> map = excludeTrash(param.getJSONObject("wrkDetl"));
        convert(map, wrapper);
        List<WrkDetl> list = wrkDetlService.selectList(wrapper);
        List<AgvWrkDetl> list = agvWrkDetlService.selectList(wrapper);
        return R.ok(exportSupport(list, fields));
    }
    @RequestMapping(value = "/agvWrkDetlQuery/auth")
    @ManagerAuth
    public R query(String condition) {
        EntityWrapper<WrkDetl> wrapper = new EntityWrapper<>();
        EntityWrapper<AgvWrkDetl> wrapper = new EntityWrapper<>();
        wrapper.like("id", condition);
        Page<WrkDetl> page = wrkDetlService.selectPage(new Page<>(0, 10), wrapper);
        Page<AgvWrkDetl> page = agvWrkDetlService.selectPage(new Page<>(0, 10), wrapper);
        List<Map<String, Object>> result = new ArrayList<>();
        for (WrkDetl wrkDetl : page.getRecords()) {
        for (AgvWrkDetl wrkDetl : page.getRecords()) {
            Map<String, Object> map = new HashMap<>();
            map.put("id", wrkDetl.getWrkNo());
            map.put("value", wrkDetl.getWrkNo());
@@ -116,9 +116,9 @@
    @RequestMapping(value = "/agvWrkDetl/check/column/auth")
    @ManagerAuth
    public R query(@RequestBody JSONObject param) {
        Wrapper<WrkDetl> wrapper = new EntityWrapper<WrkDetl>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
        if (null != wrkDetlService.selectOne(wrapper)) {
            return R.parse(BaseRes.REPEAT).add(getComment(WrkDetl.class, String.valueOf(param.get("key"))));
        Wrapper<AgvWrkDetl> wrapper = new EntityWrapper<AgvWrkDetl>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
        if (null != agvWrkDetlService.selectOne(wrapper)) {
            return R.parse(BaseRes.REPEAT).add(getComment(AgvWrkDetl.class, String.valueOf(param.get("key"))));
        }
        return R.ok();
    }
src/main/java/com/zy/asrs/controller/AgvWrkDetlLogController.java
@@ -10,8 +10,9 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.AgvWrkDetlLog;
import com.zy.asrs.entity.WrkDetlLog;
import com.zy.asrs.service.WrkDetlLogService;
import com.zy.asrs.service.AgvWrkDetlLogService;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -25,12 +26,12 @@
public class AgvWrkDetlLogController extends BaseController {
    @Autowired
    private WrkDetlLogService wrkDetlLogService;
    private AgvWrkDetlLogService agvWrkDetlLogService;
    @RequestMapping(value = "/agvWrkDetlLog/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") String id) {
        return R.ok(wrkDetlLogService.selectById(String.valueOf(id)));
        return R.ok(agvWrkDetlLogService.selectById(String.valueOf(id)));
    }
    /**
@@ -42,14 +43,14 @@
                   @RequestParam(defaultValue = "10") Integer limit,
                   @RequestParam Integer wrk_no,
                   @RequestParam String ioTime) {
        EntityWrapper<WrkDetlLog> wrapper = new EntityWrapper<>();
        EntityWrapper<AgvWrkDetlLog> wrapper = new EntityWrapper<>();
        if (!Cools.isEmpty(wrk_no) && wrk_no != 0) {
            wrapper.eq("wrk_no", wrk_no);
        }
        if (!Cools.isEmpty(ioTime)) {
            wrapper.eq("io_time", DateUtils.convert(ioTime, DateUtils.yyyyMMddHHmmsssss_F));
        }
        return R.ok(wrkDetlLogService.selectPage(new Page<>(curr, limit), wrapper));
        return R.ok(agvWrkDetlLogService.selectPage(new Page<>(curr, limit), wrapper));
    }
    @RequestMapping(value = "/agvWrkDetlLog/list/auth")
@@ -59,7 +60,7 @@
                  @RequestParam(required = false) String orderByField,
                  @RequestParam(required = false) String orderByType,
                  @RequestParam Map<String, Object> param) {
        EntityWrapper<WrkDetlLog> wrapper = new EntityWrapper<>();
        EntityWrapper<AgvWrkDetlLog> wrapper = new EntityWrapper<>();
        excludeTrash(param);
        convert(param, wrapper);
        if (!Cools.isEmpty(orderByField)) {
@@ -67,7 +68,7 @@
        } else {
            wrapper.orderBy("modi_time", false);
        }
        return R.ok(wrkDetlLogService.selectPage(new Page<>(curr, limit), wrapper));
        return R.ok(agvWrkDetlLogService.selectPage(new Page<>(curr, limit), wrapper));
    }
    //    12.12新增,工作明细历史档过滤手动取消的工作明细
@@ -81,15 +82,15 @@
                             @RequestParam Map<String, Object> param) {
        try {
            excludeTrash(param);
            EntityWrapper<WrkDetlLog> wrapper = new EntityWrapper<>();
            EntityWrapper<AgvWrkDetlLog> wrapper = new EntityWrapper<>();
            convert(param, wrapper);
            allLike(WrkDetlLog.class, param.keySet(), wrapper, condition);
            allLike(AgvWrkDetlLog.class, param.keySet(), wrapper, condition);
            if (!Cools.isEmpty(orderByField)) {
                wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
            } else {
                wrapper.orderBy("appe_time", false);
            }
            return R.ok(wrkDetlLogService.selectPage(new Page<>(curr, limit), wrapper));
            return R.ok(agvWrkDetlLogService.selectPage(new Page<>(curr, limit), wrapper));
        } catch (Exception e) {
            return R.error("异常" + e);
        }
@@ -110,30 +111,30 @@
    @RequestMapping(value = "/agvWrkDetlLog/add/auth")
    @ManagerAuth
    public R add(WrkDetlLog wrkDetlLog) {
        wrkDetlLogService.insert(wrkDetlLog);
    public R add(AgvWrkDetlLog wrkDetlLog) {
        agvWrkDetlLogService.insert(wrkDetlLog);
        return R.ok();
    }
    @RequestMapping(value = "/agvWrkDetlLog/update/auth")
    @ManagerAuth
    public R update(WrkDetlLog wrkDetlLog) {
    public R update(AgvWrkDetlLog wrkDetlLog) {
        if (Cools.isEmpty(wrkDetlLog) || null == wrkDetlLog.getWrkNo()) {
            return R.error();
        }
        wrkDetlLogService.updateById(wrkDetlLog);
        agvWrkDetlLogService.updateById(wrkDetlLog);
        return R.ok();
    }
    @RequestMapping(value = "/agvWrkDetlLog/delete/auth")
    @ManagerAuth
    public R delete(@RequestParam String param) {
        List<WrkDetlLog> list = JSONArray.parseArray(param, WrkDetlLog.class);
        List<AgvWrkDetlLog> list = JSONArray.parseArray(param, AgvWrkDetlLog.class);
        if (Cools.isEmpty(list)) {
            return R.error();
        }
        for (WrkDetlLog entity : list) {
            wrkDetlLogService.delete(new EntityWrapper<>(entity));
        for (AgvWrkDetlLog entity : list) {
            agvWrkDetlLogService.delete(new EntityWrapper<>(entity));
        }
        return R.ok();
    }
@@ -141,22 +142,22 @@
    @RequestMapping(value = "/agvWrkDetlLog/export/auth")
    @ManagerAuth
    public R export(@RequestBody JSONObject param) {
        EntityWrapper<WrkDetlLog> wrapper = new EntityWrapper<>();
        EntityWrapper<AgvWrkDetlLog> wrapper = new EntityWrapper<>();
        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
        Map<String, Object> map = excludeTrash(param.getJSONObject("wrkDetlLog"));
        convert(map, wrapper);
        List<WrkDetlLog> list = wrkDetlLogService.selectList(wrapper);
        List<AgvWrkDetlLog> list = agvWrkDetlLogService.selectList(wrapper);
        return R.ok(exportSupport(list, fields));
    }
    @RequestMapping(value = "/agvWrkDetlLogQuery/auth")
    @ManagerAuth
    public R query(String condition) {
        EntityWrapper<WrkDetlLog> wrapper = new EntityWrapper<>();
        EntityWrapper<AgvWrkDetlLog> wrapper = new EntityWrapper<>();
        wrapper.like("id", condition);
        Page<WrkDetlLog> page = wrkDetlLogService.selectPage(new Page<>(0, 10), wrapper);
        Page<AgvWrkDetlLog> page = agvWrkDetlLogService.selectPage(new Page<>(0, 10), wrapper);
        List<Map<String, Object>> result = new ArrayList<>();
        for (WrkDetlLog wrkDetlLog : page.getRecords()) {
        for (AgvWrkDetlLog wrkDetlLog : page.getRecords()) {
            Map<String, Object> map = new HashMap<>();
            map.put("id", wrkDetlLog.getWrkNo());
            map.put("value", wrkDetlLog.getWrkNo());
@@ -168,8 +169,8 @@
    @RequestMapping(value = "/agvWrkDetlLog/check/column/auth")
    @ManagerAuth
    public R query(@RequestBody JSONObject param) {
        Wrapper<WrkDetlLog> wrapper = new EntityWrapper<WrkDetlLog>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
        if (null != wrkDetlLogService.selectOne(wrapper)) {
        Wrapper<AgvWrkDetlLog> wrapper = new EntityWrapper<AgvWrkDetlLog>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
        if (null != agvWrkDetlLogService.selectOne(wrapper)) {
            return R.parse(BaseRes.REPEAT).add(getComment(WrkDetlLog.class, String.valueOf(param.get("key"))));
        }
        return R.ok();
src/main/java/com/zy/asrs/controller/AgvWrkMastController.java
@@ -10,8 +10,8 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.entity.AgvWrkMast;
import com.zy.asrs.service.AgvWrkMastService;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -22,12 +22,12 @@
public class AgvWrkMastController extends BaseController {
    @Autowired
    private WrkMastService wrkMastService;
    private AgvWrkMastService agvWrkMastService;
    @RequestMapping(value = "/agvWrkMast/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") String id) {
        return R.ok(wrkMastService.selectById(String.valueOf(id)));
        return R.ok(agvWrkMastService.selectById(String.valueOf(id)));
    }
    @RequestMapping(value = "/agvWrkMast/list/auth")
@@ -39,9 +39,9 @@
                  @RequestParam(required = false) String condition,
                  @RequestParam Map<String, Object> param) {
        excludeTrash(param);
        EntityWrapper<WrkMast> wrapper = new EntityWrapper<>();
        EntityWrapper<AgvWrkMast> wrapper = new EntityWrapper<>();
        convert(param, wrapper);
        allLike(WrkMast.class, param.keySet(), wrapper, condition);
        allLike(AgvWrkMast.class, param.keySet(), wrapper, condition);
        if (!Cools.isEmpty(orderByField)) {
            if (orderByField.endsWith("$")) {
                orderByField = orderByField.substring(0, orderByField.length() - 1);
@@ -50,7 +50,7 @@
        } else {
            wrapper.orderBy("io_time", false);
        }
        return R.ok(wrkMastService.selectPage(new Page<>(curr, limit), wrapper));
        return R.ok(agvWrkMastService.selectPage(new Page<>(curr, limit), wrapper));
    }
    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) {
@@ -68,36 +68,36 @@
    @RequestMapping(value = "/agvWrkMast/add/auth")
    @ManagerAuth(memo = "工作档添加")
    public R add(WrkMast wrkMast) {
    public R add(AgvWrkMast wrkMast) {
        wrkMast.setModiUser(getUserId());
        wrkMast.setModiTime(new Date());
        wrkMast.setAppeUser(getUserId());
        wrkMast.setAppeTime(new Date());
        wrkMastService.insert(wrkMast);
        agvWrkMastService.insert(wrkMast);
        return R.ok();
    }
    @RequestMapping(value = "/agvWrkMast/update/auth")
    @ManagerAuth(memo = "工作档修改")
    public R update(WrkMast wrkMast) {
    public R update(AgvWrkMast wrkMast) {
        if (Cools.isEmpty(wrkMast) || null == wrkMast.getWrkNo()) {
            return R.error();
        }
        wrkMast.setModiUser(getUserId());
        wrkMast.setModiTime(new Date());
        wrkMastService.updateById(wrkMast);
        agvWrkMastService.updateById(wrkMast);
        return R.ok();
    }
    @RequestMapping(value = "/agvWrkMast/delete/auth")
    @ManagerAuth(memo = "工作档删除")
    public R delete(@RequestParam String param) {
        List<WrkMast> list = JSONArray.parseArray(param, WrkMast.class);
        List<AgvWrkMast> list = JSONArray.parseArray(param, AgvWrkMast.class);
        if (Cools.isEmpty(list)) {
            return R.error();
        }
        for (WrkMast entity : list) {
            wrkMastService.delete(new EntityWrapper<>(entity));
        for (AgvWrkMast entity : list) {
            agvWrkMastService.delete(new EntityWrapper<>(entity));
        }
        return R.ok();
    }
@@ -106,21 +106,21 @@
    @ManagerAuth(memo = "工作档导出")
    public R export(@RequestBody JSONObject param) {
        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
        EntityWrapper<WrkMast> wrapper = new EntityWrapper<>();
        EntityWrapper<AgvWrkMast> wrapper = new EntityWrapper<>();
        Map<String, Object> map = excludeTrash(param.getJSONObject("wrkMast"));
        convert(map, wrapper);
        List<WrkMast> list = wrkMastService.selectList(wrapper);
        List<AgvWrkMast> list = agvWrkMastService.selectList(wrapper);
        return R.ok(exportSupport(list, fields));
    }
    @RequestMapping(value = "/agvWrkMastQuery/auth")
    @ManagerAuth
    public R query(String condition) {
        EntityWrapper<WrkMast> wrapper = new EntityWrapper<>();
        EntityWrapper<AgvWrkMast> wrapper = new EntityWrapper<>();
        wrapper.like("wrk_no", condition);
        Page<WrkMast> page = wrkMastService.selectPage(new Page<>(0, 10), wrapper);
        Page<AgvWrkMast> page = agvWrkMastService.selectPage(new Page<>(0, 10), wrapper);
        List<Map<String, Object>> result = new ArrayList<>();
        for (WrkMast wrkMast : page.getRecords()) {
        for (AgvWrkMast wrkMast : page.getRecords()) {
            Map<String, Object> map = new HashMap<>();
            map.put("id", wrkMast.getWrkNo());
            map.put("value", wrkMast.getWrkNo());
@@ -132,36 +132,36 @@
    @RequestMapping(value = "/agvWrkMast/check/column/auth")
    @ManagerAuth
    public R query(@RequestBody JSONObject param) {
        Wrapper<WrkMast> wrapper = new EntityWrapper<WrkMast>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
        if (null != wrkMastService.selectOne(wrapper)) {
            return R.parse(BaseRes.REPEAT).add(getComment(WrkMast.class, String.valueOf(param.get("key"))));
        Wrapper<AgvWrkMast> wrapper = new EntityWrapper<AgvWrkMast>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
        if (null != agvWrkMastService.selectOne(wrapper)) {
            return R.parse(BaseRes.REPEAT).add(getComment(AgvWrkMast.class, String.valueOf(param.get("key"))));
        }
        return R.ok();
    }
    @RequestMapping(value = "/agvWrkMast/add/pri/auth")
    @ManagerAuth(memo = "工作档增加优先级")
    public R addPri(@RequestBody List<WrkMast> list) {
    public R addPri(@RequestBody List<AgvWrkMast> list) {
        if (list.isEmpty()) {
            return R.error("请至少选择一行数据");
        }
        for (WrkMast entity : list) {
        for (AgvWrkMast entity : list) {
            entity.setIoPri(entity.getIoPri() + 1);
        }
        wrkMastService.updateBatchById(list);
        agvWrkMastService.updateBatchById(list);
        return R.ok();
    }
    @RequestMapping(value = "/agvWrkMast/red/pri/auth")
    @ManagerAuth(memo = "工作档降低优先级")
    public R redPri(@RequestBody List<WrkMast> list) {
    public R redPri(@RequestBody List<AgvWrkMast> list) {
        if (list.isEmpty()) {
            return R.error("请至少选择一行数据");
        }
        for (WrkMast entity : list) {
        for (AgvWrkMast entity : list) {
            entity.setIoPri(entity.getIoPri() - 1);
        }
        wrkMastService.updateBatchById(list);
        agvWrkMastService.updateBatchById(list);
        return R.ok();
    }
src/main/java/com/zy/asrs/controller/AgvWrkMastLogController.java
@@ -10,8 +10,8 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.WrkMastLog;
import com.zy.asrs.service.WrkMastLogService;
import com.zy.asrs.entity.AgvWrkMastLog;
import com.zy.asrs.service.AgvWrkMastLogService;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -25,12 +25,12 @@
public class AgvWrkMastLogController extends BaseController {
    @Autowired
    private WrkMastLogService wrkMastLogService;
    private AgvWrkMastLogService agvWrkMastLogService;
    @RequestMapping(value = "/agvWrkMastLog/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") String id) {
        return R.ok(wrkMastLogService.selectById(String.valueOf(id)));
        return R.ok(agvWrkMastLogService.selectById(String.valueOf(id)));
    }
    @RequestMapping(value = "/agvWrkMastLog/list/auth")
@@ -42,9 +42,9 @@
                  @RequestParam(required = false) String condition,
                  @RequestParam Map<String, Object> param) {
        excludeTrash(param);
        EntityWrapper<WrkMastLog> wrapper = new EntityWrapper<>();
        EntityWrapper<AgvWrkMastLog> wrapper = new EntityWrapper<>();
        convert(param, wrapper);
        allLike(WrkMastLog.class, param.keySet(), wrapper, condition);
        allLike(AgvWrkMastLog.class, param.keySet(), wrapper, condition);
        if (!Cools.isEmpty(orderByField)) {
            if (orderByField.endsWith("$")) {
                orderByField = orderByField.substring(0, orderByField.length() - 1);
@@ -53,7 +53,7 @@
        } else {
            wrapper.orderBy("modi_time", false);
        }
        return R.ok(wrkMastLogService.selectPage(new Page<>(curr, limit), wrapper));
        return R.ok(agvWrkMastLogService.selectPage(new Page<>(curr, limit), wrapper));
    }
    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) {
@@ -75,30 +75,30 @@
    @RequestMapping(value = "/agvWrkMastLog/add/auth")
    @ManagerAuth(memo = "工作历史档添加")
    public R add(WrkMastLog wrkMastLog) {
        wrkMastLogService.insert(wrkMastLog);
    public R add(AgvWrkMastLog wrkMastLog) {
        agvWrkMastLogService.insert(wrkMastLog);
        return R.ok();
    }
    @RequestMapping(value = "/agvWrkMastLog/update/auth")
    @ManagerAuth(memo = "工作历史档修改")
    public R update(WrkMastLog wrkMastLog) {
    public R update(AgvWrkMastLog wrkMastLog) {
        if (Cools.isEmpty(wrkMastLog) || null == wrkMastLog.getId()) {
            return R.error();
        }
        wrkMastLogService.updateById(wrkMastLog);
        agvWrkMastLogService.updateById(wrkMastLog);
        return R.ok();
    }
    @RequestMapping(value = "/agvWrkMastLog/delete/auth")
    @ManagerAuth(memo = "工作历史档删除")
    public R delete(@RequestParam String param) {
        List<WrkMastLog> list = JSONArray.parseArray(param, WrkMastLog.class);
        List<AgvWrkMastLog> list = JSONArray.parseArray(param, AgvWrkMastLog.class);
        if (Cools.isEmpty(list)) {
            return R.error();
        }
        for (WrkMastLog entity : list) {
            wrkMastLogService.delete(new EntityWrapper<>(entity));
        for (AgvWrkMastLog entity : list) {
            agvWrkMastLogService.delete(new EntityWrapper<>(entity));
        }
        return R.ok();
    }
@@ -107,21 +107,21 @@
    @ManagerAuth(memo = "工作历史档导出")
    public R export(@RequestBody JSONObject param) {
        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
        EntityWrapper<WrkMastLog> wrapper = new EntityWrapper<>();
        EntityWrapper<AgvWrkMastLog> wrapper = new EntityWrapper<>();
        Map<String, Object> map = excludeTrash(param.getJSONObject("wrkMastLog"));
        convert(map, wrapper);
        List<WrkMastLog> list = wrkMastLogService.selectList(wrapper);
        List<AgvWrkMastLog> list = agvWrkMastLogService.selectList(wrapper);
        return R.ok(exportSupport(list, fields));
    }
    @RequestMapping(value = "/agvWrkMastLogQuery/auth")
    @ManagerAuth
    public R query(String condition) {
        EntityWrapper<WrkMastLog> wrapper = new EntityWrapper<>();
        EntityWrapper<AgvWrkMastLog> wrapper = new EntityWrapper<>();
        wrapper.like("id", condition);
        Page<WrkMastLog> page = wrkMastLogService.selectPage(new Page<>(0, 10), wrapper);
        Page<AgvWrkMastLog> page = agvWrkMastLogService.selectPage(new Page<>(0, 10), wrapper);
        List<Map<String, Object>> result = new ArrayList<>();
        for (WrkMastLog wrkMastLog : page.getRecords()) {
        for (AgvWrkMastLog wrkMastLog : page.getRecords()) {
            Map<String, Object> map = new HashMap<>();
            map.put("id", wrkMastLog.getId());
            map.put("value", wrkMastLog.getId());
@@ -133,9 +133,9 @@
    @RequestMapping(value = "/agvWrkMastLog/check/column/auth")
    @ManagerAuth
    public R query(@RequestBody JSONObject param) {
        Wrapper<WrkMastLog> wrapper = new EntityWrapper<WrkMastLog>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
        if (null != wrkMastLogService.selectOne(wrapper)) {
            return R.parse(BaseRes.REPEAT).add(getComment(WrkMastLog.class, String.valueOf(param.get("key"))));
        Wrapper<AgvWrkMastLog> wrapper = new EntityWrapper<AgvWrkMastLog>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
        if (null != agvWrkMastLogService.selectOne(wrapper)) {
            return R.parse(BaseRes.REPEAT).add(getComment(AgvWrkMastLog.class, String.valueOf(param.get("key"))));
        }
        return R.ok();
    }
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -66,9 +66,6 @@
    private CommonService commonService;
    @PostMapping("/agv/start")
    @ManagerAuth
    public R pdaAgvStart(@RequestBody Map<String, Object> map) {
@@ -176,7 +173,6 @@
    }
    @RequestMapping("/order/search/orderNo/auth")
    @ManagerAuth
    public R orderSearchByBarcode(@RequestParam String orderNo) {
@@ -243,10 +239,6 @@
    }
    // 出库 ---------------------------------------------------------------------------------------------------
src/main/java/com/zy/asrs/controller/OutController.java
@@ -109,10 +109,10 @@
    /**
     * 处理单个订单明细的货位分配
     *
     * @param orderDetlPakout      订单明细
     * @param requiredAmount 需求出库量
     * @param processedLocs  已处理的货位集合(用于去重)
     * @param processedStock 已处理的库存记录集合(用于去重)
     * @param orderDetlPakout 订单明细
     * @param requiredAmount  需求出库量
     * @param processedLocs   已处理的货位集合(用于去重)
     * @param processedStock  已处理的库存记录集合(用于去重)
     */
    private List<LocDto> processOrderDetl(OrderDetlPakout orderDetlPakout, Double requiredAmount,
                                          Set<String> processedLocs, Set<ExistDto> processedStock) {
src/main/java/com/zy/asrs/controller/WaitPakinController.java
@@ -10,7 +10,6 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.OrderDetlPakin;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.OrderDetlPakinService;
src/main/java/com/zy/asrs/entity/AgvWrkDetl.java
New file
@@ -0,0 +1,382 @@
package com.zy.asrs.entity;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.common.utils.Synchro;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
@Data
@TableName("agv_wrk_detl")
public class AgvWrkDetl implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 工作号
     */
    @ApiModelProperty(value = "工作号")
    @TableField("wrk_no")
    private Integer wrkNo;
    /**
     * 工作时间
     */
    @ApiModelProperty(value = "工作时间")
    @TableField("io_time")
    private Date ioTime;
    /**
     * 数量
     */
    @ApiModelProperty(value = "数量")
    private Double anfme;
    /**
     * 托盘条码
     */
    @ApiModelProperty(value = "托盘条码")
    private String zpallet;
    /**
     * 物料
     */
    @ApiModelProperty(value = "商品编号")
    private String matnr;
    /**
     * 物料描述
     */
    @ApiModelProperty(value = "商品名称")
    private String maktx;
    /**
     * 批号
     */
    @ApiModelProperty(value = "批号")
    private String batch;
    /**
     * 单据编号
     */
    @ApiModelProperty(value = "单据编号")
    @TableField("order_no")
    private String orderNo;
    /**
     * 规格
     */
    @ApiModelProperty(value = "规格")
    private String specs;
    /**
     * 型号
     */
    @ApiModelProperty(value = "型号")
    private String model;
    /**
     * 颜色
     */
    @ApiModelProperty(value = "颜色")
    private String color;
    /**
     * 品牌
     */
    @ApiModelProperty(value = "品牌")
    private String brand;
    /**
     * 单位
     */
    @ApiModelProperty(value = "单位")
    private String unit;
    /**
     * 单价
     */
    @ApiModelProperty(value = "单价")
    private Double price;
    /**
     * sku
     */
    @ApiModelProperty(value = "sku")
    private String sku;
    /**
     * 单位量
     */
    @ApiModelProperty(value = "单位量")
    private Double units;
    /**
     * 条码
     */
    @ApiModelProperty(value = "条码")
    private String barcode;
    /**
     * 产地
     */
    @ApiModelProperty(value = "产地")
    private String origin;
    /**
     * 厂家
     */
    @ApiModelProperty(value = "厂家")
    private String manu;
    /**
     * 生产日期
     */
    @ApiModelProperty(value = "生产日期")
    @TableField("manu_date")
    private String manuDate;
    /**
     * 品项数
     */
    @ApiModelProperty(value = "品项数")
    @TableField("item_num")
    private String itemNum;
    /**
     * 安全库存量
     */
    @ApiModelProperty(value = "安全库存量")
    @TableField("safe_qty")
    private Double safeQty;
    /**
     * 重量
     */
    @ApiModelProperty(value = "重量")
    private Double weight;
    /**
     * 长度
     */
    @ApiModelProperty(value = "长度")
    private Double length;
    /**
     * 体积
     */
    @ApiModelProperty(value = "体积")
    private Double volume;
    /**
     * 三方编码
     */
    @ApiModelProperty(value = "三方编码")
    @TableField("three_code")
    private String threeCode;
    /**
     * 供应商
     */
    @ApiModelProperty(value = "供应商")
    private String supp;
    /**
     * 供应商编码
     */
    @ApiModelProperty(value = "供应商编码")
    @TableField("supp_code")
    private String suppCode;
    /**
     * 是否批次 1: 是  0: 否
     */
    @ApiModelProperty(value = "是否批次 1: 是  0: 否  ")
    @TableField("be_batch")
    private Integer beBatch;
    /**
     * 保质期
     */
    @ApiModelProperty(value = "保质期")
    @TableField("dead_time")
    private String deadTime;
    /**
     * 预警天数
     */
    @ApiModelProperty(value = "预警天数")
    @TableField("dead_warn")
    private Integer deadWarn;
    /**
     * 制购 1: 制造  2: 采购  3: 外协
     */
    @ApiModelProperty(value = "制购 1: 制造  2: 采购  3: 外协  ")
    private Integer source;
    /**
     * 要求检验 1: 是  0: 否
     */
    @ApiModelProperty(value = "要求检验 1: 是  0: 否  ")
    private Integer inspect;
    /**
     * 1正常,2报废,3需返工
     */
    @ApiModelProperty(value = "危险品 1: 是  0: 否  ")
    private Integer danger;
    /**
     * 修改人员
     */
    @ApiModelProperty(value = "修改人员")
    @TableField("modi_user")
    private Long modiUser;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    @TableField("modi_time")
    private Date modiTime;
    /**
     * 创建者
     */
    @ApiModelProperty(value = "创建者")
    @TableField("appe_user")
    private Long appeUser;
    /**
     * 添加时间
     */
    @ApiModelProperty(value = "添加时间")
    @TableField("appe_time")
    private Date appeTime;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String memo;
    @ApiModelProperty(value = "预留1")
    private String temp1;
    @ApiModelProperty(value = "预留1")
    private String temp2;
    @ApiModelProperty(value = "预留1")
    private String temp3;
    @ApiModelProperty(value = "预留1")
    private String temp4;
    public String getIoTime$() {
        if (Cools.isEmpty(this.ioTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ioTime);
    }
    public String getBeBatch$() {
        if (null == this.beBatch) {
            return null;
        }
        switch (this.beBatch) {
            case 1:
                return "是";
            case 0:
                return "否";
            default:
                return String.valueOf(this.beBatch);
        }
    }
    public String getSource$() {
        if (null == this.source) {
            return null;
        }
        switch (this.source) {
            case 1:
                return "制造";
            case 2:
                return "采购";
            case 3:
                return "外协";
            default:
                return String.valueOf(this.source);
        }
    }
    public String getInspect$() {
        if (null == this.inspect) {
            return null;
        }
        switch (this.inspect) {
            case 1:
                return "是";
            case 0:
                return "否";
            default:
                return String.valueOf(this.inspect);
        }
    }
    public String getDanger$() {
        if (null == this.danger) {
            return null;
        }
        switch (this.danger) {
            case 1:
                return "是";
            case 0:
                return "否";
            default:
                return String.valueOf(this.danger);
        }
    }
    public String getModiUser$() {
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.modiUser);
        if (!Cools.isEmpty(user)) {
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public String getModiTime$() {
        if (Cools.isEmpty(this.modiTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime);
    }
    public String getAppeUser$() {
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.appeUser);
        if (!Cools.isEmpty(user)) {
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public String getAppeTime$() {
        if (Cools.isEmpty(this.appeTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
    }
    public void sync(Object source) {
        Synchro.Copy(source, this);
    }
}
src/main/java/com/zy/asrs/entity/AgvWrkDetlLog.java
New file
@@ -0,0 +1,382 @@
package com.zy.asrs.entity;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.common.utils.Synchro;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
@Data
@TableName("agv_wrk_detl_log")
public class AgvWrkDetlLog implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 工作号
     */
    @ApiModelProperty(value = "工作号")
    @TableField("wrk_no")
    private Integer wrkNo;
    /**
     * 工作时间
     */
    @ApiModelProperty(value = "工作时间")
    @TableField("io_time")
    private Date ioTime;
    /**
     * 数量
     */
    @ApiModelProperty(value = "数量")
    private Double anfme;
    /**
     * 托盘条码
     */
    @ApiModelProperty(value = "托盘条码")
    private String zpallet;
    /**
     * 物料
     */
    @ApiModelProperty(value = "商品编号")
    private String matnr;
    /**
     * 物料描述
     */
    @ApiModelProperty(value = "商品名称")
    private String maktx;
    /**
     * 批号
     */
    @ApiModelProperty(value = "批号")
    private String batch;
    /**
     * 单据编号
     */
    @ApiModelProperty(value = "单据编号")
    @TableField("order_no")
    private String orderNo;
    /**
     * 规格
     */
    @ApiModelProperty(value = "规格")
    private String specs;
    /**
     * 型号
     */
    @ApiModelProperty(value = "型号")
    private String model;
    /**
     * 颜色
     */
    @ApiModelProperty(value = "颜色")
    private String color;
    /**
     * 品牌
     */
    @ApiModelProperty(value = "品牌")
    private String brand;
    /**
     * 单位
     */
    @ApiModelProperty(value = "单位")
    private String unit;
    /**
     * 单价
     */
    @ApiModelProperty(value = "单价")
    private Double price;
    /**
     * sku
     */
    @ApiModelProperty(value = "sku")
    private String sku;
    /**
     * 单位量
     */
    @ApiModelProperty(value = "单位量")
    private Double units;
    /**
     * 条码
     */
    @ApiModelProperty(value = "条码")
    private String barcode;
    /**
     * 产地
     */
    @ApiModelProperty(value = "产地")
    private String origin;
    /**
     * 厂家
     */
    @ApiModelProperty(value = "厂家")
    private String manu;
    /**
     * 生产日期
     */
    @ApiModelProperty(value = "生产日期")
    @TableField("manu_date")
    private String manuDate;
    /**
     * 品项数
     */
    @ApiModelProperty(value = "品项数")
    @TableField("item_num")
    private String itemNum;
    /**
     * 安全库存量
     */
    @ApiModelProperty(value = "安全库存量")
    @TableField("safe_qty")
    private Double safeQty;
    /**
     * 重量
     */
    @ApiModelProperty(value = "重量")
    private Double weight;
    /**
     * 长度
     */
    @ApiModelProperty(value = "长度")
    private Double length;
    /**
     * 体积
     */
    @ApiModelProperty(value = "体积")
    private Double volume;
    /**
     * 三方编码
     */
    @ApiModelProperty(value = "三方编码")
    @TableField("three_code")
    private String threeCode;
    /**
     * 供应商
     */
    @ApiModelProperty(value = "供应商")
    private String supp;
    /**
     * 供应商编码
     */
    @ApiModelProperty(value = "供应商编码")
    @TableField("supp_code")
    private String suppCode;
    /**
     * 是否批次 1: 是  0: 否
     */
    @ApiModelProperty(value = "是否批次 1: 是  0: 否  ")
    @TableField("be_batch")
    private Integer beBatch;
    /**
     * 保质期
     */
    @ApiModelProperty(value = "保质期")
    @TableField("dead_time")
    private String deadTime;
    /**
     * 预警天数
     */
    @ApiModelProperty(value = "预警天数")
    @TableField("dead_warn")
    private Integer deadWarn;
    /**
     * 制购 1: 制造  2: 采购  3: 外协
     */
    @ApiModelProperty(value = "制购 1: 制造  2: 采购  3: 外协  ")
    private Integer source;
    /**
     * 要求检验 1: 是  0: 否
     */
    @ApiModelProperty(value = "要求检验 1: 是  0: 否  ")
    private Integer inspect;
    /**
     * 危险品 1: 是  0: 否
     */
    @ApiModelProperty(value = "危险品 1: 是  0: 否  ")
    private Integer danger;
    /**
     * 修改人员
     */
    @ApiModelProperty(value = "修改人员")
    @TableField("modi_user")
    private Long modiUser;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    @TableField("modi_time")
    private Date modiTime;
    /**
     * 创建者
     */
    @ApiModelProperty(value = "创建者")
    @TableField("appe_user")
    private Long appeUser;
    /**
     * 添加时间
     */
    @ApiModelProperty(value = "添加时间")
    @TableField("appe_time")
    private Date appeTime;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String memo;
    @ApiModelProperty(value = "预留1")
    private String temp1;
    @ApiModelProperty(value = "预留1")
    private String temp2;
    @ApiModelProperty(value = "预留1")
    private String temp3;
    @ApiModelProperty(value = "预留1")
    private String temp4;
    public String getIoTime$() {
        if (Cools.isEmpty(this.ioTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ioTime);
    }
    public String getBeBatch$() {
        if (null == this.beBatch) {
            return null;
        }
        switch (this.beBatch) {
            case 1:
                return "是";
            case 0:
                return "否";
            default:
                return String.valueOf(this.beBatch);
        }
    }
    public String getSource$() {
        if (null == this.source) {
            return null;
        }
        switch (this.source) {
            case 1:
                return "制造";
            case 2:
                return "采购";
            case 3:
                return "外协";
            default:
                return String.valueOf(this.source);
        }
    }
    public String getInspect$() {
        if (null == this.inspect) {
            return null;
        }
        switch (this.inspect) {
            case 1:
                return "是";
            case 0:
                return "否";
            default:
                return String.valueOf(this.inspect);
        }
    }
    public String getDanger$() {
        if (null == this.danger) {
            return null;
        }
        switch (this.danger) {
            case 1:
                return "是";
            case 0:
                return "否";
            default:
                return String.valueOf(this.danger);
        }
    }
    public String getModiUser$() {
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.modiUser);
        if (!Cools.isEmpty(user)) {
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public String getModiTime$() {
        if (Cools.isEmpty(this.modiTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime);
    }
    public String getAppeUser$() {
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.appeUser);
        if (!Cools.isEmpty(user)) {
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public String getAppeTime$() {
        if (Cools.isEmpty(this.appeTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
    }
    public void sync(Object source) {
        Synchro.Copy(source, this);
    }
}
src/main/java/com/zy/asrs/entity/AgvWrkMast.java
New file
@@ -0,0 +1,516 @@
package com.zy.asrs.entity;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.asrs.service.*;
import com.zy.common.utils.Synchro;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
@Data
@TableName("agv_wrk_mast")
public class AgvWrkMast implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(value = "wrk_id", type = IdType.AUTO)
    private Long wrkId;
    /**
     * 工作号
     */
    @ApiModelProperty(value = "工作号")
    @TableField("wrk_no")
    private Integer wrkNo;
    @ApiModelProperty(value = "")
    @TableField("inv_wh")
    private String invWh;
    @ApiModelProperty(value = "")
    private Date ymd;
    @ApiModelProperty(value = "")
    private String mk;
    @ApiModelProperty(value = "")
    @TableField("whs_type")
    private Integer whsType;
    /**
     * 工作状态
     */
    @ApiModelProperty(value = "工作状态")
    @TableField("wrk_sts")
    private Long wrkSts;
    /**
     * 入出库类型
     */
    @ApiModelProperty(value = "入出库类型")
    @TableField("io_type")
    private Integer ioType;
    /**
     * 堆垛机
     */
    @ApiModelProperty(value = "堆垛机")
    @TableField("crn_no")
    private Integer crnNo;
    @ApiModelProperty(value = "")
    @TableField("sheet_no")
    private String sheetNo;
    /**
     * 优先级
     */
    @ApiModelProperty(value = "优先级")
    @TableField("io_pri")
    private Double ioPri;
    @ApiModelProperty(value = "")
    @TableField("wrk_date")
    private Date wrkDate;
    /**
     * 目标库位
     */
    @ApiModelProperty(value = "目标库位")
    @TableField("loc_no")
    private String locNo;
    /**
     * 目标站
     */
    @ApiModelProperty(value = "目标站")
    @TableField("sta_no")
    private Integer staNo;
    /**
     * 源站
     */
    @ApiModelProperty(value = "源站")
    @TableField("source_sta_no")
    private Integer sourceStaNo;
    /**
     * 源库位
     */
    @ApiModelProperty(value = "源库位")
    @TableField("source_loc_no")
    private String sourceLocNo;
    @ApiModelProperty(value = "")
    @TableField("loc_sts")
    private String locSts;
    /**
     * 拣料
     */
    @ApiModelProperty(value = "拣料")
    private String picking;
    @ApiModelProperty(value = "")
    @TableField("link_mis")
    private String linkMis;
    @ApiModelProperty(value = "")
    @TableField("online_yn")
    private String onlineYn;
    @ApiModelProperty(value = "")
    @TableField("upd_mk")
    private String updMk;
    /**
     * 退出
     */
    @ApiModelProperty(value = "退出")
    @TableField("exit_mk")
    private String exitMk;
    @ApiModelProperty(value = "")
    @TableField("plt_type")
    private Integer pltType;
    /**
     * 空板
     */
    @ApiModelProperty(value = "空板")
    @TableField("empty_mk")
    private String emptyMk;
    /**
     * 工作时间
     */
    @ApiModelProperty(value = "工作时间")
    @TableField("io_time")
    private Date ioTime;
    @ApiModelProperty(value = "")
    @TableField("ctn_type")
    private Integer ctnType;
    @ApiModelProperty(value = "用于标识跨库操作,1,堆垛机往四向库,2四向库往堆垛机")
    private String packed;
    @ApiModelProperty(value = "")
    @TableField("ove_mk")
    private String oveMk;
    @ApiModelProperty(value = "")
    @TableField("mtn_type")
    private Double mtnType;
    @ApiModelProperty(value = "")
    @TableField("user_no")
    private String userNo;
    /**
     * 堆垛机启动时间
     */
    @ApiModelProperty(value = "堆垛机启动时间")
    @TableField("crn_str_time")
    private Date crnStrTime;
    /**
     * 堆垛机停止时间
     */
    @ApiModelProperty(value = "堆垛机停止时间")
    @TableField("crn_end_time")
    private Date crnEndTime;
    @ApiModelProperty(value = "")
    @TableField("plc_str_time")
    private Date plcStrTime;
    @ApiModelProperty(value = "")
    @TableField("crn_pos_time")
    private Date crnPosTime;
    @ApiModelProperty(value = "")
    @TableField("load_time")
    private Double loadTime;
    @ApiModelProperty(value = "")
    @TableField("exp_time")
    private Double expTime;
    @ApiModelProperty(value = "")
    @TableField("ref_wrkno")
    private Double refWrkno;
    /**
     * 拣料时间
     */
    @ApiModelProperty(value = "拣料时间")
    @TableField("ref_iotime")
    private Date refIotime;
    /**
     * 修改人员
     */
    @ApiModelProperty(value = "修改人员")
    @TableField("modi_user")
    private Long modiUser;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    @TableField("modi_time")
    private Date modiTime;
    /**
     * 创建者
     */
    @ApiModelProperty(value = "创建者")
    @TableField("appe_user")
    private Long appeUser;
    /**
     * 添加时间
     */
    @ApiModelProperty(value = "添加时间")
    @TableField("appe_time")
    private Date appeTime;
    @ApiModelProperty(value = "")
    @TableField("pause_mk")
    private String pauseMk;
    @ApiModelProperty(value = "")
    @TableField("error_time")
    private Date errorTime;
    @ApiModelProperty(value = "")
    @TableField("error_memo")
    private String errorMemo;
    @ApiModelProperty(value = "")
    @TableField("ctn_kind")
    private Integer ctnKind;
    @ApiModelProperty(value = "")
    @TableField("manu_type")
    private String manuType;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String memo;
    @ApiModelProperty(value = "")
    @TableField("sc_weight")
    private Double scWeight;
    @ApiModelProperty(value = "")
    @TableField("log_mk")
    private String logMk;
    @ApiModelProperty(value = "")
    @TableField("log_err_time")
    private Date logErrTime;
    @ApiModelProperty(value = "")
    @TableField("log_err_memo")
    private String logErrMemo;
    /**
     * 条码
     */
    @ApiModelProperty(value = "条码")
    private String barcode;
    // Y:销售订单出库任务
    @ApiModelProperty(value = "")
    @TableField("Pdc_type")
    private String PdcType;
    @ApiModelProperty(value = "")
    @TableField("ctn_no")
    private String ctnNo;
    /**
     * 满板
     */
    @ApiModelProperty(value = "满板")
    @TableField("full_plt")
    private String fullPlt;
    /**
     * 先入品 / 双重入库
     */
    @ApiModelProperty(value = "先入品")
    @TableField("pre_have")
    private String preHave;
    /**
     * 空操作 / 取货无箱
     */
    @ApiModelProperty(value = "空操作")
    @TableField("take_none")
    private String takeNone;
    public AgvWrkMast() {
    }
    public String getYmd$() {
        if (Cools.isEmpty(this.ymd)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ymd);
    }
    public String getWrkSts$() {
        BasWrkStatusService service = SpringUtils.getBean(BasWrkStatusService.class);
        BasWrkStatus basWrkStatus = service.selectById(this.wrkSts);
        if (!Cools.isEmpty(basWrkStatus)) {
            return String.valueOf(basWrkStatus.getWrkDesc());
        }
        return null;
    }
    public String getIoType$() {
        BasWrkIotypeService service = SpringUtils.getBean(BasWrkIotypeService.class);
        BasWrkIotype basWrkIotype = service.selectById(this.ioType);
        if (!Cools.isEmpty(basWrkIotype)) {
            return String.valueOf(basWrkIotype.getIoDesc());
        }
        return null;
    }
    public String getCrnNo$() {
        BasCrnpService service = SpringUtils.getBean(BasCrnpService.class);
        BasCrnp basCrnp = service.selectById(this.crnNo);
        if (!Cools.isEmpty(basCrnp)) {
            return String.valueOf(basCrnp.getCrnNo());
        }
        return null;
    }
    public String getWrkDate$() {
        if (Cools.isEmpty(this.wrkDate)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.wrkDate);
    }
    public String getLocNo$() {
        LocMastService service = SpringUtils.getBean(LocMastService.class);
        LocMast locMast = service.selectById(this.locNo);
        if (!Cools.isEmpty(locMast)) {
            return String.valueOf(locMast.getLocNo());
        }
        return this.locNo;
    }
    public String getStaNo$() {
        BasDevpService service = SpringUtils.getBean(BasDevpService.class);
        BasDevp basDevp = service.selectById(this.staNo);
        if (!Cools.isEmpty(basDevp)) {
            return String.valueOf(basDevp.getDevNo());
        }
        return null;
    }
    public String getSourceStaNo$() {
        BasDevpService service = SpringUtils.getBean(BasDevpService.class);
        BasDevp basDevp = service.selectById(this.sourceStaNo);
        if (!Cools.isEmpty(basDevp)) {
            return String.valueOf(basDevp.getDevNo());
        }
        return null;
    }
    public String getSourceLocNo$() {
        LocMastService service = SpringUtils.getBean(LocMastService.class);
        LocMast locMast = service.selectById(this.sourceLocNo);
        if (!Cools.isEmpty(locMast)) {
            return String.valueOf(locMast.getLocNo());
        }
        return this.sourceLocNo;
    }
    public String getIoTime$() {
        if (Cools.isEmpty(this.ioTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ioTime);
    }
    public String getCrnStrTime$() {
        if (Cools.isEmpty(this.crnStrTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.crnStrTime);
    }
    public String getCrnEndTime$() {
        if (Cools.isEmpty(this.crnEndTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.crnEndTime);
    }
    public String getPlcStrTime$() {
        if (Cools.isEmpty(this.plcStrTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.plcStrTime);
    }
    public String getCrnPosTime$() {
        if (Cools.isEmpty(this.crnPosTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.crnPosTime);
    }
    public String getRefIotime$() {
        if (Cools.isEmpty(this.refIotime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.refIotime);
    }
    public String getModiUser$() {
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.modiUser);
        if (!Cools.isEmpty(user)) {
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public String getModiTime$() {
        if (Cools.isEmpty(this.modiTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime);
    }
    public String getAppeUser$() {
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.appeUser);
        if (!Cools.isEmpty(user)) {
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public String getAppeTime$() {
        if (Cools.isEmpty(this.appeTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
    }
    public String getErrorTime$() {
        if (Cools.isEmpty(this.errorTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.errorTime);
    }
//    public void setErrorMemo(String errorMemo) {
//        if (errorMemo.length() > 255) {
//            errorMemo = errorMemo.substring(0, 150);
//        }
//        this.errorMemo = errorMemo;
//    }
    public String getLogErrTime$() {
        if (Cools.isEmpty(this.logErrTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.logErrTime);
    }
    public Long getWrkStsComplete() {
        if (Cools.isEmpty(this.wrkSts)) {
            return this.wrkSts;
        }
        if (this.ioType > 10) {
            return this.wrkSts + 2;
        } else {
            return this.wrkSts + 2;
        }
    }
    public void sync(Object source) {
        Synchro.Copy(source, this);
    }
}
src/main/java/com/zy/asrs/entity/AgvWrkMastLog.java
New file
@@ -0,0 +1,515 @@
package com.zy.asrs.entity;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.asrs.service.*;
import com.zy.common.utils.Synchro;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
@Data
@TableName("agv_wrk_mast_log")
public class AgvWrkMastLog implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 编号
     */
    @ApiModelProperty(value = "编号")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    private Long wrkId;
    /**
     * 工作号
     */
    @ApiModelProperty(value = "工作号")
    @TableField("wrk_no")
    private Integer wrkNo;
    @ApiModelProperty(value = "")
    @TableField("inv_wh")
    private String invWh;
    @ApiModelProperty(value = "")
    private Date ymd;
    @ApiModelProperty(value = "")
    private String mk;
    @ApiModelProperty(value = "")
    @TableField("whs_type")
    private Integer whsType;
    /**
     * 工作状态
     */
    @ApiModelProperty(value = "工作状态")
    @TableField("wrk_sts")
    private Integer wrkSts;
    /**
     * 入出库类型
     */
    @ApiModelProperty(value = "入出库类型")
    @TableField("io_type")
    private Integer ioType;
    /**
     * 堆垛机号
     */
    @ApiModelProperty(value = "堆垛机号")
    @TableField("crn_no")
    private Integer crnNo;
    @ApiModelProperty(value = "")
    @TableField("sheet_no")
    private String sheetNo;
    /**
     * 优先级
     */
    @ApiModelProperty(value = "优先级")
    @TableField("io_pri")
    private Double ioPri;
    @ApiModelProperty(value = "")
    @TableField("wrk_date")
    private Date wrkDate;
    /**
     * 目标库位
     */
    @ApiModelProperty(value = "目标库位")
    @TableField("loc_no")
    private String locNo;
    /**
     * 目标站
     */
    @ApiModelProperty(value = "目标站")
    @TableField("sta_no")
    private Integer staNo;
    /**
     * 源站
     */
    @ApiModelProperty(value = "源站")
    @TableField("source_sta_no")
    private Integer sourceStaNo;
    /**
     * 源库位
     */
    @ApiModelProperty(value = "源库位")
    @TableField("source_loc_no")
    private String sourceLocNo;
    @ApiModelProperty(value = "")
    @TableField("loc_sts")
    private String locSts;
    /**
     * 拣料
     */
    @ApiModelProperty(value = "拣料")
    private String picking;
    @ApiModelProperty(value = "")
    @TableField("link_mis")
    private String linkMis;
    @ApiModelProperty(value = "")
    @TableField("online_yn")
    private String onlineYn;
    @ApiModelProperty(value = "")
    @TableField("upd_mk")
    private String updMk;
    /**
     * 退出
     */
    @ApiModelProperty(value = "退出")
    @TableField("exit_mk")
    private String exitMk;
    @ApiModelProperty(value = "")
    @TableField("plt_type")
    private Integer pltType;
    /**
     * 空板
     */
    @ApiModelProperty(value = "空板")
    @TableField("empty_mk")
    private String emptyMk;
    /**
     * 工作时间
     */
    @ApiModelProperty(value = "工作时间")
    @TableField("io_time")
    private Date ioTime;
    @ApiModelProperty(value = "")
    @TableField("ctn_type")
    private Integer ctnType;
    @ApiModelProperty(value = "")
    private String packed;
    @ApiModelProperty(value = "")
    @TableField("ove_mk")
    private String oveMk;
    @ApiModelProperty(value = "")
    @TableField("mtn_type")
    private Double mtnType;
    @ApiModelProperty(value = "")
    @TableField("user_no")
    private String userNo;
    /**
     * 堆垛机启动时间
     */
    @ApiModelProperty(value = "堆垛机启动时间")
    @TableField("crn_str_time")
    private Date crnStrTime;
    /**
     * 堆垛机停止时间
     */
    @ApiModelProperty(value = "堆垛机停止时间")
    @TableField("crn_end_time")
    private Date crnEndTime;
    /**
     * 拣料时间
     */
    @ApiModelProperty(value = "拣料时间")
    @TableField("plc_str_time")
    private Date plcStrTime;
    @ApiModelProperty(value = "")
    @TableField("crn_pos_time")
    private Date crnPosTime;
    @ApiModelProperty(value = "")
    @TableField("load_time")
    private Double loadTime;
    @ApiModelProperty(value = "")
    @TableField("exp_time")
    private Double expTime;
    @ApiModelProperty(value = "")
    @TableField("ref_wrkno")
    private Double refWrkno;
    @ApiModelProperty(value = "")
    @TableField("ref_iotime")
    private Date refIotime;
    /**
     * 修改人员
     */
    @ApiModelProperty(value = "修改人员")
    @TableField("modi_user")
    private Long modiUser;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    @TableField("modi_time")
    private Date modiTime;
    /**
     * 创建者
     */
    @ApiModelProperty(value = "创建者")
    @TableField("appe_user")
    private Long appeUser;
    /**
     * 添加时间
     */
    @ApiModelProperty(value = "添加时间")
    @TableField("appe_time")
    private Date appeTime;
    @ApiModelProperty(value = "")
    @TableField("pause_mk")
    private String pauseMk;
    @ApiModelProperty(value = "")
    @TableField("error_time")
    private Date errorTime;
    @ApiModelProperty(value = "")
    @TableField("error_memo")
    private String errorMemo;
    @ApiModelProperty(value = "")
    @TableField("ctn_kind")
    private Integer ctnKind;
    @ApiModelProperty(value = "")
    @TableField("manu_type")
    private String manuType;
    @ApiModelProperty(value = "")
    @TableField("memo_m")
    private String memoM;
    @ApiModelProperty(value = "")
    @TableField("sc_weight")
    private Double scWeight;
    @ApiModelProperty(value = "")
    @TableField("log_mk")
    private String logMk;
    @ApiModelProperty(value = "")
    @TableField("log_err_time")
    private Date logErrTime;
    @ApiModelProperty(value = "")
    @TableField("log_err_memo")
    private String logErrMemo;
    /**
     * 条码
     */
    @ApiModelProperty(value = "条码")
    private String barcode;
    @ApiModelProperty(value = "")
    @TableField("Pdc_type")
    private String PdcType;
    @ApiModelProperty(value = "")
    @TableField("ctn_no")
    private String ctnNo;
    /**
     * 满板
     */
    @ApiModelProperty(value = "满板")
    @TableField("full_plt")
    private String fullPlt;
    /**
     * 先入品 / 双重入库
     */
    @ApiModelProperty(value = "先入品")
    @TableField("pre_have")
    private String preHave;
    /**
     * 空操作 / 取货无箱
     */
    @ApiModelProperty(value = "空操作")
    @TableField("take_none")
    private String takeNone;
    public AgvWrkMastLog() {
    }
    public String getWrkNo$() {
        WrkMastService service = SpringUtils.getBean(WrkMastService.class);
        WrkMast wrkMast = service.selectById(this.wrkNo);
        if (!Cools.isEmpty(wrkMast)) {
            return String.valueOf(wrkMast.getWrkNo());
        }
        return null;
    }
    public String getYmd$() {
        if (Cools.isEmpty(this.ymd)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ymd);
    }
    public String getWrkSts$() {
        BasWrkStatusService service = SpringUtils.getBean(BasWrkStatusService.class);
        BasWrkStatus basWrkStatus = service.selectById(this.wrkSts);
        if (!Cools.isEmpty(basWrkStatus)) {
            return String.valueOf(basWrkStatus.getWrkDesc());
        }
        return null;
    }
    public long getWrkSts() {
        return (long) this.wrkSts;
    }
    public String getIoType$() {
        BasWrkIotypeService service = SpringUtils.getBean(BasWrkIotypeService.class);
        BasWrkIotype basWrkIotype = service.selectById(this.ioType);
        if (!Cools.isEmpty(basWrkIotype)) {
            return String.valueOf(basWrkIotype.getIoDesc());
        }
        return null;
    }
    public String getCrnNo$() {
        BasCrnpService service = SpringUtils.getBean(BasCrnpService.class);
        BasCrnp basCrnp = service.selectById(this.crnNo);
        if (!Cools.isEmpty(basCrnp)) {
            return String.valueOf(basCrnp.getCrnNo());
        }
        return null;
    }
    public String getWrkDate$() {
        if (Cools.isEmpty(this.wrkDate)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.wrkDate);
    }
    public String getLocNo$() {
        LocMastService service = SpringUtils.getBean(LocMastService.class);
        LocMast locMast = service.selectById(this.locNo);
        if (!Cools.isEmpty(locMast)) {
            return String.valueOf(locMast.getLocNo());
        }
        return null;
    }
    public String getStaNo$() {
        BasDevpService service = SpringUtils.getBean(BasDevpService.class);
        BasDevp basDevp = service.selectById(this.staNo);
        if (!Cools.isEmpty(basDevp)) {
            return String.valueOf(basDevp.getDevNo());
        }
        return null;
    }
    public String getSourceStaNo$() {
        BasDevpService service = SpringUtils.getBean(BasDevpService.class);
        BasDevp basDevp = service.selectById(this.sourceStaNo);
        if (!Cools.isEmpty(basDevp)) {
            return String.valueOf(basDevp.getDevNo());
        }
        return null;
    }
    public String getSourceLocNo$() {
        LocMastService service = SpringUtils.getBean(LocMastService.class);
        LocMast locMast = service.selectById(this.sourceLocNo);
        if (!Cools.isEmpty(locMast)) {
            return String.valueOf(locMast.getLocNo());
        }
        return null;
    }
    public String getIoTime$() {
        if (Cools.isEmpty(this.ioTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ioTime);
    }
    public String getCrnStrTime$() {
        if (Cools.isEmpty(this.crnStrTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.crnStrTime);
    }
    public String getCrnEndTime$() {
        if (Cools.isEmpty(this.crnEndTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.crnEndTime);
    }
    public String getPlcStrTime$() {
        if (Cools.isEmpty(this.plcStrTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.plcStrTime);
    }
    public String getCrnPosTime$() {
        if (Cools.isEmpty(this.crnPosTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.crnPosTime);
    }
    public String getRefIotime$() {
        if (Cools.isEmpty(this.refIotime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.refIotime);
    }
    public String getModiUser$() {
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.modiUser);
        if (!Cools.isEmpty(user)) {
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public String getModiTime$() {
        if (Cools.isEmpty(this.modiTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime);
    }
    public String getAppeUser$() {
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.appeUser);
        if (!Cools.isEmpty(user)) {
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public String getAppeTime$() {
        if (Cools.isEmpty(this.appeTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
    }
    public String getErrorTime$() {
        if (Cools.isEmpty(this.errorTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.errorTime);
    }
    public String getLogErrTime$() {
        if (Cools.isEmpty(this.logErrTime)) {
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.logErrTime);
    }
    public void sync(Object source) {
        Synchro.Copy(source, this);
    }
}
src/main/java/com/zy/asrs/entity/OrderDetlPakout.java
@@ -348,7 +348,7 @@
        this.memo = memo;
    }
    public String getBeBatch$() {
        if (null == this.beBatch) {
            return null;
src/main/java/com/zy/asrs/entity/param/OrderPakinDomainParam.java
@@ -1,7 +1,6 @@
package com.zy.asrs.entity.param;
import com.zy.asrs.entity.OrderDetlPakin;
import com.zy.asrs.entity.OrderDetlPakout;
import lombok.Data;
import java.util.List;
src/main/java/com/zy/asrs/mapper/AgvWrkDetlLogMapper.java
New file
@@ -0,0 +1,43 @@
package com.zy.asrs.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.AgvWrkDetlLog;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
@Mapper
@Repository
public interface AgvWrkDetlLogMapper extends BaseMapper<AgvWrkDetlLog> {
    @Insert("insert into agv_wrk_detl_log select * from agv_wrk_detl where wrk_no=#{workNo}")
    int save(Integer workNo);
    List<AgvWrkDetlLog> selectWrkDetlLogs(@Param("wrkNo") Integer wrkNo,
                                          @Param("orderNo") String orderNo,
                                          @Param("matnr") String matnr,
                                          @Param("specs") String specs,
                                          @Param("zpallet") String zpallet,
                                          @Param("batch") String batch,
                                          @Param("anfme") Double anfme,
                                          @Param("modiTimeStart") Date modiTimeStart,
                                          @Param("modiTimeEnd") Date modiTimeEnd,
                                          @Param("pageNumber") Integer curr,
                                          @Param("pageSize") Integer limit);
    Long selectWrkDetlLogsTotal(@Param("wrkNo") Integer wrkNo,
                                @Param("orderNo") String orderNo,
                                @Param("matnr") String matnr,
                                @Param("specs") String specs,
                                @Param("zpallet") String zpallet,
                                @Param("batch") String batch,
                                @Param("anfme") Double anfme,
                                @Param("modiTimeStart") Date modiTimeStart,
                                @Param("modiTimeEnd") Date modiTimeEnd);
}
src/main/java/com/zy/asrs/mapper/AgvWrkDetlMapper.java
New file
@@ -0,0 +1,35 @@
package com.zy.asrs.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.AgvWrkDetl;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
@Mapper
@Repository
public interface AgvWrkDetlMapper extends BaseMapper<AgvWrkDetl> {
    List<AgvWrkDetl> selectByWrkNo(Integer wrkNo);
    int deleteItem(@Param("wrkNo") Integer wrkNo, @Param("matnr") String matnr, @Param("batch") String batch);
    int updateAnfme(@Param("anfme") Double anfme, @Param("wrkNo") Integer wrkNo, @Param("matnr") String matnr, @Param("batch") String batch);
    List<AgvWrkDetl> selectAndLogByOrderNo(String orderNo);
    int updateInspect(@Param("wrkNo") Integer wrkNo, @Param("matnr") String matnr, @Param("batch") String batch);
    List<AgvWrkDetl> selectPakoutQuery(@Param("staNo") Integer staNo, @Param("matnr") String matnr);
    List<AgvWrkDetl> selectAndLogByOrderNoGroupByMatnrOfSum(String orderNo);
    int updateIoTimeWms(@Param("workNo") Integer workNo, @Param("ioTime") Date ioTime);
    int updateIoTime(@Param("workNo") Integer workNo, @Param("ioTime") Date ioTime);
    List<AgvWrkDetl> findByWorkNo(Integer workNo);
}
src/main/java/com/zy/asrs/mapper/AgvWrkMastLogMapper.java
New file
@@ -0,0 +1,16 @@
package com.zy.asrs.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.AgvWrkMastLog;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface AgvWrkMastLogMapper extends BaseMapper<AgvWrkMastLog> {
    @Insert("insert into agv_wrk_mast_log select * from agv_wrk_mast where wrk_no=#{workNo}")
    int save(Integer workNo);
}
src/main/java/com/zy/asrs/mapper/AgvWrkMastMapper.java
New file
@@ -0,0 +1,35 @@
package com.zy.asrs.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.AgvWrkMast;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface AgvWrkMastMapper extends BaseMapper<AgvWrkMast> {
    List<AgvWrkMast> selectToBeCompleteData();
    List<AgvWrkMast> selectToBeHistoryData();
    @Select("select count(1) from agv_wrk_mast where 1=1 and io_type = #{ioType} and sta_no = #{staNo}")
    int selectWrkMastBareBoardStaNo(Integer ioType, Integer staNo);
    List<AgvWrkMast> selectWrkMastWrkDetlMatnrBatch(@Param("ioType") Integer ioType, @Param("matnr") String matnr, @Param("batch") String batch, @Param("grade") String grade, @Param("crnNo") Integer crnNo);
    @Insert("insert into agv_wrk_mast_log select * from agv_wrk_mast where wrk_no=#{workNo}")
    int saveWrkMastLog(Integer workNo);
    List<AgvWrkMast> selectToShuttleTask();
    List<AgvWrkMast> selectToShuttleOutTask();
    @Insert("insert into agv_wrk_detl_log select * from agv_wrk_detl where wrk_no=#{workNo}")
    int saveWrkDetlLog(Integer workNo);
}
src/main/java/com/zy/asrs/mapper/OrderPakoutMapper.java
@@ -2,7 +2,6 @@
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.OrderPakout;
import com.zy.asrs.entity.OrderPakout;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
src/main/java/com/zy/asrs/mapper/OrderReportMapper.java
@@ -1,13 +1,9 @@
package com.zy.asrs.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.OrderPakin;
import com.zy.asrs.entity.OrderReport;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
src/main/java/com/zy/asrs/service/AgvWrkDetlLogService.java
New file
@@ -0,0 +1,17 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.AgvWrkDetlLog;
import java.util.Date;
import java.util.List;
public interface AgvWrkDetlLogService extends IService<AgvWrkDetlLog> {
    boolean save(Integer workNo);
    List<AgvWrkDetlLog> selectWrkDetlLogs(Integer wrkNo, String orderNo, String matnr, String specs, String zpallet, String batch, Double anfme, Date modiTimeStart, Date modiTimeEnd, Integer curr, Integer limit);
    Long selectWrkDetlLogsTotal(Integer wrkNo, String orderNo, String matnr, String specs, String zpallet, String batch, Double anfme, Date modiTimeStart, Date modiTimeEnd);
}
src/main/java/com/zy/asrs/service/AgvWrkDetlService.java
New file
@@ -0,0 +1,31 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.AgvWrkDetl;
import com.zy.common.model.DetlDto;
import java.util.Date;
import java.util.List;
public interface AgvWrkDetlService extends IService<AgvWrkDetl> {
    void createWorkDetail(Integer workNo, List<DetlDto> detlDtos, String barcode, Long userId, Date now);
    List<AgvWrkDetl> selectByWrkNo(Integer wrkNo);
    boolean updateAnfme(Double anfme, Integer wrkNo, String matnr, String batch);
    List<AgvWrkDetl> selectAndLogByOrderNo(String orderNo);
    boolean updateInspect(Integer wrkNo, String matnr, String batch);
    List<AgvWrkDetl> selectPakoutQuery(Integer staNo, String matnr);
    List<AgvWrkDetl> selectAndLogByOrderNoGroupByMatnrOfSum(String orderNo);
    boolean updateIoTimeWms(Integer workNo, Date ioTime);
    boolean updateIoTime(Integer workNo, Date ioTime);
    List<AgvWrkDetl> findByWorkNo(Integer wrkNo);
}
src/main/java/com/zy/asrs/service/AgvWrkMastLogService.java
New file
@@ -0,0 +1,10 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.AgvWrkMastLog;
public interface AgvWrkMastLogService extends IService<AgvWrkMastLog> {
    boolean save(Integer workNo);
}
src/main/java/com/zy/asrs/service/AgvWrkMastService.java
New file
@@ -0,0 +1,36 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.AgvWrkMast;
import java.util.List;
public interface AgvWrkMastService extends IService<AgvWrkMast> {
    int getWorkingMast(Integer devpNo);
    List<AgvWrkMast> selectToBeCompleteData();
    List<AgvWrkMast> selectToBeHistoryData();
    AgvWrkMast selectByBarcode(String barcode);
    /**
     * 从工作档得到站点入库暂存数
     *
     * @param crnNo
     * @return
     */
    int getStoreCount(Integer crnNo);
    int selectWrkMastBareBoardStaNo(Integer ioType, Integer staNo);
    List<AgvWrkMast> selectWrkMastWrkDetlMatnrBatch(Integer ioType, String matnr, String batch, String grade, Integer crnNo);
    int saveWrkMastLog(Integer wrkNo);
    List<AgvWrkMast> selectToShuttleTask();
    List<AgvWrkMast> selectToShuttleOutTask();
}
src/main/java/com/zy/asrs/service/OrderPakinService.java
@@ -1,7 +1,10 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.OrderDetlPakin;
import com.zy.asrs.entity.OrderPakin;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.WrkMast;
import java.util.List;
src/main/java/com/zy/asrs/service/OrderPakoutService.java
@@ -1,7 +1,10 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.OrderDetlPakout;
import com.zy.asrs.entity.OrderPakout;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.WrkMast;
import java.util.List;
src/main/java/com/zy/asrs/service/OrderReportService.java
@@ -1,9 +1,7 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.*;
import java.util.List;
import com.zy.asrs.entity.OrderReport;
public interface OrderReportService extends IService<OrderReport> {
src/main/java/com/zy/asrs/service/impl/AgvWrkDetlLogServiceImpl.java
New file
@@ -0,0 +1,29 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.asrs.entity.AgvWrkDetlLog;
import com.zy.asrs.mapper.AgvWrkDetlLogMapper;
import com.zy.asrs.service.AgvWrkDetlLogService;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
@Service("agvWrkDetlLogService")
public class AgvWrkDetlLogServiceImpl extends ServiceImpl<AgvWrkDetlLogMapper, AgvWrkDetlLog> implements AgvWrkDetlLogService {
    @Override
    public boolean save(Integer workNo) {
        return this.baseMapper.save(workNo) > 0;
    }
    @Override
    public List<AgvWrkDetlLog> selectWrkDetlLogs(Integer wrkNo, String orderNo, String matnr, String specs, String zpallet, String batch, Double anfme, Date modiTimeStart, Date modiTimeEnd, Integer curr, Integer limit) {
        return this.baseMapper.selectWrkDetlLogs(wrkNo, orderNo, matnr, specs, zpallet, batch, anfme, modiTimeStart, modiTimeEnd, curr, limit);
    }
    @Override
    public Long selectWrkDetlLogsTotal(Integer wrkNo, String orderNo, String matnr, String specs, String zpallet, String batch, Double anfme, Date modiTimeStart, Date modiTimeEnd) {
        return this.baseMapper.selectWrkDetlLogsTotal(wrkNo, orderNo, matnr, specs, zpallet, batch, anfme, modiTimeStart, modiTimeEnd);
    }
}
src/main/java/com/zy/asrs/service/impl/AgvWrkDetlServiceImpl.java
New file
@@ -0,0 +1,102 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.AgvWrkDetl;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.mapper.AgvWrkDetlMapper;
import com.zy.asrs.service.AgvWrkDetlService;
import com.zy.asrs.service.MatService;
import com.zy.common.model.DetlDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
@Service("agvWrkDetlService")
public class AgvWrkDetlServiceImpl extends ServiceImpl<AgvWrkDetlMapper, AgvWrkDetl> implements AgvWrkDetlService {
    @Autowired
    private MatService matService;
    @Override
    @Transactional
    public void createWorkDetail(Integer workNo, List<DetlDto> detlDtos, String barcode, Long userId, Date now) {
        if (detlDtos.isEmpty()) {
            return;
        }
        for (DetlDto dto : detlDtos) {
            Mat mat = matService.selectByMatnr(dto.getMatnr());
            if (Cools.isEmpty(mat)) {
                throw new CoolException(dto.getMatnr() + "商品维护失败");
            }
            // 保持工作档明细
            AgvWrkDetl wrkDetl = new AgvWrkDetl();
            wrkDetl.sync(mat);
            wrkDetl.setWrkNo(workNo);
            wrkDetl.setIoTime(now);
            wrkDetl.setBatch(dto.getBatch());
            wrkDetl.setAnfme(dto.getAnfme()); // 数量
            wrkDetl.setZpallet(barcode); // 托盘条码
            wrkDetl.setAppeUser(userId);
            wrkDetl.setAppeTime(now);
            wrkDetl.setModiUser(userId);
            wrkDetl.setModiTime(now);
            if (!this.insert(wrkDetl)) {
                throw new CoolException("保存工作明细失败");
            }
        }
    }
    @Override
    public List<AgvWrkDetl> selectByWrkNo(Integer wrkNo) {
        return this.baseMapper.selectByWrkNo(wrkNo);
    }
    @Override
    public boolean updateAnfme(Double anfme, Integer wrkNo, String matnr, String batch) {
        if (anfme <= 0) {
            return this.baseMapper.deleteItem(wrkNo, matnr, batch) > 0;
        } else {
            return baseMapper.updateAnfme(anfme, wrkNo, matnr, batch) > 0;
        }
    }
    @Override
    public List<AgvWrkDetl> selectAndLogByOrderNo(String orderNo) {
        return this.baseMapper.selectAndLogByOrderNo(orderNo);
    }
    @Override
    public boolean updateInspect(Integer wrkNo, String matnr, String batch) {
        return this.baseMapper.updateInspect(wrkNo, matnr, batch) > 0;
    }
    @Override
    public List<AgvWrkDetl> selectPakoutQuery(Integer staNo, String matnr) {
        return this.baseMapper.selectPakoutQuery(staNo, matnr);
    }
    @Override
    public List<AgvWrkDetl> selectAndLogByOrderNoGroupByMatnrOfSum(String orderNo) {
        return this.baseMapper.selectAndLogByOrderNoGroupByMatnrOfSum(orderNo);
    }
    @Override
    public boolean updateIoTimeWms(Integer workNo, Date ioTime) {
        return this.baseMapper.updateIoTimeWms(workNo, ioTime) > 0;
    }
    @Override
    public boolean updateIoTime(Integer workNo, Date ioTime) {
        return this.baseMapper.updateIoTime(workNo, ioTime) > 0;
    }
    @Override
    public List<AgvWrkDetl> findByWorkNo(Integer workNo) {
        return this.baseMapper.findByWorkNo(workNo);
    }
}
src/main/java/com/zy/asrs/service/impl/AgvWrkMastLogServiceImpl.java
New file
@@ -0,0 +1,17 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.asrs.entity.AgvWrkMastLog;
import com.zy.asrs.mapper.AgvWrkMastLogMapper;
import com.zy.asrs.service.AgvWrkMastLogService;
import org.springframework.stereotype.Service;
@Service("agvWrkMastLogService")
public class AgvWrkMastLogServiceImpl extends ServiceImpl<AgvWrkMastLogMapper, AgvWrkMastLog> implements AgvWrkMastLogService {
    @Override
    public boolean save(Integer workNo) {
        return this.baseMapper.save(workNo) > 0;
    }
}
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImpl.java
New file
@@ -0,0 +1,74 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.zy.asrs.entity.AgvWrkMast;
import com.zy.asrs.mapper.AgvWrkMastMapper;
import com.zy.asrs.service.AgvWrkMastService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j
@Service("agvWrkMastService")
public class AgvWrkMastServiceImpl extends ServiceImpl<AgvWrkMastMapper, AgvWrkMast> implements AgvWrkMastService {
    @Override
    public int getWorkingMast(Integer devpNo) {
        return selectCount(new EntityWrapper<AgvWrkMast>().eq("source_sta_no", devpNo).in("wrk_sts", 1, 6));
    }
    @Override
    public List<AgvWrkMast> selectToBeCompleteData() {
        return this.baseMapper.selectToBeCompleteData();
    }
    @Override
    public List<AgvWrkMast> selectToBeHistoryData() {
        return this.baseMapper.selectToBeHistoryData();
    }
    @Override
    public AgvWrkMast selectByBarcode(String barcode) {
        List<AgvWrkMast> wrkMasts = this.selectList(new EntityWrapper<AgvWrkMast>().eq("barcode", barcode));
        if (Cools.isEmpty(wrkMasts)) {
            return null;
        }
        return wrkMasts.get(0);
    }
    @Override
    public int getStoreCount(Integer crnNo) {
        return selectCount(new EntityWrapper<AgvWrkMast>().eq("crn_no", crnNo)
                .last(" and (wrk_sts in (1,2) or (wrk_sts=3 and wrk_no in (select wrk_no from asr_bas_devp)))"));
    }
    @Override
    public int selectWrkMastBareBoardStaNo(Integer ioType, Integer staNo) {
        return this.baseMapper.selectWrkMastBareBoardStaNo(ioType, staNo);
    }
    @Override
    public List<AgvWrkMast> selectWrkMastWrkDetlMatnrBatch(Integer ioType, String matnr, String batch, String grade, Integer crnNo) {
        return this.baseMapper.selectWrkMastWrkDetlMatnrBatch(ioType, matnr, batch, grade, crnNo);
    }
    @Override
    public int saveWrkMastLog(Integer workNo) {
        return this.baseMapper.saveWrkMastLog(workNo);
    }
    @Override
    public List<AgvWrkMast> selectToShuttleTask() {
        return this.baseMapper.selectToShuttleTask();
    }
    @Override
    public List<AgvWrkMast> selectToShuttleOutTask() {
        return this.baseMapper.selectToShuttleOutTask();
    }
}
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -4,21 +4,20 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.common.*;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.R;
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.ForwardAGVTaskParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.mapper.BasDevpMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
import com.zy.common.constant.AgvSiteConstant;
import com.zy.common.constant.ApiInterfaceConstant;
import com.zy.common.entity.Parameter;
import com.zy.common.model.DetlDto;
import com.zy.common.model.MesCombParam;
import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
@@ -508,7 +507,6 @@
        }
    }
    @Override
src/main/java/com/zy/asrs/service/impl/OrderReportServiceImpl.java
@@ -1,31 +1,15 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.OpenOrderPakoutParam;
import com.zy.asrs.mapper.OrderDetlPakoutMapper;
import com.zy.asrs.mapper.OrderPakoutMapper;
import com.zy.asrs.entity.OrderReport;
import com.zy.asrs.mapper.OrderReportMapper;
import com.zy.asrs.service.*;
import com.zy.common.model.DetlDto;
import com.zy.asrs.service.OrderReportService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@Service("orderReportService")
public class OrderReportServiceImpl extends ServiceImpl<OrderReportMapper, OrderReport> implements OrderReportService {
}
src/main/java/com/zy/asrs/task/AutoLocMoveScheduler.java
@@ -3,9 +3,11 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.BasCrnp;
import com.zy.asrs.entity.OrderPakin;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.*;
import com.zy.asrs.service.AutoMoveService;
import com.zy.asrs.service.BasCrnpService;
import com.zy.asrs.service.WorkService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.task.handler.AutoLocMoveHandler;
import com.zy.common.properties.SlaveWmsParameterProperties;
import com.zy.system.entity.Config;
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -1,21 +1,11 @@
package com.zy.asrs.task;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.OrderPakin;
import com.zy.asrs.entity.OrderDetlReport;
import com.zy.asrs.entity.OrderDetlReportLog;
import com.zy.asrs.service.*;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.OrderSyncHandler;
import com.zy.common.entity.Parameter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.List;
/**
 * Created by vincent on 2020/7/7
src/main/java/com/zy/asrs/task/handler/OrderMoveHistoryHandler.java
@@ -32,8 +32,6 @@
    private OrderDetlReportLogService orderDetlReportLogService;
    public ReturnT<String> startPakin() {
        List<OrderPakin> settleEqual6 = orderPakinService.selectList(new EntityWrapper<OrderPakin>()
                .eq("settle", 6));
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -6,7 +6,6 @@
import com.zy.asrs.task.core.ReturnT;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -480,5 +480,4 @@
    }
}
src/main/java/com/zy/system/timer/LoadingConfigTimer.java
@@ -25,7 +25,6 @@
    private Integer tokenNumber = 1;
    @Autowired
    private ConfigService configService;
src/main/resources/mapper/AgvWrkDetlLogMapper.xml
New file
@@ -0,0 +1,108 @@
<?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="com.zy.asrs.mapper.AgvWrkDetlLogMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.AgvWrkDetlLog">
        <result column="wrk_no" property="wrkNo"/>
        <result column="io_time" property="ioTime"/>
        <result column="anfme" property="anfme"/>
        <result column="zpallet" property="zpallet"/>
        <result column="matnr" property="matnr"/>
        <result column="maktx" property="maktx"/>
        <result column="batch" property="batch"/>
        <result column="order_no" property="orderNo"/>
        <result column="specs" property="specs"/>
        <result column="model" property="model"/>
        <result column="color" property="color"/>
        <result column="brand" property="brand"/>
        <result column="unit" property="unit"/>
        <result column="price" property="price"/>
        <result column="sku" property="sku"/>
        <result column="units" property="units"/>
        <result column="barcode" property="barcode"/>
        <result column="origin" property="origin"/>
        <result column="manu" property="manu"/>
        <result column="manu_date" property="manuDate"/>
        <result column="item_num" property="itemNum"/>
        <result column="safe_qty" property="safeQty"/>
        <result column="weight" property="weight"/>
        <result column="length" property="length"/>
        <result column="volume" property="volume"/>
        <result column="three_code" property="threeCode"/>
        <result column="supp" property="supp"/>
        <result column="supp_code" property="suppCode"/>
        <result column="be_batch" property="beBatch"/>
        <result column="dead_time" property="deadTime"/>
        <result column="dead_warn" property="deadWarn"/>
        <result column="source" property="source"/>
        <result column="inspect" property="inspect"/>
        <result column="danger" property="danger"/>
        <result column="modi_user" property="modiUser"/>
        <result column="modi_time" property="modiTime"/>
        <result column="appe_user" property="appeUser"/>
        <result column="appe_time" property="appeTime"/>
        <result column="memo" property="memo"/>
        <result column="temp1" property="temp1" />
        <result column="temp2" property="temp2" />
        <result column="temp3" property="temp3" />
        <result column="temp4" property="temp4" />
    </resultMap>
    <sql id="batchSeq">
        <if test="wrkNo != null and wrkNo != ''">
            and a.wrk_no = #{wrkNo}
        </if>
        <if test="anfme != null and anfme != ''">
            and a.anfme = #{anfme}
        </if>
        <if test="modiTimeStart != null ">
            <if test="modiTimeEnd != null ">
                and a.modi_time between #{modiTimeStart} and #{modiTimeEnd}
            </if>
        </if>
        <if test="orderNo != null and orderNo != ''">
            and a.order_no like concat('%',#{orderNo},'%')
        </if>
        <if test="batch != null and batch != ''">
            and a.batch like concat('%',#{batch},'%')
        </if>
        <if test="matnr != null and matnr != ''">
            and a.matnr like concat('%',#{matnr},'%')
        </if>
        <if test="zpallet != null and zpallet != ''">
            and a.zpallet like concat('%',#{zpallet},'%')
        </if>
        <if test="specs != null and specs != ''">
            and a.specs like concat('%',#{specs},'%')
        </if>
    </sql>
    <select id="selectWrkDetlLogs" resultMap="BaseResultMap">
        select d.* from (
        select
        ROW_NUMBER() over (order by c.modi_time desc) as row,
        c.* from (
        select a.* from asr_wrk_detl_log as a ,asr_wrk_mast_log as b
        where 1=1
        and a.io_time=b.io_time
        and a.wrk_no=b.wrk_no
        and (b.manu_type is NULL or b.manu_type='手动完成')
        <include refid="batchSeq"></include>
        ) as c
        ) as d
        where d.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) order by d.modi_time desc
    </select>
    <select id="selectWrkDetlLogsTotal" resultType="Long">
        select count(1) from asr_wrk_detl_log as a ,asr_wrk_mast_log as b
        where 1=1
        and a.io_time=b.io_time
        and a.wrk_no=b.wrk_no
        and (b.manu_type is NULL or b.manu_type='手动完成')
        <include refid="batchSeq"></include>
    </select>
</mapper>
src/main/resources/mapper/AgvWrkDetlMapper.xml
New file
@@ -0,0 +1,147 @@
<?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="com.zy.asrs.mapper.AgvWrkDetlMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.AgvWrkDetl">
        <result column="wrk_no" property="wrkNo" />
        <result column="io_time" property="ioTime" />
        <result column="anfme" property="anfme" />
        <result column="zpallet" property="zpallet" />
        <result column="matnr" property="matnr" />
        <result column="maktx" property="maktx" />
        <result column="batch" property="batch" />
        <result column="order_no" property="orderNo" />
        <result column="specs" property="specs" />
        <result column="model" property="model" />
        <result column="color" property="color" />
        <result column="brand" property="brand" />
        <result column="unit" property="unit" />
        <result column="price" property="price" />
        <result column="sku" property="sku" />
        <result column="units" property="units" />
        <result column="barcode" property="barcode" />
        <result column="origin" property="origin" />
        <result column="manu" property="manu" />
        <result column="manu_date" property="manuDate" />
        <result column="item_num" property="itemNum" />
        <result column="safe_qty" property="safeQty" />
        <result column="weight" property="weight" />
        <result column="length" property="length" />
        <result column="volume" property="volume" />
        <result column="three_code" property="threeCode" />
        <result column="supp" property="supp" />
        <result column="supp_code" property="suppCode" />
        <result column="be_batch" property="beBatch" />
        <result column="dead_time" property="deadTime" />
        <result column="dead_warn" property="deadWarn" />
        <result column="source" property="source" />
        <result column="inspect" property="inspect" />
        <result column="danger" property="danger" />
        <result column="modi_user" property="modiUser" />
        <result column="modi_time" property="modiTime" />
        <result column="appe_user" property="appeUser" />
        <result column="appe_time" property="appeTime" />
        <result column="memo" property="memo" />
        <result column="temp1" property="temp1" />
        <result column="temp2" property="temp2" />
        <result column="temp3" property="temp3" />
        <result column="temp4" property="temp4" />
    </resultMap>
    <sql id="batchSeq">
        <choose>
            <when test="batch != null and batch != ''">
                and sku = #{batch}
            </when>
            <otherwise>
                and (sku IS NULL OR sku = '')
            </otherwise>
        </choose>
    </sql>
    <select id="selectByWrkNo" resultMap="BaseResultMap">
        select * from asr_wrk_detl where 1=1 and wrk_no = #{wrkNo}
    </select>
    <delete id="deleteItem">
        delete from asr_wrk_detl
        where 1=1
        and wrk_no = #{wrkNo}
        and matnr = #{matnr}
        <include refid="batchSeq"></include>
    </delete>
    <update id="updateAnfme">
        update asr_wrk_detl
        set anfme = #{anfme}
        , modi_time = getdate()
        where 1=1
        and wrk_no = #{wrkNo}
        and matnr = #{matnr}
        <include refid="batchSeq"></include>
    </update>
    <select id="selectAndLogByOrderNo" resultMap="BaseResultMap">
        select * from asr_wrk_detl where order_no = #{orderNo}
        union
        select * from asr_wrk_detl_log where order_no = #{orderNo}
    </select>
    <update id="updateInspect">
        update asr_wrk_detl
        set inspect = 1
        where 1=1
        and wrk_no = #{wrkNo}
        and matnr = #{matnr}
        <include refid="batchSeq"></include>
    </update>
    <update id="updateIoTimeWms">
        update asr_wrk_detl
        set io_time = #{ioTime}
        where 1=1
          and wrk_no = #{workNo}
    </update>
    <update id="updateIoTime">
        update asr_wrk_detl
        set io_time = #{ioTime}
        where 1=1
          and wrk_no = #{workNo}
    </update>
    <select id="findByWorkNo" resultMap="BaseResultMap">
        select wrk_no, matnr, maktx, anfme ,specs,batch from asr_wrk_detl where 1=1 and wrk_no = #{workNo}
    </select>
    <select id="selectPakoutQuery" resultMap="BaseResultMap">
        select
        awd.*
        from asr_wrk_detl awd
        left join asr_wrk_mast awm on awd.wrk_no = awm.wrk_no
        where 1=1
        and awm.wrk_sts = 14
        and (awd.inspect is null or awd.inspect = 0)
        and awm.sta_no = #{staNo}
        and awd.matnr + '-' + awd.batch = #{matnr}
    </select>
    <select id="selectAndLogByOrderNoGroupByMatnrOfSum" resultMap="BaseResultMap">
        select awd.wrk_no, awd.io_time, awd.matnr,awd.zpallet,awd.specs,awd.maktx, sum(awd.anfme) as anfme
        from asr_wrk_detl awd
        left join asr_wrk_mast awm on awd.wrk_no = awm.wrk_no and awd.io_time = awm.io_time
        where order_no = #{orderNo}
        group by awd.wrk_no, awd.io_time, awd.matnr ,awd.zpallet,awd.specs,awd.maktx
        union
        select distinct awdl.wrk_no, awdl.io_time, awdl.matnr,awdl.zpallet,awdl.specs,awdl.maktx, sum(awdl.anfme) as anfme
        from asr_wrk_detl_log awdl
        left join asr_wrk_mast_log awml on awdl.wrk_no = awml.wrk_no and awdl.io_time = awml.io_time
        where awdl.order_no = #{orderNo}
        and (awml.manu_type is null or awml.manu_type != '手动取消')
        and awml.io_type != 103
        group by awdl.wrk_no, awdl.io_time, awdl.matnr ,awdl.zpallet,awdl.specs,awdl.maktx
    </select>
</mapper>
src/main/resources/mapper/AgvWrkMastLogMapper.xml
New file
@@ -0,0 +1,66 @@
<?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="com.zy.asrs.mapper.AgvWrkMastLogMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.AgvWrkMastLog">
        <id column="id" property="id" />
        <result column="wrk_no" property="wrkNo" />
        <result column="inv_wh" property="invWh" />
        <result column="ymd" property="ymd" />
        <result column="mk" property="mk" />
        <result column="whs_type" property="whsType" />
        <result column="wrk_sts" property="wrkSts" />
        <result column="io_type" property="ioType" />
        <result column="crn_no" property="crnNo" />
        <result column="sheet_no" property="sheetNo" />
        <result column="io_pri" property="ioPri" />
        <result column="wrk_date" property="wrkDate" />
        <result column="loc_no" property="locNo" />
        <result column="sta_no" property="staNo" />
        <result column="source_sta_no" property="sourceStaNo" />
        <result column="source_loc_no" property="sourceLocNo" />
        <result column="loc_sts" property="locSts" />
        <result column="picking" property="picking" />
        <result column="link_mis" property="linkMis" />
        <result column="online_yn" property="onlineYn" />
        <result column="upd_mk" property="updMk" />
        <result column="exit_mk" property="exitMk" />
        <result column="plt_type" property="pltType" />
        <result column="empty_mk" property="emptyMk" />
        <result column="io_time" property="ioTime" />
        <result column="ctn_type" property="ctnType" />
        <result column="packed" property="packed" />
        <result column="ove_mk" property="oveMk" />
        <result column="mtn_type" property="mtnType" />
        <result column="user_no" property="userNo" />
        <result column="crn_str_time" property="crnStrTime" />
        <result column="crn_end_time" property="crnEndTime" />
        <result column="plc_str_time" property="plcStrTime" />
        <result column="crn_pos_time" property="crnPosTime" />
        <result column="load_time" property="loadTime" />
        <result column="exp_time" property="expTime" />
        <result column="ref_wrkno" property="refWrkno" />
        <result column="ref_iotime" property="refIotime" />
        <result column="modi_user" property="modiUser" />
        <result column="modi_time" property="modiTime" />
        <result column="appe_user" property="appeUser" />
        <result column="appe_time" property="appeTime" />
        <result column="pause_mk" property="pauseMk" />
        <result column="error_time" property="errorTime" />
        <result column="error_memo" property="errorMemo" />
        <result column="ctn_kind" property="ctnKind" />
        <result column="manu_type" property="manuType" />
        <result column="memo_m" property="memoM" />
        <result column="sc_weight" property="scWeight" />
        <result column="log_mk" property="logMk" />
        <result column="log_err_time" property="logErrTime" />
        <result column="log_err_memo" property="logErrMemo" />
        <result column="barcode" property="barcode" />
        <result column="ctn_no" property="ctnNo" />
        <result column="full_plt" property="fullPlt" />
        <result column="pre_have" property="preHave" />
        <result column="take_none" property="takeNone" />
    </resultMap>
</mapper>
src/main/resources/mapper/AgvWrkMastMapper.xml
New file
@@ -0,0 +1,117 @@
<?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="com.zy.asrs.mapper.AgvWrkMastMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.AgvWrkMast">
        <id column="wrk_no" property="wrkNo" />
        <result column="inv_wh" property="invWh" />
        <result column="ymd" property="ymd" />
        <result column="mk" property="mk" />
        <result column="whs_type" property="whsType" />
        <result column="wrk_sts" property="wrkSts" />
        <result column="io_type" property="ioType" />
        <result column="crn_no" property="crnNo" />
        <result column="sheet_no" property="sheetNo" />
        <result column="io_pri" property="ioPri" />
        <result column="wrk_date" property="wrkDate" />
        <result column="loc_no" property="locNo" />
        <result column="sta_no" property="staNo" />
        <result column="source_sta_no" property="sourceStaNo" />
        <result column="source_loc_no" property="sourceLocNo" />
        <result column="loc_sts" property="locSts" />
        <result column="picking" property="picking" />
        <result column="link_mis" property="linkMis" />
        <result column="online_yn" property="onlineYn" />
        <result column="upd_mk" property="updMk" />
        <result column="exit_mk" property="exitMk" />
        <result column="plt_type" property="pltType" />
        <result column="empty_mk" property="emptyMk" />
        <result column="io_time" property="ioTime" />
        <result column="ctn_type" property="ctnType" />
        <result column="packed" property="packed" />
        <result column="ove_mk" property="oveMk" />
        <result column="mtn_type" property="mtnType" />
        <result column="user_no" property="userNo" />
        <result column="crn_str_time" property="crnStrTime" />
        <result column="crn_end_time" property="crnEndTime" />
        <result column="plc_str_time" property="plcStrTime" />
        <result column="crn_pos_time" property="crnPosTime" />
        <result column="load_time" property="loadTime" />
        <result column="exp_time" property="expTime" />
        <result column="ref_wrkno" property="refWrkno" />
        <result column="ref_iotime" property="refIotime" />
        <result column="modi_user" property="modiUser" />
        <result column="modi_time" property="modiTime" />
        <result column="appe_user" property="appeUser" />
        <result column="appe_time" property="appeTime" />
        <result column="pause_mk" property="pauseMk" />
        <result column="error_time" property="errorTime" />
        <result column="error_memo" property="errorMemo" />
        <result column="ctn_kind" property="ctnKind" />
        <result column="manu_type" property="manuType" />
        <result column="memo" property="memo" />
        <result column="sc_weight" property="scWeight" />
        <result column="log_mk" property="logMk" />
        <result column="log_err_time" property="logErrTime" />
        <result column="log_err_memo" property="logErrMemo" />
        <result column="barcode" property="barcode" />
        <result column="ctn_no" property="ctnNo" />
        <result column="full_plt" property="fullPlt" />
        <result column="pre_have" property="preHave" />
        <result column="take_none" property="takeNone" />
    </resultMap>
    <select id="selectToBeCompleteData" resultMap="BaseResultMap">
        select * from asr_wrk_mast where ((wrk_sts = 4 Or wrk_sts = 14 Or wrk_sts = 108 Or wrk_sts = 106 ) and io_type != 103 and io_type != 104 and io_type != 107 ) or (wrk_sts = 2 and io_type=6) order by upd_mk,error_time,io_time,wrk_no
    </select>
    <select id="selectToBeHistoryData" resultMap="BaseResultMap">
        select * from asr_wrk_mast
        where wrk_sts=5
           or (wrk_sts=15 and io_type= 301)
           or (wrk_sts=15 and ove_mk='Y' and wrk_no not in (select wrk_no from asr_bas_devp))
           or (wrk_sts=15 and (dateadd(mi,5,crn_end_time) &lt;= getdate() or dateadd(mi,1,modi_time) &lt;= getdate()) and wrk_no not in (select wrk_no from asr_bas_devp))
           or (wrk_sts=15 and (dateadd(mi,5,crn_end_time) &lt;= getdate() or dateadd(mi,1,modi_time) &lt;= getdate()) and crn_end_time is null and wrk_no not in (select wrk_no from asr_bas_devp))
        order by io_time,wrk_no asc
    </select>
    <select id="selectWrkMastWrkDetlMatnrBatch" resultMap="BaseResultMap">
        select m.* from asr_wrk_mast m,asr_wrk_detl d
        where 1=1
        and m.wrk_no = d.wrk_no
        and m.io_type = #{ioType}
        and m.crn_no = #{crnNo}
        and d.matnr = #{matnr}
        <choose>
            <when test="batch != null and batch != ''">
                and d.batch = #{batch}
            </when>
            <otherwise>
                and (d.batch IS NULL OR d.batch = '')
            </otherwise>
        </choose>
        <choose>
            <when test="grade != null and grade != ''">
                and d.brand = #{grade}
            </when>
            <otherwise>
                and (d.brand IS NULL OR d.brand = '')
            </otherwise>
        </choose>
    </select>
    <select id="selectToShuttleTask" resultMap="BaseResultMap">
        select * from asr_wrk_mast
        where wrk_sts=2
           and crn_no = 7
        order by io_time,wrk_no asc
    </select>
    <select id="selectToShuttleOutTask" resultMap="BaseResultMap">
        select * from asr_wrk_mast
        where wrk_sts=11
          and crn_no = 7
          and io_type != 11
        order by io_time,wrk_no asc
    </select>
</mapper>