From c34747e73010e893dfd04344fcbc8848c13eb717 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期日, 12 一月 2025 16:12:20 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java | 2
src/main/resources/mapper/WrkMastLogMapper.xml | 53 --
src/main/java/com/zy/asrs/controller/OpenController.java | 33 +
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 22 -
src/main/java/com/zy/common/web/BaseController.java | 49 ++
src/main/java/com/zy/asrs/entity/WrkMast.java | 17
src/main/resources/mapper/WrkMastMapper.xml | 2
src/main/java/com/zy/asrs/entity/WrkMastLog.java | 262 ------------
src/main/java/com/zy/asrs/task/WrkMastScheduler.java | 44 ++
src/main/java/com/zy/asrs/controller/WrkMastController.java | 63 +++
src/main/java/com/zy/asrs/service/WrkMastLogService.java | 10
src/main/java/com/zy/asrs/domain/param/CancelTaskParam.java | 10
src/main/java/com/zy/asrs/domain/param/CompleteTaskParam.java | 10
/dev/null | 171 --------
src/main/webapp/views/task.html | 323 ++++++++++++++++
src/main/webapp/views/index.html | 1
src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java | 6
src/main/java/com/zy/asrs/service/impl/WrkMastLogServiceImpl.java | 30 +
src/main/java/com/zy/common/service/CommonService.java | 42 ++
19 files changed, 639 insertions(+), 511 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 91f6ecf..129551f 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -1,12 +1,15 @@
package com.zy.asrs.controller;
import com.core.common.R;
+import com.zy.asrs.domain.param.CancelTaskParam;
+import com.zy.asrs.domain.param.CompleteTaskParam;
import com.zy.asrs.domain.param.CreateMoveTaskParam;
import com.zy.common.service.CommonService;
import com.zy.core.dispatcher.ShuttleDispatchUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -21,15 +24,39 @@
private ShuttleDispatchUtils shuttleDispatchUtils;
@PostMapping("/createMoveTask")
- public R createMoveTask(CreateMoveTaskParam param) {
+ public R createMoveTask(@RequestBody CreateMoveTaskParam param) {
if (param == null) {
return R.error("鍙傛暟涓嶈兘涓虹┖");
}
- boolean dispatchShuttle = shuttleDispatchUtils.dispatchShuttle(commonService.getWorkNo(99), param.getLocNo(), param.getShuttleNo());
+ boolean dispatchShuttle = shuttleDispatchUtils.dispatchShuttle(null, param.getLocNo(), param.getShuttleNo());
if (dispatchShuttle) {
return R.ok();
}
- return R.error();
+ return R.error("鐢熸垚澶辫触");
+ }
+
+ @PostMapping("/completeTask")
+ public R completeTask(@RequestBody CompleteTaskParam param) {
+ if (param == null) {
+ return R.error("鍙傛暟涓嶈兘涓虹┖");
+ }
+ boolean completeTask = commonService.completeTask(param);
+ if (completeTask) {
+ return R.ok();
+ }
+ return R.error("浠诲姟瀹屾垚澶辫触");
+ }
+
+ @PostMapping("/cancelTask")
+ public R cancelTask(@RequestBody CancelTaskParam param) {
+ if (param == null) {
+ return R.error("鍙傛暟涓嶈兘涓虹┖");
+ }
+ boolean completeTask = commonService.cancelTask(param);
+ if (completeTask) {
+ return R.ok();
+ }
+ return R.error("浠诲姟鍙栨秷澶辫触");
}
}
diff --git a/src/main/java/com/zy/asrs/controller/WrkMastController.java b/src/main/java/com/zy/asrs/controller/WrkMastController.java
new file mode 100644
index 0000000..f8d6167
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/WrkMastController.java
@@ -0,0 +1,63 @@
+package com.zy.asrs.controller;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.core.annotations.ManagerAuth;
+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.common.web.BaseController;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+@Slf4j
+@RestController
+public class WrkMastController extends BaseController {
+
+ @Autowired
+ private WrkMastService wrkMastService;
+
+ @RequestMapping(value = "/wrkMast/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(required = false)String condition,
+ @RequestParam Map<String, Object> param){
+ excludeTrash(param);
+ EntityWrapper<WrkMast> wrapper = new EntityWrapper<>();
+ convert(param, wrapper);
+ allLike(WrkMast.class, param.keySet(), wrapper, condition);
+ if (!Cools.isEmpty(orderByField)){
+ if (orderByField.endsWith("$")){
+ orderByField = orderByField.substring(0, orderByField.length()-1);
+ }
+ wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
+ }else {
+ wrapper.orderBy("io_time", false);
+ }
+ return R.ok(wrkMastService.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);
+ }
+ }
+ }
+
+}
diff --git a/src/main/java/com/zy/asrs/domain/param/CancelTaskParam.java b/src/main/java/com/zy/asrs/domain/param/CancelTaskParam.java
new file mode 100644
index 0000000..3251306
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/param/CancelTaskParam.java
@@ -0,0 +1,10 @@
+package com.zy.asrs.domain.param;
+
+import lombok.Data;
+
+@Data
+public class CancelTaskParam {
+
+ private Integer wrkNo;
+
+}
diff --git a/src/main/java/com/zy/asrs/domain/param/CompleteTaskParam.java b/src/main/java/com/zy/asrs/domain/param/CompleteTaskParam.java
new file mode 100644
index 0000000..3d8e3ab
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/param/CompleteTaskParam.java
@@ -0,0 +1,10 @@
+package com.zy.asrs.domain.param;
+
+import lombok.Data;
+
+@Data
+public class CompleteTaskParam {
+
+ private Integer wrkNo;
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/WrkMast.java b/src/main/java/com/zy/asrs/entity/WrkMast.java
index 331e8e0..0112be5 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMast.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -57,10 +57,6 @@
@TableField("io_pri")
private Double ioPri;
- @ApiModelProperty(value= "")
- @TableField("wrk_date")
- private Date wrkDate;
-
/**
* 鐩爣搴撲綅
*/
@@ -158,6 +154,12 @@
@TableField(value = "lift_no",strategy = FieldStrategy.IGNORED)
private Integer liftNo;
+ /**
+ * WMS浠诲姟鍙�
+ */
+ @ApiModelProperty(value= "WMS浠诲姟鍙�")
+ private String wmsWrkNo;
+
public String getWrkSts$(){
BasWrkStatusMapper mapper = SpringUtils.getBean(BasWrkStatusMapper.class);
BasWrkStatus entity = mapper.selectById(this.wrkSts);
@@ -174,13 +176,6 @@
return entity.getIoDesc();
}
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$(){
diff --git a/src/main/java/com/zy/asrs/entity/WrkMastLog.java b/src/main/java/com/zy/asrs/entity/WrkMastLog.java
index 0cff0cc..18bfcc7 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMastLog.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMastLog.java
@@ -9,6 +9,7 @@
import com.zy.asrs.service.BasDevpService;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.WrkMastService;
+import com.zy.common.utils.Synchro;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
import io.swagger.annotations.ApiModelProperty;
@@ -39,18 +40,7 @@
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;
/**
* 宸ヤ綔鐘舵��
@@ -67,40 +57,11 @@
private Integer ioType;
/**
- * 鍫嗗灈鏈哄彿
- */
- @ApiModelProperty(value= "鍫嗗灈鏈哄彿")
- @TableField("crn_no")
- private Integer crnNo;
-
- /**
- * 绌挎杞�
- */
- @ApiModelProperty(value= "绌挎杞�")
- @TableField("ste_no")
- private Integer steNo;
-
- /**
- * 杈圭紭搴撲綅
- */
- @ApiModelProperty(value= "杈圭紭搴撲綅")
- @TableField("out_most")
- private Integer outMost;
-
- @ApiModelProperty(value= "")
- @TableField("sheet_no")
- private String sheetNo;
-
- /**
* 浼樺厛绾�
*/
@ApiModelProperty(value= "浼樺厛绾�")
@TableField("io_pri")
private Double ioPri;
-
- @ApiModelProperty(value= "")
- @TableField("wrk_date")
- private Date wrkDate;
/**
* 鐩爣搴撲綅
@@ -130,112 +91,12 @@
@TableField("source_loc_no")
private String sourceLocNo;
- @ApiModelProperty(value= "")
- @TableField("loc_sts")
- private String locSts;
-
- /**
- * 鎷f枡
- */
- @ApiModelProperty(value= "鎷f枡")
- 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;
-
- /**
- * 鎷f枡鏃堕棿
- */
- @ApiModelProperty(value= "鎷f枡鏃堕棿")
- @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;
/**
* 淇敼浜哄憳
@@ -266,10 +127,6 @@
private Date appeTime;
@ApiModelProperty(value= "")
- @TableField("pause_mk")
- private String pauseMk;
-
- @ApiModelProperty(value= "")
@TableField("error_time")
private Date errorTime;
@@ -278,32 +135,8 @@
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;
/**
* 鏉$爜
@@ -311,34 +144,25 @@
@ApiModelProperty(value= "鏉$爜")
private String barcode;
- @ApiModelProperty(value= "")
- @TableField("Pdc_type")
- private String PdcType;
-
- @ApiModelProperty(value= "")
- @TableField("ctn_no")
- private String ctnNo;
+ /**
+ * 鍥涘悜绌挎杞﹀彿
+ */
+ @ApiModelProperty(value= "鍥涘悜绌挎杞﹀彿")
+ @TableField(value = "shuttle_no")
+ private Integer shuttleNo;
/**
- * 婊℃澘
+ * 鎻愬崌鏈哄彿
*/
- @ApiModelProperty(value= "婊℃澘")
- @TableField("full_plt")
- private String fullPlt;
+ @ApiModelProperty(value= "鎻愬崌鏈哄彿")
+ @TableField(value = "lift_no")
+ private Integer liftNo;
/**
- * 鍏堝叆鍝� / 鍙岄噸鍏ュ簱
+ * WMS浠诲姟鍙�
*/
- @ApiModelProperty(value= "鍏堝叆鍝�")
- @TableField("pre_have")
- private String preHave;
-
- /**
- * 绌烘搷浣� / 鍙栬揣鏃犵
- */
- @ApiModelProperty(value= "绌烘搷浣�")
- @TableField("take_none")
- private String takeNone;
+ @ApiModelProperty(value= "WMS浠诲姟鍙�")
+ private String wmsWrkNo;
public WrkMastLog() {}
@@ -349,20 +173,6 @@
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 getWrkDate$(){
- if (Cools.isEmpty(this.wrkDate)){
- return "";
- }
- return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.wrkDate);
}
public String getLocNo$(){
@@ -408,42 +218,6 @@
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);
@@ -483,12 +257,8 @@
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);
}
-
}
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java
index e91341d..e6fde4a 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java
@@ -2,17 +2,11 @@
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.WrkMastLog;
-import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface WrkMastLogMapper extends BaseMapper<WrkMastLog> {
-
- @Insert("insert into asr_wrk_mast_log select * from asr_wrk_mast where wrk_no=#{workNo}")
- int save(Integer workNo);
-
- WrkMastLog selectLatestByWorkNo(Integer workNo);
}
diff --git a/src/main/java/com/zy/asrs/service/WrkMastLogService.java b/src/main/java/com/zy/asrs/service/WrkMastLogService.java
new file mode 100644
index 0000000..292f694
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/WrkMastLogService.java
@@ -0,0 +1,10 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.WrkMastLog;
+
+public interface WrkMastLogService extends IService<WrkMastLog> {
+
+ boolean save(Integer wrkNo);
+
+}
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 8719b84..cd02dfb 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -867,17 +867,6 @@
}
if (wrkMastService.updateById(wrkMast)) {
- if (wrkMast.getWrkSts() == 111) {
- // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
- if (wrkMastLogMapper.save(wrkMast.getWrkNo()) <= 0) {
- log.info("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo());
- }
- // 鍒犻櫎宸ヤ綔涓绘。
- if (!wrkMastService.deleteById(wrkMast)) {
- log.info("鍒犻櫎宸ヤ綔涓绘。[workNo={0}]澶辫触", wrkMast.getWrkNo());
- }
- }
-
//璁剧疆鍥涘悜绌挎杞︿负绌洪棽鐘舵��
shuttleThread.setProtocolStatus(ShuttleProtocolStatusType.IDLE);
News.info("鍥涘悜绌挎杞﹀凡纭涓斾换鍔″畬鎴愮姸鎬�,澶嶄綅銆傚洓鍚戠┛姊溅鍙�={}", shuttleProtocol.getShuttleNo());
@@ -2283,17 +2272,6 @@
wrkMast.setLiftNo(null);//閲婃斁鎻愬崌鏈�
wrkMast.setModiTime(now);
wrkMastService.updateById(wrkMast);
-
- if (wrkMast.getWrkSts() == WrkStsType.COMPLETE_MOVE.sts) {
- // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
- if (wrkMastLogMapper.save(wrkMast.getWrkNo()) <= 0) {
- log.info("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={}]澶辫触", wrkMast.getWrkNo());
- }
- // 鍒犻櫎宸ヤ綔涓绘。
- if (!wrkMastService.deleteById(wrkMast)) {
- log.info("鍒犻櫎宸ヤ綔涓绘。[workNo={}]澶辫触", wrkMast.getWrkNo());
- }
- }
return false;
}
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastLogServiceImpl.java
new file mode 100644
index 0000000..bbb1351
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastLogServiceImpl.java
@@ -0,0 +1,30 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.WrkMastLog;
+import com.zy.asrs.mapper.WrkMastLogMapper;
+import com.zy.asrs.service.WrkMastLogService;
+import com.zy.asrs.service.WrkMastService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+
+@Service("wrkMastLogService")
+public class WrkMastLogServiceImpl extends ServiceImpl<WrkMastLogMapper, WrkMastLog> implements WrkMastLogService {
+
+ @Autowired
+ private WrkMastService wrkMastService;
+
+ @Override
+ public boolean save(Integer wrkNo) {
+ WrkMast wrkMast = wrkMastService.selectByWorkNo(wrkNo);
+ if (wrkMast == null) {
+ return false;
+ }
+
+ WrkMastLog wrkMastLog = new WrkMastLog();
+ wrkMastLog.sync(wrkMast);
+ return this.baseMapper.insert(wrkMastLog) > 0;
+ }
+}
diff --git a/src/main/java/com/zy/asrs/task/DevpReadScheduler.java b/src/main/java/com/zy/asrs/task/DevpReadScheduler.java
deleted file mode 100644
index 2db8de2..0000000
--- a/src/main/java/com/zy/asrs/task/DevpReadScheduler.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package com.zy.asrs.task;
-
-import HslCommunication.Core.Types.OperateResult;
-import HslCommunication.Core.Types.OperateResultExOne;
-import HslCommunication.Profinet.Siemens.SiemensPLCS;
-import HslCommunication.Profinet.Siemens.SiemensS7Net;
-import com.zy.core.cache.SlaveConnection;
-import com.zy.core.enums.SlaveType;
-import com.zy.core.model.DevpSlave;
-import com.zy.core.model.protocol.StaProtocol;
-import com.zy.core.properties.SlaveProperties;
-import com.zy.core.thread.SiemensDevpThread;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.Map;
-
-@Component
-public class DevpReadScheduler {
-
- @Autowired
- private SlaveProperties slaveProperties;
-
- //鍑哄叆搴撶珯鐐规娴嬫姤璀︿俊鎭�
- public static final ArrayList<Integer> outInAlarmStaNos = new ArrayList<Integer>(){{
- add(101);add(102);add(104);
- add(201);add(202);add(204);
- add(340);add(345);
- }};
-
- public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{
- add(302);add(304);
- add(305);add(306);
- add(307);add(308);
- add(310);add(311);
- add(312);add(313);
- add(314);add(315);
- add(316);add(318);
- add(319);add(320);
- add(321);add(322);
- add(323);add(324);
- add(326);add(327);
- add(328);add(329);
- add(330);add(332);
- add(334);add(335);
- add(336);add(337);
- add(338);add(342);
- add(343);add(344);
- }};
-
- public static final ArrayList<Integer> staNos3 = new ArrayList<Integer>() {{//218
- add(302);add(304);
- add(315);add(322);
- add(324);add(330);
- add(332);add(337);
- }};
-
- public static final ArrayList<Integer> staNos4 = new ArrayList<Integer>() {{//250
- add(318);add(320);
- add(343);
- }};
-
- @Scheduled(cron = "0/1 * * * * ? ")
- public void read() {
- try {
- for (DevpSlave slave : slaveProperties.getDevp()) {
- SiemensS7Net siemensS7Net = new SiemensS7Net(SiemensPLCS.S1200, slave.getIp());
- siemensS7Net.setRack(slave.getRack().byteValue());
- siemensS7Net.setSlot(slave.getSlot().byteValue());
- OperateResult connect = siemensS7Net.ConnectServer();
-
- SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, slave.getId());
- Map<Integer, StaProtocol> station = devpThread.getStation();
- if (connect.IsSuccess) {
- //鍑哄叆搴撶珯鐐规娴嬫姤璀︿俊鎭�
- Thread.sleep(100);
- for (Integer staNo : outInAlarmStaNos) {
- OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB" + staNo + ".20.0", (short) 2);
- if (result5.IsSuccess) {
- if (staNo == 101 || staNo == 201) {
- staNo--;
- } else {
- staNo++;
- }
- StaProtocol staProtocol = station.get(staNo);
- boolean[] status = siemensS7Net.getByteTransform().TransBool(result5.Content, 0, 2);
- staProtocol.setBarcodeErr(status[4]);//鎵爜澶辫触
- staProtocol.setFrontErr(status[8]);//鍓嶈秴闄�
- staProtocol.setBackErr(status[9]);//鍚庤秴闄�
- staProtocol.setLeftErr(status[10]);//宸﹁秴闄�
- staProtocol.setRightErr(status[11]);//鍙宠秴闄�
- staProtocol.setHighErr(status[12]);//瓒呴珮
- staProtocol.setWeightErr(status[13]);//瓒呴噸
- }
- }
-
- Thread.sleep(100);
- for (Integer staNo : staNos2) {
- OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB" + staNo + ".0", (short) 48);
- if (result5.IsSuccess) {
- StaProtocol staProtocol = station.get(staNo);
- StaProtocol staProtocol300 = station.get(300);
- if (null == staProtocol) {
- staProtocol = new StaProtocol();
- staProtocol.setSiteId(staNo);
- station.put(staNo, staProtocol);
- }
-
- boolean[] status1 = siemensS7Net.getByteTransform().TransBool(result5.Content, 1, 1);
- staProtocol.setAutoing(staProtocol300.isAutoing()); // 鑷姩
- staProtocol.setLoading(!status1[2]); // 鏈夌墿
-
- if (staNos3.contains(staNo) || staNos4.contains(staNo)) {
- continue;
- }
- if (staNo == 344) {
- staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result5.Content, 34)); // 宸ヤ綔鍙�
- } else {
- staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result5.Content, 22)); // 宸ヤ綔鍙�
- }
- }
- }
-
- Thread.sleep(100);
- for (Integer staNo : staNos3) {
- OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB" + staNo + ".22.0", (short) 2);
- OperateResultExOne<byte[]> result6 = siemensS7Net.Read("DB" + staNo + ".218.0", (short) 2);
- if (result5.IsSuccess && result6.IsSuccess) {
- StaProtocol staProtocol = station.get(staNo);
- short wrkNo1 = siemensS7Net.getByteTransform().TransInt16(result5.Content, 0);
- short wrkNo2 = siemensS7Net.getByteTransform().TransInt16(result6.Content, 0);
- short wrkNo = 0;
- if (wrkNo1 != 0) {
- wrkNo = wrkNo1;
- }
- if (wrkNo2 != 0) {
- wrkNo = wrkNo2;
- }
- staProtocol.setWorkNo(wrkNo); // 宸ヤ綔鍙�
- }
- }
-
- Thread.sleep(100);
- for (Integer staNo : staNos4) {
- OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB" + staNo + ".22.0", (short) 2);
- OperateResultExOne<byte[]> result6 = siemensS7Net.Read("DB" + staNo + ".250.0", (short) 2);
- if (result5.IsSuccess && result6.IsSuccess) {
- StaProtocol staProtocol = station.get(staNo);
- short wrkNo1 = siemensS7Net.getByteTransform().TransInt16(result5.Content, 0);
- short wrkNo2 = siemensS7Net.getByteTransform().TransInt16(result6.Content, 0);
- short wrkNo = 0;
- if (wrkNo1 != 0) {
- wrkNo = wrkNo1;
- }
- if (wrkNo2 != 0) {
- wrkNo = wrkNo2;
- }
- staProtocol.setWorkNo(wrkNo); // 宸ヤ綔鍙�
- }
- }
- }
- siemensS7Net.ConnectClose();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
-}
diff --git a/src/main/java/com/zy/asrs/task/WrkMastScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
new file mode 100644
index 0000000..ce73eb2
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
@@ -0,0 +1,44 @@
+package com.zy.asrs.task;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.service.WrkMastLogService;
+import com.zy.asrs.service.WrkMastService;
+import com.zy.core.enums.WrkStsType;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+
+@Component
+@Slf4j
+public class WrkMastScheduler {
+
+ @Autowired
+ private WrkMastService wrkMastService;
+ @Autowired
+ private WrkMastLogService wrkMastLogService;
+
+ @Scheduled(cron = "0/1 * * * * ? ")
+ private void executeMove(){
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.COMPLETE_MOVE.sts));
+ if (wrkMasts.isEmpty()) {
+ return;
+ }
+
+ for (WrkMast wrkMast : wrkMasts) {
+ // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+ if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
+ log.info("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={}]澶辫触", wrkMast.getWrkNo());
+ }
+ // 鍒犻櫎宸ヤ綔涓绘。
+ if (!wrkMastService.deleteById(wrkMast)) {
+ log.info("鍒犻櫎宸ヤ綔涓绘。[workNo={}]澶辫触", wrkMast.getWrkNo());
+ }
+ }
+ }
+
+}
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index b553989..8604944 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -2,11 +2,17 @@
import com.core.common.Cools;
import com.core.exception.CoolException;
+import com.zy.asrs.domain.param.CancelTaskParam;
+import com.zy.asrs.domain.param.CompleteTaskParam;
import com.zy.asrs.entity.*;
import com.zy.asrs.service.*;
+import com.zy.core.enums.WrkIoType;
+import com.zy.core.enums.WrkStsType;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+
+import java.util.Date;
@Slf4j
@Service
@@ -14,6 +20,8 @@
@Autowired
private WrkMastService wrkMastService;
+ @Autowired
+ private WrkMastLogService wrkMastLogService;
@Autowired
private WrkLastnoService wrkLastnoService;
@@ -69,4 +77,38 @@
}
}
+ public boolean completeTask(CompleteTaskParam param) {
+ Integer wrkNo = param.getWrkNo();
+ WrkMast wrkMast = wrkMastService.selectByWorkNo(wrkNo);
+ if (null == wrkMast) {
+ throw new CoolException("浠诲姟涓嶅瓨鍦�");
+ }
+
+ if (wrkMast.getIoType() == WrkIoType.IN.id) {
+ wrkMast.setWrkSts(WrkStsType.COMPLETE_INBOUND.sts);
+ }else if (wrkMast.getIoType() == WrkIoType.OUT.id) {
+ wrkMast.setWrkSts(WrkStsType.COMPLETE_OUTBOUND.sts);
+ } else if (wrkMast.getIoType() == WrkIoType.SHUTTLE_MOVE.id) {
+ wrkMast.setWrkSts(WrkStsType.COMPLETE_MOVE.sts);
+ } else if (wrkMast.getIoType() == WrkIoType.SHUTTLE_CHARGE.id) {
+ wrkMast.setWrkSts(WrkStsType.COMPLETE_CHARGE.sts);
+ }
+
+ wrkMast.setModiTime(new Date());
+ wrkMastService.updateById(wrkMast);
+ return true;
+ }
+
+ public boolean cancelTask(CancelTaskParam param) {
+ Integer wrkNo = param.getWrkNo();
+ WrkMast wrkMast = wrkMastService.selectByWorkNo(wrkNo);
+ if (null == wrkMast) {
+ throw new CoolException("浠诲姟涓嶅瓨鍦�");
+ }
+
+ wrkMastLogService.save(wrkNo);
+ wrkMastService.deleteById(wrkNo);
+ return true;
+ }
+
}
diff --git a/src/main/java/com/zy/common/web/BaseController.java b/src/main/java/com/zy/common/web/BaseController.java
index 80596c9..1d40c1d 100644
--- a/src/main/java/com/zy/common/web/BaseController.java
+++ b/src/main/java/com/zy/common/web/BaseController.java
@@ -1,5 +1,7 @@
package com.zy.common.web;
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.controller.AbstractBaseController;
@@ -11,11 +13,17 @@
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
/**
* Created by vincent on 2019-09-09
*/
public class BaseController extends AbstractBaseController {
+
+ protected static final String RANGE_TIME_LINK = " - ";
@Autowired
protected HttpServletRequest request;
@@ -43,4 +51,45 @@
}
return "";
}
+
+ /**
+ * 鍏ㄥ瓧娈垫ā绯婃悳绱�
+ * @param cls 妯″瀷绫�
+ * @param set 鎺掗櫎瀛楁闆嗗悎
+ * @param condition 鎼滅储鍐呭
+ */
+ protected <T> void allLike(Class<T> cls, Set<String> set, EntityWrapper<T> wrapper, String condition){
+ if (Cools.isEmpty(condition)) {
+ return;
+ }
+ List<String> columns = new ArrayList<>();
+ for (Field field :Cools.getAllFields(cls)){
+ if (Modifier.isFinal(field.getModifiers())
+ || Modifier.isStatic(field.getModifiers())
+ || Modifier.isTransient(field.getModifiers())){
+ continue;
+ }
+ String column = null;
+ if (field.isAnnotationPresent(TableField.class)) {
+ column = field.getAnnotation(TableField.class).value();
+ }
+ if (Cools.isEmpty(column)) {
+ column = field.getName();
+ }
+ if (!set.contains(column)) {
+ columns.add(column);
+ }
+ }
+ if (columns.isEmpty()) {
+ return;
+ }
+ for (int i=0;i<columns.size();i++){
+ if (i==0){
+ wrapper.andNew();
+ } else {
+ wrapper.or();
+ }
+ wrapper.like(columns.get(i), condition);
+ }
+ }
}
diff --git a/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java b/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java
index 46e5a64..fbc87de 100644
--- a/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java
+++ b/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java
@@ -249,7 +249,7 @@
}
// 鑾峰彇宸ヤ綔鍙�
- int workNo = commonService.getWorkNo(0);
+ int workNo = commonService.getWorkNo(WrkIoType.SHUTTLE_MOVE.id);
// 淇濆瓨宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
diff --git a/src/main/resources/mapper/WrkMastLogMapper.xml b/src/main/resources/mapper/WrkMastLogMapper.xml
index ae8dc76..10b5858 100644
--- a/src/main/resources/mapper/WrkMastLogMapper.xml
+++ b/src/main/resources/mapper/WrkMastLogMapper.xml
@@ -6,73 +6,26 @@
<resultMap id="BaseResultMap" type="com.zy.asrs.entity.WrkMastLog">
<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="ste_no" property="steNo" />
- <result column="out_most" property="outMost" />
- <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="Pdc_type" property="PdcType" />
- <result column="ctn_no" property="ctnNo" />
- <result column="full_plt" property="fullPlt" />
- <result column="pre_have" property="preHave" />
- <result column="take_none" property="takeNone" />
+ <result column="lift_no" property="liftNo" />
+ <result column="shuttle_no" property="shuttleNo" />
+ <result column="wms_wrk_no" property="wmsWrkNo" />
</resultMap>
-
- <select id="selectLatestByWorkNo" resultMap="BaseResultMap">
- select top 1 * from asr_wrk_mast_log wml,(select top 1 io_time,wrk_no from asr_wrk_mast_log
- where wrk_no = #{workNo}
- group by io_time,wrk_no
- order by io_time desc) a
- where wml.wrk_no = a.wrk_no
- and wml.io_time = a.io_time
- </select>
</mapper>
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 7950d69..c6e02e4 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -9,7 +9,6 @@
<result column="wrk_sts" property="wrkSts" />
<result column="io_type" property="ioType" />
<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" />
@@ -25,6 +24,7 @@
<result column="barcode" property="barcode" />
<result column="shuttle_no" property="shuttleNo" />
<result column="lift_no" property="liftNo" />
+ <result column="wms_wrk_no" property="wmsWrkNo" />
</resultMap>
diff --git a/src/main/webapp/views/index.html b/src/main/webapp/views/index.html
index e9c8b09..74db576 100644
--- a/src/main/webapp/views/index.html
+++ b/src/main/webapp/views/index.html
@@ -23,6 +23,7 @@
<li><a id="lift" onclick="nav(this.id)" class="nav-unselect" href="#">鎻愬崌鏈�</a></li>
<!-- <li><a id="ste" onclick="nav(this.id)" class="nav-unselect" href="#">绌挎杞�</a></li>-->
<li><a id="shuttle" onclick="nav(this.id)" class="nav-unselect" href="#">鍥涘悜绌挎杞�</a></li>
+ <li><a id="task" onclick="nav(this.id)" class="nav-unselect" href="#">浠诲姟绠$悊</a></li>
</ul>
</div>
</div>
diff --git a/src/main/webapp/views/task.html b/src/main/webapp/views/task.html
new file mode 100644
index 0000000..2e3abc3
--- /dev/null
+++ b/src/main/webapp/views/task.html
@@ -0,0 +1,323 @@
+<!DOCTYPE html>
+<html lang="en">
+
+ <head>
+ <meta charset="UTF-8">
+ <title>浠诲姟绠$悊</title>
+ <link rel="stylesheet" href="../static/vue/element/element.css">
+ <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script>
+ <script type="text/javascript" src="../static/layui/layui.js"></script>
+ <script type="text/javascript" src="../static/js/common.js"></script>
+ <script type="text/javascript" src="../static/vue/js/vue.min.js"></script>
+ <script type="text/javascript" src="../static/vue/element/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.wrk_no" placeholder="璇疯緭鍏ュ伐浣滃彿"></el-input>
+ </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 property="wrkNo" label="宸ヤ綔鍙�">
+ </el-table-column>
+ <el-table-column property="wmsWrkNo" label="WMS浠诲姟鍙�">
+ </el-table-column>
+ <el-table-column property="wrkSts$" label="宸ヤ綔鐘舵��">
+ </el-table-column>
+ <el-table-column property="ioType$" label="浠诲姟绫诲瀷">
+ </el-table-column>
+ <el-table-column property="ioPri" label="浼樺厛绾�">
+ </el-table-column>
+ <el-table-column property="sourceStaNo" label="婧愮珯">
+ </el-table-column>
+ <el-table-column property="staNo" label="鐩爣绔�">
+ </el-table-column>
+ <el-table-column property="sourceLocNo" label="婧愬簱浣�">
+ </el-table-column>
+ <el-table-column property="locNo" label="鐩爣搴撲綅">
+ </el-table-column>
+ <el-table-column property="barcode" label="鎵樼洏鐮�">
+ </el-table-column>
+ <el-table-column property="liftNo" label="鎻愬崌鏈�">
+ </el-table-column>
+ <el-table-column property="shuttleNo" label="绌挎杞�">
+ </el-table-column>
+ <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="change">淇敼</el-dropdown-item>-->
+ <el-dropdown-item command="complete">瀹屾垚</el-dropdown-item>
+ <el-dropdown-item command="cancel">鍙栨秷</el-dropdown-item>
+ <el-dropdown-item command="shuttleCommand">绌挎杞︽寚浠�</el-dropdown-item>
+ </el-dropdown-menu>
+ </el-dropdown>
+ </template>
+ </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-select v-model="taskWrkForm.siteStatus" 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-option label="鎵樼洏鍏ョ珯涓�" value="5"></el-option>
+ <el-option label="鎵樼洏鍑虹珯涓�" value="6"></el-option>
+ <el-option label="绂佺敤" value="7"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鐗╂枡鍙�" :label-width="taskWrkFormLabelWidth">
+ <el-input v-model="taskWrkForm.matnr" autocomplete="off"></el-input>
+ </el-form-item>
+ <el-form-item label="宸ヤ綔鍙�" :label-width="taskWrkFormLabelWidth">
+ <el-input v-model="taskWrkForm.wrkNo" autocomplete="off"></el-input>
+ </el-form-item>
+ <el-form-item label="鎵樼洏鐮�" :label-width="taskWrkFormLabelWidth">
+ <el-input v-model="taskWrkForm.barcode" 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: 30,
+ pageTotal: 0,
+ tableSearchParam: {
+ wrk_no: null,
+ },
+ taskWrkFormVisible: false,
+ taskWrkForm: {
+ siteStatus: '1',
+ matnr: '',
+ wrkNo: '',
+ barcode: '',
+ },
+ taskWrkFormLabelWidth: '80px',
+ taskWrkFormTitle: ''
+ },
+ created() {
+ this.init()
+ },
+ methods: {
+ init() {
+ 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 + "/wrkMast/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 "complete":
+ this.completeTask(row)
+ break;
+ case "cancel":
+ this.cancelTask(row)
+ break;
+ }
+ },
+ completeTask(row) {
+ let that = this
+ this.$confirm('纭畾瀹屾垚璇ヤ换鍔″悧锛�', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ $.ajax({
+ url: baseUrl + "/openapi/completeTask",
+ contentType: 'application/json',
+ headers: {
+ 'token': localStorage.getItem('token')
+ },
+ data: JSON.stringify({
+ wrkNo: row.wrkNo,
+ }),
+ 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'
+ });
+ }
+ }
+ });
+ }).catch(() => {
+ // this.$message({
+ // type: 'info',
+ // message: '宸插彇娑堝垹闄�'
+ // });
+ });
+ },
+ cancelTask(row) {
+ let that = this
+ this.$confirm('纭畾鍙栨秷璇ヤ换鍔″悧锛�', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ $.ajax({
+ url: baseUrl + "/openapi/cancelTask",
+ contentType: 'application/json',
+ headers: {
+ 'token': localStorage.getItem('token')
+ },
+ data: JSON.stringify({
+ wrkNo: row.wrkNo,
+ }),
+ 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'
+ });
+ }
+ }
+ });
+ }).catch(() => {
+ // this.$message({
+ // type: 'info',
+ // message: '宸插彇娑堝垹闄�'
+ // });
+ });
+ },
+ taskWrkFormConfirm() {
+ //淇敼鎸囧畾浠诲姟鏁版嵁
+ let that = this
+ $.ajax({
+ url: baseUrl + "/basCacheSite/update/auth",
+ headers: {
+ 'token': localStorage.getItem('token')
+ },
+ data: {
+ id: this.taskWrkForm.id,
+ siteStatus: this.taskWrkForm.siteStatus,
+ matnr: this.taskWrkForm.matnr,
+ wrkNo: this.taskWrkForm.wrkNo,
+ barcode: this.taskWrkForm.barcode,
+ },
+ 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