From 1c35f2b1215c136625c3a2eda0c1a50772bddad1 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期二, 23 九月 2025 16:31:14 +0800 Subject: [PATCH] 任务工作档修改 --- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 2 src/main/webapp/views/task/task.html | 54 - src/main/java/com/zy/asrs/entity/Task.java | 483 +++++++++++++++++ src/main/java/com/zy/asrs/controller/TaskController.java | 20 src/main/webapp/static/js/wrkMast/wrkMast.js | 31 - src/main/java/com/zy/asrs/entity/TaskDetl.java | 3 src/main/webapp/views/task/taskDetl.html | 93 +++ /dev/null | 391 ------------- src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java | 263 +++++++++ src/main/java/com/zy/asrs/service/impl/TaskLogServiceImpl.java | 37 + src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 2 src/main/webapp/static/js/task/task.js | 187 ++++- src/main/webapp/views/.DS_Store | 0 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 53 + src/main/java/com/zy/asrs/service/TaskLogService.java | 1 src/main/webapp/static/js/common.js | 1 src/main/java/com/zy/asrs/service/TaskService.java | 5 17 files changed, 1,090 insertions(+), 536 deletions(-) diff --git a/src/main/java/basAreas.sql b/src/main/java/basAreas.sql deleted file mode 100644 index 3204d1b..0000000 --- a/src/main/java/basAreas.sql +++ /dev/null @@ -1,18 +0,0 @@ --- save basAreas record --- mysql -insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAreas/basAreas.html', 'basAreas绠$悊', null , '2', null , '1'); - -insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAreas#view', '鏌ヨ', '', '3', '0', '1'); -insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAreas#btn-add', '鏂板', '', '3', '1', '1'); -insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAreas#btn-edit', '缂栬緫', '', '3', '2', '1'); -insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAreas#btn-delete', '鍒犻櫎', '', '3', '3', '1'); -insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAreas#btn-export', '瀵煎嚭', '', '3', '4', '1'); - --- sqlserver -insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAreas/basAreas.html', N'basAreas绠$悊', null, '2', null, '1'); - -insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAreas#view', N'鏌ヨ', '', '3', '0', '1'); -insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAreas#btn-add', N'鏂板', '', '3', '1', '1'); -insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAreas#btn-edit', N'缂栬緫', '', '3', '2', '1'); -insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAreas#btn-delete', N'鍒犻櫎', '', '3', '3', '1'); -insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAreas#btn-export', N'瀵煎嚭', '', '3', '4', '1'); diff --git a/src/main/java/com/zy/asrs/controller/TaskController.java b/src/main/java/com/zy/asrs/controller/TaskController.java index ba0b172..447233e 100644 --- a/src/main/java/com/zy/asrs/controller/TaskController.java +++ b/src/main/java/com/zy/asrs/controller/TaskController.java @@ -85,6 +85,26 @@ return R.ok(); } + + @RequestMapping("/task/control") + @ManagerAuth(memo = "鎵嬪姩澶勭悊宸ヤ綔妗�") + public R handControlWrkMast(@RequestParam String workNo, + @RequestParam Integer type){ + if (type == 1) { + taskService.completeWrkMast(workNo, getUserId()); + return R.ok("宸ヤ綔妗e凡瀹屾垚"); + } else if (type == 2) { + taskService.cancelWrkMast(workNo, getUserId()); + return R.ok("宸ヤ綔妗e凡鍙栨秷"); + } else if (type == 3) { + taskService.pickWrkMast(workNo, getUserId()); + return R.ok("宸ヤ綔妗e凡鎷f枡"); + } + return R.ok(); + } + + + @RequestMapping(value = "/task/export/auth") @ManagerAuth public R export(@RequestBody JSONObject param){ diff --git a/src/main/java/com/zy/asrs/entity/Task.java b/src/main/java/com/zy/asrs/entity/Task.java index 25536fb..51fff6b 100644 --- a/src/main/java/com/zy/asrs/entity/Task.java +++ b/src/main/java/com/zy/asrs/entity/Task.java @@ -4,13 +4,22 @@ import com.baomidou.mybatisplus.enums.IdType; import com.baomidou.mybatisplus.annotations.TableField; +import com.core.common.SpringUtils; +import com.zy.asrs.service.*; +import com.zy.system.entity.User; +import com.zy.system.service.UserService; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import com.baomidou.mybatisplus.annotations.TableName; +import lombok.experimental.Accessors; + import java.io.Serializable; +import java.text.SimpleDateFormat; +import java.util.Date; @Data @TableName("agv_task") +@Accessors(chain = true) public class Task implements Serializable { private static final long serialVersionUID = 1L; @@ -26,15 +35,479 @@ @TableField("task_type") private String taskType; + /** + * 宸ヤ綔鍙� + */ + @ApiModelProperty(value= "宸ヤ綔鍙�") + @TableField("wrk_no") + private Integer wrkNo; + + @ApiModelProperty(value= "") + @TableField("inv_wh") + private String invWh; + + @ApiModelProperty(value= "") + private Date ymd; + + @ApiModelProperty(value= "") + private String mk; + + @ApiModelProperty(value= "") + @TableField("whs_type") + private Integer whsType; + + /** + * 宸ヤ綔鐘舵�� + */ + @ApiModelProperty(value= "宸ヤ綔鐘舵��") + @TableField("wrk_sts") + private Long wrkSts; + + /** + * 鍏ュ嚭搴撶被鍨� + */ + @ApiModelProperty(value= "鍏ュ嚭搴撶被鍨�") + @TableField("io_type") + private Integer ioType; + + /** + * 鍫嗗灈鏈� + */ + @ApiModelProperty(value= "鍫嗗灈鏈�") + @TableField("crn_no") + private Integer crnNo; + + @ApiModelProperty(value= "") + @TableField("sheet_no") + private String sheetNo; + + /** + * 浼樺厛绾� + */ + @ApiModelProperty(value= "浼樺厛绾�") + @TableField("io_pri") + private Double ioPri; + + @ApiModelProperty(value= "") + @TableField("wrk_date") + private Date wrkDate; + + /** + * 鐩爣搴撲綅 + */ + @ApiModelProperty(value= "鐩爣搴撲綅") + @TableField("loc_no") + private String locNo; + + /** + * 鐩爣绔� + */ + @ApiModelProperty(value= "鐩爣绔�") + @TableField("sta_no") + private String staNo; + + /** + * 婧愮珯 + */ + @ApiModelProperty(value= "婧愮珯") + @TableField("source_sta_no") + private String sourceStaNo; + + /** + * 婧愬簱浣� + */ + @ApiModelProperty(value= "婧愬簱浣�") + @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; + + @ApiModelProperty(value= "") + @TableField("plc_str_time") + private Date plcStrTime; + + @ApiModelProperty(value= "") + @TableField("crn_pos_time") + private Date crnPosTime; + + @ApiModelProperty(value= "") + @TableField("load_time") + private Double loadTime; + + @ApiModelProperty(value= "") + @TableField("exp_time") + private Double expTime; + + @ApiModelProperty(value= "") + @TableField("ref_wrkno") + private Double refWrkno; + + /** + * 鎷f枡鏃堕棿 + */ + @ApiModelProperty(value= "鎷f枡鏃堕棿") + @TableField("ref_iotime") + private Date refIotime; + + /** + * 淇敼浜哄憳 + */ + @ApiModelProperty(value= "淇敼浜哄憳") + @TableField("modi_user") + private Long modiUser; + + /** + * 淇敼鏃堕棿 + */ + @ApiModelProperty(value= "淇敼鏃堕棿") + @TableField("modi_time") + private Date modiTime; + + /** + * 鍒涘缓鑰� + */ + @ApiModelProperty(value= "鍒涘缓鑰�") + @TableField("appe_user") + private Long appeUser; + + /** + * 娣诲姞鏃堕棿 + */ + @ApiModelProperty(value= "娣诲姞鏃堕棿") + @TableField("appe_time") + private Date appeTime; + + @ApiModelProperty(value= "") + @TableField("pause_mk") + private String pauseMk; + + @ApiModelProperty(value= "") + @TableField("error_time") + private Date errorTime; + + @ApiModelProperty(value= "") + @TableField("error_memo") + private String errorMemo; + + @ApiModelProperty(value= "") + @TableField("ctn_kind") + private Integer ctnKind; + + @ApiModelProperty(value= "") + @TableField("manu_type") + private String manuType; + + /** + * 澶囨敞 + */ + @ApiModelProperty(value= "澶囨敞") + private String memo; + + @ApiModelProperty(value= "") + @TableField("sc_weight") + private Double scWeight; + + @ApiModelProperty(value= "") + @TableField("log_mk") + private String logMk; + + @ApiModelProperty(value= "") + @TableField("log_err_time") + private Date logErrTime; + + @ApiModelProperty(value= "") + @TableField("log_err_memo") + private String logErrMemo; + + /** + * 鏉$爜 + */ + @ApiModelProperty(value= "鏉$爜") + private String barcode; + + // Y:閿�鍞鍗曞嚭搴撲换鍔� + @ApiModelProperty(value= "") + @TableField("Pdc_type") + private String PdcType; + + @ApiModelProperty(value= "") + @TableField("ctn_no") + private String ctnNo; + + /** + * 婊℃澘 + */ + @ApiModelProperty(value= "婊℃澘") + @TableField("full_plt") + private String fullPlt; + + /** + * 鍏堝叆鍝� / 鍙岄噸鍏ュ簱 + */ + @ApiModelProperty(value= "鍏堝叆鍝�") + @TableField("pre_have") + private String preHave; + + /** + * 绌烘搷浣� / 鍙栬揣鏃犵 + */ + @ApiModelProperty(value= "绌烘搷浣�") + @TableField("take_none") + private String takeNone; + public Task() {} - public Task(String taskType) { - this.taskType = taskType; + public String getYmd$(){ + if (Cools.isEmpty(this.ymd)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ymd); } -// Task task = new Task( -// null // 浠诲姟绫诲瀷锛� agv , crn -// ); + public String getWrkSts$(){ + BasWrkStatusService service = SpringUtils.getBean(BasWrkStatusService.class); + BasWrkStatus basWrkStatus = service.selectById(this.wrkSts); + if (!Cools.isEmpty(basWrkStatus)){ + return String.valueOf(basWrkStatus.getWrkDesc()); + } + return null; + } + + public String getIoType$(){ + BasWrkIotypeService service = SpringUtils.getBean(BasWrkIotypeService.class); + BasWrkIotype basWrkIotype = service.selectById(this.ioType); + if (!Cools.isEmpty(basWrkIotype)){ + return String.valueOf(basWrkIotype.getIoDesc()); + } + return null; + } + + public String getCrnNo$(){ + BasCrnpService service = SpringUtils.getBean(BasCrnpService.class); + BasCrnp basCrnp = service.selectById(this.crnNo); + if (!Cools.isEmpty(basCrnp)){ + return String.valueOf(basCrnp.getCrnNo()); + } + return null; + } + + public String getWrkDate$(){ + if (Cools.isEmpty(this.wrkDate)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.wrkDate); + } + + public String getLocNo$(){ + LocMastService service = SpringUtils.getBean(LocMastService.class); + LocMast locMast = service.selectById(this.locNo); + if (!Cools.isEmpty(locMast)){ + return String.valueOf(locMast.getLocNo()); + } + return null; + } + + public String getTaskType$(){ + if (Cools.isEmpty(this.taskType)){return null;} + if (taskType.equals("agv")) { + return "AGV浠诲姟"; + } else { + return "鍫嗗灈鏈轰换鍔�"; + } + } + public String getStaNo$(){ + BasDevpService service = SpringUtils.getBean(BasDevpService.class); + BasDevp basDevp = service.selectById(this.staNo); + if (!Cools.isEmpty(basDevp)){ + return String.valueOf(basDevp.getDevNo()); + } + return null; + } + + public String getSourceStaNo$(){ + BasDevpService service = SpringUtils.getBean(BasDevpService.class); + BasDevp basDevp = service.selectById(this.sourceStaNo); + if (!Cools.isEmpty(basDevp)){ + return String.valueOf(basDevp.getDevNo()); + } + return null; + } + + public String getSourceLocNo$(){ + LocMastService service = SpringUtils.getBean(LocMastService.class); + LocMast locMast = service.selectById(this.sourceLocNo); + if (!Cools.isEmpty(locMast)){ + return String.valueOf(locMast.getLocNo()); + } + return null; + } + + public String getIoTime$(){ + if (Cools.isEmpty(this.ioTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ioTime); + } + + public String getCrnStrTime$(){ + if (Cools.isEmpty(this.crnStrTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.crnStrTime); + } + + public String getCrnEndTime$(){ + if (Cools.isEmpty(this.crnEndTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.crnEndTime); + } + + public String getPlcStrTime$(){ + if (Cools.isEmpty(this.plcStrTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.plcStrTime); + } + + public String getCrnPosTime$(){ + if (Cools.isEmpty(this.crnPosTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.crnPosTime); + } + + public String getRefIotime$(){ + if (Cools.isEmpty(this.refIotime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.refIotime); + } + + public String getModiUser$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.selectById(this.modiUser); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getUsername()); + } + return null; + } + + public String getModiTime$(){ + if (Cools.isEmpty(this.modiTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime); + } + + public String getAppeUser$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.selectById(this.appeUser); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getUsername()); + } + return null; + } + + public String getAppeTime$(){ + if (Cools.isEmpty(this.appeTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime); + } + + public String getErrorTime$(){ + if (Cools.isEmpty(this.errorTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.errorTime); + } + + + public String getLogErrTime$(){ + if (Cools.isEmpty(this.logErrTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.logErrTime); + } } diff --git a/src/main/java/com/zy/asrs/entity/TaskDetl.java b/src/main/java/com/zy/asrs/entity/TaskDetl.java index cde2747..2467477 100644 --- a/src/main/java/com/zy/asrs/entity/TaskDetl.java +++ b/src/main/java/com/zy/asrs/entity/TaskDetl.java @@ -4,6 +4,8 @@ import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableField; import java.text.SimpleDateFormat; import java.util.Date; + +import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; import com.core.common.SpringUtils; import com.zy.system.service.UserService; @@ -22,6 +24,7 @@ import java.io.Serializable; @Data +@Accessors(chain = true) @TableName("agv_task_detl") public class TaskDetl implements Serializable { diff --git a/src/main/java/com/zy/asrs/service/TaskLogService.java b/src/main/java/com/zy/asrs/service/TaskLogService.java index 124755b..b855a03 100644 --- a/src/main/java/com/zy/asrs/service/TaskLogService.java +++ b/src/main/java/com/zy/asrs/service/TaskLogService.java @@ -5,4 +5,5 @@ public interface TaskLogService extends IService<TaskLog> { + boolean save(Integer wrkNo); } diff --git a/src/main/java/com/zy/asrs/service/TaskService.java b/src/main/java/com/zy/asrs/service/TaskService.java index 1525d66..30bb57f 100644 --- a/src/main/java/com/zy/asrs/service/TaskService.java +++ b/src/main/java/com/zy/asrs/service/TaskService.java @@ -5,4 +5,9 @@ public interface TaskService extends IService<Task> { + void completeWrkMast(String workNo, Long userId); + + void cancelWrkMast(String workNo, Long userId); + + void pickWrkMast(String workNo, Long userId); } diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java index c48df3a..b01b75f 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -97,8 +97,15 @@ @Resource private OrderDetlPakoutService orderDetlPakoutService; + @Autowired private LocCacheService locCacheService; + + @Autowired + private TaskService taskService; + + @Autowired + private TaskDetlService taskDetlService; @Override @Transactional @@ -1190,32 +1197,32 @@ // 鑾峰彇宸ヤ綔鍙� int workNo = commonService.getWorkNo(WorkNoType.PICK.type); // 淇濆瓨宸ヤ綔妗� - WrkMast wrkMast = new WrkMast(); - wrkMast.setWrkNo(workNo); - wrkMast.setIoTime(now); - wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID - wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇 - wrkMast.setTaskType("agv"); - wrkMast.setIoPri(10D); - wrkMast.setLocNo(loc.getLocNo()); // 鐩爣搴撲綅 - wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 - wrkMast.setPicking("N"); // 鎷f枡 - wrkMast.setExitMk("N"); // 閫�鍑� - wrkMast.setSourceLocNo(orgSite); - wrkMast.setEmptyMk(loc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘 - wrkMast.setBarcode(barcode); // 鎵樼洏鐮� - wrkMast.setLinkMis("N"); - wrkMast.setAppeUser(userId); - wrkMast.setAppeTime(now); - wrkMast.setModiUser(userId); - wrkMast.setModiTime(now); - if (!wrkMastService.insert(wrkMast)) { + Task task = new Task(); + task.setWrkNo(workNo) + .setIoTime(now) + .setWrkSts(11L) // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID + .setIoType(11) // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇 + .setTaskType("agv") + .setIoPri(10D) + .setLocNo(loc.getLocNo()) // 鐩爣搴撲綅 + .setFullPlt("Y") // 婊℃澘锛歒 + .setPicking("N") // 鎷f枡 + .setExitMk("N")// 閫�鍑� + .setSourceLocNo(orgSite) + .setEmptyMk(loc.getLocSts().equals("D") ? "Y" : "N")// 绌烘澘 + .setBarcode(barcode)// 鎵樼洏鐮� + .setLinkMis("N") + .setAppeUser(userId) + .setAppeTime(now) + .setModiUser(userId) + .setModiTime(now); + if (!taskService.insert(task)) { throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } - List<WrkDetl> taskDetls = new ArrayList<>(); + List<TaskDetl> taskDetls = new ArrayList<>(); detls.forEach(detl -> { - WrkDetl wrkDetl = new WrkDetl(); + TaskDetl wrkDetl = new TaskDetl(); BeanUtils.copyProperties(detl, wrkDetl); wrkDetl.setWrkNo(workNo) .setIoTime(new Date()) @@ -1232,7 +1239,7 @@ taskDetls.add(wrkDetl); }); //淇濆瓨宸ヤ綔妗f槑缁� - if (!wrkDetlService.insertBatch(taskDetls)) { + if (!taskDetlService.insertBatch(taskDetls)) { throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); } // 淇敼鐩爣搴撲綅鐘舵�� diff --git a/src/main/java/com/zy/asrs/service/impl/TaskLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskLogServiceImpl.java index a413b01..cd66568 100644 --- a/src/main/java/com/zy/asrs/service/impl/TaskLogServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/TaskLogServiceImpl.java @@ -1,12 +1,49 @@ package com.zy.asrs.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.exception.CoolException; +import com.zy.asrs.entity.Task; +import com.zy.asrs.entity.WrkMast; +import com.zy.asrs.entity.WrkMastLog; import com.zy.asrs.mapper.TaskLogMapper; import com.zy.asrs.entity.TaskLog; import com.zy.asrs.service.TaskLogService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.zy.asrs.service.TaskService; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Objects; @Service("taskLogService") public class TaskLogServiceImpl extends ServiceImpl<TaskLogMapper, TaskLog> implements TaskLogService { + @Autowired + private TaskService taskService; + + /** + * @author Ryan + * @date 2025/9/23 + * @description: 淇濆瓨浠诲姟鏃ュ織 + * @version 1.0 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean save(Integer wrkNo) { + Task task = taskService.selectOne(new EntityWrapper<Task>().eq("wrk_no", wrkNo)); + if (Objects.isNull(task)) { + throw new CoolException("鏁版嵁閿欒锛氫换鍔′笉瀛樺湪锛侊紒"); + } + TaskLog taskLog = new TaskLog(); + BeanUtils.copyProperties(task, taskLog); + taskLog.setLogId(task.getId()); + + if (!this.insert(taskLog)) { + throw new CoolException("浠诲姟鏃ュ織淇濆瓨澶辫触锛侊紒"); + } + + return false; + } } diff --git a/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java index 68b9ca5..154b87d 100644 --- a/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/TaskServiceImpl.java @@ -1,12 +1,273 @@ package com.zy.asrs.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.exception.CoolException; +import com.zy.asrs.entity.*; import com.zy.asrs.mapper.TaskMapper; -import com.zy.asrs.entity.Task; +import com.zy.asrs.service.TaskLogService; import com.zy.asrs.service.TaskService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.zy.asrs.utils.OrderInAndOutUtil; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; +import java.util.concurrent.TimeUnit; @Service("taskService") public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements TaskService { + @Autowired + private TaskLogService taskLogService; + + @Override + @Transactional + public void completeWrkMast(String workNo, Long userId) { + Task wrkMast = this.selectOne(new EntityWrapper<Task>().eq("wrk_no", workNo)); + if (Cools.isEmpty(wrkMast)) { + throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪"); + } + if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) { + throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚"); + } + // 鍏ュ簱 + 搴撲綅杞Щ + if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType() == 11)) { + wrkMast.setWrkSts(4L); + // 鍑哄簱 + } else if (wrkMast.getWrkSts() > 10) { + wrkMast.setWrkSts(14L); + } + Date now = new Date(); + wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true)); + wrkMast.setCrnEndTime(now); + wrkMast.setModiTime(now); + wrkMast.setModiUser(userId); + // 瀹屾垚鎿嶄綔浜哄憳璁板綍 + wrkMast.setManuType("鎵嬪姩瀹屾垚"); + if (!this.updateById(wrkMast)) { + throw new CoolException("淇敼宸ヤ綔妗eけ璐�"); + } + } + + @Override + @Transactional + public void pickWrkMast(String workNo, Long userId) { + Task wrkMast = this.selectById(workNo); + if (Cools.isEmpty(wrkMast)) { + throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪"); + } + // 鍏ュ嚭搴撶被鍨嬪垽鏂� + if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) { + throw new CoolException("褰撳墠鍏ュ嚭搴撶被鍨嬫棤娉曡繘琛屾搷浣�"); + } + // 宸ヤ綔鐘舵�佸垽鏂� + if (wrkMast.getWrkSts() < 11 || wrkMast.getWrkSts() == 15) { + throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曡繘琛屾搷浣�"); + } + // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。 +// if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { +// throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触"); +// } + // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� + if (!taskLogService.save(wrkMast.getWrkNo())) { + throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�"); + } + // 鑾峰彇鐩爣绔� + Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() + .eq("type_no", wrkMast.getIoType() - 50) + .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯 + .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿 + StaDesc staDesc = staDescService.selectOne(wrapper); + if (Cools.isEmpty(staDesc)) { + throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�"); + } + Date now = new Date(); + // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�) + Integer staNo = staDesc.getCrnStn(); + // 鏇存柊宸ヤ綔妗f暟鎹姸鎬� + wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57 + wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋 + wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯 + wrkMast.setStaNo(staNo + ""); // 鐩爣绔� + wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣� + wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌� + wrkMast.setModiTime(now); + wrkMast.setModiUser(userId); + if (!wrkMastService.updateById(wrkMast)) { + throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�"); + } + // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴� + LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); + locMast.setLocSts("Q"); + locMast.setModiTime(now); + locMast.setModiUser(userId); + if (!locMastService.updateById(locMast)) { + throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�"); + } + } + + + + @Override + @Transactional + public void cancelWrkMast(String workNo, Long userId) { + Date now = new Date(); + WrkMast wrkMast = wrkMastService.selectById(workNo); + if (Cools.isEmpty(wrkMast)) { + throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪"); + } + String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣� + String locSts = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬� + // 鍏ュ簱鍙栨秷锛堜慨鏀圭洰鏍囧簱浣嶏級 + if (wrkMast.getWrkSts() < 4) { + locNo = wrkMast.getLocNo(); + locSts = "O"; + + // 搴撲綅杞Щ + if (wrkMast.getIoType() == 11) { + // 搴撲綅杞Щ锛氭簮搴撲綅 + LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); + if (Cools.isEmpty(locMast)) { + throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:" + wrkMast.getSourceLocNo()); + } + locMast.setLocSts(wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F"); + locMast.setModiTime(now); + locMast.setModiUser(userId); + locMastService.updateById(locMast); + } + // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛� + } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) { + locNo = wrkMast.getSourceLocNo(); + // 鍑哄簱 ===>> F.鍦ㄥ簱 + if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) { + locSts = "F"; + // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉� + } else if (wrkMast.getIoType() == 110) { + locSts = "D"; + // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉� + } else if (wrkMast.getIoType() == 11) { + locSts = wrkMast.getFullPlt().equalsIgnoreCase("N") ? "D" : "F"; + // 搴撲綅杞Щ锛氱洰鏍囧簱浣� + LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); + if (Cools.isEmpty(locMast)) { + throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:" + wrkMast.getSourceLocNo()); + } + locMast.setLocSts("O"); + locMast.setModiTime(now); + locMast.setModiUser(userId); + locMastService.updateById(locMast); + } + } else { + throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�"); + } + + //鍙栨秷鍏ュ簱宸ヤ綔妗f椂锛屾煡璇㈢粍鎵樿〃锛屽鏋滄湁灏嗙姸鎬佹敼涓哄緟澶勭悊 + if (wrkMast.getIoType() == 1) { + List<WaitPakin> waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode())); + for (WaitPakin waitPakin : waitPakins) { + if (!Cools.isEmpty(waitPakin)) { + waitPakin.setIoStatus("N"); + waitPakin.setLocNo(""); + waitPakinService.update(waitPakin, new EntityWrapper<WaitPakin>() +// .eq("order_no", waitPakin.getOrderNo()) + .eq("zpallet", waitPakin.getZpallet()) + .eq("matnr", waitPakin.getMatnr()) + .eq("batch", waitPakin.getBatch())); + } + } + } + + //鍙栨秷鍑哄簱宸ヤ綔妗f椂锛屾煡璇㈠崟鎹鐞嗚〃锛屽洖婊氫綔涓氫腑鏁伴噺 + if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) { + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + for (WrkDetl wrkDetl : wrkDetls) { + if (!Cools.isEmpty(wrkDetl.getOrderNo())) { +// if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) { +// throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触"); +// } + OrderInAndOutUtil.decrease(Boolean.FALSE, wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), + wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), + wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme()); + + //淇敼璁㈠崟涓昏〃鐘舵��,娌℃湁浣滀笟鏁伴噺鏃舵墠鍙互淇敼 + boolean flag = true; +// List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no",wrkDetl.getOrderNo())); + Order order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, wrkDetl.getOrderNo()); + List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(Boolean.FALSE, order.getId()); + for (OrderDetl orderDetl : orderDetls) { + if (orderDetl.getWorkQty() > 0) { + flag = false; + } + } + if (flag) { +// Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo())); + if (!Cools.isEmpty(order) && order.getSettle() == 2) { + order.setSettle(1L); + order.setUpdateBy(userId); + order.setUpdateTime(now); + } +// if(!orderService.update(order,new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()))){ +// throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�"); +// } + OrderInAndOutUtil.updateOrder(Boolean.FALSE, order.getId(), order.getSettle(), userId); + } + } + } + + } + +// // 璁㈠崟鍏宠仈 +// List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); +// for (WrkDetl wrkDetl : wrkDetls) { +// if (!Cools.isEmpty(wrkDetl.getOrderNo())) { +// if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) { +// throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触"); +// } +// // 鐢熸垚鏂扮殑鍑哄簱浣滀笟 +//// stockOutRe(wrkMast, wrkDetls); +// } +// } + + // 鍙栨秷鎿嶄綔浜哄憳璁板綍 + wrkMast.setManuType("鎵嬪姩鍙栨秷"); + wrkMast.setModiUser(userId); + wrkMast.setModiTime(now); + if (!wrkMastService.updateById(wrkMast)) { + throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐�"); + } + // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� + if (!wrkMastLogService.save(wrkMast.getWrkNo())) { + throw new CoolException("淇濆瓨宸ヤ綔鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo()); + } + // 鍒犻櫎宸ヤ綔涓绘。 + boolean wrkMastRes = wrkMastService.deleteById(wrkMast); + + if (wrkMast.getIoType() != 10 && wrkMast.getIoType() != 110) { + // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。 + if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { +// throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo()); + } + // 鍒犻櫎宸ヤ綔妗f槑缁� + boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo)); + } + + // 淇敼搴撲綅鐘舵�� + LocMast locMast = locMastService.selectById(locNo); + if (Cools.isEmpty(locMast)) { + throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:" + locNo); + } + locMast.setLocSts(locSts); + locMast.setModiTime(now); + locMast.setModiUser(userId); + boolean locMastRes = locMastService.updateById(locMast); + if (!wrkMastRes || !locMastRes) { + throw new CoolException("淇濆瓨鏁版嵁澶辫触"); + } + } + } diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index ede2bb1..f3821ff 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -813,7 +813,7 @@ @Override @Transactional public void completeWrkMast(String workNo, Long userId) { - WrkMast wrkMast = wrkMastService.selectById(workNo); + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", workNo)); if (Cools.isEmpty(wrkMast)) { throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪"); } diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java index 4389d7f..06aec8e 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -108,7 +108,7 @@ } Set<Long> list = apallet.stream().map(WaitPakin::getOrderId).collect(Collectors.toSet()); - List<OrderPakin> pakins = orderPakinService.selectList(new EntityWrapper<OrderPakin>().in("order_id", list)); + List<OrderPakin> pakins = orderPakinService.selectList(new EntityWrapper<OrderPakin>().in("id", list)); if (Objects.isNull(pakins) || pakins.isEmpty()) { throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�"); } diff --git a/src/main/java/locCache.sql b/src/main/java/locCache.sql deleted file mode 100644 index ccc54fe..0000000 --- a/src/main/java/locCache.sql +++ /dev/null @@ -1,18 +0,0 @@ --- save locCache record --- mysql -insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCache/locCache.html', '缂撳瓨搴撳尯', null , '2', null , '1'); - -insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCache#view', '鏌ヨ', '', '3', '0', '1'); -insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCache#btn-add', '鏂板', '', '3', '1', '1'); -insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCache#btn-edit', '缂栬緫', '', '3', '2', '1'); -insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCache#btn-delete', '鍒犻櫎', '', '3', '3', '1'); -insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'locCache#btn-export', '瀵煎嚭', '', '3', '4', '1'); - --- sqlserver -insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCache/locCache.html', N'缂撳瓨搴撳尯', null, '2', null, '1'); - -insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCache#view', N'鏌ヨ', '90594', '3', '0', '1'); -insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCache#btn-add', N'鏂板', '90594', '3', '1', '1'); -insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCache#btn-edit', N'缂栬緫', '90594', '3', '2', '1'); -insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCache#btn-delete', N'鍒犻櫎', '90594', '3', '3', '1'); -insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'locCache#btn-export', N'瀵煎嚭', '90594', '3', '4', '1'); diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js index a6cda0d..9328d87 100644 --- a/src/main/webapp/static/js/common.js +++ b/src/main/webapp/static/js/common.js @@ -249,7 +249,6 @@ ,{field: 'batch', align: 'center',title: '璐у搧鐗瑰緛', sort:true} ,{field: 'anfme', align: 'center',title: '鏁伴噺', hide: false} ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜', hide: false} - ,{field: 'specs', align: 'center',title: '瑙勬牸', hide: false} ,{field: 'model', align: 'center',title: '浠g爜', hide: true} ,{field: 'color', align: 'center',title: '棰滆壊', hide: true} diff --git a/src/main/webapp/static/js/task/task.js b/src/main/webapp/static/js/task/task.js index ff17d6e..f1b3380 100644 --- a/src/main/webapp/static/js/task/task.js +++ b/src/main/webapp/static/js/task/task.js @@ -1,7 +1,7 @@ var pageCurr; layui.config({ base: baseUrl + "/static/layui/lay/modules/" -}).use(['table','laydate', 'form', 'admin'], function(){ +}).use(['table', 'laydate', 'form', 'admin'], function () { var table = layui.table; var $ = layui.jquery; var layer = layui.layer; @@ -13,7 +13,7 @@ tableIns = table.render({ elem: '#task', headers: {token: localStorage.getItem('token')}, - url: baseUrl+'/task/list/auth', + url: baseUrl + '/task/list/auth', page: true, limit: 15, limits: [15, 30, 50, 100, 200, 500], @@ -22,10 +22,23 @@ height: 'full-120', cols: [[ {type: 'checkbox'} - ,{field: 'id', align: 'center',title: ''} - ,{field: 'taskType', align: 'center',title: '浠诲姟绫诲瀷锛� agv , crn'} - - ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} + , {field: 'wrkNo', align: 'center', title: '宸ヤ綔鍙�', sort: true, width: 115} + , {field: 'ioTime$', align: 'center', title: '宸ヤ綔鏃堕棿', sort: true, width: 160} + , {field: 'wrkSts$', align: 'center', title: '宸ヤ綔鐘舵��', width: 150} + , {field: 'ioType$', align: 'center', title: '鍏ュ嚭搴撶被鍨�', width: 150} + , {field: 'ioPri', align: 'center', title: '浼樺厛绾�'} + , {field: 'taskType$', align: 'center', title: '浠诲姟绫诲瀷'} + , {field: 'crnNo$', align: 'center', title: '鍫嗗灈鏈�', hide: true} + , {field: 'sourceStaNo$', align: 'center', title: '婧愮珯'} + , {field: 'staNo$', align: 'center', title: '鐩爣绔�'} + , {field: 'sourceLocNo', align: 'center', title: '婧愬簱浣�'} + , {field: 'locNo', align: 'center', title: '鐩爣搴撲綅'} + , {field: 'barcode', align: 'center', title: '鏉$爜'} + , {field: 'preHave', align: 'center', title: '鍏堝叆鍝�', hide: true} + , {field: 'takeNone', align: 'center', title: '绌烘搷浣�', hide: true} + , {field: 'modiUser$', align: 'center', title: '淇敼浜哄憳', hide: true} + , {field: 'modiTime$', align: 'center', title: '淇敼鏃堕棿', hide: true, width: 160} + , {fixed: 'right', title: '鎿嶄綔', align: 'center', toolbar: '#operate', width: 250} ]], request: { pageName: 'curr', @@ -42,11 +55,11 @@ response: { statusCode: 200 }, - done: function(res, curr, count) { + done: function (res, curr, count) { if (res.code === 403) { - top.location.href = baseUrl+"/"; + top.location.href = baseUrl + "/"; } - pageCurr=curr; + pageCurr = curr; limit(); } }); @@ -54,7 +67,7 @@ // 鐩戝惉鎺掑簭浜嬩欢 table.on('sort(task)', function (obj) { var searchData = {}; - $.each($('#search-box [name]').serializeArray(), function() { + $.each($('#search-box [name]').serializeArray(), function () { searchData[this.name] = this.value; }); searchData['orderByField'] = obj.field; @@ -68,23 +81,23 @@ // 鐩戝惉澶村伐鍏锋爮浜嬩欢 table.on('toolbar(task)', function (obj) { var checkStatus = table.checkStatus(obj.config.id).data; - switch(obj.event) { + switch (obj.event) { case 'addData': showEditModel(); break; case 'deleteData': - if (checkStatus.length === 0) { - layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); - return; - } - del(checkStatus.map(function (d) { - return d.id; - })); - break; + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + del(checkStatus.map(function (d) { + return d.id; + })); + break; case 'exportData': - admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ - var titles=[]; - var fields=[]; + admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function () { + var titles = []; + var fields = []; obj.config.cols[0].map(function (col) { if (col.type === 'normal' && col.hide === false && col.toolbar == null) { titles.push(col.title); @@ -92,7 +105,7 @@ } }); var exportData = {}; - $.each($('#search-box [name]').serializeArray(), function() { + $.each($('#search-box [name]').serializeArray(), function () { exportData[this.name] = this.value; }); var param = { @@ -100,18 +113,18 @@ 'fields': fields }; $.ajax({ - url: baseUrl+"/task/export/auth", + url: baseUrl + "/task/export/auth", headers: {'token': localStorage.getItem('token')}, data: JSON.stringify(param), - dataType:'json', - contentType:'application/json;charset=UTF-8', + dataType: 'json', + contentType: 'application/json;charset=UTF-8', method: 'POST', success: function (res) { layer.closeAll(); if (res.code === 200) { - table.exportFile(titles,res.data,'xls'); + table.exportFile(titles, res.data, 'xls'); } else if (res.code === 403) { - top.location.href = baseUrl+"/"; + top.location.href = baseUrl + "/"; } else { layer.msg(res.msg, {icon: 2}) } @@ -123,17 +136,94 @@ }); // 鐩戝惉琛屽伐鍏蜂簨浠� - table.on('tool(task)', function(obj){ - var data = obj.data; + table.on('tool(task)', function (obj) { + let data = obj.data; switch (obj.event) { - case 'edit': - showEditModel(data); + // 鏄庣粏灞曠ず + case 'detlShow': + wrkNo = data.wrkNo; + // 寮瑰眰鏄剧ず + layer.open({ + type: 2, + title: '宸ヤ綔妗f槑缁�', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: true, + content: 'taskDetl.html', + success: function (layero, index) { + } + }); break; - case "del": - del([data.id]); + // 瀹屾垚 + case 'complete': + layer.confirm('纭瀹屾垚璇ョ瑪宸ヤ綔妗o紵', {title: '宸ヤ綔鍙凤細' + data.wrkNo, shadeClose: true}, function () { + http.post(baseUrl + "/hand/control/wrkMast", {workNo: data.wrkNo, type: 1}, function (res) { + $(".layui-laypage-btn")[0].click(); + layer.msg(data.wrkNo + res.msg); + }) + layer.closeAll(); + }); + break; + // 鍙栨秷 + case 'cancel': + if (data.pdcType === "Y") { + layer.confirm('褰撳墠浠诲姟鍏宠仈ERP閿�鍞崟锛屽彇娑堝皢閲嶆柊鐢熸垚鍑哄簱浣滀笟锛屾槸鍚︾户缁紵', { + title: '宸ヤ綔鍙凤細' + data.wrkNo, + shadeClose: true + }, function () { + http.post(baseUrl + "/hand/control/wrkMast", {workNo: data.wrkNo, type: 2}, function (res) { + $(".layui-laypage-btn")[0].click(); + layer.msg(data.wrkNo + res.msg); + }) + layer.closeAll(); + }); + } else { + layer.confirm('纭鍙栨秷璇ョ瑪宸ヤ綔妗o紵', { + title: '宸ヤ綔鍙凤細' + data.wrkNo, + shadeClose: true + }, function () { + http.post(baseUrl + "/hand/control/wrkMast", {workNo: data.wrkNo, type: 2}, function (res) { + $(".layui-laypage-btn")[0].click(); + layer.msg(data.wrkNo + res.msg); + }) + layer.closeAll(); + }); + } + break; + // 鎷f枡鍏ュ簱 + case 'pick': + layer.confirm('鎷f枡鍏ュ簱璇ョ瑪宸ヤ綔妗o紵', {title: '宸ヤ綔鍙凤細' + data.wrkNo, shadeClose: true}, function () { + http.post(baseUrl + "/hand/control/wrkMast", {workNo: data.wrkNo, type: 3}, function (res) { + $(".layui-laypage-btn")[0].click(); + layer.msg(data.wrkNo + res.msg); + }) + layer.closeAll(); + }); + break; + // 鍏堝叆鍝� + case 'preHave': + layer.confirm('浠诲姟鍙戠敓鍏堝叆鍝佸紓甯搞�傚闇�閲嶆柊鍏ュ簱锛岃纭繚璐х墿宸叉斁鑷冲爢鍨涙満鍑哄簱绔欙紒', { + title: '宸ヤ綔鍙凤細' + data.wrkNo, + shadeClose: true + }, function () { + http.post(baseUrl + "/deal/preHave/start", {wrkNo: data.wrkNo}, function (res) { + $(".layui-laypage-btn")[0].click(); + layer.msg(data.wrkNo + res.msg, {icon: 1}); + }) + layer.closeAll(); + }); + break; + // 绌烘搷浣� + case 'takeNone': + layer.confirm('浠诲姟鍙戦�佺┖鎿嶄綔寮傚父锛佹槸鍚︺�傘�傘�傘�傘�傘�傘�傘�傦紵', { + title: '宸ヤ綔鍙凤細' + data.wrkNo, + shadeClose: true + }, function () { + }); break; } }); + /* 寮圭獥 - 鏂板銆佷慨鏀� */ function showEditModel(mData) { @@ -148,19 +238,19 @@ form.on('submit(editSubmit)', function (data) { var loadIndex = layer.load(2); $.ajax({ - url: baseUrl+"/task/"+(mData?'update':'add')+"/auth", + url: baseUrl + "/task/" + (mData ? 'update' : 'add') + "/auth", headers: {'token': localStorage.getItem('token')}, data: data.field, method: 'POST', success: function (res) { layer.close(loadIndex); - if (res.code === 200){ + if (res.code === 200) { layer.close(dIndex); layer.msg(res.msg, {icon: 1}); tableReload(); - } else if (res.code === 403){ - top.location.href = baseUrl+"/"; - }else { + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { layer.msg(res.msg, {icon: 2}); } } @@ -182,17 +272,17 @@ layer.close(i); var loadIndex = layer.load(2); $.ajax({ - url: baseUrl+"/task/delete/auth", + url: baseUrl + "/task/delete/auth", headers: {'token': localStorage.getItem('token')}, data: {ids: ids}, method: 'POST', success: function (res) { layer.close(loadIndex); - if (res.code === 200){ + if (res.code === 200) { layer.msg(res.msg, {icon: 1}); tableReload(); - } else if (res.code === 403){ - top.location.href = baseUrl+"/"; + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; } else { layer.msg(res.msg, {icon: 2}); } @@ -219,28 +309,29 @@ setTimeout(function () { layDate.render({ elem: '.layui-laydate-range' - ,type: 'datetime' - ,range: true + , type: 'datetime' + , range: true }); }, 300); } + layDateRender(); }); // 鍏抽棴鍔ㄤ綔 -$(document).on('click','#data-detail-close', function () { +$(document).on('click', '#data-detail-close', function () { parent.layer.closeAll(); }); function tableReload(child) { var searchData = {}; - $.each($('#search-box [name]').serializeArray(), function() { + $.each($('#search-box [name]').serializeArray(), function () { searchData[this.name] = this.value; }); tableIns.reload({ where: searchData, page: {curr: pageCurr} - }); + }); } diff --git a/src/main/webapp/static/js/wrkMast/wrkMast.js b/src/main/webapp/static/js/wrkMast/wrkMast.js index 60b5e91..39e2ddf 100644 --- a/src/main/webapp/static/js/wrkMast/wrkMast.js +++ b/src/main/webapp/static/js/wrkMast/wrkMast.js @@ -34,39 +34,8 @@ ,{field: 'barcode', align: 'center',title: '鏉$爜'} ,{field: 'preHave', align: 'center',title: '鍏堝叆鍝�', hide: true} ,{field: 'takeNone', align: 'center',title: '绌烘搷浣�', hide: true} - // ,{field: 'picking', align: 'center',title: '鎷f枡', templet:function(row){ - // var html = "<input value='picking' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' table-index='"+row.LAY_TABLE_INDEX+"'"; - // if(row.picking === 'Y'){html += " checked ";} - // html += ">"; - // return html; - // }} - // ,{field: 'exitMk', align: 'center',title: '閫�鍑�', templet:function(row){ - // var html = "<input value='exitMk' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' table-index='"+row.LAY_TABLE_INDEX+"'"; - // if(row.exitMk === 'Y'){html += " checked ";} - // html += ">"; - // return html; - // }} - // ,{field: 'emptyMk', align: 'center',title: '绌烘澘', templet:function(row){ - // var html = "<input value='emptyMk' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' table-index='"+row.LAY_TABLE_INDEX+"'"; - // if(row.emptyMk === 'Y'){html += " checked ";} - // html += ">"; - // return html; - // }} - // - // ,{field: 'crnStrTime$', align: 'center',title: '鍫嗗灈鏈哄惎鍔ㄦ椂闂�'} - // ,{field: 'crnEndTime$', align: 'center',title: '鍫嗗灈鏈哄仠姝㈡椂闂�'} - // ,{field: 'refIotime$', align: 'center',title: '鎷f枡鏃堕棿'} ,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳', hide:true} ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿', hide:true, width: 160} - // ,{field: 'memo', align: 'center',title: '澶囨敞'} - // - // ,{field: 'fullPlt', align: 'center',title: '婊℃澘', templet:function(row){ - // var html = "<input value='fullPlt' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' table-index='"+row.LAY_TABLE_INDEX+"'"; - // if(row.fullPlt === 'Y'){html += " checked ";} - // html += ">"; - // return html; - // }} - ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:250} ]], request: { diff --git a/src/main/webapp/views/.DS_Store b/src/main/webapp/views/.DS_Store new file mode 100644 index 0000000..0dbb519 --- /dev/null +++ b/src/main/webapp/views/.DS_Store Binary files differ diff --git a/src/main/webapp/views/task/task.html b/src/main/webapp/views/task/task.html index 25896cc..b3e97a7 100644 --- a/src/main/webapp/views/task/task.html +++ b/src/main/webapp/views/task/task.html @@ -22,14 +22,16 @@ <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off"> </div> </div> - <div class="layui-inline" style="width: 300px"> + <div class="layui-inline" style="width: 300px"> <div class="layui-input-inline"> - <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px"> + <input class="layui-input layui-laydate-range" name="create_time" type="text" + placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px"> </div> </div> <div class="layui-inline"> <div class="layui-input-inline"> - <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off"> + <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" + autocomplete="off"> </div> </div> <div class="layui-inline">  @@ -47,17 +49,22 @@ </div> </div> -<script type="text/html" id="toolbar"> - <div class="layui-btn-container"> - <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> - <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> - <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button> - </div> -</script> - <script type="text/html" id="operate"> - <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a> - <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a> + {{#if (d.preHave === 'Y' && d.wrkSts === 3) { }} + <a class="layui-btn layui-btn-primary layui-border-red layui-btn-xs btn-error" lay-event="preHave">鍏堝叆鍝�</a> + {{# } }} + {{#if (d.takeNone === 'Y' && d.wrkSts === 12) { }} + <a class="layui-btn layui-btn-danger layui-btn-xs btn-error" lay-event="takeNone">绌烘搷浣�</a> + {{# } }} + <a class="layui-btn layui-btn-xs btn-detlShow" lay-event="detlShow">鏄庣粏</a> + <a class="layui-btn layui-btn-danger layui-btn-xs btn-complete" lay-event="complete">瀹屾垚</a> + <a class="layui-btn layui-btn-primary layui-btn-xs btn-cancel" lay-event="cancel">鍙栨秷</a> + {{#if (d.ioType === 103) { }} + <a class="layui-btn layui-btn-warm layui-btn-xs btn-pick" lay-event="pick">鎷�</a> + {{# } }} + {{#if (d.ioType === 107) { }} + <a class="layui-btn layui-btn-warm layui-btn-xs btn-pick" lay-event="pick">鐩�</a> + {{# } }} </script> <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> @@ -66,27 +73,6 @@ <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/task/task.js" charset="utf-8"></script> </body> -<!-- 琛ㄥ崟寮圭獥 --> -<script type="text/html" id="editDialog"> - <form id="detail" lay-filter="detail" class="layui-form admin-form model-form"> - <input name="id" type="hidden"> - <div class="layui-row"> - <div class="layui-col-md12"> - <div class="layui-form-item"> - <label class="layui-form-label">浠诲姟绫诲瀷锛� agv , crn: </label> - <div class="layui-input-block"> - <input class="layui-input" name="taskType" placeholder="璇疯緭鍏ヤ换鍔$被鍨嬶細 agv , crn"> - </div> - </div> - </div> - </div> - <hr class="layui-bg-gray"> - <div class="layui-form-item text-right"> - <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button> - <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> - </div> - </form> -</script> </html> diff --git a/src/main/webapp/views/task/taskDetl.html b/src/main/webapp/views/task/taskDetl.html new file mode 100644 index 0000000..69e87b4 --- /dev/null +++ b/src/main/webapp/views/task/taskDetl.html @@ -0,0 +1,93 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../static/css/common.css" media="all"> + <style> + </style> +</head> +<body> +<div class="layui-inline" style="width:31%;margin-top: 20px"> + <label class="layui-form-label">宸� 浣� 鍙凤細</label> + <div class="layui-input-inline"> + <input id="wrkNo" class="layui-input" type="text" disabled="disabled"> + </div> +</div> +<table class="layui-hide" id="taskDetailByMast" lay-filter="taskDetailByMast"></table> +</body> +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/locMast/locMast.js" charset="utf-8"></script> +<script type="text/javascript"> + var pageCur; + + function getCol() { + var cols = [ + {field: 'wrkNo', align: 'center', title: '宸ヤ綔鍙�'} + , {field: 'ioTime$', align: 'center', title: '宸ヤ綔鏃堕棿'} + ]; + cols.push.apply(cols, detlCols); + return cols; + } + + layui.use(['table', 'laydate', 'form'], function () { + table = layui.table; + var $ = layui.jquery; + var form = layui.form; + + $('#wrkNo').val(parent.wrkNo); + // 鏁版嵁娓叉煋 + tableIns1 = table.render({ + elem: '#taskDetailByMast', + headers: {token: localStorage.getItem('token')}, + url: baseUrl + '/taskDetl/list/auth', + where: {wrk_no: parent.wrkNo}, + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + even: true, + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [getCol()], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl + "/"; + } + pageCur = curr; + form.on('checkbox(tableCheckbox)', function (data) { + var _index = $(data.elem).attr('table-index') || 0; + if (data.elem.checked) { + res.data[_index][data.value] = 'Y'; + } else { + res.data[_index][data.value] = 'N'; + } + }); + } + }); + }); +</script> +</html> + diff --git a/src/main/webapp/views/taskDetl/taskDetl.html b/src/main/webapp/views/taskDetl/taskDetl.html deleted file mode 100644 index d38091f..0000000 --- a/src/main/webapp/views/taskDetl/taskDetl.html +++ /dev/null @@ -1,391 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="utf-8"> - <title></title> - <meta name="renderer" content="webkit"> - <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> - <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> - <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> - <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> - <link rel="stylesheet" href="../../static/css/cool.css" media="all"> -</head> -<body> - -<div class="layui-fluid"> - <div class="layui-card"> - <div class="layui-card-body"> - <div class="layui-form toolbar" id="search-box"> - <div class="layui-form-item"> - <div class="layui-inline"> - <div class="layui-input-inline"> - <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off"> - </div> - </div> - <div class="layui-inline" style="width: 300px"> - <div class="layui-input-inline"> - <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px"> - </div> - </div> - <div class="layui-inline"> - <div class="layui-input-inline"> - <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off"> - </div> - </div> - <div class="layui-inline">  - <button class="layui-btn icon-btn" lay-filter="search" lay-submit> - <i class="layui-icon"></i>鎼滅储 - </button> - <button class="layui-btn icon-btn" lay-filter="reset" lay-submit> - <i class="layui-icon"></i>閲嶇疆 - </button> - </div> - </div> - </div> - <table class="layui-hide" id="taskDetl" lay-filter="taskDetl"></table> - </div> - </div> -</div> - -<script type="text/html" id="toolbar"> - <div class="layui-btn-container"> - <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> - <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> - <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button> - </div> -</script> - -<script type="text/html" id="operate"> - <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a> - <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a> -</script> - -<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> -<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> -<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> -<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> -<script type="text/javascript" src="../../static/js/taskDetl/taskDetl.js" charset="utf-8"></script> -</body> -<!-- 琛ㄥ崟寮圭獥 --> -<script type="text/html" id="editDialog"> - <form id="detail" lay-filter="detail" class="layui-form admin-form model-form"> - <input name="id" type="hidden"> - <div class="layui-row"> - <div class="layui-col-md12"> - <div class="layui-form-item"> - <label class="layui-form-label layui-form-required">宸ヤ綔鍙�: </label> - <div class="layui-input-block"> - <input class="layui-input" name="wrkNo" placeholder="璇疯緭鍏ュ伐浣滃彿" lay-vertype="tips" lay-verify="required"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">宸ヤ綔鏃堕棿: </label> - <div class="layui-input-block"> - <input class="layui-input" name="ioTime" id="ioTime$" placeholder="璇疯緭鍏ュ伐浣滄椂闂�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">鏁伴噺: </label> - <div class="layui-input-block"> - <input class="layui-input" name="anfme" placeholder="璇疯緭鍏ユ暟閲�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">鎵樼洏鏉$爜: </label> - <div class="layui-input-block"> - <input class="layui-input" name="zpallet" placeholder="璇疯緭鍏ユ墭鐩樻潯鐮�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label layui-form-required">鍟嗗搧缂栧彿: </label> - <div class="layui-input-block"> - <input class="layui-input" name="matnr" placeholder="璇疯緭鍏ュ晢鍝佺紪鍙�" lay-vertype="tips" lay-verify="required"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">鍟嗗搧鍚嶇О: </label> - <div class="layui-input-block"> - <input class="layui-input" name="maktx" placeholder="璇疯緭鍏ュ晢鍝佸悕绉�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">鎵瑰彿: </label> - <div class="layui-input-block"> - <input class="layui-input" name="batch" placeholder="璇疯緭鍏ユ壒鍙�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">鍗曟嵁缂栧彿: </label> - <div class="layui-input-block"> - <input class="layui-input" name="orderNo" placeholder="璇疯緭鍏ュ崟鎹紪鍙�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">瑙勬牸: </label> - <div class="layui-input-block"> - <input class="layui-input" name="specs" placeholder="璇疯緭鍏ヨ鏍�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">鍨嬪彿: </label> - <div class="layui-input-block"> - <input class="layui-input" name="model" placeholder="璇疯緭鍏ュ瀷鍙�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">棰滆壊: </label> - <div class="layui-input-block"> - <input class="layui-input" name="color" placeholder="璇疯緭鍏ラ鑹�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">鍝佺墝: </label> - <div class="layui-input-block"> - <input class="layui-input" name="brand" placeholder="璇疯緭鍏ュ搧鐗�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">鍗曚綅: </label> - <div class="layui-input-block"> - <input class="layui-input" name="unit" placeholder="璇疯緭鍏ュ崟浣�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">鍗曚环: </label> - <div class="layui-input-block"> - <input class="layui-input" name="price" placeholder="璇疯緭鍏ュ崟浠�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">sku: </label> - <div class="layui-input-block"> - <input class="layui-input" name="sku" placeholder="璇疯緭鍏ku"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">鍗曚綅閲�: </label> - <div class="layui-input-block"> - <input class="layui-input" name="units" placeholder="璇疯緭鍏ュ崟浣嶉噺"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">鏉$爜: </label> - <div class="layui-input-block"> - <input class="layui-input" name="barcode" placeholder="璇疯緭鍏ユ潯鐮�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">浜у湴: </label> - <div class="layui-input-block"> - <input class="layui-input" name="origin" placeholder="璇疯緭鍏ヤ骇鍦�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">鍘傚: </label> - <div class="layui-input-block"> - <input class="layui-input" name="manu" placeholder="璇疯緭鍏ュ巶瀹�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">鐢熶骇鏃ユ湡: </label> - <div class="layui-input-block"> - <input class="layui-input" name="manuDate" placeholder="璇疯緭鍏ョ敓浜ф棩鏈�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">鍝侀」鏁�: </label> - <div class="layui-input-block"> - <input class="layui-input" name="itemNum" placeholder="璇疯緭鍏ュ搧椤规暟"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">瀹夊叏搴撳瓨閲�: </label> - <div class="layui-input-block"> - <input class="layui-input" name="safeQty" placeholder="璇疯緭鍏ュ畨鍏ㄥ簱瀛橀噺"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">閲嶉噺: </label> - <div class="layui-input-block"> - <input class="layui-input" name="weight" placeholder="璇疯緭鍏ラ噸閲�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">闀垮害: </label> - <div class="layui-input-block"> - <input class="layui-input" name="manLength" placeholder="璇疯緭鍏ラ暱搴�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">浣撶Н: </label> - <div class="layui-input-block"> - <input class="layui-input" name="volume" placeholder="璇疯緭鍏ヤ綋绉�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">涓夋柟缂栫爜: </label> - <div class="layui-input-block"> - <input class="layui-input" name="threeCode" placeholder="璇疯緭鍏ヤ笁鏂圭紪鐮�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">渚涘簲鍟�: </label> - <div class="layui-input-block"> - <input class="layui-input" name="supp" placeholder="璇疯緭鍏ヤ緵搴斿晢"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">渚涘簲鍟嗙紪鐮�: </label> - <div class="layui-input-block"> - <input class="layui-input" name="suppCode" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栫爜"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">鏄惁鎵规: </label> - <div class="layui-input-block"> - <select name="beBatch"> - <option value="">璇烽�夋嫨鏄惁鎵规</option> - <option value="1">鏄�</option> - <option value="0">鍚�</option> - </select> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">淇濊川鏈�: </label> - <div class="layui-input-block"> - <input class="layui-input" name="deadTime" placeholder="璇疯緭鍏ヤ繚璐ㄦ湡"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">棰勮澶╂暟: </label> - <div class="layui-input-block"> - <input class="layui-input" name="deadWarn" placeholder="璇疯緭鍏ラ璀﹀ぉ鏁�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">鍒惰喘: </label> - <div class="layui-input-block"> - <select name="source"> - <option value="">璇烽�夋嫨鍒惰喘</option> - <option value="1">鍒堕��</option> - <option value="2">閲囪喘</option> - <option value="3">澶栧崗</option> - </select> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">瑕佹眰妫�楠�: </label> - <div class="layui-input-block"> - <select name="inspect"> - <option value="">璇烽�夋嫨瑕佹眰妫�楠�</option> - <option value="1">鏄�</option> - <option value="0">鍚�</option> - </select> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">鍗遍櫓鍝�: </label> - <div class="layui-input-block"> - <select name="danger"> - <option value="">璇烽�夋嫨鍗遍櫓鍝�</option> - <option value="1">鏄�</option> - <option value="0">鍚�</option> - </select> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">淇敼浜哄憳: </label> - <div class="layui-input-block cool-auto-complete"> - <input class="layui-input" name="modiUser" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" style="display: none"> - <input id="modiUser$" name="modiUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" onfocus=this.blur()> - <div class="cool-auto-complete-window"> - <input class="cool-auto-complete-window-input" data-key="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))"> - <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> - </select> - </div> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">淇敼鏃堕棿: </label> - <div class="layui-input-block"> - <input class="layui-input" name="modiTime" id="modiTime$" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">娣诲姞浜哄憳: </label> - <div class="layui-input-block cool-auto-complete"> - <input class="layui-input" name="appeUser" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" style="display: none"> - <input id="appeUser$" name="appeUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" onfocus=this.blur()> - <div class="cool-auto-complete-window"> - <input class="cool-auto-complete-window-input" data-key="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))"> - <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> - </select> - </div> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">娣诲姞鏃堕棿: </label> - <div class="layui-input-block"> - <input class="layui-input" name="appeTime" id="appeTime$" placeholder="璇疯緭鍏ユ坊鍔犳椂闂�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">澶囨敞: </label> - <div class="layui-input-block"> - <input class="layui-input" name="memo" placeholder="璇疯緭鍏ュ娉�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">: </label> - <div class="layui-input-block"> - <input class="layui-input" name="lineNumber" placeholder="璇疯緭鍏�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">: </label> - <div class="layui-input-block"> - <input class="layui-input" name="standby1" placeholder="璇疯緭鍏�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">: </label> - <div class="layui-input-block"> - <input class="layui-input" name="standby2" placeholder="璇疯緭鍏�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">: </label> - <div class="layui-input-block"> - <input class="layui-input" name="standby3" placeholder="璇疯緭鍏�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">: </label> - <div class="layui-input-block"> - <input class="layui-input" name="boxType1" placeholder="璇疯緭鍏�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">: </label> - <div class="layui-input-block"> - <input class="layui-input" name="boxType2" placeholder="璇疯緭鍏�"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label">: </label> - <div class="layui-input-block"> - <input class="layui-input" name="boxType3" placeholder="璇疯緭鍏�"> - </div> - </div> - - </div> - </div> - <hr class="layui-bg-gray"> - <div class="layui-form-item text-right"> - <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button> - <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> - </div> - </form> -</script> -</html> - -- Gitblit v1.9.1