From 4d285dd1ffcefbb51908a452e73477cc47300d91 Mon Sep 17 00:00:00 2001 From: ZY <zc857179121@qq.com> Date: 星期一, 07 四月 2025 17:15:53 +0800 Subject: [PATCH] 还没有写完 --- src/main/webapp/views/transferTask/transferTask.html | 403 ++++++++++++++++ src/main/java/com/zy/asrs/mapper/TransferTaskLogMapper.java | 15 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 84 +++ src/main/resources/application-prod.yml | 9 src/main/resources/mapper/TransferTaskMapper.xml | 7 src/main/java/com/zy/asrs/service/TransferTaskLogService.java | 10 src/main/resources/mapper/TransferTaskLogMapper.xml | 7 src/main/java/com/zy/asrs/service/impl/TransferTaskServiceImpl.java | 24 + src/main/java/com/zy/asrs/entity/TransferTaskLog.java | 133 +++++ src/main/java/com/zy/core/model/DevpSlave.java | 3 src/main/java/com/zy/asrs/entity/TransferTask.java | 127 +++++ src/main/java/com/zy/asrs/mapper/TransferTaskMapper.java | 14 src/main/java/com/zy/asrs/service/TransferTaskService.java | 12 src/main/webapp/static/wcs/js/console.map.js | 16 src/main/java/com/zy/asrs/controller/TransferTaskController.java | 263 ++++++++++ src/main/java/com/zy/asrs/controller/TransferTaskLogController.java | 265 +++++++++++ src/main/java/com/zy/asrs/service/impl/TransferTaskLogServiceImpl.java | 15 17 files changed, 1,399 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/TransferTaskController.java b/src/main/java/com/zy/asrs/controller/TransferTaskController.java new file mode 100644 index 0000000..0f7ad8d --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/TransferTaskController.java @@ -0,0 +1,263 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.domain.enums.TaskStatusType; +import com.zy.asrs.entity.LocMast; +import com.zy.asrs.entity.TaskWrk; +import com.zy.asrs.service.LocMastService; +import com.zy.asrs.service.TaskWrkService; +import com.zy.asrs.service.ToWmsService; +import com.zy.common.web.BaseController; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.*; + +@RestController +@Slf4j +public class TransferTaskController extends BaseController { + + + @Autowired + private TaskWrkService taskWrkService; + + + @Autowired + private LocMastService locMastService; + + + @Autowired + private ToWmsService toWmsService; + + + + @RequestMapping(value = "/transferTask/{wrkNo}/auth") + @ManagerAuth + public R get(@PathVariable("wrkNo") Integer wrkNo) { + return R.ok(taskWrkService.selectByWrkNo(wrkNo)); + } + + @RequestMapping(value = "/transferTask/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1") Integer curr, + @RequestParam(defaultValue = "10") Integer limit, + @RequestParam(required = false) String orderByField, + @RequestParam(required = false) String orderByType, + @RequestParam Map<String, Object> param) { + EntityWrapper<TaskWrk> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + if (!Cools.isEmpty(orderByField)) { + wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); + } + return R.ok(taskWrkService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) { + for (Map.Entry<String, Object> entry : map.entrySet()) { + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)) { + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/transferTask/add/auth") + @ManagerAuth + public R add(TaskWrk taskWrk) { + taskWrkService.insert(taskWrk); + return R.ok(); + } + + @RequestMapping(value = "/transferTask/update/auth") + @ManagerAuth + public R update(TaskWrk taskWrk) { + if (Cools.isEmpty(taskWrk) || null == taskWrk.getTaskNo()) { + return R.error(); + } + taskWrkService.updateById(taskWrk); + return R.ok(); + } + + @RequestMapping(value = "/transferTask/updatePoint/auth") + @ManagerAuth + public R updatePoint(TaskWrk taskWrk) { + if (Cools.isEmpty(taskWrk) || null == taskWrk.getTaskNo()) { + return R.error(); + } + TaskWrk taskWrk1 = taskWrkService.selectByTaskNo(taskWrk.getTaskNo()); + if (taskWrk1 == null) { + return R.error(); + } + taskWrk1.setStartPoint(taskWrk.getStartPoint()); + taskWrk1.setTargetPoint(taskWrk.getTargetPoint()); + taskWrk1.setModiTime(new Date()); + taskWrk1.setModiUser(getUserId()); + taskWrkService.updateById(taskWrk1); + return R.ok(); + } + + @RequestMapping(value = "/transferTask/delete/auth") + @ManagerAuth + public R delete(@RequestParam(value = "ids[]") Long[] ids) { + for (Long id : ids) { + taskWrkService.deleteById(id); + } + return R.ok(); + } + + @RequestMapping(value = "/transferTask/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param) { + EntityWrapper<TaskWrk> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("taskWrk")); + convert(map, wrapper); + List<TaskWrk> list = taskWrkService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + + + @RequestMapping(value = "/transferTask/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<TaskWrk> wrapper = new EntityWrapper<TaskWrk>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != taskWrkService.selectOne(wrapper)) { + return R.parse(BaseRes.REPEAT).add(getComment(TaskWrk.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + + @PostMapping(value = "/transferTask/distribute/auth") + @ManagerAuth(memo = "鎵嬪姩娲惧彂浠诲姟") + public R distribute(@RequestParam String taskNo) { + taskWrkService.distribute(taskNo, getUserId()); + return R.ok(); + } + + @PostMapping(value = "/transferTask/complete/auth") + @ManagerAuth(memo = "鎵嬪姩瀹屾垚浠诲姟") + public R complete(@RequestParam String taskNo) { + TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); + if (Cools.isEmpty(taskWrk) || taskWrk.getStatus() >= 3) { + return R.error("宸插畬缁撴垨宸插彇娑�"); + } + LocMast locMast = new LocMast(); + if (taskWrk.getIoType() == 1) {//鍏ュ簱浠诲姟瀹屾垚搴撲綅涓篎 + locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint()); + if (Cools.isEmpty(locMast)) { + R.error("娌℃湁鎵惧埌璇ュ簱浣�"); + } + locMast.setLocSts("F"); + locMast.setModiTime(new Date()); + locMast.setBarcode(taskWrk.getBarcode()); + } else if (taskWrk.getIoType() == 2) {//鍑哄簱浠诲姟瀹屾垚搴撲綅涓篛 + locMast = locMastService.selectByLocNo(taskWrk.getStartPoint()); + if (Cools.isEmpty(locMast)) { + R.error("娌℃湁鎵惧埌璇ュ簱浣�"); + } + locMast.setLocSts("O"); + locMast.setModiTime(new Date()); + } else if (taskWrk.getIoType() == 3) { + locMast = locMastService.selectByLocNo(taskWrk.getStartPoint()); + if (Cools.isEmpty(locMast)) { + R.error("娌℃湁鎵惧埌璇ュ簱浣�"); + } + locMast.setLocSts("O"); + locMast.setModiTime(new Date()); + locMastService.updateById(locMast); + locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint()); + if (Cools.isEmpty(locMast)) { + R.error("娌℃湁鎵惧埌璇ュ簱浣�"); + } + locMast.setLocSts("F"); + locMast.setModiTime(new Date()); + locMast.setBarcode(taskWrk.getBarcode()); + + } + toWmsService.addReportLog(taskWrk); + locMastService.updateById(locMast); + taskWrk.setStatus(7);//鎵嬪姩瀹屾垚浠诲姟 + taskWrk.setModiTime(new Date()); + taskWrkService.updateById(taskWrk); + return R.ok(); + } + + @PostMapping(value = "/transferTask/returnWorkingCondition/auth") + @ManagerAuth(memo = "閲嶆柊缁欏爢鍨涙満涓嬪彂浠诲姟") + public R returnWorkingCondition(@RequestParam String taskNo) { + TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); + if (!Cools.isEmpty(taskWrk) && taskWrk.getWrkSts() == 12) { + taskWrk.setWrkSts(11); + if (!taskWrkService.updateById(taskWrk)) { + return R.error("鏇存柊浠诲姟鐘舵�佸け璐�"); + } + return R.ok(); + } else if (!Cools.isEmpty(taskWrk) && taskWrk.getWrkSts() == 3) { + taskWrk.setWrkSts(2); + taskWrkService.updateById(taskWrk); + if (!taskWrkService.updateById(taskWrk)) { + return R.error("鏇存柊浠诲姟鐘舵�佸け璐�"); + } + return R.ok(); + } else { + return R.error("浠诲姟鐘舵�佷笉瀵规棤娉曢噸鏂扮粰鍫嗗灈鏈轰笅鍙戜换鍔�"); + } + + } + + @PostMapping(value = "/transferTask/cancel/auth") + @ManagerAuth(memo = "鎵嬪姩鍙栨秷浠诲姟") + public R cancel(@RequestParam String taskNo) { + TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); + if (taskWrk == null) { + return R.error(); + } + if (taskWrk.getStatus().equals(TaskStatusType.CANCEL.id)) { + return R.error(taskWrk.getTaskNo() + "宸茶鍙栨秷"); + } + Date now = new Date(); + taskWrk.setStatus(TaskStatusType.CANCEL.id); + taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿 + try { + taskWrk.setModiUser(getUserId());//鎿嶄綔鍛� + } catch (Exception e) { + taskWrk.setModiUser(9999L);//鎿嶄綔鍛� + } + toWmsService.addReportLog(taskWrk); + + taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿 + taskWrkService.updateById(taskWrk); + return R.ok(); + } + + @PostMapping(value = "/transferTask/updateCommandStep") + @ManagerAuth(memo = "鏇存柊姝ュ簭") + public R updateCommandStep(@RequestParam Integer wrkNo, @RequestParam Integer commandStep) { + TaskWrk taskWrk = taskWrkService.selectByWrkNo(wrkNo); + if (taskWrk == null) { + return R.error(); + } + Date now = new Date(); + taskWrk.setCommandStep(commandStep); + taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿 + taskWrk.setModiUser(getUserId());//鎿嶄綔鍛� + taskWrkService.updateById(taskWrk); + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/controller/TransferTaskLogController.java b/src/main/java/com/zy/asrs/controller/TransferTaskLogController.java new file mode 100644 index 0000000..212efb7 --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/TransferTaskLogController.java @@ -0,0 +1,265 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.domain.enums.TaskStatusType; +import com.zy.asrs.entity.LocMast; +import com.zy.asrs.entity.TaskWrk; +import com.zy.asrs.service.LocMastService; +import com.zy.asrs.service.TaskWrkService; +import com.zy.asrs.service.ToWmsService; +import com.zy.common.web.BaseController; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +@RestController +@Slf4j +public class TransferTaskLogController extends BaseController { + + + @Autowired + private TaskWrkService taskWrkService; + + + @Autowired + private LocMastService locMastService; + + + @Autowired + private ToWmsService toWmsService; + + + + @RequestMapping(value = "/transferTaskLog/{wrkNo}/auth") + @ManagerAuth + public R get(@PathVariable("wrkNo") Integer wrkNo) { + return R.ok(taskWrkService.selectByWrkNo(wrkNo)); + } + + @RequestMapping(value = "/transferTaskLog/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1") Integer curr, + @RequestParam(defaultValue = "10") Integer limit, + @RequestParam(required = false) String orderByField, + @RequestParam(required = false) String orderByType, + @RequestParam Map<String, Object> param) { + EntityWrapper<TaskWrk> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + if (!Cools.isEmpty(orderByField)) { + wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); + } + return R.ok(taskWrkService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) { + for (Map.Entry<String, Object> entry : map.entrySet()) { + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)) { + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/transferTaskLog/add/auth") + @ManagerAuth + public R add(TaskWrk taskWrk) { + taskWrkService.insert(taskWrk); + return R.ok(); + } + + @RequestMapping(value = "/transferTaskLog/update/auth") + @ManagerAuth + public R update(TaskWrk taskWrk) { + if (Cools.isEmpty(taskWrk) || null == taskWrk.getTaskNo()) { + return R.error(); + } + taskWrkService.updateById(taskWrk); + return R.ok(); + } + + @RequestMapping(value = "/transferTaskLog/updatePoint/auth") + @ManagerAuth + public R updatePoint(TaskWrk taskWrk) { + if (Cools.isEmpty(taskWrk) || null == taskWrk.getTaskNo()) { + return R.error(); + } + TaskWrk taskWrk1 = taskWrkService.selectByTaskNo(taskWrk.getTaskNo()); + if (taskWrk1 == null) { + return R.error(); + } + taskWrk1.setStartPoint(taskWrk.getStartPoint()); + taskWrk1.setTargetPoint(taskWrk.getTargetPoint()); + taskWrk1.setModiTime(new Date()); + taskWrk1.setModiUser(getUserId()); + taskWrkService.updateById(taskWrk1); + return R.ok(); + } + + @RequestMapping(value = "/transferTaskLog/delete/auth") + @ManagerAuth + public R delete(@RequestParam(value = "ids[]") Long[] ids) { + for (Long id : ids) { + taskWrkService.deleteById(id); + } + return R.ok(); + } + + @RequestMapping(value = "/transferTaskLog/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param) { + EntityWrapper<TaskWrk> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("taskWrk")); + convert(map, wrapper); + List<TaskWrk> list = taskWrkService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + + + @RequestMapping(value = "/transferTaskLog/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<TaskWrk> wrapper = new EntityWrapper<TaskWrk>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != taskWrkService.selectOne(wrapper)) { + return R.parse(BaseRes.REPEAT).add(getComment(TaskWrk.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + + @PostMapping(value = "/transferTaskLog/distribute/auth") + @ManagerAuth(memo = "鎵嬪姩娲惧彂浠诲姟") + public R distribute(@RequestParam String taskNo) { + taskWrkService.distribute(taskNo, getUserId()); + return R.ok(); + } + + @PostMapping(value = "/transferTaskLog/complete/auth") + @ManagerAuth(memo = "鎵嬪姩瀹屾垚浠诲姟") + public R complete(@RequestParam String taskNo) { + TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); + if (Cools.isEmpty(taskWrk) || taskWrk.getStatus() >= 3) { + return R.error("宸插畬缁撴垨宸插彇娑�"); + } + LocMast locMast = new LocMast(); + if (taskWrk.getIoType() == 1) {//鍏ュ簱浠诲姟瀹屾垚搴撲綅涓篎 + locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint()); + if (Cools.isEmpty(locMast)) { + R.error("娌℃湁鎵惧埌璇ュ簱浣�"); + } + locMast.setLocSts("F"); + locMast.setModiTime(new Date()); + locMast.setBarcode(taskWrk.getBarcode()); + } else if (taskWrk.getIoType() == 2) {//鍑哄簱浠诲姟瀹屾垚搴撲綅涓篛 + locMast = locMastService.selectByLocNo(taskWrk.getStartPoint()); + if (Cools.isEmpty(locMast)) { + R.error("娌℃湁鎵惧埌璇ュ簱浣�"); + } + locMast.setLocSts("O"); + locMast.setModiTime(new Date()); + } else if (taskWrk.getIoType() == 3) { + locMast = locMastService.selectByLocNo(taskWrk.getStartPoint()); + if (Cools.isEmpty(locMast)) { + R.error("娌℃湁鎵惧埌璇ュ簱浣�"); + } + locMast.setLocSts("O"); + locMast.setModiTime(new Date()); + locMastService.updateById(locMast); + locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint()); + if (Cools.isEmpty(locMast)) { + R.error("娌℃湁鎵惧埌璇ュ簱浣�"); + } + locMast.setLocSts("F"); + locMast.setModiTime(new Date()); + locMast.setBarcode(taskWrk.getBarcode()); + + } + toWmsService.addReportLog(taskWrk); + locMastService.updateById(locMast); + taskWrk.setStatus(7);//鎵嬪姩瀹屾垚浠诲姟 + taskWrk.setModiTime(new Date()); + taskWrkService.updateById(taskWrk); + return R.ok(); + } + + @PostMapping(value = "/transferTaskLog/returnWorkingCondition/auth") + @ManagerAuth(memo = "閲嶆柊缁欏爢鍨涙満涓嬪彂浠诲姟") + public R returnWorkingCondition(@RequestParam String taskNo) { + TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); + if (!Cools.isEmpty(taskWrk) && taskWrk.getWrkSts() == 12) { + taskWrk.setWrkSts(11); + if (!taskWrkService.updateById(taskWrk)) { + return R.error("鏇存柊浠诲姟鐘舵�佸け璐�"); + } + return R.ok(); + } else if (!Cools.isEmpty(taskWrk) && taskWrk.getWrkSts() == 3) { + taskWrk.setWrkSts(2); + taskWrkService.updateById(taskWrk); + if (!taskWrkService.updateById(taskWrk)) { + return R.error("鏇存柊浠诲姟鐘舵�佸け璐�"); + } + return R.ok(); + } else { + return R.error("浠诲姟鐘舵�佷笉瀵规棤娉曢噸鏂扮粰鍫嗗灈鏈轰笅鍙戜换鍔�"); + } + + } + + @PostMapping(value = "/transferTaskLog/cancel/auth") + @ManagerAuth(memo = "鎵嬪姩鍙栨秷浠诲姟") + public R cancel(@RequestParam String taskNo) { + TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); + if (taskWrk == null) { + return R.error(); + } + if (taskWrk.getStatus().equals(TaskStatusType.CANCEL.id)) { + return R.error(taskWrk.getTaskNo() + "宸茶鍙栨秷"); + } + Date now = new Date(); + taskWrk.setStatus(TaskStatusType.CANCEL.id); + taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿 + try { + taskWrk.setModiUser(getUserId());//鎿嶄綔鍛� + } catch (Exception e) { + taskWrk.setModiUser(9999L);//鎿嶄綔鍛� + } + toWmsService.addReportLog(taskWrk); + + taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿 + taskWrkService.updateById(taskWrk); + return R.ok(); + } + + @PostMapping(value = "/transferTaskLog/updateCommandStep") + @ManagerAuth(memo = "鏇存柊姝ュ簭") + public R updateCommandStep(@RequestParam Integer wrkNo, @RequestParam Integer commandStep) { + TaskWrk taskWrk = taskWrkService.selectByWrkNo(wrkNo); + if (taskWrk == null) { + return R.error(); + } + Date now = new Date(); + taskWrk.setCommandStep(commandStep); + taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿 + taskWrk.setModiUser(getUserId());//鎿嶄綔鍛� + taskWrkService.updateById(taskWrk); + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/entity/TransferTask.java b/src/main/java/com/zy/asrs/entity/TransferTask.java new file mode 100644 index 0000000..d6b514a --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/TransferTask.java @@ -0,0 +1,127 @@ +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 io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +@Data +@TableName("wcs_transfer_task") +public class TransferTask implements Serializable { + private static final long serialVersionUID = 1L; + + + /** + * wms浠诲姟鍙� + */ + @ApiModelProperty(value = "wms浠诲姟鍙�") + @TableId(value = "task_no", type = IdType.INPUT) + @TableField("task_no") + private String taskNo; + + /** + * 浠诲姟鐘舵�� 1: 鎺ユ敹 2: 娲惧彂 3: 瀹岀粨 4: 鍙栨秷 + */ + @ApiModelProperty(value = "浠诲姟鐘舵�� 1: 鎺ユ敹 2: 娲惧彂 5: 瀹岀粨 4: 鍙栨秷 ") + private Integer status; + + /** + * 浠诲姟鍙� + */ + @ApiModelProperty(value = "浠诲姟鍙�") + @TableField("wrk_no") + private Integer wrkNo; + + + /** + * 浠诲姟鏃堕棿(鎺ユ敹鏃堕棿) + */ + @ApiModelProperty(value = "浠诲姟鏃堕棿(鎺ユ敹鏃堕棿)") + @TableField("create_time") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + + /** + * 璧风偣 + */ + @ApiModelProperty(value = "璧风偣") + @TableField("start_point") + private Integer startPoint; + + /** + * 缁堢偣 + */ + @ApiModelProperty(value = "缁堢偣") + @TableField("target_point") + private Integer targetPoint; + + /** + * 淇敼浜哄憳 + */ + @ApiModelProperty(value = "淇敼浜哄憳") + @TableField("modi_user") + private Long modiUser; + + /** + * 淇敼鏃堕棿 + */ + @ApiModelProperty(value = "淇敼鏃堕棿") + @TableField("modi_time") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date modiTime; + + /** + * 澶囨敞 + */ + @ApiModelProperty(value = "澶囨敞") + private String memo; + + /** + * 鏉$爜 + */ + @ApiModelProperty(value = "鏉$爜") + private String barcode; + + /** + * 娲惧彂鏃堕棿 + */ + @ApiModelProperty(value = "娲惧彂鏃堕棿") + @TableField("assign_time") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date assignTime; + + /** + * 鎵ц鏃堕棿 + */ + @ApiModelProperty(value = "鎵ц鏃堕棿") + @TableField("execute_time") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date executeTime; + + /** + * 瀹岀粨鏃堕棿 + */ + @ApiModelProperty(value = "瀹岀粨鏃堕棿") + @TableField("complete_time") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date completeTime; + + /** + * 鍙栨秷鏃堕棿 + */ + @ApiModelProperty(value = "鍙栨秷鏃堕棿") + @TableField("cancel_time") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date cancelTime; + + + + +} diff --git a/src/main/java/com/zy/asrs/entity/TransferTaskLog.java b/src/main/java/com/zy/asrs/entity/TransferTaskLog.java new file mode 100644 index 0000000..e794ee8 --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/TransferTaskLog.java @@ -0,0 +1,133 @@ +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 io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +@Data +@TableName("wcs_transfer_task_log") +public class TransferTaskLog implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * wms浠诲姟鍙� + */ + @ApiModelProperty(value = "wms浠诲姟鍙�") + @TableId(value = "task_no", type = IdType.INPUT) + @TableField("task_no") + private String taskNo; + + /** + * 浠诲姟鐘舵�� 1: 鎺ユ敹 2: 娲惧彂 3: 瀹岀粨 4: 鍙栨秷 + */ + @ApiModelProperty(value = "浠诲姟鐘舵�� 1: 鎺ユ敹 2: 娲惧彂 5: 瀹岀粨 4: 鍙栨秷 ") + private Integer status; + + /** + * 浠诲姟鍙� + */ + @ApiModelProperty(value = "浠诲姟鍙�") + @TableField("wrk_no") + private Integer wrkNo; + + + /** + * 浠诲姟鏃堕棿(鎺ユ敹鏃堕棿) + */ + @ApiModelProperty(value = "浠诲姟鏃堕棿(鎺ユ敹鏃堕棿)") + @TableField("create_time") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + + /** + * 璧风偣 + */ + @ApiModelProperty(value = "璧风偣") + @TableField("start_point") + private String startPoint; + + /** + * 缁堢偣 + */ + @ApiModelProperty(value = "缁堢偣") + @TableField("target_point") + private String targetPoint; + + /** + * 淇敼浜哄憳 + */ + @ApiModelProperty(value = "淇敼浜哄憳") + @TableField("modi_user") + private Long modiUser; + + /** + * 淇敼鏃堕棿 + */ + @ApiModelProperty(value = "淇敼鏃堕棿") + @TableField("modi_time") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date modiTime; + + /** + * 澶囨敞 + */ + @ApiModelProperty(value = "澶囨敞") + private String memo; + + /** + * 鏉$爜 + */ + @ApiModelProperty(value = "鏉$爜") + private String barcode; + + /** + * 娲惧彂鏃堕棿 + */ + @ApiModelProperty(value = "娲惧彂鏃堕棿") + @TableField("assign_time") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date assignTime; + + /** + * 鎵ц鏃堕棿 + */ + @ApiModelProperty(value = "鎵ц鏃堕棿") + @TableField("execute_time") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date executeTime; + + /** + * 瀹岀粨鏃堕棿 + */ + @ApiModelProperty(value = "瀹岀粨鏃堕棿") + @TableField("complete_time") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date completeTime; + + /** + * 鍙栨秷鏃堕棿 + */ + @ApiModelProperty(value = "鍙栨秷鏃堕棿") + @TableField("cancel_time") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date cancelTime; + + /** + * 宸ヤ綔鐘舵�� + */ + @ApiModelProperty(value = "宸ヤ綔鐘舵��") + @TableField("wrk_sts") + private Integer wrkSts; + + +} diff --git a/src/main/java/com/zy/asrs/mapper/TransferTaskLogMapper.java b/src/main/java/com/zy/asrs/mapper/TransferTaskLogMapper.java new file mode 100644 index 0000000..269dcd5 --- /dev/null +++ b/src/main/java/com/zy/asrs/mapper/TransferTaskLogMapper.java @@ -0,0 +1,15 @@ +package com.zy.asrs.mapper; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.zy.asrs.entity.TransferTask; +import com.zy.asrs.entity.TransferTaskLog; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface TransferTaskLogMapper extends BaseMapper<TransferTaskLog> { + + + +} diff --git a/src/main/java/com/zy/asrs/mapper/TransferTaskMapper.java b/src/main/java/com/zy/asrs/mapper/TransferTaskMapper.java new file mode 100644 index 0000000..2a68e9f --- /dev/null +++ b/src/main/java/com/zy/asrs/mapper/TransferTaskMapper.java @@ -0,0 +1,14 @@ +package com.zy.asrs.mapper; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.zy.asrs.entity.TransferTask; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface TransferTaskMapper extends BaseMapper<TransferTask> { + + + +} diff --git a/src/main/java/com/zy/asrs/service/TransferTaskLogService.java b/src/main/java/com/zy/asrs/service/TransferTaskLogService.java new file mode 100644 index 0000000..2ec6a59 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/TransferTaskLogService.java @@ -0,0 +1,10 @@ +package com.zy.asrs.service; + +import com.baomidou.mybatisplus.service.IService; +import com.zy.asrs.entity.TaskWrkLog; +import com.zy.asrs.entity.TransferTask; +import com.zy.asrs.entity.TransferTaskLog; + +public interface TransferTaskLogService extends IService<TransferTaskLog> { + +} diff --git a/src/main/java/com/zy/asrs/service/TransferTaskService.java b/src/main/java/com/zy/asrs/service/TransferTaskService.java new file mode 100644 index 0000000..3735067 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/TransferTaskService.java @@ -0,0 +1,12 @@ +package com.zy.asrs.service; + +import com.baomidou.mybatisplus.service.IService; +import com.zy.asrs.entity.TransferTask; + +public interface TransferTaskService extends IService<TransferTask> { + + TransferTask selectByStartPoint(Integer startPoint); + + TransferTask selectByEndPoint(Integer endPoint); + +} diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 88b7277..4bed00e 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -85,6 +85,9 @@ @Autowired private CrnController crnController; + @Autowired + private TransferTaskService transferTaskService; + public void generateStoreWrkFile1() throws IOException, InterruptedException { try { @@ -827,6 +830,9 @@ try { // 鏍规嵁杈撻�佺嚎plc閬嶅巻 for (DevpSlave devp : slaveProperties.getDevp()) { + if (devp.getId() == 2) { + continue; + } SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); for (DevpSlave.Sta inSta : devp.getInSta()) { WrkMast pakout = wrkMastMapper.selectWorkingPakout(inSta.getBackSta()); @@ -985,4 +991,82 @@ } } + + /** + * 杞Щ浠诲姟涓嬪彂 + */ + public void transferTaskStart() { + + for (DevpSlave.Sta sta : slaveProperties.getDevp().get(1).getInSta()) { + try { + // 鑾峰彇鍏ュ簱绔欎俊鎭� + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2); + StaProtocol staProtocol = devpThread.getStation().get(sta.getStaNo()); + if (staProtocol == null) { + continue; + } else { + staProtocol = staProtocol.clone(); + } + if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) { + // 鏌ヨ宸ヤ綔妗� + TransferTask transferTask = transferTaskService.selectByStartPoint(sta.getStaNo()); + if (transferTask == null) { + continue; + } + log.info("涓嬪彂杈撻�佺嚎杞Щ浠诲姟锛歵askWrk:" + JSON.toJSONString(transferTask)); + staProtocol.setWorkNo(transferTask.getWrkNo().shortValue()); + staProtocol.setStaNo(transferTask.getTargetPoint().shortValue()); + boolean offer = false; + try { + offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol)); + } catch (Exception e) { + log.error("涓嬪彂杈撻�佺嚎杞Щ浠诲姟锛氬紓甯�:" + e); + log.error("涓嬪彂杈撻�佺嚎杞Щ浠诲姟锛氬紓甯�:offer:" + offer); + } + if (offer) { + log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(transferTask)); + transferTask.setStatus(2); + transferTaskService.updateById(transferTask); + } else { + log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(transferTask)); + } + } + } catch (Exception e) { + log.error("杞Щ浠诲姟寮傚父:寮傚父淇℃伅锛�" + e); + } + } + + } + + /** + * 杞Щ浠诲姟瀹屾垚 + */ + public void transferTaskEnd() { + for (DevpSlave.Sta sta : slaveProperties.getDevp().get(1).getInSta()) { + try { + // 鑾峰彇缁堢偣绔� + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2); + StaProtocol staProtocol = devpThread.getStation().get(sta.getOverSta()); + if (staProtocol == null) { + continue; + } else { + staProtocol = staProtocol.clone(); + } + if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) { + // 鏌ヨ宸ヤ綔妗� + TransferTask transferTask = transferTaskService.selectByEndPoint(sta.getStaNo()); + if (transferTask == null) { + continue; + } + log.info("杞Щ浠诲姟瀹屾垚锛歵ransferTask:" + JSON.toJSONString(transferTask)); + transferTask.setStatus(5); + transferTaskService.updateById(transferTask); + } + } catch (Exception e) { + log.error("杞Щ浠诲姟寮傚父:寮傚父淇℃伅锛�" + e); + } + } + + } + } diff --git a/src/main/java/com/zy/asrs/service/impl/TransferTaskLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TransferTaskLogServiceImpl.java new file mode 100644 index 0000000..41305ee --- /dev/null +++ b/src/main/java/com/zy/asrs/service/impl/TransferTaskLogServiceImpl.java @@ -0,0 +1,15 @@ +package com.zy.asrs.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.zy.asrs.entity.TransferTaskLog; +import com.zy.asrs.mapper.TransferTaskLogMapper; +import com.zy.asrs.service.TransferTaskLogService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +public class TransferTaskLogServiceImpl extends ServiceImpl<TransferTaskLogMapper, TransferTaskLog> implements TransferTaskLogService { + + +} diff --git a/src/main/java/com/zy/asrs/service/impl/TransferTaskServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TransferTaskServiceImpl.java new file mode 100644 index 0000000..6fcbf16 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/impl/TransferTaskServiceImpl.java @@ -0,0 +1,24 @@ +package com.zy.asrs.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.zy.asrs.entity.TransferTask; +import com.zy.asrs.mapper.TransferTaskMapper; +import com.zy.asrs.service.TransferTaskService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +public class TransferTaskServiceImpl extends ServiceImpl<TransferTaskMapper, TransferTask> implements TransferTaskService { + + + @Override + public TransferTask selectByStartPoint(Integer startPoint) { + return null; + } + + @Override + public TransferTask selectByEndPoint(Integer endPoint) { + return null; + } +} diff --git a/src/main/java/com/zy/core/model/DevpSlave.java b/src/main/java/com/zy/core/model/DevpSlave.java index 93cc1db..79cd8aa 100644 --- a/src/main/java/com/zy/core/model/DevpSlave.java +++ b/src/main/java/com/zy/core/model/DevpSlave.java @@ -38,6 +38,9 @@ private Integer scale; private Integer backSta; + + private Integer overSta; + } } diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index b1772cd..057f2f9 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -193,6 +193,15 @@ rack: 0 port: 102 slot: 0 + inSta[0]: + staNo: 301 + inSta[1]: + staNo: 303 + inSta[2]: + staNo: 305 + inSta[3]: + staNo: 307 + barcode[0]: #鏉$爜鎵弿浠� port: 51236 ip: 172.17.91.39 diff --git a/src/main/resources/mapper/TransferTaskLogMapper.xml b/src/main/resources/mapper/TransferTaskLogMapper.xml new file mode 100644 index 0000000..328df5a --- /dev/null +++ b/src/main/resources/mapper/TransferTaskLogMapper.xml @@ -0,0 +1,7 @@ +<?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.TransferTaskLogMapper"> + + + +</mapper> diff --git a/src/main/resources/mapper/TransferTaskMapper.xml b/src/main/resources/mapper/TransferTaskMapper.xml new file mode 100644 index 0000000..a591d23 --- /dev/null +++ b/src/main/resources/mapper/TransferTaskMapper.xml @@ -0,0 +1,7 @@ +<?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.TransferTaskMapper"> + + + +</mapper> diff --git a/src/main/webapp/static/wcs/js/console.map.js b/src/main/webapp/static/wcs/js/console.map.js index 7975fe6..389f5c9 100644 --- a/src/main/webapp/static/wcs/js/console.map.js +++ b/src/main/webapp/static/wcs/js/console.map.js @@ -405,7 +405,7 @@ "type": "stn", "id": "site-307", "text": "308", - "top": 535, + "top": 231, "left": 200, "width": 62, "height": 23 @@ -413,7 +413,7 @@ "type": "stn", "id": "site-308", "text": "308", - "top": 560, + "top": 256, "left": 200, "width": 62, "height": 23 @@ -421,7 +421,7 @@ "type": "stn", "id": "site-305", "text": "305", - "top": 535, + "top": 231, "left": 300, "width": 62, "height": 23 @@ -429,7 +429,7 @@ "type": "stn", "id": "site-306", "text": "306", - "top": 560, + "top": 256, "left": 300, "width": 62, "height": 23 @@ -437,7 +437,7 @@ "type": "stn", "id": "site-303", "text": "303", - "top": 535, + "top": 231, "left": 400, "width": 62, "height": 23 @@ -445,7 +445,7 @@ "type": "stn", "id": "site-304", "text": "304", - "top": 560, + "top": 256, "left": 400, "width": 62, "height": 23 @@ -453,7 +453,7 @@ "type": "stn", "id": "site-301", "text": "301", - "top": 535, + "top": 231, "left": 500, "width": 62, "height": 23 @@ -461,7 +461,7 @@ "type": "stn", "id": "site-302", "text": "302", - "top": 560, + "top": 256, "left": 500, "width": 62, "height": 23 diff --git a/src/main/webapp/views/transferTask/transferTask.html b/src/main/webapp/views/transferTask/transferTask.html new file mode 100644 index 0000000..486424b --- /dev/null +++ b/src/main/webapp/views/transferTask/transferTask.html @@ -0,0 +1,403 @@ +<!DOCTYPE html> +<html lang="en"> + + <head> + <meta charset="UTF-8"> + <title>浠诲姟绠$悊</title> + <link rel="stylesheet" href="../../static/wcs/css/element.css"> + <script type="text/javascript" src="../../static/wcs/js/jquery/jquery-3.3.1.min.js"></script> + <script type="text/javascript" src="../../static/wms/layui/layui.js"></script> + <script type="text/javascript" src="../../static/wcs/js/common.js"></script> + <script type="text/javascript" src="../../static/wcs/js/vue.min.js"></script> + <script type="text/javascript" src="../../static/wcs/js/element.js"></script> + </head> + + <body> + <div id="app" style="display: flex;justify-content: center;flex-wrap: wrap;"> + <div style="width: 100%;"> + <el-card class="box-card"> + <el-form :inline="true" :model="tableSearchParam" class="demo-form-inline"> + <el-form-item label=""> + <el-input v-model="tableSearchParam.task_no" placeholder="浠诲姟鍙�"></el-input> + </el-form-item> + <el-form-item label=""> + <el-select v-model="tableSearchParam.status" placeholder="浠诲姟鐘舵��"> + <el-option label="鎺ユ敹" value="1"></el-option> + <el-option label="娲惧彂" value="2"></el-option> + <el-option label="瀹岀粨" value="3"></el-option> + <el-option label="鍙栨秷" value="4"></el-option> + </el-select> + </el-form-item> + <el-form-item label=""> + <el-input v-model="tableSearchParam.wrk_no" placeholder="宸ヤ綔鍙�"></el-input> + </el-form-item> + <el-form-item label=""> + <el-date-picker + v-model="tableSearchParam.datetime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetimerange" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item> + <el-button type="primary" @click="getTableData">鏌ヨ</el-button> + <el-button type="primary" @click="resetParam">閲嶇疆</el-button> + </el-form-item> + </el-form> + <el-table ref="singleTable" :data="tableData" style="width: 100%;"> + <el-table-column label="鎿嶄綔" width="100"> + <template slot-scope="scope"> + <el-dropdown @command="(command)=>{handleCommand(command, scope.row)}"> + <el-button icon="el-icon-more" size="mini" type="primary"></el-button> + <el-dropdown-menu slot="dropdown"> +<!-- <el-dropdown-item command="showCommand">鏌ョ湅鎸囦护</el-dropdown-item>--> + <el-dropdown-item command="returnWorkingCondition">閲嶆柊缁欏爢鍨涙満涓嬪彂浠诲姟</el-dropdown-item> + <el-dropdown-item command="changeCommand">淇敼</el-dropdown-item> + <el-dropdown-item command="assign">娲惧彂</el-dropdown-item> + <el-dropdown-item command="complete">瀹岀粨</el-dropdown-item> + <el-dropdown-item command="cancel">鍙栨秷</el-dropdown-item> + </el-dropdown-menu> + </el-dropdown> + </template> + </el-table-column> + <el-table-column property="taskNo" label="浠诲姟鍙�"> + </el-table-column> + <el-table-column property="status$" label="浠诲姟鐘舵��"> + </el-table-column> + <el-table-column property="wrkNo" label="宸ヤ綔鍙�"> + </el-table-column> + <el-table-column property="createTime$" label="浠诲姟鏃堕棿"> + </el-table-column> + <el-table-column property="durationTime" label="鎸佺画鏃堕暱"> + </el-table-column> + <el-table-column property="startPoint" label="璧风偣浣嶇疆"> + </el-table-column> + <el-table-column property="targetPoint" label="缁堢偣浣嶇疆"> + </el-table-column> + <el-table-column property="wrkSts$" label="宸ヤ綔鐘舵��"> + </el-table-column> + <el-table-column property="barcode" label="鎵樼洏鐮�"> + </el-table-column> + + </el-table> + + <div style="margin-top: 10px;"> + <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" + :current-page="currentPage" :page-sizes="pageSizes" :page-size="pageSize" + layout="total, sizes, prev, pager, next, jumper" :total="pageTotal"> + </el-pagination> + </div> + </el-card> + </div> + + <el-dialog :title="taskWrkFormTitle" :visible.sync="taskWrkFormVisible"> + <el-form :model="taskWrkForm"> + <el-form-item label="璧风偣浣嶇疆" :label-width="taskWrkFormLabelWidth"> + <el-input v-model="taskWrkForm.startPoint" autocomplete="off"></el-input> + </el-form-item> + <el-form-item label="缁堢偣浣嶇疆" :label-width="taskWrkFormLabelWidth"> + <el-input v-model="taskWrkForm.targetPoint" autocomplete="off"></el-input> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button @click="taskWrkFormVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="taskWrkFormConfirm">纭� 瀹�</el-button> + </div> + </el-dialog> + + </div> + <script> + var $layui = layui.config({ + base: baseUrl + "/static/wms/layui/lay/modules/" + }).use(['layer', 'form'], function() {}) + + var app = new Vue({ + el: '#app', + data: { + tableData: [], + currentPage: 1, + pageSizes: [16, 30, 50, 100, 150, 200], + pageSize: 16, + pageTotal: 0, + tableSearchParam: { + task_no: null, + status: null, + wrk_no: null, + datetime: null, + }, + taskWrkFormVisible: false, + taskWrkForm: {}, + taskWrkFormLabelWidth: '80px', + taskWrkFormTitle: '' + }, + created() { + this.init() + }, + methods: { + init() { + let taskNo = getQueryVariable('taskNo') + let wrkNo = getQueryVariable('wrkNo') + if (taskNo != false) { + this.tableSearchParam.task_no = taskNo + } + if (wrkNo != false) { + this.tableSearchParam.wrk_no = wrkNo + } + + this.getTableData() + }, + getTableData() { + let that = this; + let data = JSON.parse(JSON.stringify(this.tableSearchParam)) + data.curr = this.currentPage + data.limit = this.pageSize + if (this.tableSearchParam.datetime != null) { + data.datetime = null + data.create_time = this.tableSearchParam.datetime[0] + " - " + this.tableSearchParam.datetime[1] + } + $.ajax({ + url: baseUrl + "/taskWrk/list/auth", + headers: { + 'token': localStorage.getItem('token') + }, + data: data, + dataType: 'json', + contentType: 'application/json;charset=UTF-8', + method: 'GET', + success: function(res) { + if (res.code == 200) { + that.tableData = res.data.records + that.pageTotal = res.data.total + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + that.$message({ + message: res.msg, + type: 'error' + }); + } + } + }); + }, + handleSizeChange(val) { + console.log(`姣忛〉 ${val} 鏉); + this.pageSize = val + this.getTableData() + }, + handleCurrentChange(val) { + console.log(`褰撳墠椤�: ${val}`); + this.currentPage = val + this.getTableData() + }, + resetParam() { + this.tableSearchParam = { + task_no: null, + status: null, + wrk_no: null + } + this.getTableData() + }, + handleCommand(command, row) { + switch (command) { + case "returnWorkingCondition": + //閲嶆柊缁欏爢鍨涙満涓嬪彂浠诲姟 + this.returnWorkingConditionWrk(row) + break; + case "changeCommand": + //淇敼鎸囦护 + this.changeCommand(row); + break + case "assign": + //娲惧彂浠诲姟 + this.assignWrk(row) + break; + case "complete": + //瀹岀粨浠诲姟 + this.completeWrk(row) + break; + case "cancel": + //鍙栨秷浠诲姟 + this.cancelWrk(row) + break; + } + }, + showCommand(row) { + let wrkNo = row.wrkNo == null ? "" : row.wrkNo + //鏌ョ湅鎸囦护 + $layui.layer.open({ + type: 2, + title: '鎸囦护绠$悊', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: true, + content: 'commandManage.html?taskNo=' + row.taskNo + "&wrkNo=" + wrkNo, + success: function(layero, index) {} + }); + }, + changeCommand(row) { + //淇敼鎸囦护 + this.taskWrkFormVisible = true + this.taskWrkFormTitle = "浠诲姟锛�" + row.taskNo + this.taskWrkForm = row + }, + assignWrk(row){ + //娲惧彂浠诲姟 + let that = this + $.ajax({ + url: baseUrl + "/taskWrk/distribute/auth", + headers: { + 'token': localStorage.getItem('token') + }, + data: { + taskNo: row.taskNo + }, + method: 'POST', + success: function(res) { + if (res.code == 200) { + that.$message({ + message: "娲惧彂鎴愬姛", + type: 'success' + }); + that.getTableData() + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + that.$message({ + message: res.msg, + type: 'error' + }); + } + } + }); + }, + completeWrk(row){ + //瀹屾垚浠诲姟 + let that = this + $.ajax({ + url: baseUrl + "/taskWrk/complete/auth", + headers: { + 'token': localStorage.getItem('token') + }, + data: { + taskNo: row.taskNo + }, + method: 'POST', + success: function(res) { + if (res.code == 200) { + that.$message({ + message: "瀹岀粨鎴愬姛", + type: 'success' + }); + that.getTableData() + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + that.$message({ + message: res.msg, + type: 'error' + }); + } + } + }); + }, + returnWorkingConditionWrk(row){ + //閲嶆柊缁欏爢鍨涙満涓嬪彂浠诲姟 + let that = this + $.ajax({ + url: baseUrl + "/taskWrk/returnWorkingCondition/auth", + headers: { + 'token': localStorage.getItem('token') + }, + data: { + taskNo: row.taskNo + }, + method: 'POST', + success: function(res) { + if (res.code == 200) { + that.$message({ + message: "鍙栨秷鎴愬姛", + type: 'success' + }); + that.getTableData() + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + that.$message({ + message: res.msg, + type: 'error' + }); + } + } + }); + }, + cancelWrk(row){ + //鍙栨秷浠诲姟 + let that = this + $.ajax({ + url: baseUrl + "/taskWrk/cancel/auth", + headers: { + 'token': localStorage.getItem('token') + }, + data: { + taskNo: row.taskNo + }, + method: 'POST', + success: function(res) { + if (res.code == 200) { + that.$message({ + message: "鍙栨秷鎴愬姛", + type: 'success' + }); + that.getTableData() + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + that.$message({ + message: res.msg, + type: 'error' + }); + } + } + }); + }, + taskWrkFormConfirm() { + //淇敼鎸囧畾浠诲姟鏁版嵁 + let that = this + $.ajax({ + url: baseUrl + "/taskWrk/updatePoint/auth", + headers: { + 'token': localStorage.getItem('token') + }, + data: { + taskNo: this.taskWrkForm.taskNo, + startPoint: this.taskWrkForm.startPoint, + targetPoint: this.taskWrkForm.targetPoint, + }, + method: 'POST', + success: function(res) { + if (res.code == 200) { + that.taskWrkFormVisible = false + that.$message({ + message: "鏇存柊鎴愬姛", + type: 'success' + }); + that.getTableData() + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + that.$message({ + message: res.msg, + type: 'error' + }); + } + } + }); + } + } + }) + </script> + </body> + +</html> -- Gitblit v1.9.1