From 344a6d6c8c0f27f883615eb01d99ecc019aa7b25 Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期一, 17 七月 2023 09:28:55 +0800 Subject: [PATCH] 完善AGV相关接口功能 --- src/main/webapp/static/js/agvLocDetl/locDetl.js | 14 src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java | 23 src/main/java/com/zy/asrs/controller/AgvLocDetlController.java | 3 src/main/webapp/views/agvWrkMastLog/wrkDetlLog.html | 4 src/main/webapp/views/agvWaitPakinLog/waitPakinLog.html | 2 src/main/java/com/zy/asrs/entity/param/AgvTaskParam.java | 2 src/main/java/com/zy/asrs/service/AgvWrkMastLogService.java | 10 src/main/webapp/views/mat/mat.html | 2 src/main/java/com/zy/asrs/service/AgvWrkMastService.java | 2 src/main/webapp/views/agvWrkMastLog/wrkMastLog.html | 2 src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java | 19 src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 10 src/main/java/com/zy/asrs/controller/AgvWrkMastLogController.java | 145 ++ src/main/java/com/zy/asrs/service/AgvLocDetlService.java | 2 src/main/java/com/zy/asrs/service/impl/AgvWaitPakinServiceImpl.java | 17 src/main/webapp/views/agvWrkDetlLog/wrkDetlLog_detail.html | 2 src/main/webapp/static/js/agvWrkMastLog/wrkMastLog.js | 533 ++++++++ src/main/webapp/views/agvWaitPakinLog/waitPakinLog_detail.html | 2 src/main/java/com/zy/asrs/entity/AgvWaitPakinLog.java | 218 +++ src/main/java/com/zy/asrs/service/impl/AgvWrkMastLogServiceImpl.java | 17 src/main/webapp/static/js/agvWrkDetlLog/wrkDetlLog.js | 484 +++++++ src/main/java/com/zy/asrs/service/impl/AgvWrkDetlLogServiceImpl.java | 16 src/main/webapp/views/report/locDetl.html | 12 src/main/java/com/zy/asrs/controller/AgvWaitPakinLogController.java | 135 ++ src/main/java/com/zy/asrs/entity/AgvWrkMastLog.java | 519 ++++++++ src/main/java/com/zy/asrs/entity/param/AgvTaskCallBackParam.java | 47 src/main/java/com/zy/asrs/service/AgvWrkDetlLogService.java | 10 src/main/webapp/views/agvWrkDetlLog/wrkDetlLog.html | 2 src/main/java/com/zy/asrs/mapper/AgvLocMastMapper.java | 1 src/main/java/com/zy/asrs/service/AgvWaitPakinLogService.java | 10 src/main/java/com/zy/asrs/mapper/AgvWrkMastMapper.java | 1 src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 2 src/main/java/com/zy/asrs/controller/AgvOpenController.java | 294 ++++ src/main/java/com/zy/asrs/controller/AgvWrkDetlLogController.java | 154 ++ src/main/java/com/zy/asrs/controller/AgvWrkMastController.java | 49 src/main/java/com/zy/asrs/mapper/AgvWrkDetlLogMapper.java | 16 src/main/webapp/static/js/agvWrkMast/wrkMast.js | 2 src/main/java/com/zy/asrs/service/AgvWaitPakinService.java | 2 src/main/java/com/zy/asrs/service/AgvLocMastService.java | 2 src/main/java/com/zy/asrs/mapper/AgvWrkMastLogMapper.java | 16 src/main/java/com/zy/asrs/service/impl/AgvWaitPakinLogServiceImpl.java | 17 src/main/webapp/views/agvWrkMastLog/wrkMastLog_detail.html | 2 src/main/java/com/zy/asrs/entity/AgvWrkDetlLog.java | 361 +++++ src/main/java/com/zy/asrs/mapper/AgvWaitPakinLogMapper.java | 16 src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java | 6 src/main/webapp/static/js/agvWaitPakinLog/waitPakinLog.js | 482 +++++++ src/main/java/com/zy/asrs/service/AgvBasDevpService.java | 2 src/main/webapp/static/js/agvStoMan/stoQue.js | 1 48 files changed, 3,649 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/AgvLocDetlController.java b/src/main/java/com/zy/asrs/controller/AgvLocDetlController.java index e0e91fa..ac62291 100644 --- a/src/main/java/com/zy/asrs/controller/AgvLocDetlController.java +++ b/src/main/java/com/zy/asrs/controller/AgvLocDetlController.java @@ -17,12 +17,13 @@ import java.util.Map; @RestController +@RequestMapping("/agv") public class AgvLocDetlController extends BaseController { @Autowired private AgvLocDetlService agvLocDetlService; - @RequestMapping(value = "/agvLocDetl/list/auth") + @RequestMapping(value = "/locDetl/list/auth") @ManagerAuth public R list(@RequestParam(defaultValue = "1")Integer curr, @RequestParam(defaultValue = "10")Integer limit, diff --git a/src/main/java/com/zy/asrs/controller/AgvOpenController.java b/src/main/java/com/zy/asrs/controller/AgvOpenController.java new file mode 100644 index 0000000..08a651a --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/AgvOpenController.java @@ -0,0 +1,294 @@ +package com.zy.asrs.controller; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.R; +import com.zy.asrs.entity.AgvWaitPakin; +import com.zy.asrs.entity.AgvWrkDetl; +import com.zy.asrs.entity.AgvWrkMast; +import com.zy.asrs.entity.param.AgvTaskCallBackParam; +import com.zy.asrs.service.*; +import com.zy.common.web.BaseController; +import lombok.Setter; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; +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; + +import javax.annotation.PostConstruct; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.EnumSet; + +@RestController +@RequestMapping("/agv") +public class AgvOpenController extends BaseController { + + @Autowired + AgvWrkMastService agvWrkMastService; + + @PostMapping("/task/event/status") + public R taskEventStaus(@RequestBody AgvTaskCallBackParam param){ + + int wrkMastCount = agvWrkMastService.selectCount(new EntityWrapper<AgvWrkMast>().eq("wrk_no", param.getTaskCode())); + if(wrkMastCount < 1){ + return R.error("浠诲姟缂栧彿閿欒"); + } + + AgvTask agvTask = AgvTask.valueOf(param.getEventType()); + Class<AgvTask> clz = AgvTask.class; + try { + Method method = clz.getDeclaredMethod(param.getStatus(),AgvTaskCallBackParam.class); + method.invoke(agvTask,param); + } catch (NoSuchMethodException e) { + return R.error("浠诲姟鐘舵�乻tatus鍙傛暟鏈夎"); + } catch (InvocationTargetException e) { + e.printStackTrace(); + return R.error(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + return R.error(); + } + return R.ok(); + } + +} + +enum AgvTask{ + + /** + * 涓婃姤浠诲姟鐘舵�� + */ + task{ + @Transactional + public void success(AgvTaskCallBackParam param) { + int wrkNo = Integer.valueOf(param.getTaskCode()); + String barcode = agvWrkMastService.selectById(wrkNo).getBarcode(); + //鐢熸垚AGV宸ヤ綔鍘嗗彶妗� + agvWrkMastLogService.save(wrkNo); + //鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗� + agvWrkDetlLogService.save(wrkNo); + //鍒犻櫎AGV宸ヤ綔妗� + agvWrkMastService.deleteById(wrkNo); + //鍒犻櫎AGV宸ヤ綔鏄庣粏妗� + agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo)); + //鐢熸垚鍏ュ簱閫氱煡鍘嗗彶妗� + agvWaitPakinLogService.save(barcode); + //鍒犻櫎鍏ュ簱閫氱煡妗� + agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("zpallet",barcode)); + + } + + public void fail(AgvTaskCallBackParam param) { + + } + + public void cancel(AgvTaskCallBackParam param) { + + } + + public void suspend(AgvTaskCallBackParam param) { + + } + }, + /** + * 涓婃姤浠诲姟鍒嗛厤缁欐満鍣ㄤ汉 + */ + task_allocated{ + @Transactional + public void success(AgvTaskCallBackParam param) { + + } + + public void fail(AgvTaskCallBackParam param) { + + } + + public void cancel(AgvTaskCallBackParam param) { + + } + + public void suspend(AgvTaskCallBackParam param) { + + } + }, + /** + * 涓婃姤鍙栫鐘舵�� + */ + tote_load{ + @Transactional + public void success(AgvTaskCallBackParam param) { + //淇敼婧愮珯鐐圭姸鎬佷负O.绌猴紝浠ュ強瑙g粦鎵樼洏鏉$爜 + agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getStationCode(),"O",""); + //淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級 + agvWrkMastService.updateWrkStsByWrkNo(Integer.valueOf(param.getTaskCode()),2); + //淇敼AGV鍏ュ簱閫氱煡妗g姸鎬� + agvWaitPakinService.updateIoStatus(Integer.valueOf(param.getTaskCode()),"Y"); + + } + + public void fail(AgvTaskCallBackParam param) { + + } + + public void cancel(AgvTaskCallBackParam param) { + + } + + public void suspend(AgvTaskCallBackParam param) { + + } + }, + /** + * 涓婃姤鏀剧鐘舵�� + */ + tote_unload{ + @Transactional + public void success(AgvTaskCallBackParam param) { + int wrkNo = Integer.valueOf(param.getTaskCode()); + String barcode = agvWrkMastService.selectById(wrkNo).getBarcode(); + //淇敼鐩爣搴撲綅鐘舵�佷负F.鍦ㄥ簱 + agvLocMastService.updateLocStsByLocNo(param.getLocationCode(),"F"); + //鏇存柊鐩爣搴撲綅鏄庣粏 + agvLocDetlService.addLocDetlInfo(param.getLocationCode(),wrkNo); + //淇敼宸ヤ綔妗g姸鎬佷负14锛堝叆搴撳畬鎴愶級 + agvWrkMastService.updateWrkStsByWrkNo(wrkNo,14); + } + + public void fail(AgvTaskCallBackParam param) { + + } + + public void cancel(AgvTaskCallBackParam param) { + + } + + public void suspend(AgvTaskCallBackParam param) { + + } + }, + robot_reach{ + @Transactional + public void success(AgvTaskCallBackParam param) { + + } + + public void fail(AgvTaskCallBackParam param) { + + } + + public void cancel(AgvTaskCallBackParam param) { + + } + + public void suspend(AgvTaskCallBackParam param) { + + } + }, + weight{ + @Transactional + public void success(AgvTaskCallBackParam param) { + + } + + public void fail(AgvTaskCallBackParam param) { + + } + + public void cancel(AgvTaskCallBackParam param) { + + } + + public void suspend(AgvTaskCallBackParam param) { + + } + }, + rfid{ + @Transactional + public void success(AgvTaskCallBackParam param) { + + } + + public void fail(AgvTaskCallBackParam param) { + + } + + public void cancel(AgvTaskCallBackParam param) { + + } + + public void suspend(AgvTaskCallBackParam param) { + + } + }; + + //浠诲姟鐘舵�佷负鎴愬姛 + public abstract void success(AgvTaskCallBackParam param); + //浠诲姟鐘舵�佷负澶辫触 + public abstract void fail(AgvTaskCallBackParam param); + //浠诲姟鐘舵�佷负鍙栨秷 + public abstract void cancel(AgvTaskCallBackParam param); + //浠诲姟鐘舵�佷负鎸傝捣 + public abstract void suspend(AgvTaskCallBackParam param); + + @Setter + AgvBasDevpService agvBasDevpService; + @Setter + AgvLocMastService agvLocMastService; + @Setter + AgvLocDetlService agvLocDetlService; + @Setter + AgvWrkMastService agvWrkMastService; + @Setter + AgvWrkDetlService agvWrkDetlService; + @Setter + AgvWaitPakinService agvWaitPakinService; + @Setter + AgvWaitPakinLogService agvWaitPakinLogService; + @Setter + AgvWrkMastLogService agvWrkMastLogService; + @Setter + AgvWrkDetlLogService agvWrkDetlLogService; + + @Component + public static class ReportTypeServiceInjector { + @Autowired + AgvBasDevpService agvBasDevpService; + @Autowired + AgvLocMastService agvLocMastService; + @Autowired + AgvLocDetlService agvLocDetlService; + @Autowired + AgvWrkMastService agvWrkMastService; + @Autowired + AgvWrkDetlService agvWrkDetlService; + @Autowired + AgvWaitPakinService agvWaitPakinService; + @Autowired + AgvWaitPakinLogService agvWaitPakinLogService; + @Autowired + AgvWrkMastLogService agvWrkMastLogService; + @Autowired + AgvWrkDetlLogService agvWrkDetlLogService; + + @PostConstruct + public void postConstruct(){ + for(AgvTask task : EnumSet.allOf(AgvTask.class)){ + task.setAgvBasDevpService(agvBasDevpService); + task.setAgvLocDetlService(agvLocDetlService); + task.setAgvLocMastService(agvLocMastService); + task.setAgvWrkMastService(agvWrkMastService); + task.setAgvWaitPakinService(agvWaitPakinService); + task.setAgvWaitPakinLogService(agvWaitPakinLogService); + task.setAgvWrkMastLogService(agvWrkMastLogService); + task.setAgvWrkDetlLogService(agvWrkDetlLogService); + task.setAgvWrkDetlService(agvWrkDetlService); + } + } + + } +} + + diff --git a/src/main/java/com/zy/asrs/controller/AgvWaitPakinLogController.java b/src/main/java/com/zy/asrs/controller/AgvWaitPakinLogController.java new file mode 100644 index 0000000..bd543eb --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/AgvWaitPakinLogController.java @@ -0,0 +1,135 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.entity.AgvWaitPakinLog; +import com.zy.asrs.entity.WaitPakinLog; +import com.zy.asrs.service.AgvWaitPakinLogService; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/agv") +public class AgvWaitPakinLogController extends BaseController { + + @Autowired + private AgvWaitPakinLogService waitPakinLogService; + + @RequestMapping(value = "/waitPakinLog/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(waitPakinLogService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/waitPakinLog/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam Map<String, Object> param){ + EntityWrapper<AgvWaitPakinLog> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + else { + wrapper.orderBy("modi_time", false); + } + return R.ok(waitPakinLogService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private void convert(Map<String, Object> map, EntityWrapper wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/waitPakinLog/add/auth") + @ManagerAuth + public R add(AgvWaitPakinLog waitPakinLog) { + waitPakinLogService.insert(waitPakinLog); + return R.ok(); + } + + @RequestMapping(value = "/waitPakinLog/update/auth") + @ManagerAuth + public R update(AgvWaitPakinLog waitPakinLog){ + if (Cools.isEmpty(waitPakinLog)){ + return R.error(); + } + waitPakinLogService.updateById(waitPakinLog); + return R.ok(); + } + + @RequestMapping(value = "/waitPakinLog/delete/auth") + @ManagerAuth + public R delete(@RequestParam String param){ + List<AgvWaitPakinLog> list = JSONArray.parseArray(param, AgvWaitPakinLog.class); + if (Cools.isEmpty(list)){ + return R.error(); + } + for (AgvWaitPakinLog entity : list){ + waitPakinLogService.delete(new EntityWrapper<>(entity)); + } + return R.ok(); + } + + @RequestMapping(value = "/waitPakinLog/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param){ + EntityWrapper<AgvWaitPakinLog> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("waitPakinLog")); + convert(map, wrapper); + List<AgvWaitPakinLog> list = waitPakinLogService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/waitPakinLogQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<AgvWaitPakinLog> wrapper = new EntityWrapper<>(); + wrapper.like("id", condition); + Page<AgvWaitPakinLog> page = waitPakinLogService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (AgvWaitPakinLog waitPakinLog : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", waitPakinLog.getZpallet()); + map.put("value", waitPakinLog.getZpallet()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/waitPakinLog/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<AgvWaitPakinLog> wrapper = new EntityWrapper<AgvWaitPakinLog>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != waitPakinLogService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(WaitPakinLog.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/controller/AgvWrkDetlLogController.java b/src/main/java/com/zy/asrs/controller/AgvWrkDetlLogController.java new file mode 100644 index 0000000..11fca42 --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/AgvWrkDetlLogController.java @@ -0,0 +1,154 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.entity.AgvWrkDetlLog; +import com.zy.asrs.entity.WrkDetlLog; +import com.zy.asrs.service.AgvWrkDetlLogService; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/agv") +public class AgvWrkDetlLogController extends BaseController { + + @Autowired + private AgvWrkDetlLogService wrkDetlLogService; + + @RequestMapping(value = "/wrkDetlLog/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(wrkDetlLogService.selectById(String.valueOf(id))); + } + + /** + * 鏍规嵁宸ヤ綔涓绘。鏌ョ湅鏄庣粏鏃讹紝宸ヤ綔鍙疯繃婊ゆ槑缁� + */ + @RequestMapping(value = "/wrkDetlLogByMast/list/auth") + @ManagerAuth + public R list1(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam Integer wrk_no, + @RequestParam String ioTime){ + EntityWrapper<AgvWrkDetlLog> wrapper = new EntityWrapper<>(); + if(!Cools.isEmpty(wrk_no) && wrk_no != 0){ + wrapper.eq("wrk_no",wrk_no); + } + if(!Cools.isEmpty(ioTime)){ + wrapper.eq("io_time", DateUtils.convert(ioTime, DateUtils.yyyyMMddHHmmsssss_F)); + } + return R.ok(wrkDetlLogService.selectPage(new Page<>(curr, limit), wrapper)); + } + + @RequestMapping(value = "/wrkDetlLog/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam Map<String, Object> param){ + EntityWrapper<AgvWrkDetlLog> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + else { + wrapper.orderBy("modi_time", false); + } + return R.ok(wrkDetlLogService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private void convert(Map<String, Object> map, EntityWrapper wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/wrkDetlLog/add/auth") + @ManagerAuth + public R add(AgvWrkDetlLog wrkDetlLog) { + wrkDetlLogService.insert(wrkDetlLog); + return R.ok(); + } + + @RequestMapping(value = "/wrkDetlLog/update/auth") + @ManagerAuth + public R update(AgvWrkDetlLog wrkDetlLog){ + if (Cools.isEmpty(wrkDetlLog) || null==wrkDetlLog.getWrkNo()){ + return R.error(); + } + wrkDetlLogService.updateById(wrkDetlLog); + return R.ok(); + } + + @RequestMapping(value = "/wrkDetlLog/delete/auth") + @ManagerAuth + public R delete(@RequestParam String param){ + List<AgvWrkDetlLog> list = JSONArray.parseArray(param, AgvWrkDetlLog.class); + if (Cools.isEmpty(list)){ + return R.error(); + } + for (AgvWrkDetlLog entity : list){ + wrkDetlLogService.delete(new EntityWrapper<>(entity)); + } + return R.ok(); + } + + @RequestMapping(value = "/wrkDetlLog/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param){ + EntityWrapper<AgvWrkDetlLog> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("wrkDetlLog")); + convert(map, wrapper); + List<AgvWrkDetlLog> list = wrkDetlLogService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/wrkDetlLogQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<AgvWrkDetlLog> wrapper = new EntityWrapper<>(); + wrapper.like("id", condition); + Page<AgvWrkDetlLog> page = wrkDetlLogService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (AgvWrkDetlLog wrkDetlLog : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", wrkDetlLog.getWrkNo()); + map.put("value", wrkDetlLog.getWrkNo()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/wrkDetlLog/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<AgvWrkDetlLog> wrapper = new EntityWrapper<AgvWrkDetlLog>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != wrkDetlLogService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(WrkDetlLog.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/controller/AgvWrkMastController.java b/src/main/java/com/zy/asrs/controller/AgvWrkMastController.java index fd5a1cd..8726947 100644 --- a/src/main/java/com/zy/asrs/controller/AgvWrkMastController.java +++ b/src/main/java/com/zy/asrs/controller/AgvWrkMastController.java @@ -1,5 +1,6 @@ package com.zy.asrs.controller; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; @@ -12,12 +13,17 @@ import com.core.common.R; import com.zy.asrs.entity.AgvWrkMast; import com.zy.asrs.entity.param.AgvTaskCreateParam; +import com.zy.asrs.entity.param.AgvTaskParam; +import com.zy.asrs.entity.param.AgvTaskkDescribeParam; import com.zy.asrs.service.AgvWrkMastService; +import com.zy.common.utils.HttpHandler; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.io.IOException; import java.util.*; +import java.util.stream.Collectors; @RestController @RequestMapping("/agv") @@ -157,22 +163,47 @@ @RequestMapping(value = "/wrkMast/startWrk/auth") @ManagerAuth(memo = "宸ヤ綔妗e紑濮嬩换鍔�") - public R startWrk(@RequestParam String param){ + public R startWrk(@RequestParam String param) throws IOException { List<AgvWrkMast> agvWrkMastList = JSONArray.parseArray(param, AgvWrkMast.class); if (Cools.isEmpty(agvWrkMastList)){ return R.error(); } AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam(); + agvTaskCreateParam.setTaskType("putaway"); -// agvWrkMastList.stream().map(agvWrkMast -> { -// AgvTaskParam agvTaskParam = new AgvTaskParam(); -// AgvTaskkDescribeParam agvTaskkDescribeParam = new AgvTaskkDescribeParam(); -// agvTaskParam.setTaskCode(agvWrkMast.getWrkNo().toString()); -// agvTaskParam.setTaskPriority(agvWrkMast.getIoPri().intValue()); -// agvTaskParam.setTaskkDescribe(agvTaskkDescribeParam); -// agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.); -// }).collect(Collectors.toList()); + List<AgvTaskParam> agvTaskParamList = agvWrkMastList.stream().map(agvWrkMast -> { + AgvTaskParam agvTaskParam = new AgvTaskParam(); + AgvTaskkDescribeParam agvTaskkDescribeParam = new AgvTaskkDescribeParam(); + agvTaskParam.setTaskDescribe(agvTaskkDescribeParam); + //AgvTaskParam + agvTaskParam.setTaskCode(agvWrkMast.getWrkNo().toString()); + agvTaskParam.setTaskPriority(agvWrkMast.getIoPri().intValue()); + //AgvTaskkDescribeParam + agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo()); + agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo()); + agvTaskkDescribeParam.setContainerCode(agvWrkMast.getBarcode()); + return agvTaskParam; + }).collect(Collectors.toList()); + + agvTaskCreateParam.setTasks(agvTaskParamList); + + String response = new HttpHandler.Builder() + .setUri("localhost:8080") + .setPath("test/task/create") + .setJson(JSONObject.toJSONString(agvTaskCreateParam)) + .build() + .doPost(); + + JSONObject jsonObject = JSON.parseObject(response); + int code = (int) jsonObject.get("code"); + + System.out.println(response); + + if(code == 0){ + + } + return R.ok(); } diff --git a/src/main/java/com/zy/asrs/controller/AgvWrkMastLogController.java b/src/main/java/com/zy/asrs/controller/AgvWrkMastLogController.java new file mode 100644 index 0000000..71e7913 --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/AgvWrkMastLogController.java @@ -0,0 +1,145 @@ +package com.zy.asrs.controller; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.R; +import com.zy.asrs.entity.AgvWrkMastLog; +import com.zy.asrs.entity.WrkMastLog; +import com.zy.asrs.service.AgvWrkMastLogService; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/agv") +public class AgvWrkMastLogController extends BaseController { + + @Autowired + private AgvWrkMastLogService wrkMastLogService; + + @RequestMapping(value = "/wrkMastLog/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(wrkMastLogService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/wrkMastLog/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<AgvWrkMastLog> wrapper = new EntityWrapper<>(); + convert(param, wrapper); + allLike(AgvWrkMastLog.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("modi_time", false); + } + return R.ok(wrkMastLogService.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 { + if (entry.getKey().equals("manu_type")) { + wrapper.like(entry.getKey(), val); + } else { + wrapper.eq(entry.getKey(), val); + } + } + } + } + + @RequestMapping(value = "/wrkMastLog/add/auth") + @ManagerAuth(memo = "宸ヤ綔鍘嗗彶妗f坊鍔�") + public R add(AgvWrkMastLog wrkMastLog) { + wrkMastLogService.insert(wrkMastLog); + return R.ok(); + } + + @RequestMapping(value = "/wrkMastLog/update/auth") + @ManagerAuth(memo = "宸ヤ綔鍘嗗彶妗d慨鏀�") + public R update(AgvWrkMastLog wrkMastLog){ + if (Cools.isEmpty(wrkMastLog) || null==wrkMastLog.getId()){ + return R.error(); + } + wrkMastLogService.updateById(wrkMastLog); + return R.ok(); + } + + @RequestMapping(value = "/wrkMastLog/delete/auth") + @ManagerAuth(memo = "宸ヤ綔鍘嗗彶妗e垹闄�") + public R delete(@RequestParam String param){ + List<AgvWrkMastLog> list = JSONArray.parseArray(param, AgvWrkMastLog.class); + if (Cools.isEmpty(list)){ + return R.error(); + } + for (AgvWrkMastLog entity : list){ + wrkMastLogService.delete(new EntityWrapper<>(entity)); + } + return R.ok(); + } + + @RequestMapping(value = "/wrkMastLog/export/auth") + @ManagerAuth(memo = "宸ヤ綔鍘嗗彶妗e鍑�") + public R export(@RequestBody JSONObject param){ + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + EntityWrapper<AgvWrkMastLog> wrapper = new EntityWrapper<>(); + Map<String, Object> map = excludeTrash(param.getJSONObject("wrkMastLog")); + convert(map, wrapper); + List<AgvWrkMastLog> list = wrkMastLogService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/wrkMastLogQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<AgvWrkMastLog> wrapper = new EntityWrapper<>(); + wrapper.like("id", condition); + Page<AgvWrkMastLog> page = wrkMastLogService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (AgvWrkMastLog wrkMastLog : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", wrkMastLog.getId()); + map.put("value", wrkMastLog.getId()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/wrkMastLog/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<AgvWrkMastLog> wrapper = new EntityWrapper<AgvWrkMastLog>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != wrkMastLogService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(WrkMastLog.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/entity/AgvWaitPakinLog.java b/src/main/java/com/zy/asrs/entity/AgvWaitPakinLog.java new file mode 100644 index 0000000..28ebb8c --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/AgvWaitPakinLog.java @@ -0,0 +1,218 @@ +package com.zy.asrs.entity; + +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableName; +import com.core.common.Cools; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.text.SimpleDateFormat; +import java.util.Date; + +@Data +@TableName("agv_cust_wait_pakin_log") +public class AgvWaitPakinLog implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value= "鎵樼洏鏉$爜") + private String zpallet; + + @ApiModelProperty(value= "鏁伴噺") + private Double anfme; + + @ApiModelProperty(value= "搴撲綅鍙�") + @TableField("loc_no") + private String locNo; + + @ApiModelProperty(value= "鐗╂枡鍙�") + private String matnr; + + @ApiModelProperty(value= "鐗╂枡鍙�") + private String maktx; + + @ApiModelProperty(value= "搴忓垪鐮�") + private String batch; + + @ApiModelProperty(value= "鍗曟嵁缂栧彿") + @TableField("order_no") + private String orderNo; + + @ApiModelProperty(value= "瑙勬牸") + private String specs; + + @ApiModelProperty(value= "鎵规") + private String model; + + @ApiModelProperty(value= "棰滆壊") + private String color; + + @ApiModelProperty(value= "鍝佺墝") + private String brand; + + @ApiModelProperty(value= "鍗曚綅") + private String unit; + + @ApiModelProperty(value= "鍗曚环") + private Double price; + + @ApiModelProperty(value= "sku") + private String sku; + + @ApiModelProperty(value= "鍖呮暟") + private Double units; + + @ApiModelProperty(value= "鏉$爜") + private String barcode; + + @ApiModelProperty(value= "鐗╂枡鐘舵��") + private String origin; + + @ApiModelProperty(value= "鍘傚") + private String manu; + + @ApiModelProperty(value= "鍗曟嵁鏃堕棿") + @TableField("manu_date") + private String manuDate; + + @ApiModelProperty(value= "鍝侀」鏁�") + @TableField("item_num") + private String itemNum; + + @ApiModelProperty(value= "瀹夊叏搴撳瓨閲�") + @TableField("safe_qty") + private Double safeQty; + + @ApiModelProperty(value= "閲嶉噺") + private Double weight; + + @ApiModelProperty(value= "闀垮害") + private Double length; + + @ApiModelProperty(value= "浣撶Н") + private Double volume; + + @ApiModelProperty(value= "涓夋柟缂栫爜") + @TableField("three_code") + private String threeCode; + + @ApiModelProperty(value= "渚涘簲鍟�") + private String supp; + + @ApiModelProperty(value= "渚涘簲鍟嗙紪鐮�") + @TableField("supp_code") + private String suppCode; + + @ApiModelProperty(value= "鏄惁鎵规 1: 鏄� 0: 鍚� ") + @TableField("be_batch") + private Integer beBatch; + + @ApiModelProperty(value= "淇濊川鏈�") + @TableField("dead_time") + private String deadTime; + + @ApiModelProperty(value= "棰勮澶╂暟") + @TableField("dead_warn") + private Integer deadWarn; + + @ApiModelProperty(value= "鍒惰喘 1: 鍒堕�� 2: 閲囪喘 3: 澶栧崗 ") + private Integer source; + + @ApiModelProperty(value= "瑕佹眰妫�楠� 1: 鏄� 0: 鍚� ") + private Integer inspect; + + @ApiModelProperty(value= "鍗遍櫓鍝� 1: 鏄� 0: 鍚� ") + private Integer danger; + + @ApiModelProperty(value= "鐘舵��") + private String status; + + @ApiModelProperty(value= "鍏ュ嚭鐘舵��") + @TableField("io_status") + private String ioStatus; + + @ApiModelProperty(value= "淇敼鏃堕棿") + @TableField("modi_time") + private Date modiTime; + + @ApiModelProperty(value= "淇敼浜哄憳") + @TableField("modi_user") + private Long modiUser; + + @ApiModelProperty(value= "娣诲姞鏃堕棿") + @TableField("appe_time") + private Date appeTime; + + @ApiModelProperty(value= "鍒涘缓鑰�") + @TableField("appe_user") + private Long appeUser; + + @ApiModelProperty(value= "澶囨敞") + private String memo; + + public String getBeBatch$(){ + if (null == this.beBatch){ return null; } + switch (this.beBatch){ + case 1: + return "鏄�"; + case 0: + return "鍚�"; + default: + return String.valueOf(this.beBatch); + } + } + + public String getSource$(){ + if (null == this.source){ return null; } + switch (this.source){ + case 1: + return "鍒堕��"; + case 2: + return "閲囪喘"; + case 3: + return "澶栧崗"; + default: + return String.valueOf(this.source); + } + } + + public String getInspect$(){ + if (null == this.inspect){ return null; } + switch (this.inspect){ + case 1: + return "鏄�"; + case 0: + return "鍚�"; + default: + return String.valueOf(this.inspect); + } + } + + public String getDanger$(){ + if (null == this.danger){ return null; } + switch (this.danger){ + case 1: + return "鏄�"; + case 0: + return "鍚�"; + default: + return String.valueOf(this.danger); + } + } + + public String getModiTime$(){ + if (Cools.isEmpty(this.modiTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime); + } + + public String getAppeTime$(){ + if (Cools.isEmpty(this.appeTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime); + } + +} diff --git a/src/main/java/com/zy/asrs/entity/AgvWrkDetlLog.java b/src/main/java/com/zy/asrs/entity/AgvWrkDetlLog.java new file mode 100644 index 0000000..baff0d7 --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/AgvWrkDetlLog.java @@ -0,0 +1,361 @@ +package com.zy.asrs.entity; + +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableName; +import com.core.common.Cools; +import com.core.common.SpringUtils; +import com.zy.system.entity.User; +import com.zy.system.service.UserService; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.text.SimpleDateFormat; +import java.util.Date; + +@Data +@TableName("agv_wrk_detl_log") +public class AgvWrkDetlLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 宸ヤ綔鍙� + */ + @ApiModelProperty(value= "宸ヤ綔鍙�") + @TableField("wrk_no") + private Integer wrkNo; + + /** + * 宸ヤ綔鏃堕棿 + */ + @ApiModelProperty(value= "宸ヤ綔鏃堕棿") + @TableField("io_time") + private Date ioTime; + + /** + * 鏁伴噺 + */ + @ApiModelProperty(value= "鏁伴噺") + private Double anfme; + + /** + * 鎵樼洏鏉$爜 + */ + @ApiModelProperty(value= "鎵樼洏鏉$爜") + private String zpallet; + + /** + * 鐗╂枡 + */ + @ApiModelProperty(value= "鐗╂枡鍙�") + private String matnr; + + /** + * 鐗╂枡鎻忚堪 + */ + @ApiModelProperty(value= "鐗╂枡鍙�") + private String maktx; + + /** + * 搴忓垪鐮� + */ + @ApiModelProperty(value= "搴忓垪鐮�") + private String batch; + + /** + * 鍗曟嵁缂栧彿 + */ + @ApiModelProperty(value= "鍗曟嵁缂栧彿") + @TableField("order_no") + private String orderNo; + + /** + * 瑙勬牸 + */ + @ApiModelProperty(value= "瑙勬牸") + private String specs; + + /** + * 鎵规 + */ + @ApiModelProperty(value= "鎵规") + private String model; + + /** + * 棰滆壊 + */ + @ApiModelProperty(value= "棰滆壊") + private String color; + + /** + * 鍝佺墝 + */ + @ApiModelProperty(value= "鍝佺墝") + private String brand; + + /** + * 鍗曚綅 + */ + @ApiModelProperty(value= "鍗曚綅") + private String unit; + + /** + * 鍗曚环 + */ + @ApiModelProperty(value= "鍗曚环") + private Double price; + + /** + * sku + */ + @ApiModelProperty(value= "sku") + private String sku; + + /** + * 鍖呮暟 + */ + @ApiModelProperty(value= "鍖呮暟") + private Double units; + + /** + * 鏉$爜 + */ + @ApiModelProperty(value= "鏉$爜") + private String barcode; + + /** + * 鐗╂枡鐘舵�� + */ + @ApiModelProperty(value= "鐗╂枡鐘舵��") + private String origin; + + /** + * 鍘傚 + */ + @ApiModelProperty(value= "鍘傚") + private String manu; + + /** + * 鍗曟嵁鏃堕棿 + */ + @ApiModelProperty(value= "鍗曟嵁鏃堕棿") + @TableField("manu_date") + private String manuDate; + + /** + * 鍝侀」鏁� + */ + @ApiModelProperty(value= "鍝侀」鏁�") + @TableField("item_num") + private String itemNum; + + /** + * 瀹夊叏搴撳瓨閲� + */ + @ApiModelProperty(value= "瀹夊叏搴撳瓨閲�") + @TableField("safe_qty") + private Double safeQty; + + /** + * 閲嶉噺 + */ + @ApiModelProperty(value= "閲嶉噺") + private Double weight; + + /** + * 闀垮害 + */ + @ApiModelProperty(value= "闀垮害") + private Double length; + + /** + * 浣撶Н + */ + @ApiModelProperty(value= "浣撶Н") + private Double volume; + + /** + * 涓夋柟缂栫爜 + */ + @ApiModelProperty(value= "涓夋柟缂栫爜") + @TableField("three_code") + private String threeCode; + + /** + * 渚涘簲鍟� + */ + @ApiModelProperty(value= "渚涘簲鍟�") + private String supp; + + /** + * 渚涘簲鍟嗙紪鐮� + */ + @ApiModelProperty(value= "渚涘簲鍟嗙紪鐮�") + @TableField("supp_code") + private String suppCode; + + /** + * 鏄惁鎵规 1: 鏄� 0: 鍚� + */ + @ApiModelProperty(value= "鏄惁鎵规 1: 鏄� 0: 鍚� ") + @TableField("be_batch") + private Integer beBatch; + + /** + * 淇濊川鏈� + */ + @ApiModelProperty(value= "淇濊川鏈�") + @TableField("dead_time") + private String deadTime; + + /** + * 棰勮澶╂暟 + */ + @ApiModelProperty(value= "棰勮澶╂暟") + @TableField("dead_warn") + private Integer deadWarn; + + /** + * 鍒惰喘 1: 鍒堕�� 2: 閲囪喘 3: 澶栧崗 + */ + @ApiModelProperty(value= "鍒惰喘 1: 鍒堕�� 2: 閲囪喘 3: 澶栧崗 ") + private Integer source; + + /** + * 瑕佹眰妫�楠� 1: 鏄� 0: 鍚� + */ + @ApiModelProperty(value= "瑕佹眰妫�楠� 1: 鏄� 0: 鍚� ") + private Integer inspect; + + /** + * 鍗遍櫓鍝� 1: 鏄� 0: 鍚� + */ + @ApiModelProperty(value= "鍗遍櫓鍝� 1: 鏄� 0: 鍚� ") + private Integer danger; + + /** + * 淇敼浜哄憳 + */ + @ApiModelProperty(value= "淇敼浜哄憳") + @TableField("modi_user") + private Long modiUser; + + /** + * 淇敼鏃堕棿 + */ + @ApiModelProperty(value= "淇敼鏃堕棿") + @TableField("modi_time") + private Date modiTime; + + /** + * 鍒涘缓鑰� + */ + @ApiModelProperty(value= "鍒涘缓鑰�") + @TableField("appe_user") + private Long appeUser; + + /** + * 娣诲姞鏃堕棿 + */ + @ApiModelProperty(value= "娣诲姞鏃堕棿") + @TableField("appe_time") + private Date appeTime; + + /** + * 澶囨敞 + */ + @ApiModelProperty(value= "澶囨敞") + private String memo; + + public String getIoTime$(){ + if (Cools.isEmpty(this.ioTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ioTime); + } + + public String getBeBatch$(){ + if (null == this.beBatch){ return null; } + switch (this.beBatch){ + case 1: + return "鏄�"; + case 0: + return "鍚�"; + default: + return String.valueOf(this.beBatch); + } + } + + public String getSource$(){ + if (null == this.source){ return null; } + switch (this.source){ + case 1: + return "鍒堕��"; + case 2: + return "閲囪喘"; + case 3: + return "澶栧崗"; + default: + return String.valueOf(this.source); + } + } + + public String getInspect$(){ + if (null == this.inspect){ return null; } + switch (this.inspect){ + case 1: + return "鏄�"; + case 0: + return "鍚�"; + default: + return String.valueOf(this.inspect); + } + } + + public String getDanger$(){ + if (null == this.danger){ return null; } + switch (this.danger){ + case 1: + return "鏄�"; + case 0: + return "鍚�"; + default: + return String.valueOf(this.danger); + } + } + + public String getModiUser$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.selectById(this.modiUser); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getUsername()); + } + return null; + } + + public String getModiTime$(){ + if (Cools.isEmpty(this.modiTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime); + } + + public String getAppeUser$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.selectById(this.appeUser); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getUsername()); + } + return null; + } + + public String getAppeTime$(){ + if (Cools.isEmpty(this.appeTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime); + } + + +} diff --git a/src/main/java/com/zy/asrs/entity/AgvWrkMastLog.java b/src/main/java/com/zy/asrs/entity/AgvWrkMastLog.java new file mode 100644 index 0000000..e2935e6 --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/AgvWrkMastLog.java @@ -0,0 +1,519 @@ +package com.zy.asrs.entity; + +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableName; +import com.baomidou.mybatisplus.enums.IdType; +import com.core.common.Cools; +import com.core.common.SpringUtils; +import com.zy.asrs.service.*; +import com.zy.system.entity.User; +import com.zy.system.service.UserService; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.text.SimpleDateFormat; +import java.util.Date; + +@Data +@TableName("agv_wrk_mast_log") +public class AgvWrkMastLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 缂栧彿 + */ + @ApiModelProperty(value= "缂栧彿") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 宸ヤ綔鍙� + */ + @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("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; + + /** + * 鐩爣搴撲綅 + */ + @ApiModelProperty(value= "鐩爣搴撲綅") + @TableField("loc_no") + private String locNo; + + /** + * 鐩爣绔� + */ + @ApiModelProperty(value= "鐩爣绔�") + @TableField("sta_no") + private Integer staNo; + + /** + * 婧愮珯 + */ + @ApiModelProperty(value= "婧愮珯") + @TableField("source_sta_no") + private Integer sourceStaNo; + + /** + * 婧愬簱浣� + */ + @ApiModelProperty(value= "婧愬簱浣�") + @TableField("source_loc_no") + private String sourceLocNo; + + @ApiModelProperty(value= "") + @TableField("loc_sts") + private String locSts; + + /** + * 鎷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; + + /** + * 淇敼浜哄憳 + */ + @ApiModelProperty(value= "淇敼浜哄憳") + @TableField("modi_user") + private Long modiUser; + + /** + * 淇敼鏃堕棿 + */ + @ApiModelProperty(value= "淇敼鏃堕棿") + @TableField("modi_time") + private Date modiTime; + + /** + * 鍒涘缓鑰� + */ + @ApiModelProperty(value= "鍒涘缓鑰�") + @TableField("appe_user") + private Long appeUser; + + /** + * 娣诲姞鏃堕棿 + */ + @ApiModelProperty(value= "娣诲姞鏃堕棿") + @TableField("appe_time") + private Date appeTime; + + @ApiModelProperty(value= "") + @TableField("pause_mk") + private String pauseMk; + + @ApiModelProperty(value= "") + @TableField("error_time") + private Date errorTime; + + @ApiModelProperty(value= "") + @TableField("error_memo") + private String errorMemo; + + @ApiModelProperty(value= "") + @TableField("ctn_kind") + private Integer ctnKind; + + @ApiModelProperty(value= "") + @TableField("manu_type") + private String manuType; + + @ApiModelProperty(value= "") + @TableField("memo_m") + private String memoM; + + @ApiModelProperty(value= "") + @TableField("sc_weight") + private Double scWeight; + + @ApiModelProperty(value= "") + @TableField("log_mk") + private String logMk; + + @ApiModelProperty(value= "") + @TableField("log_err_time") + private Date logErrTime; + + @ApiModelProperty(value= "") + @TableField("log_err_memo") + private String logErrMemo; + + /** + * 鏉$爜 + */ + @ApiModelProperty(value= "鏉$爜") + private String barcode; + + @ApiModelProperty(value= "") + @TableField("Pdc_type") + private String PdcType; + + @ApiModelProperty(value= "") + @TableField("ctn_no") + private String ctnNo; + + /** + * 婊℃澘 + */ + @ApiModelProperty(value= "婊℃澘") + @TableField("full_plt") + private String fullPlt; + + /** + * 鍏堝叆鍝� / 鍙岄噸鍏ュ簱 + */ + @ApiModelProperty(value= "鍏堝叆鍝�") + @TableField("pre_have") + private String preHave; + + /** + * 绌烘搷浣� / 鍙栬揣鏃犵 + */ + @ApiModelProperty(value= "绌烘搷浣�") + @TableField("take_none") + private String takeNone; + + public AgvWrkMastLog() {} + + public String getWrkNo$(){ + WrkMastService service = SpringUtils.getBean(WrkMastService.class); + WrkMast wrkMast = service.selectById(this.wrkNo); + if (!Cools.isEmpty(wrkMast)){ + return String.valueOf(wrkMast.getWrkNo()); + } + return null; + } + + public String getYmd$(){ + if (Cools.isEmpty(this.ymd)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ymd); + } + + public String getWrkSts$(){ + BasWrkStatusService service = SpringUtils.getBean(BasWrkStatusService.class); + BasWrkStatus basWrkStatus = service.selectById(this.wrkSts); + if (!Cools.isEmpty(basWrkStatus)){ + return String.valueOf(basWrkStatus.getWrkDesc()); + } + return null; + } + + public String getIoType$(){ + BasWrkIotypeService service = SpringUtils.getBean(BasWrkIotypeService.class); + BasWrkIotype basWrkIotype = service.selectById(this.ioType); + if (!Cools.isEmpty(basWrkIotype)){ + return String.valueOf(basWrkIotype.getIoDesc()); + } + return null; + } + + public String getCrnNo$(){ + BasCrnpService service = SpringUtils.getBean(BasCrnpService.class); + BasCrnp basCrnp = service.selectById(this.crnNo); + if (!Cools.isEmpty(basCrnp)){ + return String.valueOf(basCrnp.getCrnNo()); + } + return null; + } + + public String getWrkDate$(){ + if (Cools.isEmpty(this.wrkDate)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.wrkDate); + } + + public String getLocNo$(){ + LocMastService service = SpringUtils.getBean(LocMastService.class); + LocMast locMast = service.selectById(this.locNo); + if (!Cools.isEmpty(locMast)){ + return String.valueOf(locMast.getLocNo()); + } + return null; + } + + public String getStaNo$(){ + BasDevpService service = SpringUtils.getBean(BasDevpService.class); + BasDevp basDevp = service.selectById(this.staNo); + if (!Cools.isEmpty(basDevp)){ + return String.valueOf(basDevp.getDevNo()); + } + return null; + } + + public String getSourceStaNo$(){ + BasDevpService service = SpringUtils.getBean(BasDevpService.class); + BasDevp basDevp = service.selectById(this.sourceStaNo); + if (!Cools.isEmpty(basDevp)){ + return String.valueOf(basDevp.getDevNo()); + } + return null; + } + + public String getSourceLocNo$(){ + LocMastService service = SpringUtils.getBean(LocMastService.class); + LocMast locMast = service.selectById(this.sourceLocNo); + if (!Cools.isEmpty(locMast)){ + return String.valueOf(locMast.getLocNo()); + } + return null; + } + + public String getIoTime$(){ + if (Cools.isEmpty(this.ioTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ioTime); + } + + public String getCrnStrTime$(){ + if (Cools.isEmpty(this.crnStrTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.crnStrTime); + } + + public String getCrnEndTime$(){ + if (Cools.isEmpty(this.crnEndTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.crnEndTime); + } + + public String getPlcStrTime$(){ + if (Cools.isEmpty(this.plcStrTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.plcStrTime); + } + + public String getCrnPosTime$(){ + if (Cools.isEmpty(this.crnPosTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.crnPosTime); + } + + + public String getRefIotime$(){ + if (Cools.isEmpty(this.refIotime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.refIotime); + } + + public String getModiUser$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.selectById(this.modiUser); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getUsername()); + } + return null; + } + + public String getModiTime$(){ + if (Cools.isEmpty(this.modiTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime); + } + + public String getAppeUser$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.selectById(this.appeUser); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getUsername()); + } + return null; + } + + public String getAppeTime$(){ + if (Cools.isEmpty(this.appeTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime); + } + + public String getErrorTime$(){ + if (Cools.isEmpty(this.errorTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.errorTime); + } + + public String getLogErrTime$(){ + if (Cools.isEmpty(this.logErrTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.logErrTime); + } + + +} diff --git a/src/main/java/com/zy/asrs/entity/param/AgvTaskCallBackParam.java b/src/main/java/com/zy/asrs/entity/param/AgvTaskCallBackParam.java new file mode 100644 index 0000000..70507b9 --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/param/AgvTaskCallBackParam.java @@ -0,0 +1,47 @@ +package com.zy.asrs.entity.param; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class AgvTaskCallBackParam implements Serializable { + private static final long serialVersionUID = 1L; + + //涓氬姟浠诲姟鍙� + private String taskCode; + + //涓婃姤浜嬩欢绫诲瀷 + private String eventType; + + //浠诲姟鐘舵�� + private String status; + + //鏈哄櫒浜虹紪鐮� + private String robotCode; + + //瀹瑰櫒缂栫爜 + private String containerCode; + + //宸ヤ綔浣嶇紪鐮� + private String locationCode; + + //宸ヤ綔绔欑紪鐮� + private String stationCode; + + //鎻忚堪淇℃伅锛屾弿杩板紓甯稿師鍥�/鎸傝捣鍘熷洜绛� + private String message; + + //搴撲綅鏄惁鏈夊鍣紝鐩樼偣浠诲姟鎵嶄細杩斿洖璇ュ�� + private boolean isLocationHasContainer; + + //鑳岀瘬灞傚彿锛屼粠 0 灞傚紑濮嬶紝浠庝笅寰�涓婄紪鍙枫��64 琛ㄧず鏀惧湪浜嗚揣鍙変笂 + private int trayLevel; + + //閲嶉噺锛屽崟浣嶄负 g锛屼粎闄愪簬閲嶉噺鐩樼偣 + private int weight; + + //rfid 鐩樼偣淇℃伅锛屼粎闄愪簬 rfid 鐩樼偣 + private List<String> rfidInfo; +} diff --git a/src/main/java/com/zy/asrs/entity/param/AgvTaskParam.java b/src/main/java/com/zy/asrs/entity/param/AgvTaskParam.java index 06d8f9c..c311939 100644 --- a/src/main/java/com/zy/asrs/entity/param/AgvTaskParam.java +++ b/src/main/java/com/zy/asrs/entity/param/AgvTaskParam.java @@ -9,5 +9,5 @@ //浠诲姟浼樺厛绾� private int taskPriority; //浠诲姟鎻忚堪 - private AgvTaskkDescribeParam taskkDescribe; + private AgvTaskkDescribeParam taskDescribe; } diff --git a/src/main/java/com/zy/asrs/mapper/AgvLocMastMapper.java b/src/main/java/com/zy/asrs/mapper/AgvLocMastMapper.java index e2afaa9..7192e4f 100644 --- a/src/main/java/com/zy/asrs/mapper/AgvLocMastMapper.java +++ b/src/main/java/com/zy/asrs/mapper/AgvLocMastMapper.java @@ -23,4 +23,5 @@ public void updateLocType2(@Param("locType2") int locType2, @Param("startRow")int startRow, @Param("endRow")int endRow, @Param("startBay")int startBay, @Param("endBay")int endBay, @Param("startLev")int startLev, @Param("endLev")int endLev, @Param("floor")int floor); List<AgvLocMast> queryFreeLocMast2(Short locType1, Integer rowBeg, Integer rowEnd, Integer bayBeg, Integer bayEnd, Integer levBeg, Integer levEnd); + } diff --git a/src/main/java/com/zy/asrs/mapper/AgvWaitPakinLogMapper.java b/src/main/java/com/zy/asrs/mapper/AgvWaitPakinLogMapper.java new file mode 100644 index 0000000..4175ed8 --- /dev/null +++ b/src/main/java/com/zy/asrs/mapper/AgvWaitPakinLogMapper.java @@ -0,0 +1,16 @@ +package com.zy.asrs.mapper; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.zy.asrs.entity.AgvWaitPakinLog; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface AgvWaitPakinLogMapper extends BaseMapper<AgvWaitPakinLog> { + + @Insert("insert into agv_cust_wait_pakin_log select * from agv_cust_wait_pakin where zpallet=#{zpallet}") + int save(String zpallet); + +} diff --git a/src/main/java/com/zy/asrs/mapper/AgvWrkDetlLogMapper.java b/src/main/java/com/zy/asrs/mapper/AgvWrkDetlLogMapper.java new file mode 100644 index 0000000..b4ab140 --- /dev/null +++ b/src/main/java/com/zy/asrs/mapper/AgvWrkDetlLogMapper.java @@ -0,0 +1,16 @@ +package com.zy.asrs.mapper; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.zy.asrs.entity.AgvWrkDetlLog; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface AgvWrkDetlLogMapper extends BaseMapper<AgvWrkDetlLog> { + + @Insert("insert into agv_wrk_detl_log select * from agv_wrk_detl where wrk_no=#{workNo}") + int save(Integer workNo); + +} diff --git a/src/main/java/com/zy/asrs/mapper/AgvWrkMastLogMapper.java b/src/main/java/com/zy/asrs/mapper/AgvWrkMastLogMapper.java new file mode 100644 index 0000000..d1cc7e5 --- /dev/null +++ b/src/main/java/com/zy/asrs/mapper/AgvWrkMastLogMapper.java @@ -0,0 +1,16 @@ +package com.zy.asrs.mapper; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.zy.asrs.entity.AgvWrkMastLog; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface AgvWrkMastLogMapper extends BaseMapper<AgvWrkMastLog> { + + @Insert("insert into agv_wrk_mast_log select * from agv_wrk_mast where wrk_no=#{workNo}") + int save(Integer workNo); + +} diff --git a/src/main/java/com/zy/asrs/mapper/AgvWrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/AgvWrkMastMapper.java index 8894210..46ca27e 100644 --- a/src/main/java/com/zy/asrs/mapper/AgvWrkMastMapper.java +++ b/src/main/java/com/zy/asrs/mapper/AgvWrkMastMapper.java @@ -6,4 +6,5 @@ @Mapper public interface AgvWrkMastMapper extends BaseMapper<AgvWrkMast> { + } diff --git a/src/main/java/com/zy/asrs/service/AgvBasDevpService.java b/src/main/java/com/zy/asrs/service/AgvBasDevpService.java index ff7c1bc..f6a81b0 100644 --- a/src/main/java/com/zy/asrs/service/AgvBasDevpService.java +++ b/src/main/java/com/zy/asrs/service/AgvBasDevpService.java @@ -8,4 +8,6 @@ public void clearBasDevp(); public void initBasDevp(); + + public void updateLocStsAndBarcodeByDevNo(String devNo, String locSts, String barcode); } diff --git a/src/main/java/com/zy/asrs/service/AgvLocDetlService.java b/src/main/java/com/zy/asrs/service/AgvLocDetlService.java index 23393a3..55a8220 100644 --- a/src/main/java/com/zy/asrs/service/AgvLocDetlService.java +++ b/src/main/java/com/zy/asrs/service/AgvLocDetlService.java @@ -5,4 +5,6 @@ public interface AgvLocDetlService extends IService<AgvLocDetl> { + public void addLocDetlInfo(String locNo, int taskCode); + } diff --git a/src/main/java/com/zy/asrs/service/AgvLocMastService.java b/src/main/java/com/zy/asrs/service/AgvLocMastService.java index b9a4c9a..2271da4 100644 --- a/src/main/java/com/zy/asrs/service/AgvLocMastService.java +++ b/src/main/java/com/zy/asrs/service/AgvLocMastService.java @@ -17,4 +17,6 @@ List<AgvLocMast> queryFreeLocMast2(Short locType1, Integer rowBeg, Integer rowEnd, Integer bayBeg, Integer bayEnd, Integer levBeg, Integer levEnd); void updateLocType2ByRBL(Integer locType2, AgvLocRule locRule); + + public void updateLocStsByLocNo(String locNo, String locSts); } diff --git a/src/main/java/com/zy/asrs/service/AgvWaitPakinLogService.java b/src/main/java/com/zy/asrs/service/AgvWaitPakinLogService.java new file mode 100644 index 0000000..1090247 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/AgvWaitPakinLogService.java @@ -0,0 +1,10 @@ +package com.zy.asrs.service; + +import com.baomidou.mybatisplus.service.IService; +import com.zy.asrs.entity.AgvWaitPakinLog; + +public interface AgvWaitPakinLogService extends IService<AgvWaitPakinLog> { + + boolean save(String zpallet); + +} diff --git a/src/main/java/com/zy/asrs/service/AgvWaitPakinService.java b/src/main/java/com/zy/asrs/service/AgvWaitPakinService.java index 5bca9f1..efdefa9 100644 --- a/src/main/java/com/zy/asrs/service/AgvWaitPakinService.java +++ b/src/main/java/com/zy/asrs/service/AgvWaitPakinService.java @@ -5,4 +5,6 @@ public interface AgvWaitPakinService extends IService<AgvWaitPakin> { + public void updateIoStatus(int wrkNo, String ioStatus); + } diff --git a/src/main/java/com/zy/asrs/service/AgvWrkDetlLogService.java b/src/main/java/com/zy/asrs/service/AgvWrkDetlLogService.java new file mode 100644 index 0000000..29642f4 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/AgvWrkDetlLogService.java @@ -0,0 +1,10 @@ +package com.zy.asrs.service; + +import com.baomidou.mybatisplus.service.IService; +import com.zy.asrs.entity.AgvWrkDetlLog; + +public interface AgvWrkDetlLogService extends IService<AgvWrkDetlLog> { + + boolean save(Integer workNo); + +} diff --git a/src/main/java/com/zy/asrs/service/AgvWrkMastLogService.java b/src/main/java/com/zy/asrs/service/AgvWrkMastLogService.java new file mode 100644 index 0000000..f55763c --- /dev/null +++ b/src/main/java/com/zy/asrs/service/AgvWrkMastLogService.java @@ -0,0 +1,10 @@ +package com.zy.asrs.service; + +import com.baomidou.mybatisplus.service.IService; +import com.zy.asrs.entity.AgvWrkMastLog; + +public interface AgvWrkMastLogService extends IService<AgvWrkMastLog> { + + boolean save(Integer workNo); + +} diff --git a/src/main/java/com/zy/asrs/service/AgvWrkMastService.java b/src/main/java/com/zy/asrs/service/AgvWrkMastService.java index 86d4398..8847a8d 100644 --- a/src/main/java/com/zy/asrs/service/AgvWrkMastService.java +++ b/src/main/java/com/zy/asrs/service/AgvWrkMastService.java @@ -4,4 +4,6 @@ import com.zy.asrs.entity.AgvWrkMast; public interface AgvWrkMastService extends IService<AgvWrkMast> { + + public void updateWrkStsByWrkNo(int wrkNo, long wrkSts); } diff --git a/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java index c6f57ec..fbecf3d 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java @@ -50,18 +50,7 @@ for(int row=rowIndex; row<=rowMax; row++){ for(int bay=bayIndex; bay<=bayMax; bay++){ for(int lev=levIndex; lev<=levMax; lev++){ -// AgvBasDevp agvBasDevp = new AgvBasDevp(); -// String devNo = "CS-" + floor + "0" + row + "-00" + bay + "-0" + lev + "@" + floor; -// String stationCode = "CS-" + floor + "0" + row; -// agvBasDevp.setDevNo(devNo); -// agvBasDevp.setStationCode(stationCode); -// agvBasDevp.setLocSts("O"); -// agvBasDevp.setCacheShelves("Y"); -// agvBasDevp.setFloor(floor); -// agvBasDevp.setModiTime(now); -// agvBasDevp.setAppeTime(now); agvBasDevpList.add(getAgvBasDevp(row,bay,lev,floor,"Y",now)); - } } } @@ -83,4 +72,12 @@ return agvBasDevp; } + public void updateLocStsAndBarcodeByDevNo(String devNo, String locSts, String barcode){ + + AgvBasDevp agvBasDevp = this.selectById(devNo); + agvBasDevp.setLocSts(locSts); + agvBasDevp.setBarcode(barcode); + this.updateById(agvBasDevp); + } + } diff --git a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java index df4ecc5..6b637b0 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java @@ -1,12 +1,35 @@ package com.zy.asrs.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.zy.asrs.entity.AgvLocDetl; +import com.zy.asrs.entity.AgvWrkDetl; import com.zy.asrs.mapper.AgvLocDetlMapper; import com.zy.asrs.service.AgvLocDetlService; +import com.zy.asrs.service.AgvWrkDetlService; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; @Service public class AgvLocDetlServiceImpl extends ServiceImpl<AgvLocDetlMapper, AgvLocDetl> implements AgvLocDetlService { + @Autowired + AgvWrkDetlService agvWrkDetlService; + + public void addLocDetlInfo(String locNo, int taskCode) { + List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", taskCode)); + List<AgvLocDetl> agvLocDetlList = agvWrkDetls.stream().map(agvWrkDetl -> { + AgvLocDetl agvLocDetl = new AgvLocDetl(); + BeanUtils.copyProperties(agvWrkDetl, agvLocDetl); + agvLocDetl.setLocNo(locNo); + return agvLocDetl; + }).collect(Collectors.toList()); + + this.insertBatch(agvLocDetlList); + + } } diff --git a/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java index 0303c56..8f3d445 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java @@ -88,4 +88,10 @@ this.baseMapper.updateLocType2(locType2,locRule.getRowBeg(),locRule.getRowEnd(),locRule.getBayBeg(),locRule.getBayEnd(),locRule.getLevBeg(),locRule.getLevEnd(),locRule.getFloor()); } + public void updateLocStsByLocNo(String locNo, String locSts) { + AgvLocMast agvLocMast = this.selectById(locNo); + agvLocMast.setLocSts(locSts); + this.updateById(agvLocMast); + } + } diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java index 0a5fcc4..beb08ff 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java @@ -179,7 +179,7 @@ public List<AgvBasDevp> getAgvBasDevpByFloor(int floor) { EntityWrapper<AgvBasDevp> wrapper = new EntityWrapper<>(); - wrapper.eq("floor",floor).eq("cache_shelves","Y"); + wrapper.eq("floor",floor).eq("cache_shelves","Y").eq("sts_loc","F"); return agvBasDevpService.selectList(wrapper); } diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWaitPakinLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWaitPakinLogServiceImpl.java new file mode 100644 index 0000000..b180fcf --- /dev/null +++ b/src/main/java/com/zy/asrs/service/impl/AgvWaitPakinLogServiceImpl.java @@ -0,0 +1,17 @@ +package com.zy.asrs.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.zy.asrs.entity.AgvWaitPakinLog; +import com.zy.asrs.mapper.AgvWaitPakinLogMapper; +import com.zy.asrs.service.AgvWaitPakinLogService; +import org.springframework.stereotype.Service; + +@Service +public class AgvWaitPakinLogServiceImpl extends ServiceImpl<AgvWaitPakinLogMapper, AgvWaitPakinLog> implements AgvWaitPakinLogService { + + @Override + public boolean save(String zpallet) { + return this.baseMapper.save(zpallet) > 0; + } + +} diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWaitPakinServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWaitPakinServiceImpl.java index 7b1d03f..471dffc 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWaitPakinServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWaitPakinServiceImpl.java @@ -1,12 +1,29 @@ package com.zy.asrs.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.zy.asrs.entity.AgvWaitPakin; +import com.zy.asrs.entity.AgvWrkMast; import com.zy.asrs.mapper.AgvWaitPakinMapper; import com.zy.asrs.service.AgvWaitPakinService; +import com.zy.asrs.service.AgvWrkMastService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.List; @Service public class AgvWaitPakinServiceImpl extends ServiceImpl<AgvWaitPakinMapper, AgvWaitPakin> implements AgvWaitPakinService { + @Autowired + AgvWrkMastService agvWrkMastService; + + public void updateIoStatus(int wrkNo, String ioStatus) { + AgvWrkMast agvWrkMast = agvWrkMastService.selectById(wrkNo); + List<AgvWaitPakin> agvWaitPakinList = this.selectList(new EntityWrapper<AgvWaitPakin>().eq("zpallet", agvWrkMast.getBarcode())); + agvWaitPakinList.stream().forEach(agvWaitPakin -> { + agvWaitPakin.setIoStatus("Y"); + this.update(agvWaitPakin,new EntityWrapper<AgvWaitPakin>().eq("zpallet",agvWaitPakin.getZpallet())); + }); + } } diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkDetlLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkDetlLogServiceImpl.java new file mode 100644 index 0000000..53f3dc6 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkDetlLogServiceImpl.java @@ -0,0 +1,16 @@ +package com.zy.asrs.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.zy.asrs.entity.AgvWrkDetlLog; +import com.zy.asrs.mapper.AgvWrkDetlLogMapper; +import com.zy.asrs.service.AgvWrkDetlLogService; +import org.springframework.stereotype.Service; + +@Service +public class AgvWrkDetlLogServiceImpl extends ServiceImpl<AgvWrkDetlLogMapper, AgvWrkDetlLog> implements AgvWrkDetlLogService { + + @Override + public boolean save(Integer workNo) { + return this.baseMapper.save(workNo)>0; + } +} diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastLogServiceImpl.java new file mode 100644 index 0000000..2d7cb53 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastLogServiceImpl.java @@ -0,0 +1,17 @@ +package com.zy.asrs.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.zy.asrs.entity.AgvWrkMastLog; +import com.zy.asrs.mapper.AgvWrkMastLogMapper; +import com.zy.asrs.service.AgvWrkMastLogService; +import org.springframework.stereotype.Service; + +@Service +public class AgvWrkMastLogServiceImpl extends ServiceImpl<AgvWrkMastLogMapper, AgvWrkMastLog> implements AgvWrkMastLogService { + + @Override + public boolean save(Integer workNo) { + return this.baseMapper.save(workNo) > 0; + } + +} diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java index 0bdac4c..297e554 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java @@ -4,8 +4,18 @@ import com.zy.asrs.entity.AgvWrkMast; import com.zy.asrs.mapper.AgvWrkMastMapper; import com.zy.asrs.service.AgvWrkMastService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class AgvWrkMastServiceImp extends ServiceImpl<AgvWrkMastMapper, AgvWrkMast> implements AgvWrkMastService { + + @Autowired + AgvWrkMastMapper agvWrkMastMapper; + + public void updateWrkStsByWrkNo(int wrkNo, long wrkSts) { + AgvWrkMast agvWrkMast = this.selectById(wrkNo); + agvWrkMast.setWrkSts(wrkSts); + this.updateById(agvWrkMast); + } } diff --git a/src/main/webapp/static/js/agvLocDetl/locDetl.js b/src/main/webapp/static/js/agvLocDetl/locDetl.js index 8b71add..d315d9e 100644 --- a/src/main/webapp/static/js/agvLocDetl/locDetl.js +++ b/src/main/webapp/static/js/agvLocDetl/locDetl.js @@ -2,7 +2,7 @@ var tableData; function getCol() { var cols = [ - {field: 'locNo$', align: 'center',title: '搴撲綅鍙�'}, + {field: 'locNo', align: 'center',title: '搴撲綅鍙�'}, {field: 'matnr', align: 'center',title: '鐗╂枡鍙�', sort:true} ,{field: 'maktx', align: 'center',title: '鐗╂枡鍙�', sort:true} ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', hide: false} @@ -58,7 +58,7 @@ tableIns = table.render({ elem: '#agvLocDetl', headers: {token: localStorage.getItem('token')}, - url: baseUrl+'/agvLocDetl/list/auth', + url: baseUrl+'/agv/locDetl/list/auth', page: true, limit: 20, where:{ @@ -159,7 +159,7 @@ } else { layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){ $.ajax({ - url: baseUrl+"/locDetl/delete/auth", + url: baseUrl+"/agv/locDetl/delete/auth", headers: {'token': localStorage.getItem('token')}, data: {param: JSON.stringify(data)}, method: 'POST', @@ -198,7 +198,7 @@ }; var loadIndex = layer.msg('姝e湪瀵煎嚭...', {icon: 16, shade: 0.01, time: false}); $.ajax({ - url: baseUrl+"/locDetl/export/auth", + url: baseUrl+"/agv/locDetl/export/auth", headers: {'token': localStorage.getItem('token')}, data: JSON.stringify(param), dataType:'json', @@ -278,7 +278,7 @@ content: '../locMast/locMast_detail.html', success: function(layero, index){ $.ajax({ - url: baseUrl+"/locMast/"+ param +"/auth", + url: baseUrl+"/agv/locMast/"+ param +"/auth", headers: {'token': localStorage.getItem('token')}, method: 'GET', success: function (res) { @@ -416,7 +416,7 @@ }; $.ajax({ - url: baseUrl+"/locDetl/"+name+"/auth", + url: baseUrl+"/agv/locDetl/"+name+"/auth", headers: {'token': localStorage.getItem('token')}, data: top.reObject(data), method: 'POST', @@ -498,7 +498,7 @@ let index = obj.othis.parents('tr').attr("data-index"); let data = tableData[index]; data[this.stockFreeze] = obj.elem.checked?1:0; - http.post(baseUrl + "/locDetl/updateStockFreeze/auth", { + http.post(baseUrl + "/agv/locDetl/updateStockFreeze/auth", { locNo: data.locNo, matnr: data.matnr, stockFreeze: data[this.stockFreeze] diff --git a/src/main/webapp/static/js/agvStoMan/stoQue.js b/src/main/webapp/static/js/agvStoMan/stoQue.js index aa285c3..4b0d3c1 100644 --- a/src/main/webapp/static/js/agvStoMan/stoQue.js +++ b/src/main/webapp/static/js/agvStoMan/stoQue.js @@ -174,6 +174,7 @@ // iframe鐗╂枡璇︽儏 function locDetlToLayer(val) { locNo = val; + url = '/agv/locDetl/list/auth'; layer.open({ type: 2, title: '搴撳瓨鏄庣粏', diff --git a/src/main/webapp/static/js/agvWaitPakinLog/waitPakinLog.js b/src/main/webapp/static/js/agvWaitPakinLog/waitPakinLog.js new file mode 100644 index 0000000..0ca33d5 --- /dev/null +++ b/src/main/webapp/static/js/agvWaitPakinLog/waitPakinLog.js @@ -0,0 +1,482 @@ +var pageCurr; +function getCol() { + var cols = [ + ]; + cols.push.apply(cols, detlCols); + cols.push({field: 'status', align: 'center',title: '鏁版嵁鐘舵��', templet:function(row){ + var html = "<input value='status' type='checkbox' lay-skin='switch' lay-text='姝e父|閿佸畾' lay-filter='tableCheckbox' disabled='disabled' table-index='"+row.LAY_TABLE_INDEX+"'"; + if(row.status === 'Y'){html += " checked ";} + html += ">"; + return html; + }} + ,{field: 'ioStatus', align: 'center',title: '鍏ュ嚭鐘舵��', templet:function(row){ + var html = "<input value='ioStatus' type='checkbox' lay-skin='switch' lay-text='宸插畬鎴恷鏈鐞�' lay-filter='tableCheckbox' disabled='disabled' table-index='"+row.LAY_TABLE_INDEX+"'"; + if(row.ioStatus === 'Y'){html += " checked ";} + html += ">"; + return html; + }} + ,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳', hide:true} + ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿', hide:true}) + return cols; +} +layui.use(['table','laydate', 'form'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#waitPakinLog', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/agv/waitPakinLog/list/auth', + 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+"/"; + } + pageCurr=curr; + limit(); + 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'; + } + }); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(locMast)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(waitPakinLog)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + switch(obj.event) { + case 'addData': + layer.open({ + type: 2, + title: '鏂板', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + content: 'waitPakinLog_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-edit', index).hide(); + clearFormVal(layer.getChildFrame('#detail', index)); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + } + }); + break; + case 'deleteData': + var data = checkStatus.data; + if (data.length === 0){ + layer.msg('璇烽�夋嫨鏁版嵁'); + } else { + layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){ + $.ajax({ + url: baseUrl+"/agv/waitPakinLog/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {param: JSON.stringify(data)}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + tableReload(false); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + }); + } + break; + case 'exportData': + layer.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); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'waitPakinLog': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/agv/waitPakinLog/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + 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'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(waitPakinLog)', function(obj){ + var data = obj.data; + switch (obj.event) { + // 璇︽儏 + case 'detail': + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: true, + content: 'waitPakinLog_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } + }); + break; + // 缂栬緫 + case 'edit': + layer.open({ + type: 2, + title: '淇敼', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + content: 'waitPakinLog_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-save', index).hide(); + setFormVal(layer.getChildFrame('#detail', index), data, false); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); + top.convertDisabled(layer.getChildFrame('#id', index), true); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } + }); + break; + case 'modiUser': + var param = top.reObject(data).modiUser; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '淇敼浜哄憳璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: true, + content: '../user/user_detail.html', + success: function(layero, index){ + $.ajax({ + url: "baseUrl+/user/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + case 'appeUser': + var param = top.reObject(data).appeUser; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '鍒涘缓鑰呰鎯�', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: true, + content: '../user/user_detail.html', + success: function(layero, index){ + $.ajax({ + url: "baseUrl+/user/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + + } + }); + + // 鏁版嵁淇濆瓨鍔ㄤ綔 + form.on('submit(save)', function () { + if (banMsg != null){ + layer.msg(banMsg); + return; + } + method("add"); + }); + + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(edit)', function () { + method("update") + }); + + function method(name){ + var index = layer.load(1, { + shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 + }); + var data = { +// id: $('#id').val(), + id: $('#id').val(), + pakinId: $('#pakinId').val(), + barcode: $('#barcode').val(), + matnr: $('#matnr').val(), + maktx: $('#maktx').val(), + anfme: $('#anfme').val(), + unit: $('#unit').val(), + status: $('#status').val(), + memo: $('#memo').val(), + modiTime: top.strToDate($('#modiTime\\$').val()), + modiUser: $('#modiUser').val(), + appeTime: top.strToDate($('#appeTime\\$').val()), + appeUser: $('#appeUser').val(), + + }; + $.ajax({ + url: baseUrl+"/agv/waitPakinLog/"+name+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: top.reObject(data), + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.closeAll(); + parent.$(".layui-laypage-btn")[0].click(); + $("#data-detail :input").each(function () { + $(this).val(""); + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + layer.close(index); + } + }) + } + + // 澶嶉�夋浜嬩欢 + form.on('checkbox(detailCheckbox)', function (data) { + var el = data.elem; + if (el.checked) { + $(el).val('Y'); + } else { + $(el).val('N'); + } + }); + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + layDate.render({ + elem: '#modiTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#appeTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); +} + +function setFormVal(el, data, showImg) { + for (var val in data) { + var find = el.find(":input[id='" + val + "']"); + if (find[0]!=null){ + if (find[0].type === 'checkbox'){ + if (data[val]==='Y'){ + find.attr("checked","checked"); + find.val('Y'); + } else { + find.remove("checked"); + find.val('N'); + } + continue; + } + } + find.val(data[val]); + if (showImg){ + var next = find.next(); + if (next.get(0)){ + if (next.get(0).localName === "img") { + find.hide(); + next.attr("src", data[val]); + next.show(); + } + } + } + } +} + +function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); +} + +function detailScreen(index) { + var detail = layer.getChildFrame('#data-detail', index); + var height = detail.height()+60; + if (height > ($(window).height()*0.9)) { + height = ($(window).height()*0.8); + } + layer.style(index, { +// top: (($(window).height()-height)/3)+"px", + height: height+'px' + }); +} + +$('body').keydown(function () { + if (event.keyCode === 13) { + $("#search").click(); + } +}); diff --git a/src/main/webapp/static/js/agvWrkDetlLog/wrkDetlLog.js b/src/main/webapp/static/js/agvWrkDetlLog/wrkDetlLog.js new file mode 100644 index 0000000..85da753 --- /dev/null +++ b/src/main/webapp/static/js/agvWrkDetlLog/wrkDetlLog.js @@ -0,0 +1,484 @@ +var pageCurr; +function getCol() { + var cols = [ + {field: 'wrkNo', align: 'center',title: '宸ヤ綔鍙�'} + ,{field: 'ioTime$', align: 'center',title: '宸ヤ綔鏃堕棿'} + ]; + cols.push.apply(cols, detlCols); + cols.push({field: 'modiUser$', align: 'center',title: '淇敼浜哄憳',hide: true} + ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿',hide: true} + ) + return cols; +} + +layui.use(['table','laydate', 'form'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#wrkDetlLog', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/agv/wrkDetlLog/list/auth', + 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+"/"; + } + pageCurr=curr; + limit(); + 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'; + } + }); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(locMast)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(wrkDetlLog)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + switch(obj.event) { + case 'addData': + layer.open({ + type: 2, + title: '鏂板', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + content: 'wrkDetlLog_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-edit', index).hide(); + clearFormVal(layer.getChildFrame('#detail', index)); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + } + }); + break; + case 'deleteData': + var data = checkStatus.data; + if (data.length === 0){ + layer.msg('璇烽�夋嫨鏁版嵁'); + } else { + layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){ + $.ajax({ + url: baseUrl+"/agv/wrkDetlLog/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {param: JSON.stringify(data)}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + tableReload(false); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + }); + } + break; + case 'exportData': + layer.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); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'wrkDetlLog': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/agv/wrkDetlLog/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + 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'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(wrkDetlLog)', function(obj){ + var data = obj.data; + switch (obj.event) { + // 璇︽儏 + case 'detail': + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: true, + content: 'wrkDetlLog_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } + }); + break; + // 缂栬緫 + case 'edit': + layer.open({ + type: 2, + title: '淇敼', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + content: 'wrkDetlLog_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-save', index).hide(); + setFormVal(layer.getChildFrame('#detail', index), data, false); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); + top.convertDisabled(layer.getChildFrame('', index), true); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } + }); + break; + case 'modiUser': + var param = top.reObject(data).modiUser; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '淇敼浜哄憳璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: true, + content: '../user/user_detail.html', + success: function(layero, index){ + $.ajax({ + url: "baseUrl+/user/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + case 'appeUser': + var param = top.reObject(data).appeUser; + if (param === undefined) { + layer.msg("鏃犳暟鎹�"); + } else { + layer.open({ + type: 2, + title: '鍒涘缓鑰呰鎯�', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: true, + content: '../user/user_detail.html', + success: function(layero, index){ + $.ajax({ + url: "baseUrl+/user/"+ param +"/auth", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + if (res.code === 200){ + setFormVal(layer.getChildFrame('#detail', index), res.data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + } + }) + } + }); + } + break; + + } + }); + + // 鏁版嵁淇濆瓨鍔ㄤ綔 + form.on('submit(save)', function () { + if (banMsg != null){ + layer.msg(banMsg); + return; + } + method("add"); + }); + + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(edit)', function () { + method("update") + }); + + function method(name){ + var index = layer.load(1, { + shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 + }); + var data = { +// id: $('#id').val(), + wrkNo: $('#wrkNo').val(), + ioTime: top.strToDate($('#ioTime\\$').val()), + matnr: $('#matnr').val(), + lgnum: $('#lgnum').val(), + tbnum: $('#tbnum').val(), + tbpos: $('#tbpos').val(), + zmatid: $('#zmatid').val(), + maktx: $('#maktx').val(), + werks: $('#werks').val(), + anfme: $('#anfme').val(), + altme: $('#altme').val(), + zpallet: $('#zpallet').val(), + bname: $('#bname').val(), + memo: $('#memo').val(), + modiUser: $('#modiUser').val(), + modiTime: top.strToDate($('#modiTime\\$').val()), + appeUser: $('#appeUser').val(), + appeTime: top.strToDate($('#appeTime\\$').val()), + nista: $('#nista').val(), + + }; + $.ajax({ + url: baseUrl+"/agv/wrkDetlLog/"+name+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: top.reObject(data), + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.closeAll(); + parent.$(".layui-laypage-btn")[0].click(); + $("#data-detail :input").each(function () { + $(this).val(""); + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + layer.close(index); + } + }) + } + + // 澶嶉�夋浜嬩欢 + form.on('checkbox(detailCheckbox)', function (data) { + var el = data.elem; + if (el.checked) { + $(el).val('Y'); + } else { + $(el).val('N'); + } + }); + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + layDate.render({ + elem: '#ioTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#modiTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#appeTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); +} + +function setFormVal(el, data, showImg) { + for (var val in data) { + var find = el.find(":input[id='" + val + "']"); + if (find[0]!=null){ + if (find[0].type === 'checkbox'){ + if (data[val]==='Y'){ + find.attr("checked","checked"); + find.val('Y'); + } else { + find.remove("checked"); + find.val('N'); + } + continue; + } + } + find.val(data[val]); + if (showImg){ + var next = find.next(); + if (next.get(0)){ + if (next.get(0).localName === "img") { + find.hide(); + next.attr("src", data[val]); + next.show(); + } + } + } + } +} + +function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); +} + +function detailScreen(index) { + var detail = layer.getChildFrame('#data-detail', index); + var height = detail.height()+60; + if (height > ($(window).height()*0.9)) { + height = ($(window).height()*0.8); + } + layer.style(index, { +// top: (($(window).height()-height)/3)+"px", + height: height+'px' + }); +} + +$('body').keydown(function () { + if (event.keyCode === 13) { + $("#search").click(); + } +}); diff --git a/src/main/webapp/static/js/agvWrkMast/wrkMast.js b/src/main/webapp/static/js/agvWrkMast/wrkMast.js index 4fe5e9b..a9384ca 100644 --- a/src/main/webapp/static/js/agvWrkMast/wrkMast.js +++ b/src/main/webapp/static/js/agvWrkMast/wrkMast.js @@ -195,7 +195,7 @@ } else { layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){ $.ajax({ - url: baseUrl+"/agv/wrkMast/delete/auth", + url: baseUrl+"/agv/wrkMast/startWrk/auth", headers: {'token': localStorage.getItem('token')}, data: {param: JSON.stringify(data)}, method: 'POST', diff --git a/src/main/webapp/static/js/agvWrkMastLog/wrkMastLog.js b/src/main/webapp/static/js/agvWrkMastLog/wrkMastLog.js new file mode 100644 index 0000000..7cafe4f --- /dev/null +++ b/src/main/webapp/static/js/agvWrkMastLog/wrkMastLog.js @@ -0,0 +1,533 @@ +var pageCurr; +var wrkNo; +var ioTime; +layui.use(['table','laydate', 'form'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#wrkMastLog', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/agv/wrkMastLog/list/auth', + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + even: true, + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [[ + // {type: 'checkbox'} +// ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80} +// ,{field: 'id', align: 'center',title: '缂栧彿'} + {field: 'wrkNo', align: 'center',title: '宸ヤ綔鍙�',event: 'wrkNo', sort: true} + ,{field: 'ioTime$', align: 'center',title: '宸ヤ綔鏃堕棿', width:160, sort: true} + ,{field: 'wrkSts$', align: 'center',title: '宸ヤ綔鐘舵��', width:160} + ,{field: 'ioType$', align: 'center',title: '鍏ュ嚭搴撶被鍨�', width:160} + ,{field: 'ioPri', align: 'center',title: '浼樺厛绾�'} + ,{field: 'crnNo$', align: 'center',title: '鍫嗗灈鏈哄彿'} + ,{field: 'sourceStaNo$', align: 'center',title: '婧愮珯'} + ,{field: 'staNo$', align: 'center',title: '鐩爣绔�'} + ,{field: 'sourceLocNo$', align: 'center',title: '婧愬簱浣�'} + ,{field: 'locNo$', align: 'center',title: '鐩爣搴撲綅'} + // ,{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: 'plcStrTime$', align: 'center',title: '鎷f枡鏃堕棿'} + ,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳', hide:true} + ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿', hide:true} + // ,{field: 'appeUser$', align: 'center',title: '鍒涘缓鑰�',event: 'appeUser', style: 'cursor:pointer'} + // ,{field: 'appeTime$', align: 'center',title: '娣诲姞鏃堕棿'} + ,{field: 'barcode', 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: 80} + ]], + 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+"/"; + } + pageCurr=curr; + limit(); + 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'; + } + }); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(wrkMastLog)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: { + curr: 1 + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(wrkMastLog)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id); + switch(obj.event) { + case 'addData': + layer.open({ + type: 2, + title: '鏂板', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'wrkMastLog_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-edit', index).hide(); + clearFormVal(layer.getChildFrame('#detail', index)); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + } + }); + break; + case 'refreshData': + tableIns.reload({ + page: { + curr: pageCurr + } + }); + limit(); + break; + case 'deleteData': + var data = checkStatus.data; + if (data.length === 0){ + layer.msg('璇烽�夋嫨鏁版嵁'); + } else { + layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){ + $.ajax({ + url: baseUrl+"/agv/wrkMastLog/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {param: JSON.stringify(data)}, + method: 'POST', + traditional:true, + success: function (res) { + if (res.code === 200){ + layer.closeAll(); + tableReload(false); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + }); + } + break; + case 'exportData': + layer.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); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'wrkMastLog': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/agv/wrkMastLog/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + 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'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(wrkMastLog)', function(obj){ + var data = obj.data; + switch (obj.event) { + // 鏄庣粏灞曠ず + case 'detlShow': + wrkNo = data.wrkNo; + ioTime = data.ioTime; + // 琛ㄦ牸涓嬫柟鏄剧ず + // locDetl(data.wrkNo); + // 寮瑰眰鏄剧ず + layer.open({ + type: 2, + title: '宸ヤ綔鏄庣粏鍘嗗彶妗�', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: true, + content: 'wrkDetlLog.html', + success: function(layero, index){ + } + }); + break; + // 璇︽儏 + case 'detail': + layer.open({ + type: 2, + title: '璇︽儏', + maxmin: true, + area: [top.detailWidth, top.detailHeight], + shadeClose: false, + content: 'wrkMastLog_detail.html', + success: function(layero, index){ + setFormVal(layer.getChildFrame('#detail', index), data, true); + top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); + layer.getChildFrame('##dealDownLine', index).hide(); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + + } + }); + break; + } + }); + + // 鏁版嵁淇濆瓨鍔ㄤ綔 + form.on('submit(save)', function () { + if (banMsg != null){ + layer.msg(banMsg); + return; + } + method("add"); + }); + + // 鏁版嵁淇敼鍔ㄤ綔 + form.on('submit(edit)', function () { + method("update") + }); + + function method(name){ + var index = layer.load(1, { + shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 + }); + var data = { +// id: $('#id').val(), + id: $('#id').val(), + wrkNo: $('#wrkNo').val(), + invWh: $('#invWh').val(), + ymd: top.strToDate($('#ymd\\$').val()), + mk: $('#mk').val(), + whsType: $('#whsType').val(), + wrkSts: $('#wrkSts').val(), + ioType: $('#ioType').val(), + crnNo: $('#crnNo').val(), + sheetNo: $('#sheetNo').val(), + ioPri: $('#ioPri').val(), + wrkDate: top.strToDate($('#wrkDate\\$').val()), + locNo: $('#locNo').val(), + staNo: $('#staNo').val(), + sourceStaNo: $('#sourceStaNo').val(), + sourceLocNo: $('#sourceLocNo').val(), + locSts: $('#locSts').val(), + picking: $('#picking').val(), + linkMis: $('#linkMis').val(), + onlineYn: $('#onlineYn').val(), + updMk: $('#updMk').val(), + exitMk: $('#exitMk').val(), + pltType: $('#pltType').val(), + emptyMk: $('#emptyMk').val(), + ioTime: top.strToDate($('#ioTime\\$').val()), + ctnType: $('#ctnType').val(), + packed: $('#packed').val(), + oveMk: $('#oveMk').val(), + mtnType: $('#mtnType').val(), + userNo: $('#userNo').val(), + crnStrTime: top.strToDate($('#crnStrTime\\$').val()), + crnEndTime: top.strToDate($('#crnEndTime\\$').val()), + plcStrTime: top.strToDate($('#plcStrTime\\$').val()), + crnPosTime: top.strToDate($('#crnPosTime\\$').val()), + loadTime: $('#loadTime').val(), + expTime: $('#expTime').val(), + refWrkno: $('#refWrkno').val(), + refIotime: top.strToDate($('#refIotime\\$').val()), + modiUser: $('#modiUser').val(), + modiTime: top.strToDate($('#modiTime\\$').val()), + appeUser: $('#appeUser').val(), + appeTime: top.strToDate($('#appeTime\\$').val()), + pauseMk: $('#pauseMk').val(), + errorTime: top.strToDate($('#errorTime\\$').val()), + errorMemo: $('#errorMemo').val(), + ctnKind: $('#ctnKind').val(), + manuType: $('#manuType').val(), + memoM: $('#memoM').val(), + scWeight: $('#scWeight').val(), + logMk: $('#logMk').val(), + logErrTime: top.strToDate($('#logErrTime\\$').val()), + logErrMemo: $('#logErrMemo').val(), + barcode: $('#barcode').val(), + PdcType: $('#PdcType').val(), + ctnNo: $('#ctnNo').val(), + fullPlt: $('#fullPlt').val(), + + }; + $.ajax({ + url: baseUrl+"/agv/wrkMastLog/"+name+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: top.reObject(data), + method: 'POST', + success: function (res) { + if (res.code === 200){ + parent.layer.closeAll(); + parent.$(".layui-laypage-btn")[0].click(); + $("#data-detail :input").each(function () { + $(this).val(""); + }); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + layer.close(index); + } + }) + } + + // 澶嶉�夋浜嬩欢 + form.on('checkbox(detailCheckbox)', function (data) { + var el = data.elem; + if (el.checked) { + $(el).val('Y'); + } else { + $(el).val('N'); + } + }); + + // 鎼滅储鏍忔悳绱簨浠� + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 鎼滅储鏍忛噸缃簨浠� + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + layDate.render({ + elem: '#ymd\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#wrkDate\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#ioTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#crnStrTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#crnEndTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#plcStrTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#crnPosTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#refIotime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#modiTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#appeTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#errorTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#logErrTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + (child ? parent.tableIns : tableIns).reload({ + where: searchData, + page: { + curr: pageCurr + }, + done: function (res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + if (res.data.length === 0 && count !== 0) { + tableIns.reload({ + where: searchData, + page: { + curr: pageCurr-1 + } + }); + pageCurr -= 1; + } + limit(child); + } + }); +} + +function setFormVal(el, data, showImg) { + for (var val in data) { + var find = el.find(":input[id='" + val + "']"); + if (find[0]!=null){ + if (find[0].type === 'checkbox'){ + if (data[val]==='Y'){ + find.attr("checked","checked"); + find.val('Y'); + } else { + find.remove("checked"); + find.val('N'); + } + continue; + } + } + find.val(data[val]); + if (showImg){ + var next = find.next(); + if (next.get(0)){ + if (next.get(0).localName === "img") { + find.hide(); + next.attr("src", data[val]); + next.show(); + } + } + } + } +} + +function clearFormVal(el) { + $(':input', el) + .val('') + .removeAttr('checked') + .removeAttr('selected'); +} + +function detailScreen(index) { + var detail = layer.getChildFrame('#data-detail', index); + var height = detail.height()+60; + if (height > ($(window).height()*0.9)) { + height = ($(window).height()*0.8); + } + layer.style(index, { +// top: (($(window).height()-height)/3)+"px", + height: height+'px' + }); +} + +$('body').keydown(function () { + if (event.keyCode === 13) { + $("#search").click(); + } +}); diff --git a/src/main/webapp/views/agvWaitPakinLog/waitPakinLog.html b/src/main/webapp/views/agvWaitPakinLog/waitPakinLog.html index 72b13f8..21ceea9 100644 --- a/src/main/webapp/views/agvWaitPakinLog/waitPakinLog.html +++ b/src/main/webapp/views/agvWaitPakinLog/waitPakinLog.html @@ -49,7 +49,7 @@ <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/waitPakinLog/waitPakinLog.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/agvWaitPakinLog/waitPakinLog.js" charset="utf-8"></script> <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> diff --git a/src/main/webapp/views/agvWaitPakinLog/waitPakinLog_detail.html b/src/main/webapp/views/agvWaitPakinLog/waitPakinLog_detail.html index 9d0812e..011650c 100644 --- a/src/main/webapp/views/agvWaitPakinLog/waitPakinLog_detail.html +++ b/src/main/webapp/views/agvWaitPakinLog/waitPakinLog_detail.html @@ -133,6 +133,6 @@ <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/waitPakinLog/waitPakinLog.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/agvWaitPakinLog/waitPakinLog.js" charset="utf-8"></script> </html> diff --git a/src/main/webapp/views/agvWrkDetlLog/wrkDetlLog.html b/src/main/webapp/views/agvWrkDetlLog/wrkDetlLog.html index af3dd38..e0055c5 100644 --- a/src/main/webapp/views/agvWrkDetlLog/wrkDetlLog.html +++ b/src/main/webapp/views/agvWrkDetlLog/wrkDetlLog.html @@ -50,7 +50,7 @@ <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/wrkDetlLog/wrkDetlLog.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/agvWrkDetlLog/wrkDetlLog.js" charset="utf-8"></script> <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> diff --git a/src/main/webapp/views/agvWrkDetlLog/wrkDetlLog_detail.html b/src/main/webapp/views/agvWrkDetlLog/wrkDetlLog_detail.html index 72bf6f1..89ba3b8 100644 --- a/src/main/webapp/views/agvWrkDetlLog/wrkDetlLog_detail.html +++ b/src/main/webapp/views/agvWrkDetlLog/wrkDetlLog_detail.html @@ -169,6 +169,6 @@ <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/wrkDetlLog/wrkDetlLog.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/agvWrkDetlLog/wrkDetlLog.js" charset="utf-8"></script> </html> diff --git a/src/main/webapp/views/agvWrkMastLog/wrkDetlLog.html b/src/main/webapp/views/agvWrkMastLog/wrkDetlLog.html index a279de3..e04f2be 100644 --- a/src/main/webapp/views/agvWrkMastLog/wrkDetlLog.html +++ b/src/main/webapp/views/agvWrkMastLog/wrkDetlLog.html @@ -32,7 +32,7 @@ <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" src="../../static/js/agvLocMast/locMast.js" charset="utf-8"></script> <script type="text/javascript"> var pageCur; function getCol() { @@ -54,7 +54,7 @@ tableIns1 = table.render({ elem: '#wrkDetlLogByMast', headers: {token: localStorage.getItem('token')}, - url: baseUrl+'/wrkDetlLogByMast/list/auth', + url: baseUrl+'/agv/wrkDetlLogByMast/list/auth', where: {wrk_no: parent.wrkNo,ioTime: top.dateToStr(parent.ioTime, true)}, page: true, limit: 16, diff --git a/src/main/webapp/views/agvWrkMastLog/wrkMastLog.html b/src/main/webapp/views/agvWrkMastLog/wrkMastLog.html index fdaa517..8a9445e 100644 --- a/src/main/webapp/views/agvWrkMastLog/wrkMastLog.html +++ b/src/main/webapp/views/agvWrkMastLog/wrkMastLog.html @@ -89,7 +89,7 @@ <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/wrkMastLog/wrkMastLog.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/agvWrkMastLog/wrkMastLog.js" charset="utf-8"></script> <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> diff --git a/src/main/webapp/views/agvWrkMastLog/wrkMastLog_detail.html b/src/main/webapp/views/agvWrkMastLog/wrkMastLog_detail.html index c6807ff..d86d98d 100644 --- a/src/main/webapp/views/agvWrkMastLog/wrkMastLog_detail.html +++ b/src/main/webapp/views/agvWrkMastLog/wrkMastLog_detail.html @@ -191,6 +191,6 @@ <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/wrkMastLog/wrkMastLog.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/agvWrkMastLog/wrkMastLog.js" charset="utf-8"></script> </html> diff --git a/src/main/webapp/views/mat/mat.html b/src/main/webapp/views/mat/mat.html index 37210a1..bc49782 100644 --- a/src/main/webapp/views/mat/mat.html +++ b/src/main/webapp/views/mat/mat.html @@ -401,7 +401,7 @@ <!-- 妯℃澘3 --> <script type="text/template" id="templatePreview3" class="template-qrcode"> {{#each data}} - <table class="contain" width="400px" style="overflow: hidden;font-size: xx-small;table-layout: fixed;"> + <table class="contain" width="400px" style="overflow: hidden;font-size: xx-small;table-layout: fixed; color:#000;"> <tr style="height: 74px;font-size: 18px; font-weight: 400" > <td width="50px" align="center" scope="col" colspan="1">鍟嗗搧</td> <td width="170px" align="center" scope="col" colspan="1">{{this.maktx}}</td> diff --git a/src/main/webapp/views/report/locDetl.html b/src/main/webapp/views/report/locDetl.html index ed829a7..1366488 100644 --- a/src/main/webapp/views/report/locDetl.html +++ b/src/main/webapp/views/report/locDetl.html @@ -35,6 +35,11 @@ var cols = [ {field: 'locNo$', align: 'center',title: '搴撲綅鍙�'} ]; + if(parent.url != null){ + cols = [ + {field: 'locNo', align: 'center',title: '搴撲綅鍙�'} + ]; + } cols.push.apply(cols, detlCols); return cols; } @@ -50,11 +55,16 @@ $('#locNo').val(tmp); } + var url = '/locDetl/list/auth'; + if(parent.url != null){ + var url = '/agv/locDetl/list/auth'; + } + // 鏁版嵁娓叉煋 tableIns = table.render({ elem: '#locDetlByMap', headers: {token: localStorage.getItem('token')}, - url: baseUrl+'/locDetl/list/auth', + url: baseUrl+url, page: true, limit: 20, skin: 'line', -- Gitblit v1.9.1