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