From 52b397b5901c0ec428d0dc6589cbf4c9c2729c24 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期六, 20 四月 2024 17:43:24 +0800 Subject: [PATCH] #演示 --- src/main/java/com/zy/asrs/mapper/FillingMastMapper.java | 16 src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java | 12 src/main/resources/mapper/FillingMastMapper.xml | 17 src/main/webapp/static/wcs/js/common.js | 2 src/main/java/com/zy/asrs/mapper/VacuumMastMapper.java | 13 src/main/java/com/zy/asrs/service/FillingMastService.java | 9 src/main/webapp/views/fillingMast/fillingMast.html | 98 + src/main/java/com/zy/asrs/entity/FillingMast.java | 42 src/main/resources/application-prod.yml | 24 src/main/java/com/zy/asrs/service/WrkMastStaService.java | 8 pom.xml | 2 src/main/webapp/views/deviceOperate/rgvOperate.html | 175 ++ src/main/webapp/static/wms/js/common.js | 2 src/main/java/com/zy/asrs/controller/FillingMastController.java | 123 + src/main/java/com/zy/asrs/domain/param/RgvOperatorParam.java | 2 src/main/webapp/static/wms/js/fillingMast/fillingMast.js | 247 +++ src/main/java/com/zy/asrs/service/VacuumMastService.java | 9 src/main/webapp/static/wms/js/wrkMastSta/wrkMastSta.js | 272 ++++ src/main/webapp/views/index.html | 22 src/main/java/com/zy/core/MainProcess.java | 32 src/main/webapp/views/vacuumMast/vacuumMast.html | 98 + src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java | 15 src/main/java/com/zy/core/model/command/RgvCommand.java | 4 src/main/java/com/zy/core/enums/RgvStatusType.java | 19 src/main/java/com/zy/asrs/controller/RgvController.java | 139 ++ src/main/java/com/zy/asrs/domain/vo/RgvStateTableVo.java | 2 src/main/webapp/views/wrkMastSta/wrkMastSta.html | 164 ++ src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 1379 ++++----------------- src/main/java/com/zy/asrs/domain/vo/RgvMsgTableVo.java | 2 src/main/java/com/zy/asrs/service/impl/FillingMastServiceImpl.java | 18 src/main/java/com/zy/asrs/entity/VacuumMast.java | 42 src/main/java/com/zy/common/CodeBuilder.java | 2 src/main/resources/mapper/VacuumMastMapper.xml | 17 src/main/java/com/zy/asrs/controller/VacuumMastController.java | 123 + src/main/java/com/zy/core/ServerBootstrap.java | 40 src/main/resources/mapper/WrkMastStaMapper.xml | 36 src/main/webapp/static/wms/js/vacuumMast/vacuumMast.js | 247 +++ src/main/java/com/zy/asrs/entity/WrkMastSta.java | 178 ++ src/main/java/com/zy/core/model/DevpSlave.java | 1 src/main/java/com/zy/asrs/controller/WrkMastStaController.java | 123 + src/main/java/com/zy/asrs/service/impl/VacuumMastServiceImpl.java | 15 src/main/java/com/zy/core/model/protocol/RgvProtocol.java | 2 src/main/webapp/views/login.html | 32 43 files changed, 2,588 insertions(+), 1,237 deletions(-) diff --git a/pom.xml b/pom.xml index f6d259a..2324efd 100644 --- a/pom.xml +++ b/pom.xml @@ -200,7 +200,7 @@ </dependencies> <build> - <finalName>wcs</finalName> + <finalName>ssdwcs</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> diff --git a/src/main/java/com/zy/asrs/controller/FillingMastController.java b/src/main/java/com/zy/asrs/controller/FillingMastController.java new file mode 100644 index 0000000..52cf149 --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/FillingMastController.java @@ -0,0 +1,123 @@ +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.common.DateUtils; +import com.zy.asrs.entity.FillingMast; +import com.zy.asrs.service.FillingMastService; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.R; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.*; + +@RestController +public class FillingMastController extends BaseController { + + @Autowired + private FillingMastService fillingMastService; + + @RequestMapping(value = "/fillingMast/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(fillingMastService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/fillingMast/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<FillingMast> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(fillingMastService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/fillingMast/add/auth") + @ManagerAuth + public R add(FillingMast fillingMast) { + fillingMastService.insert(fillingMast); + return R.ok(); + } + + @RequestMapping(value = "/fillingMast/update/auth") + @ManagerAuth + public R update(FillingMast fillingMast){ + if (Cools.isEmpty(fillingMast) || null==fillingMast.getId()){ + return R.error(); + } + fillingMastService.updateById(fillingMast); + return R.ok(); + } + + @RequestMapping(value = "/fillingMast/delete/auth") + @ManagerAuth + public R delete(@RequestParam(value="ids[]") Long[] ids){ + for (Long id : ids){ + fillingMastService.deleteById(id); + } + return R.ok(); + } + + @RequestMapping(value = "/fillingMast/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param){ + EntityWrapper<FillingMast> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("fillingMast")); + convert(map, wrapper); + List<FillingMast> list = fillingMastService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/fillingMastQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<FillingMast> wrapper = new EntityWrapper<>(); + wrapper.like("id", condition); + Page<FillingMast> page = fillingMastService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (FillingMast fillingMast : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", fillingMast.getId()); + map.put("value", fillingMast.getId()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/fillingMast/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<FillingMast> wrapper = new EntityWrapper<FillingMast>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != fillingMastService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(FillingMast.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java index 8a28213..c46f545 100644 --- a/src/main/java/com/zy/asrs/controller/RgvController.java +++ b/src/main/java/com/zy/asrs/controller/RgvController.java @@ -2,9 +2,11 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.annotations.ManagerAuth; +import com.core.common.Cools; import com.core.common.R; import com.core.exception.CoolException; import com.zy.asrs.domain.enums.RgvStatusType; +import com.zy.asrs.domain.param.CrnDemoParam; import com.zy.asrs.domain.param.CrnOperatorParam; import com.zy.asrs.domain.param.RgvOperatorParam; import com.zy.asrs.domain.vo.RgvMsgTableVo; @@ -33,15 +35,19 @@ import com.zy.core.model.protocol.CrnProtocol; import com.zy.core.model.protocol.RgvProtocol; import com.zy.core.properties.SlaveProperties; +import com.zy.core.properties.SystemProperties; import com.zy.core.thread.SiemensRgvThread; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * RGV鎺ュ彛 @@ -64,7 +70,124 @@ private MainServiceImpl mainService; @Autowired private LocMastService locMastService; + int wrkNo = 9990; + + @ManagerAuth(memo = "婕旂ず鍛戒护涓嬪彂") + @GetMapping("/rgvDemoTask") + public R rgvDemoTask(Integer rgvNo, Integer sta,Integer end){ + wrkNo++; + RgvCommand command = new RgvCommand(); + command.setRgvNo(rgvNo); // RGV缂栧彿 + command.setAckFinish1(false); // 浠诲姟瀹屾垚纭浣� + command.setTaskNo1(wrkNo); // 宸ヤ綔鍙� + command.setTaskMode1(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐� + command.setSourceStaNo1(sta.shortValue()); // 婧愮珯 + command.setDestinationStaNo1(end.shortValue()); // 鐩爣绔� +// command.setAckFinish2((short) 0); // 浠诲姟瀹屾垚纭浣� +// command.setTaskNo2((short) 0); // 宸ヤ綔鍙� +// command.setTaskMode2(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐� +// command.setSourceStaNo2(param.getSourceStaNo2()); // 婧愮珯 +// command.setDestinationStaNo2(param.getStaNo2()); // 鐩爣绔� + command.setCommand((short) 0); + + return rgvControl(command)? R.ok(): R.error(); + } + + @ManagerAuth(memo = "瑙i攣灏忚溅") + @PostMapping("/lock") + public R lock(RgvOperatorParam param ){ + SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, param.getRgvNo()); + rgvThread.setPakMk(true); + return R.ok(); + } + + @GetMapping("/demo/status") + public R demoStatus(Integer rgvNo){ + if (Cools.isEmpty(rgvNo)){ + return R.ok("X"); + } + String demo = "X"; +// List<Map<String, Object>> res = new ArrayList<>(); + for (RgvSlave rgvSlave : slaveProperties.getRgv()) { + if (rgvSlave.getId() == rgvNo){ + demo = rgvSlave.getDemo()?"Y":"N"; + } + } + return R.ok(demo); + } + + @GetMapping("/demo/status/true") + public R demoStatusTrue(Integer rgvNo){ + if (Cools.isEmpty(rgvNo)){ + return R.error("璇烽�夋嫨rgv"); + } +// List<Map<String, Object>> res = new ArrayList<>(); + for (RgvSlave rgvSlave : slaveProperties.getRgv()) { + if (rgvSlave.getId() == rgvNo){ + rgvSlave.setDemo(true); + } + } + return R.ok(); + } + @GetMapping("/demo/status/false") + public R demoStatusFalse(Integer rgvNo){ + if (Cools.isEmpty(rgvNo)){ + return R.error("璇烽�夋嫨rgv"); + } +// List<Map<String, Object>> res = new ArrayList<>(); + for (RgvSlave rgvSlave : slaveProperties.getRgv()) { + if (rgvSlave.getId() == rgvNo){ + rgvSlave.setDemo(false); + } + } + return R.ok(); + } + + + + @PostMapping("/demo/switch") + @ManagerAuth(memo = "RGV婕旂ず") + public R crnDemo(CrnDemoParam param) throws InterruptedException { + if (Cools.isEmpty(param.getCrnId())){ + return R.error(); + } + if (Cools.isEmpty(param.getPassword())){ + return R.error("璇疯緭鍏ュ彛浠�"); + } + if (!param.getPassword().equals(SystemProperties.WCS_PASSWORD)){ + return R.error("鍙d护閿欒"); + } + Thread.sleep(200L); + for (RgvSlave rgvSlave : slaveProperties.getRgv()) { + if (rgvSlave.getId().equals(param.getCrnId())) { + rgvSlave.setDemo(param.getOpt()); + } + } +// mainService.crnDemoOfLocMove(param.getCrnId()); + return R.ok(); + } + + @ManagerAuth(memo = "鍙栨斁璐�") + @PostMapping("/operator/put") + public R rgvFetchPut(RgvOperatorParam param){ + wrkNo++; + RgvCommand command = new RgvCommand(); + command.setRgvNo(param.getRgvNo()); // RGV缂栧彿 + command.setAckFinish1(false); // 浠诲姟瀹屾垚纭浣� + command.setTaskNo1(wrkNo); // 宸ヤ綔鍙� + command.setTaskMode1(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐� + command.setSourceStaNo1(param.getSourceRow().shortValue()); // 婧愮珯 + command.setDestinationStaNo1(param.getSourceBay().shortValue()); // 鐩爣绔� +// command.setAckFinish2((short) 0); // 浠诲姟瀹屾垚纭浣� +// command.setTaskNo2((short) 0); // 宸ヤ綔鍙� +// command.setTaskMode2(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐� +// command.setSourceStaNo2(param.getSourceStaNo2()); // 婧愮珯 +// command.setDestinationStaNo2(param.getStaNo2()); // 鐩爣绔� + command.setCommand((short) 0); + + return rgvControl(command)? R.ok(): R.error(); + } @ManagerAuth(memo = "澶嶄綅") @PostMapping("/operator/reset") @@ -166,14 +289,14 @@ continue; } vo.setStatusType(rgvProtocol.modeType.desc); // 妯″紡鐘舵�� - vo.setStatus(rgvProtocol.getStatusType().desc); // 鐘舵�� + vo.setStatus(rgvProtocol.getStatusType1().desc); // 鐘舵�� vo.setWorkNo1(rgvProtocol.getTaskNo1()); // 宸ヤ綅1浠诲姟鍙� vo.setRgvPos(rgvProtocol.getRgvPos()); vo.setPakMk(rgvThread.isPakMk()?"鏃犻攣":"閿佸畾"); vo.setWalkPos(rgvProtocol.getAlarm() == 0?"姝e父":"鎶ヨ"); vo.setWarnCode(String.valueOf(rgvProtocol.getAlarm())); - vo.setStaNo(rgvProtocol.getSouSta().intValue()); - vo.setSourceStaNo(rgvProtocol.getEndSta().intValue()); +// vo.setStaNo(rgvProtocol.getSouSta().intValue()); +// vo.setSourceStaNo(rgvProtocol.getEndSta().intValue()); if (rgvProtocol.getAlarm() > 0) { BasRgvErr rgvErr = basRgvErrMapper.selectById(rgvProtocol.getAlarm()); vo.setAlarm(rgvErr==null?"鏈煡寮傚父":rgvErr.getErrName()); @@ -247,8 +370,8 @@ public R rgvTaskComplete(RgvOperatorParam param){ RgvCommand command = new RgvCommand(); command.setRgvNo(param.getRgvNo()); // RGV缂栧彿 - command.setAckFinish1((short) 1); // 浠诲姟瀹屾垚纭浣� - command.setTaskNo1((short) 0); // 宸ヤ綔鍙� + command.setAckFinish1(false); // 浠诲姟瀹屾垚纭浣� + command.setTaskNo1( 0); // 宸ヤ綔鍙� command.setTaskMode1(RgvTaskModeType.NONE); // 浠诲姟妯″紡 command.setSourceStaNo1((short) 0); // 婧愮珯 command.setDestinationStaNo1((short) 0); // 鐩爣绔� @@ -270,8 +393,8 @@ } RgvCommand command = new RgvCommand(); command.setRgvNo(param.getRgvNo()); // RGV缂栧彿 - command.setAckFinish1((short) 0); // 浠诲姟瀹屾垚纭浣� - command.setTaskNo1((short) 0); // 宸ヤ綔鍙� + command.setAckFinish1(false); // 浠诲姟瀹屾垚纭浣� + command.setTaskNo1(0); // 宸ヤ綔鍙� command.setTaskMode1(RgvTaskModeType.NONE); // 浠诲姟妯″紡 command.setSourceStaNo1((short) 0); // 婧愮珯 command.setDestinationStaNo1((short) 0); // 鐩爣绔� @@ -306,7 +429,7 @@ RgvCommand Command = new RgvCommand(); Command.setRgvNo(rgv.getId()); // RGV缂栧彿 Command.setTaskMode1(RgvTaskModeType.NONE); - Command.setAckFinish1((short) 0); // 浠诲姟瀹屾垚纭浣� + Command.setAckFinish1(false); // 浠诲姟瀹屾垚纭浣� Command.setAckFinish2((short) 0); // 浠诲姟瀹屾垚纭浣� Command.setCommand((short) 0); // 浠诲姟瀹屾垚纭浣� // 寤舵椂鍙戦�� diff --git a/src/main/java/com/zy/asrs/controller/VacuumMastController.java b/src/main/java/com/zy/asrs/controller/VacuumMastController.java new file mode 100644 index 0000000..0bbf28e --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/VacuumMastController.java @@ -0,0 +1,123 @@ +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.common.DateUtils; +import com.zy.asrs.entity.VacuumMast; +import com.zy.asrs.service.VacuumMastService; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.R; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.*; + +@RestController +public class VacuumMastController extends BaseController { + + @Autowired + private VacuumMastService vacuumMastService; + + @RequestMapping(value = "/vacuumMast/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(vacuumMastService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/vacuumMast/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<VacuumMast> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(vacuumMastService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/vacuumMast/add/auth") + @ManagerAuth + public R add(VacuumMast vacuumMast) { + vacuumMastService.insert(vacuumMast); + return R.ok(); + } + + @RequestMapping(value = "/vacuumMast/update/auth") + @ManagerAuth + public R update(VacuumMast vacuumMast){ + if (Cools.isEmpty(vacuumMast) || null==vacuumMast.getId()){ + return R.error(); + } + vacuumMastService.updateById(vacuumMast); + return R.ok(); + } + + @RequestMapping(value = "/vacuumMast/delete/auth") + @ManagerAuth + public R delete(@RequestParam(value="ids[]") Long[] ids){ + for (Long id : ids){ + vacuumMastService.deleteById(id); + } + return R.ok(); + } + + @RequestMapping(value = "/vacuumMast/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param){ + EntityWrapper<VacuumMast> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("vacuumMast")); + convert(map, wrapper); + List<VacuumMast> list = vacuumMastService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/vacuumMastQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<VacuumMast> wrapper = new EntityWrapper<>(); + wrapper.like("id", condition); + Page<VacuumMast> page = vacuumMastService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (VacuumMast vacuumMast : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", vacuumMast.getId()); + map.put("value", vacuumMast.getId()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/vacuumMast/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<VacuumMast> wrapper = new EntityWrapper<VacuumMast>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != vacuumMastService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(VacuumMast.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/controller/WrkMastStaController.java b/src/main/java/com/zy/asrs/controller/WrkMastStaController.java new file mode 100644 index 0000000..4544ced --- /dev/null +++ b/src/main/java/com/zy/asrs/controller/WrkMastStaController.java @@ -0,0 +1,123 @@ +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.common.DateUtils; +import com.zy.asrs.entity.WrkMastSta; +import com.zy.asrs.service.WrkMastStaService; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.R; +import com.zy.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.*; + +@RestController +public class WrkMastStaController extends BaseController { + + @Autowired + private WrkMastStaService wrkMastStaService; + + @RequestMapping(value = "/wrkMastSta/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(wrkMastStaService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/wrkMastSta/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<WrkMastSta> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); + if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + return R.ok(wrkMastStaService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/wrkMastSta/add/auth") + @ManagerAuth + public R add(WrkMastSta wrkMastSta) { + wrkMastStaService.insert(wrkMastSta); + return R.ok(); + } + + @RequestMapping(value = "/wrkMastSta/update/auth") + @ManagerAuth + public R update(WrkMastSta wrkMastSta){ + if (Cools.isEmpty(wrkMastSta) || null==wrkMastSta.getId()){ + return R.error(); + } + wrkMastStaService.updateById(wrkMastSta); + return R.ok(); + } + + @RequestMapping(value = "/wrkMastSta/delete/auth") + @ManagerAuth + public R delete(@RequestParam(value="ids[]") Long[] ids){ + for (Long id : ids){ + wrkMastStaService.deleteById(id); + } + return R.ok(); + } + + @RequestMapping(value = "/wrkMastSta/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param){ + EntityWrapper<WrkMastSta> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("wrkMastSta")); + convert(map, wrapper); + List<WrkMastSta> list = wrkMastStaService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/wrkMastStaQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<WrkMastSta> wrapper = new EntityWrapper<>(); + wrapper.like("id", condition); + Page<WrkMastSta> page = wrkMastStaService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (WrkMastSta wrkMastSta : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", wrkMastSta.getId()); + map.put("value", wrkMastSta.getId()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/wrkMastSta/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<WrkMastSta> wrapper = new EntityWrapper<WrkMastSta>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != wrkMastStaService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(WrkMastSta.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + +} diff --git a/src/main/java/com/zy/asrs/domain/param/RgvOperatorParam.java b/src/main/java/com/zy/asrs/domain/param/RgvOperatorParam.java index d5953d6..dfc5933 100644 --- a/src/main/java/com/zy/asrs/domain/param/RgvOperatorParam.java +++ b/src/main/java/com/zy/asrs/domain/param/RgvOperatorParam.java @@ -15,4 +15,6 @@ private boolean restoreTask; private boolean compTask; private boolean reset; + private Integer sourceRow; + private Integer sourceBay; } diff --git a/src/main/java/com/zy/asrs/domain/vo/RgvMsgTableVo.java b/src/main/java/com/zy/asrs/domain/vo/RgvMsgTableVo.java index 10191ba..dd6989b 100644 --- a/src/main/java/com/zy/asrs/domain/vo/RgvMsgTableVo.java +++ b/src/main/java/com/zy/asrs/domain/vo/RgvMsgTableVo.java @@ -13,7 +13,7 @@ private Integer rgvNo; // 宸ヤ綔鍙� - private Short workNo = 0; + private Integer workNo = 0; // 鐘舵�� private String status = "-"; diff --git a/src/main/java/com/zy/asrs/domain/vo/RgvStateTableVo.java b/src/main/java/com/zy/asrs/domain/vo/RgvStateTableVo.java index 6da98a3..309817a 100644 --- a/src/main/java/com/zy/asrs/domain/vo/RgvStateTableVo.java +++ b/src/main/java/com/zy/asrs/domain/vo/RgvStateTableVo.java @@ -18,7 +18,7 @@ private String status = "-"; // 浠诲姟鍙� - private Short workNo1 = 0; + private Integer workNo1 = 0; // 鐘舵�� private String status1 = "-"; diff --git a/src/main/java/com/zy/asrs/entity/FillingMast.java b/src/main/java/com/zy/asrs/entity/FillingMast.java new file mode 100644 index 0000000..13df18b --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/FillingMast.java @@ -0,0 +1,42 @@ +package com.zy.asrs.entity; + +import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.enums.IdType; +import com.baomidou.mybatisplus.annotations.TableField; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import com.baomidou.mybatisplus.annotations.TableName; +import java.io.Serializable; + +@Data +@TableName("man_filling_mast") +public class FillingMast implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value= "") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value= "") + @TableField("sta_no") + private Integer staNo; + + @ApiModelProperty(value= "") + private String status; + + public FillingMast() {} + + public FillingMast(Integer staNo,String status) { + this.staNo = staNo; + this.status = status; + } + +// FillingMast fillingMast = new FillingMast( +// null, // +// null // +// ); + + +} diff --git a/src/main/java/com/zy/asrs/entity/VacuumMast.java b/src/main/java/com/zy/asrs/entity/VacuumMast.java new file mode 100644 index 0000000..a28af74 --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/VacuumMast.java @@ -0,0 +1,42 @@ +package com.zy.asrs.entity; + +import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.enums.IdType; +import com.baomidou.mybatisplus.annotations.TableField; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import com.baomidou.mybatisplus.annotations.TableName; +import java.io.Serializable; + +@Data +@TableName("man_vacuum_mast") +public class VacuumMast implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value= "") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value= "") + @TableField("sta_no") + private Integer staNo; + + @ApiModelProperty(value= "") + private String status; + + public VacuumMast() {} + + public VacuumMast(Integer staNo,String status) { + this.staNo = staNo; + this.status = status; + } + +// VacuumMast vacuumMast = new VacuumMast( +// null, // +// null // +// ); + + +} diff --git a/src/main/java/com/zy/asrs/entity/WrkMastSta.java b/src/main/java/com/zy/asrs/entity/WrkMastSta.java new file mode 100644 index 0000000..c777b4d --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/WrkMastSta.java @@ -0,0 +1,178 @@ +package com.zy.asrs.entity; + +import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.enums.IdType; +import com.baomidou.mybatisplus.annotations.TableField; +import java.text.SimpleDateFormat; +import java.util.Date; +import org.springframework.format.annotation.DateTimeFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.text.SimpleDateFormat; +import java.util.Date; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import com.baomidou.mybatisplus.annotations.TableName; +import java.io.Serializable; + +@Data +@TableName("asr_wrk_mast_sta") +public class WrkMastSta implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ApiModelProperty(value= "ID") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 宸ヤ綔鍙� + */ + @ApiModelProperty(value= "宸ヤ綔鍙�") + @TableField("wrk_no") + private Long wrkNo; + + /** + * 宸ヤ綔妗e紑濮嬩綅缃� + */ + @ApiModelProperty(value= "宸ヤ綔妗e紑濮嬩綅缃�") + @TableField("wrk_start") + private Integer wrkStart; + + /** + * 宸ヤ綔妗g粨鏉熶綅缃� + */ + @ApiModelProperty(value= "宸ヤ綔妗g粨鏉熶綅缃�") + @TableField("wrk_end") + private Integer wrkEnd; + + /** + * 灏忚溅鎺ヨ揣浣嶇疆 + */ + @ApiModelProperty(value= "灏忚溅鎺ヨ揣浣嶇疆") + @TableField("sta_start") + private Integer staStart; + + /** + * 灏忚溅鏀捐揣浣嶇疆 + */ + @ApiModelProperty(value= "灏忚溅鏀捐揣浣嶇疆") + @TableField("sta_end") + private Integer staEnd; + + /** + * 娣诲姞鏃堕棿 + */ + @ApiModelProperty(value= "娣诲姞鏃堕棿") + @TableField("create_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + + /** + * 淇敼鏃堕棿 + */ + @ApiModelProperty(value= "淇敼鏃堕棿") + @TableField("update_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + /** + * 绫诲瀷 0:婊$増 1:绌烘澘 + */ + @ApiModelProperty(value= "绫诲瀷 0:婊$増 1:绌烘澘") + private Integer type; + + /** + * 宸ヤ綔鐘舵�� 0锛氬垵濮� 1锛氱瓑寰呭皬杞﹀彇 2锛氱瓑寰呭皬杞︽斁 3锛氬畬鎴� + */ + @ApiModelProperty(value= "宸ヤ綔鐘舵�� 0锛氬垵濮� 1锛氱瓑寰呭皬杞﹀彇 2锛氱瓑寰呭皬杞︽斁 3锛氬畬鎴�") + @TableField("wrk_sts") + private Integer wrkSts; + + /** + * 琛屽彿 + */ + @ApiModelProperty(value= "琛屽彿") + @TableField("line_number") + private Integer lineNumber; + + /** + * 宸ヤ綔绫诲瀷 绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭斁 3锛氬彇鏀� 4锛氭媶鐩� + */ + @ApiModelProperty(value= "宸ヤ綔绫诲瀷 绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭斁 3锛氬彇鏀� 4锛氭媶鐩�") + @TableField("wrk_type") + private Integer wrkType; + + /** + * 鏍囪鏃堕棿 + */ + @ApiModelProperty(value= "鏍囪鏃堕棿") + @TableField("bign_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date bignTime; + + @ApiModelProperty(value= "") + @TableField("wrk_crn") + private Integer wrkCrn; + + public WrkMastSta() {} + + public WrkMastSta(Long wrkNo,Integer wrkStart,Integer wrkEnd,Integer staStart,Integer staEnd,Date createTime,Date updateTime,Integer type,Integer wrkSts,Integer lineNumber,Integer wrkType,Date bignTime,Integer wrkCrn) { + this.wrkNo = wrkNo; + this.wrkStart = wrkStart; + this.wrkEnd = wrkEnd; + this.staStart = staStart; + this.staEnd = staEnd; + this.createTime = createTime; + this.updateTime = updateTime; + this.type = type; + this.wrkSts = wrkSts; + this.lineNumber = lineNumber; + this.wrkType = wrkType; + this.bignTime = bignTime; + this.wrkCrn = wrkCrn; + } + +// WrkMastSta wrkMastSta = new WrkMastSta( +// null, // 宸ヤ綔鍙穂闈炵┖] +// null, // 宸ヤ綔妗e紑濮嬩綅缃甗闈炵┖] +// null, // 宸ヤ綔妗g粨鏉熶綅缃甗闈炵┖] +// null, // 灏忚溅鎺ヨ揣浣嶇疆[闈炵┖] +// null, // 灏忚溅鏀捐揣浣嶇疆[闈炵┖] +// null, // 娣诲姞鏃堕棿 +// null, // 淇敼鏃堕棿 +// null, // 绫诲瀷 0:婊$増 1:绌烘澘[闈炵┖] +// null, // 宸ヤ綔鐘舵�� 0锛氬垵濮� 1锛氱瓑寰呭皬杞﹀彇 2锛氱瓑寰呭皬杞︽斁 3锛氬畬鎴怺闈炵┖] +// null, // 琛屽彿[闈炵┖] +// null, // 宸ヤ綔绫诲瀷 绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭斁 3锛氬彇鏀� 4锛氭媶鐩榌闈炵┖] +// null, // 鏍囪鏃堕棿 +// null // +// ); + + public String getCreateTime$(){ + if (Cools.isEmpty(this.createTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); + } + + public String getUpdateTime$(){ + if (Cools.isEmpty(this.updateTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); + } + + public String getBignTime$(){ + if (Cools.isEmpty(this.bignTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.bignTime); + } + + +} diff --git a/src/main/java/com/zy/asrs/mapper/FillingMastMapper.java b/src/main/java/com/zy/asrs/mapper/FillingMastMapper.java new file mode 100644 index 0000000..b9d256e --- /dev/null +++ b/src/main/java/com/zy/asrs/mapper/FillingMastMapper.java @@ -0,0 +1,16 @@ +package com.zy.asrs.mapper; + +import com.zy.asrs.entity.FillingMast; +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.zy.asrs.entity.VacuumMast; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface FillingMastMapper extends BaseMapper<FillingMast> { + + + + FillingMast selectByStatusIsn(); +} diff --git a/src/main/java/com/zy/asrs/mapper/VacuumMastMapper.java b/src/main/java/com/zy/asrs/mapper/VacuumMastMapper.java new file mode 100644 index 0000000..5d7ff1f --- /dev/null +++ b/src/main/java/com/zy/asrs/mapper/VacuumMastMapper.java @@ -0,0 +1,13 @@ +package com.zy.asrs.mapper; + +import com.zy.asrs.entity.VacuumMast; +import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface VacuumMastMapper extends BaseMapper<VacuumMast> { + + VacuumMast selectByStatusIsN(); +} diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java new file mode 100644 index 0000000..bdc223f --- /dev/null +++ b/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java @@ -0,0 +1,15 @@ +package com.zy.asrs.mapper; + +import com.zy.asrs.entity.WrkMastSta; +import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface WrkMastStaMapper extends BaseMapper<WrkMastSta> { + + WrkMastSta selectWrkSts0(); + + WrkMastSta selectWrkSts1(); +} diff --git a/src/main/java/com/zy/asrs/service/FillingMastService.java b/src/main/java/com/zy/asrs/service/FillingMastService.java new file mode 100644 index 0000000..9e5b613 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/FillingMastService.java @@ -0,0 +1,9 @@ +package com.zy.asrs.service; + +import com.zy.asrs.entity.FillingMast; +import com.baomidou.mybatisplus.service.IService; + +public interface FillingMastService extends IService<FillingMast> { + + FillingMast selectByStatusIsn(); +} diff --git a/src/main/java/com/zy/asrs/service/VacuumMastService.java b/src/main/java/com/zy/asrs/service/VacuumMastService.java new file mode 100644 index 0000000..68df56b --- /dev/null +++ b/src/main/java/com/zy/asrs/service/VacuumMastService.java @@ -0,0 +1,9 @@ +package com.zy.asrs.service; + +import com.zy.asrs.entity.VacuumMast; +import com.baomidou.mybatisplus.service.IService; + +public interface VacuumMastService extends IService<VacuumMast> { + + VacuumMast selectByStatusIsN(); +} diff --git a/src/main/java/com/zy/asrs/service/WrkMastStaService.java b/src/main/java/com/zy/asrs/service/WrkMastStaService.java new file mode 100644 index 0000000..9a08d24 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/WrkMastStaService.java @@ -0,0 +1,8 @@ +package com.zy.asrs.service; + +import com.zy.asrs.entity.WrkMastSta; +import com.baomidou.mybatisplus.service.IService; + +public interface WrkMastStaService extends IService<WrkMastSta> { + +} diff --git a/src/main/java/com/zy/asrs/service/impl/FillingMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/FillingMastServiceImpl.java new file mode 100644 index 0000000..b375b75 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/impl/FillingMastServiceImpl.java @@ -0,0 +1,18 @@ +package com.zy.asrs.service.impl; + +import com.zy.asrs.entity.VacuumMast; +import com.zy.asrs.mapper.FillingMastMapper; +import com.zy.asrs.entity.FillingMast; +import com.zy.asrs.service.FillingMastService; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +@Service("fillingMastService") +public class FillingMastServiceImpl extends ServiceImpl<FillingMastMapper, FillingMast> implements FillingMastService { + + + @Override + public FillingMast selectByStatusIsn() { + return this.baseMapper.selectByStatusIsn(); + } +} diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 635ec36..c4ae583 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -3,50 +3,49 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; import com.core.common.Cools; -import com.core.common.R; -import com.core.common.SpringUtils; +import com.core.common.DateUtils; import com.core.exception.CoolException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.zy.asrs.domain.enums.TaskStatusType; import com.zy.asrs.entity.*; -import com.zy.asrs.entity.param.TaskOverToWms; -import com.zy.asrs.entity.param.WMSAndAGVInterfaceParam; -import com.zy.asrs.entity.param.taskCreateParam; import com.zy.asrs.mapper.*; import com.zy.asrs.service.*; -import com.zy.asrs.utils.CommandUtils; -import com.zy.asrs.utils.PostMesDataUtils; import com.zy.asrs.utils.Utils; +import com.zy.asrs.utils.VersionUtils; +import com.zy.common.model.LocTypeDto; +import com.zy.common.model.MatDto; +import com.zy.common.model.SearchLocParam; +import com.zy.common.model.StartupDto; import com.zy.common.service.CommonService; +import com.zy.common.utils.CollectionUtils; import com.zy.common.utils.HttpHandler; import com.zy.core.CrnThread; import com.zy.core.DevpThread; import com.zy.core.cache.MessageQueue; import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.*; -import com.zy.core.model.CrnSlave; -import com.zy.core.model.DevpSlave; -import com.zy.core.model.Task; -import com.zy.core.model.command.CommandPackage; +import com.zy.core.model.*; import com.zy.core.model.command.CrnCommand; +import com.zy.core.model.command.LedCommand; +import com.zy.core.model.command.RgvCommand; import com.zy.core.model.protocol.CrnProtocol; +import com.zy.core.model.protocol.RgvProtocol; import com.zy.core.model.protocol.StaProtocol; import com.zy.core.properties.SlaveProperties; import com.zy.core.thread.BarcodeThread; import com.zy.core.thread.LedThread; import com.zy.core.thread.SiemensDevpThread; -import com.zy.system.entity.Config; -import com.zy.system.service.ConfigService; +import com.zy.core.thread.SiemensRgvThread; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; -import java.io.IOException; import java.util.*; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; /** * 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔� @@ -60,309 +59,63 @@ public static final long COMMAND_TIMEOUT = 5 * 1000; @Autowired + private CommonService commonService; + @Autowired private SlaveProperties slaveProperties; @Autowired - private WrkMastMapper wrkMastMapper; + private WrkMastStaMapper wrkMastStaMapper; @Autowired - private LocMastService locMastService; + private FillingMastService fillingMastService; @Autowired - private BasCrnpService basCrnpService; - @Autowired - private BasDevpService basDevpService; - @Autowired - private BasErrLogService basErrLogService; - @Autowired - private BasCrnErrorMapper basCrnErrorMapper; - @Autowired - private TaskWrkMapper taskWrkMapper; - @Autowired - private TaskWrkService taskWrkService; - @Autowired - private ConfigService configService; - @Autowired - private StaDescMapper staDescMapper; - @Autowired - private CommandInfoService commandInfoService; - - @Autowired - private OpenServiceImpl openServiceImpl; - @Autowired - private StaDescService staDescService; - - @Autowired - private ApiLogService apiLogService; + private VacuumMastService vacuumMastService; @Value("${wms.url}") private String wmsUrl; - @Value("${wms.movePath}") - private String movePath; + + public Integer wrkNo1 = 10000; + + public Integer wrkNo2 = 20000; - public void generateStoreWrkFile() throws IOException, InterruptedException { - // 鏍规嵁杈撻�佺嚎plc閬嶅巻 + + /** + * 鍫嗗灈鏈烘紨绀� ===>> 搴撲綅绉昏浆 + */ + public void getRgvTask() { for (DevpSlave devp : slaveProperties.getDevp()) { - // 閬嶅巻鍏ュ簱鍙� for (DevpSlave.Sta inSta : devp.getInSta()) { - // 鑾峰彇鍏ュ簱绔欎俊鎭� - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); - StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()); - if (staProtocol == null) { - continue; - } else { - staProtocol = staProtocol.clone(); - } - Short workNo = staProtocol.getWorkNo(); - Short stano = staProtocol.getStaNo(); - - - - // 灏哄妫�娴嬪紓甯� - boolean back = false; - String errMsg = ""; - if (staProtocol.isFrontErr()) { - errMsg = "鍓嶈秴闄�"; - back = true; - } - if (!back && staProtocol.isBackErr()) { - errMsg = "鍚庤秴闄�"; - back = true; - } - if (!back && staProtocol.isHighErr()) { - errMsg = "楂樿秴闄�"; - back = true; - } - if (!back && staProtocol.isLeftErr()) { - errMsg = "宸﹁秴闄�"; - back = true; - } - if (!back && staProtocol.isRightErr()) { - errMsg = "鍙宠秴闄�"; - back = true; - } - if (!back && staProtocol.isWeightErr()) { - errMsg = "瓒呴噸"; - back = true; - } - if (!back && staProtocol.isBarcodeErr()) { - errMsg = "鎵爜澶辫触"; - back = true; - } - // 閫�鍥� - if (back) { - if (stano == inSta.getBackSta().shortValue()){ - continue; - } - if (workNo == 0 && stano == 0){ - continue; - } - if (!staProtocol.isPakMk()){ - continue; - } -// News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg); - staProtocol.setWorkNo(workNo); - staProtocol.setStaNo(inSta.getBackSta().shortValue()); - devpThread.setPakMk(staProtocol.getSiteId(), false); - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol)); - TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(workNo)); - if (taskWrk != null) { - taskWrk.setMemo(errMsg);//灏嗛敊璇爜瀛樺叆澶囨敞瀛楁杩涜灞曠ず - taskWrkMapper.updateById(taskWrk); - } + for (RgvSlave rgv : slaveProperties.getRgv()) { + if (!rgv.getDemo()){ continue; - } - // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 - if (staProtocol.isAutoing() && staProtocol.isLoading() - && staProtocol.isInEnable() - && !staProtocol.isEmptyMk() && (workNo >= 0) - && staProtocol.isPakMk()) { - // 鑾峰彇鏉$爜鎵弿浠俊鎭� - BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode()); - if (barcodeThread == null) { - continue; - } - String barcode = barcodeThread.getBarcode(); - staProtocol.setBarcode(barcode); - if(!Cools.isEmpty(barcode)) { - StaDescService staDescService = SpringUtils.getBean(StaDescService.class); - - ToWmsDTO toWmsDTO = new ToWmsDTO(); - Map<String, Object> map = new HashMap<>(); - map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2"); - - TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", barcode)); - - if (Cools.isEmpty(taskWrk)){ - continue; - } - - //StaDesc staDesc1 = staDescService.selectOne(new EntityWrapper<StaDesc>().eq("stn_no",inSta.getBackSta())); - boolean sign = true; - if (inSta.getBarcode() == 7 || inSta.getBarcode() == 8){ - - }else { - if (taskWrk.getCrnNo() != inSta.getBarcode()){ - sign = false; - } - } - if (taskWrk.getTargetPoint() != null && taskWrk.getStartPoint() != null && sign){ - if ( taskWrk.getWrkNo() != null && taskWrk.getWrkNo().shortValue() == workNo ){ - continue; - } - if (taskWrk.getStatus() != 2){ - continue; - } - //鑾峰彇鍫嗗灈鏈虹珯鐐� - StaDesc staDesc = new StaDesc(); - if (devp.getId() <= 1){ - staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() - .eq("crn_no", taskWrk.getCrnNo()).eq("type_no",1).lt("stn_no", 200)); - }else { - staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() - .eq("crn_no", taskWrk.getCrnNo()).eq("type_no",1).lt("stn_no", 400).ge("stn_no", 250)); - } - staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue()); - staProtocol.setStaNo(staDesc.getCrnStn().shortValue()); - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(3, staProtocol)); - Thread.sleep(500); - }else { - //TaskWrk taskWrk = taskWrkService.selectByTaskNo(param.getTaskNo()); - toWmsDTO.setWarehouseId("1688469798893297665"); - toWmsDTO.setContainerCode(barcode); - toWmsDTO.setApplyType("TUNNEL_LOCATION"); - List<Integer> list = new ArrayList<>(); - - if (inSta.getBarcode() == 7 || inSta.getBarcode() == 8){ - toWmsDTO.setTaskTunnel(taskWrk.getCrnNo()); - list.add(taskWrk.getCrnNo()); - }else { - toWmsDTO.setTaskTunnel(inSta.getBarcode()); - list.add(inSta.getBarcode()); - } - - - - toWmsDTO.setCanInboundTunnels(list); - String response = null; - try { - response = new HttpHandler.Builder() - .setHeaders(map) - .setUri(wmsUrl) - .setPath("wcsManager/wcsInterface/inboundTaskApply") - .setJson(JSON.toJSONString(toWmsDTO)) - .build() - .doPost(); - }catch (Exception e){ - log.error("wms閫氳澶辫触,"+e.getMessage()); - continue; - } - apiLogService.save("wms璇锋眰鍏ュ簱璐т綅鎺ュ彛" - ,wmsUrl+"wcsManager/wcsInterface/inboundTaskApply" - ,null - ,"127.0.0.1" - ,JSON.toJSONString(toWmsDTO) - ,response - ,true - ); - JSONObject jsonObject = JSON.parseObject(response); - if (jsonObject.getInteger("code").equals(200)) { - GetWmsDto getWmsDto = JSON.parseObject(jsonObject.get("data").toString(), GetWmsDto.class); - taskWrk.setOriginTargetPoint(getWmsDto.getTargetLocationCode()); - taskWrk.setTargetPoint(Utils.getWcsLocNo(getWmsDto.getTargetLocationCode())); - taskWrk.setStartPoint(String.valueOf(inSta.getBackSta())); - if (inSta.getBarcode() == 7 || inSta.getBarcode() == 8){ - - }else { - taskWrk.setCrnNo(inSta.getBarcode()); - } - if (!taskWrkService.updateById(taskWrk)){ - log.error("淇濆瓨wms搴撲綅鍙峰け璐�"); - } - - }else { - log.error("wms閫氳澶辫触,"+jsonObject.get("msg")); - - } - } } - } - - - } - } - } - - - /** - * 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯 - */ - @Async - public void crnStnToOutStn() { - for (CrnSlave crnSlave : slaveProperties.getCrn()) { - // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯 - for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) { - List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("crn_no", crnSlave.getId()).eq("crn_stn", crnStn.getStaNo())); - for (StaDesc staDesc : staDescs){ - // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); - StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()); + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); + StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()); if (staProtocol == null) { continue; } else { staProtocol = staProtocol.clone(); } - if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) { - // 鏌ヨ宸ヤ綔妗� - TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), staDesc.getStnNo().toString()); - if (taskWrk == null) { - continue; - } - // 鍒ゆ柇宸ヤ綔妗f潯浠� - if (taskWrk.getWrkSts() == 12 && taskWrk.getIoType() == 2) { - // 鍒ゆ柇鍚婅溅鏄惁瀹為檯宸插畬鎴愶紝涓旂數鑴戠姸鎬佸湪move涓紝浠ュ鐢佃剳杩涜鏇存柊宸ヤ綔妗� - CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, taskWrk.getCrnNo()); - CrnProtocol crnProtocol = crnThread.getCrnProtocol(); - if (crnProtocol.statusType == CrnStatusType.FETCHING || crnProtocol.statusType == CrnStatusType.PUTTING) { - // 绉诲姩涓� - continue; - } - // 鍒ゆ柇鍫嗗灈鏈虹姸鎬佺瓑寰呯‘璁� - if (crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED && crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.getTaskNo().equals(taskWrk.getWrkNo().shortValue()) - && crnProtocol.getTaskFinish() == 0 - && crnProtocol.forkPosType == CrnForkPosType.HOME) { - // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- - //鍙栧嚭杈撻�佺嚎鍛戒护 - List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo()); - if (commandInfos.isEmpty()) { - continue;//鍛戒护绌� - } - -// CommandPackage commandPackage = JSON.parseObject(commandInfo.getCommand(), CommandPackage.class);//鍙栧嚭鍛戒护鎶ユ枃 -// CrnCommand crnCommand = JSON.parseObject(commandPackage.getCommand().toString(), CrnCommand.class); - Integer commandStep = taskWrk.getCommandStep(); - CommandInfo commandInfo = commandInfos.get(commandStep); - CommandPackage commandPackage = JSON.parseObject(commandInfo.getCommand(), CommandPackage.class);//鍙栧嚭鍛戒护鎶ユ枃 - //StaProtocol staProtocol1 = JSON.parseObject(commandInfo.getCommand(), StaProtocol.class); - StaProtocol staProtocol1 = JSON.parseObject(commandPackage.getCommand().toString(), StaProtocol.class); - if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol1))) { - log.error("杈撻�佺嚎鍛戒护涓嬫柟澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", taskWrk.getWrkNo()); - continue;//鍛戒护涓嬪彂澶辫触 - } - // 澶嶄綅鍫嗗灈鏈� - crnThread.setResetFlag(true); - - if (taskWrk.getIoType() == 1 || taskWrk.getIoType() == 3){ - taskWrk.setWrkSts(4); - } else if (taskWrk.getIoType() == 2) { - taskWrk.setWrkSts(14); - } - if (!taskWrkService.updateById(taskWrk)){ - log.error(taskWrk.getTaskNo()+ " 鍫嗗灈鏈轰换鍔″畬鎴愶紝鏀瑰彉浠诲姟鐘舵�佸け璐�"); - } - - - } + if (staProtocol.isPakMk()){ + VacuumMast vacuumMast = vacuumMastService.selectByStatusIsN(); + FillingMast fillingMast = fillingMastService.selectByStatusIsn(); + Date now = new Date(); + WrkMastSta wrkMastSta = new WrkMastSta(); + int workNo = commonService.getWorkNo(0); + wrkMastSta.setWrkNo((long)workNo); + wrkMastSta.setWrkStart(2); + wrkMastSta.setWrkEnd(vacuumMast.getStaNo()); +// wrkMastSta.setStaStart(); + wrkMastSta.setStaEnd(fillingMast.getStaNo()); + wrkMastSta.setCreateTime(now); + wrkMastSta.setUpdateTime(now); + wrkMastSta.setBignTime(now); + wrkMastSta.setType(0); //绫诲瀷 0:闈炵┖ 1:绌烘澘 + wrkMastSta.setWrkType(3); //宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭斁 3锛氬彇鏀� 4锛氭媶鐩� + Integer insert = wrkMastStaMapper.insert(wrkMastSta); + if (insert>0){ + devpThread.setPakMk(devp.getId(),false); } } } @@ -370,800 +123,244 @@ } } } - - /** - * 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 - */ - public synchronized void crnIoExecute() throws IOException { - for (CrnSlave crn : slaveProperties.getCrn()) { - // 鑾峰彇鍫嗗灈鏈轰俊鎭� - CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); - CrnProtocol crnProtocol = crnThread.getCrnProtocol(); - if (crnProtocol == null) { continue; } - BasCrnp basCrnp = basCrnpService.selectById(crn.getId()); - if (basCrnp == null) { - log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId()); - continue; - } - - // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛� - if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO - && crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) { - // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡 - if (crnProtocol.getLastIo().equals("I")) { - if (basCrnp.getInEnable().equals("Y")) { - this.crnStnToLoc(crn, crnProtocol); // 鍏ュ簱 - crnProtocol.setLastIo("O"); - } else if (basCrnp.getOutEnable().equals("Y")) { - this.locToCrnStn(crn, crnProtocol); // 鍑哄簱 - crnProtocol.setLastIo("I"); - } - } - // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡 - else if (crnProtocol.getLastIo().equals("O")) { - if (basCrnp.getOutEnable().equals("Y")) { - this.locToCrnStn(crn, crnProtocol); // 鍑哄簱 - crnProtocol.setLastIo("I"); - } else if (basCrnp.getInEnable().equals("Y")) { - this.crnStnToLoc(crn, crnProtocol); // 鍏ュ簱 - crnProtocol.setLastIo("O"); - } - } - } - // 搴撲綅绉昏浆 - this.locToLoc(crn, crnProtocol); - - } - } - - /** - * 鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鍒板簱浣� - */ - public void crnStnToLoc(CrnSlave slave, CrnProtocol crnProtocol) throws IOException { - for (CrnSlave.CrnStn crnStn : slave.getCrnInStn()) { - List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("crn_no", slave.getId()).eq("crn_stn", crnStn.getStaNo())); - for (StaDesc staDesc : staDescs) { - boolean flag = false; - // 鑾峰彇鍫嗗灈鏈哄叆搴撶珯淇℃伅 - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); - StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()); - if (staProtocol == null) { - continue; - } else { - staProtocol = staProtocol.clone(); - } - // 鏌ヨ绔欑偣璇︾粏淇℃伅 - BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo()); - if (staDetl == null) { - log.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); - continue; - } - if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable() - && staDetl.getCanining()!=null && staDetl.getCanining().equals("Y")) { - flag = true; - } - if (!flag) { - continue; - } - // 鑾峰彇宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級鐨勫叆搴撳伐浣滄。 - TaskWrk taskWrk = taskWrkMapper.selectPakIn(slave.getId(), staProtocol.getWorkNo().intValue(), staDesc.getStnNo().toString()); - if(null == taskWrk) { - continue; - } - - // 鍫嗗灈鏈烘帶鍒惰繃婊� - if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) { - continue; - } - - // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊� - if (taskWrkMapper.selectCrnWorking(slave.getId()) != null) { - continue; - } - // 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� - log.error("杩涘叆淇敼宸ヤ綔妗f祦绋�"); - Date now = new Date(); - taskWrk.setWrkSts(3); - taskWrk.setModiTime(now); - if (taskWrkMapper.updateById(taskWrk) == 0) { - log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo()); - } - TaskWrk taskWrk2 = taskWrkService.selectByWrkNo(taskWrk.getWrkNo()); - - if (taskWrk2.getWrkSts() != 3){ - continue; - } - log.error("杩涘叆淇敼宸ヤ綔妗f祦绋嬪畬鎴�,taskWrk=", taskWrk.getWrkNo()); - - - //鍙栧嚭鍛戒护 - List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo()); - Integer commandStep = taskWrk.getCommandStep(); - if (commandInfos.isEmpty()) { - continue;//鍛戒护绌� - } - CommandInfo commandInfo = commandInfos.get(commandStep); - CommandPackage commandPackage = JSON.parseObject(commandInfo.getCommand(), CommandPackage.class);//鍙栧嚭鍛戒护鎶ユ枃 - CrnCommand crnCommand = JSON.parseObject(commandPackage.getCommand().toString(), CrnCommand.class); - - if (!MessageQueue.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand))) { - log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand)); - } else { - //寮�濮嬭繍琛� - String response = CrnStartRunning(taskWrk); - JSONObject jsonObject = JSON.parseObject(response); - if (jsonObject.getInteger("code").equals(200)) { - - }else { - log.error("鍏ュ簱寮�濮嬭繍琛岄�氳澶辫触,"+jsonObject.get("msg")); - - } - } - -// // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- -// CrnCommand crnCommand = new CrnCommand(); -// crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� -// crnCommand.setTaskNo(taskWrk.getWrkNo().shortValue()); // 宸ヤ綔鍙� -// crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� -// crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 -// crnCommand.setSourcePosX(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪 -// crnCommand.setSourcePosY(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰 -// crnCommand.setSourcePosZ(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓 -// crnCommand.setDestinationPosX(Utils.getBayShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒� -// crnCommand.setDestinationPosY(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅灞� -// crnCommand.setDestinationPosZ(Utils.getRowShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺� -// crnCommand.setCommand((short)1); -// if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand))) { -// log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand)); -// } else { -// // 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� -// Date now = new Date(); -// taskWrk.setWrkSts(3); -// taskWrk.setModiTime(now); -// if (taskWrkMapper.updateById(taskWrk) == 0) { -// log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo()); -// } -// } - } - - // return; - } - } - - /** - * 鍑哄簱 ===>> 搴撲綅鍒板爢鍨涙満绔� - * 2022-06-09 TQS淇敼锛屾煡璇㈠伐浣滄。LIST锛岄亶鍘嗕笅鍙戯紝闃叉绗竴涓换鍔″牭濉炲嚭搴� - */ - public void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol){ - List<TaskWrk> taskWrksInitial = taskWrkMapper.selectPakOut(slave.getId(), null); - if (taskWrksInitial.size()==0){ - return; - } - for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) { - List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("crn_no", slave.getId()).eq("crn_stn", crnStn.getStaNo())); - for (StaDesc staDesc : staDescs){ - // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗� - List<TaskWrk> taskWrks = taskWrkMapper.selectPakOut(slave.getId(),staDesc.getStnNo().toString()); - for (TaskWrk taskWrk : taskWrks){ - if (taskWrk == null) { - continue; - } - // 宸ヤ綔妗g姸鎬佸垽鏂� - if (taskWrk.getIoType() != 2 || taskWrk.getTargetPoint() == null || taskWrk.getStartPoint() == null) { - log.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", taskWrk.getWrkNo(), taskWrk.getStartPoint(), taskWrk.getIoType()); - continue; - } - // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅 - SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId()); - StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo()); - if (staProtocol == null) { - break; - } else { - staProtocol = staProtocol.clone(); - } - - // 鏌ヨ绔欑偣璇︾粏淇℃伅 - BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo()); - if (staDetl == null) { - log.error("鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); - break; - } - - // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵�� - if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() !=null && staDetl.getCanouting().equals("Y") - && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) { - // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- - - // 鍫嗗灈鏈烘帶鍒惰繃婊� - if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) { - break; - } - - // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊� - if (taskWrkMapper.selectCrnWorking(slave.getId()) != null) { - break; - } - - // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞� - if (Utils.isDeepLoc(slaveProperties, taskWrk.getStartPoint())) { - - taskWrkMapper.selectPakOutIoType(taskWrk.getCrnNo()); - - List<TaskWrk> taskWrks1 = taskWrkMapper.selectPakOutIoType(taskWrk.getCrnNo()); - if (Cools.isEmpty(taskWrks1) && taskWrks1.size()!=0){ - continue; - } - String shallowLocNo = Utils.getShallowLoc(slaveProperties, taskWrk.getStartPoint()); - TaskWrk hallowLocNoTask = taskWrkMapper.selectByStartPoint(shallowLocNo); - if (!Cools.isEmpty(hallowLocNoTask)){ -// if (!Cools.isEmpty(hallowLocNoTask.getTargetPoint())){ -// continue; -// } -//// new PostMesDataUtils().postMesData("绉诲簱浠诲姟鍒嗛厤搴撲綅",wmsUrl,movePath,hallowLocNoTask); -// try { -// String response = new HttpHandler.Builder() -// .setUri(wmsUrl) -// .setPath(movePath) -// .setJson(JSON.toJSONString(hallowLocNoTask)) -// .build() -// .doPost(); -// System.out.println("response:"+response); -// JSONObject jsonObject = JSON.parseObject(response); -// if (jsonObject.getInteger("code").equals(200)) { -// //瑙f瀽 -// } -// }catch (Exception e){ -// log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl+"/"+movePath, JSON.toJSONString(hallowLocNoTask), "璇锋眰绉诲簱浠诲姟鍒嗛厤搴撲綅"); -// } - continue; - } - } - - //鍙栧嚭鍛戒护 - List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo()); - Integer commandStep = taskWrk.getCommandStep(); - if (commandInfos.isEmpty()) { - continue;//鍛戒护绌� - } - - //鍒ゆ柇鏈鍛戒护鏄惁鎵ц - CommandInfo commandInfo2 = commandInfos.get(commandInfos.size() - 1); - if (commandInfo2.getCommandStatus() != CommandStatusType.CREATE.id) { - continue;//鎸囦护宸叉墽琛� - } - - CommandInfo commandInfo = commandInfos.get(commandStep); - CommandPackage commandPackage = JSON.parseObject(commandInfo.getCommand(), CommandPackage.class);//鍙栧嚭鍛戒护鎶ユ枃 - CrnCommand crnCommand = JSON.parseObject(commandPackage.getCommand().toString(), CrnCommand.class); - - if (!MessageQueue.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand))) { - log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand)); - } else { - // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� - Date now = new Date(); - taskWrk.setWrkSts(12); - taskWrk.setModiTime(now); - if (taskWrkMapper.updateById(taskWrk) == 0) { - log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo()); - } - //寮�濮嬭繍琛� - String response = CrnStartRunning(taskWrk); - JSONObject jsonObject = JSON.parseObject(response); - if (jsonObject.getInteger("code").equals(200)) { - - }else { - log.error("鍑哄簱寮�濮嬭繍琛岄�氳澶辫触,"+jsonObject.get("msg")); - - } - } - - } - } - } - } - } - - /** - * 搴撲綅绉昏浆 - */ - public void locToLoc(CrnSlave slave, CrnProtocol crnProtocol){ - for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) { - // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑绉诲簱宸ヤ綔妗� - List<TaskWrk> taskWrks = taskWrkMapper.selectList(new EntityWrapper<TaskWrk>() - .eq("crn_no",slave.getId()) - .eq("wrk_sts",11) - .eq("io_type",3)); - for (TaskWrk taskWrk : taskWrks){ - - // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞� - if (Utils.isDeepLoc(slaveProperties, taskWrk.getStartPoint())) { - String shallowLocNo = Utils.getShallowLoc(slaveProperties, taskWrk.getStartPoint()); - TaskWrk hallowLocNoTask = taskWrkMapper.selectByStartPoint(shallowLocNo); - if (!Cools.isEmpty(hallowLocNoTask)){ - continue; - } - } - // 鍫嗗灈鏈烘帶鍒惰繃婊� - if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) { - continue; - } - - // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊� - if (taskWrkMapper.selectCrnWorking(slave.getId()) != null) { - continue; - } - if (Cools.isEmpty(taskWrk.getTargetPoint())){ - List<Integer> list = openServiceImpl.getInEnableRoadway(); - Map<String, Object> map = new HashMap<>(); - map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2"); - ToWmsDTO toWmsDTO = new ToWmsDTO(); - toWmsDTO.setWarehouseId("1688469798893297665"); - toWmsDTO.setContainerCode(taskWrk.getBarcode()); - toWmsDTO.setApplyType("TUNNEL_LOCATION"); - toWmsDTO.setTaskTunnel(taskWrk.getCrnNo()); - toWmsDTO.setCanInboundTunnels(list); - String response = null; - try { - response = new HttpHandler.Builder() - .setHeaders(map) - .setUri(wmsUrl) - .setPath("wcsManager/wcsInterface/inboundTaskApply") - .setJson(JSON.toJSONString(toWmsDTO)) - .build() - .doPost(); - }catch (Exception e){ - log.error("wms閫氳澶辫触,"+e.getMessage()); - continue; - } - JSONObject jsonObject = JSON.parseObject(response); - if (jsonObject.getInteger("code").equals(200)) { - GetWmsDto getWmsDto = JSON.parseObject(jsonObject.get("data").toString(), GetWmsDto.class); - taskWrk.setOriginTargetPoint(getWmsDto.getTargetLocationCode()); - taskWrk.setTargetPoint(Utils.getWcsLocNo(getWmsDto.getTargetLocationCode())); - if (!taskWrkService.updateById(taskWrk)){ - log.error("淇濆瓨wms搴撲綅鍙峰け璐�"); - } - continue; - }else { - log.error("wms閫氳澶辫触,"+jsonObject.get("msg")); - continue; - } - - } - if (taskWrk == null || Cools.isEmpty(taskWrk.getTargetPoint()) || taskWrk.getTargetPoint().equals("") || taskWrk.getWrkNo() == null) { - continue; - } - // 宸ヤ綔妗g姸鎬佸垽鏂� - if (taskWrk.getIoType() != 3 || taskWrk.getTargetPoint() == null) { - log.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/鐩爣搴撲綅鍙�, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", taskWrk.getWrkNo(), taskWrk.getTargetPoint(), taskWrk.getIoType()); - continue; - } - - // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- - - - - - // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔� - CrnCommand crnCommand = new CrnCommand(); - crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� - crnCommand.setTaskNo(taskWrk.getWrkNo().shortValue()); // 宸ヤ綔鍙� - crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 - crnCommand.setSourcePosZ(Utils.getRowShort(taskWrk.getStartPoint())); // 婧愬簱浣嶆帓 - crnCommand.setSourcePosX(Utils.getBayShort(taskWrk.getStartPoint())); // 婧愬簱浣嶅垪 - crnCommand.setSourcePosY(Utils.getLevShort(taskWrk.getStartPoint())); // 婧愬簱浣嶅眰 - crnCommand.setDestinationPosZ(Utils.getRowShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鎺� - crnCommand.setDestinationPosX(Utils.getBayShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅鍒� - crnCommand.setDestinationPosY(Utils.getLevShort(taskWrk.getTargetPoint())); // 鐩爣搴撲綅灞� - crnCommand.setCommand((short) 1); - if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand),false)) { - log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand)); - } else { - // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� - Date now = new Date(); - taskWrk.setWrkSts(12); - taskWrk.setModiTime(now); - if (taskWrkMapper.updateById(taskWrk) == 0) { - log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo()); - } - //寮�濮嬭繍琛� - String response = CrnStartRunning(taskWrk); - JSONObject jsonObject = JSON.parseObject(response); - if (jsonObject.getInteger("code").equals(200)) { - - }else { - log.error("绉诲簱浠诲姟寮�濮嬭繍琛岄�氳澶辫触,"+jsonObject.get("msg")); - continue; - } - break; - } - return; - } - } - - } - - /** - * 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣� - */ - @Async - public void storeFinished() { - for (CrnSlave crn : slaveProperties.getCrn()) { - // 鑾峰彇鍫嗗灈鏈轰俊鎭� - CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); - CrnProtocol crnProtocol = crnThread.getCrnProtocol(); - if (crnProtocol == null) { continue; } - - // 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1 - if (crnProtocol.getTaskFinish() == 0 && crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED && crnProtocol.getTaskNo() != 0) { - //鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。 - TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorking(crn.getId(),crnProtocol.getTaskNo().intValue()); - if (Cools.isEmpty(taskWrk)) { -// log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo()); - continue; - } - - //鑾峰彇鎸囦护ID - Integer commandId = crnProtocol.getCommandId(); - CommandInfo commandInfo = new CommandInfo(); - if (Cools.isEmpty(commandId)){ - commandInfo = commandInfoService.selectOne(new EntityWrapper<CommandInfo>() - .eq("wrk_no",crnProtocol.getTaskNo()) - .eq("device","Crn")); - }else { - commandInfo = commandInfoService.selectById(commandId); - } - - - if (commandInfo == null) { - //鎸囦护涓嶅瓨鍦� - continue; - } - if (commandInfo.getCommandStatus() == 3){ - continue; - } - commandInfo.setCommandStatus(CommandStatusType.COMPLETE.id);//鎸囦护瀹屾垚 - commandInfo.setCompleteTime(new Date());//鎸囦护瀹屾垚鏃堕棿 - if (commandInfoService.updateById(commandInfo)) {//淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 - // 鍫嗗灈鏈哄浣� - crnThread.setResetFlag(true); - if (taskWrk.getIoType() == 1 || taskWrk.getIoType() == 3){ - taskWrk.setWrkSts(4); - } else if (taskWrk.getIoType() == 2) { - taskWrk.setWrkSts(14); - } - if (!taskWrkService.updateById(taskWrk)){ - log.error(taskWrk.getTaskNo()+ " 鍫嗗灈鏈轰换鍔″畬鎴愶紝鏀瑰彉浠诲姟鐘舵�佸け璐�"); - } - } - } - } - } - -// /** -// * 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣� -// */ -// @Async -// public void storeFinished() { -// for (CrnSlave crn : slaveProperties.getCrn()) { -// // 鑾峰彇鍫嗗灈鏈轰俊鎭� -// CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); -// CrnProtocol crnProtocol = crnThread.getCrnProtocol(); -// if (crnProtocol == null) { continue; } -// // 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1 -// if (crnProtocol.getTaskFinish() == 0 && crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED && crnProtocol.getTaskNo() != 0) { -// // 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。 -// TaskWrk taskWrk = taskWrkMapper.selectCrnNoWorking(crn.getId(),crnProtocol.getTaskNo().intValue()); -// if (Cools.isEmpty(taskWrk)) { -// log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo()); -// continue; -// } -// // 鍏ュ簱 + 搴撲綅杞Щ ==> 4.鍏ュ簱瀹屾垚 -// if ((taskWrk.getWrkSts() == 3 && taskWrk.getIoType() == 1) || (taskWrk.getWrkSts() == 12 && taskWrk.getIoType() == 3)) { -// taskWrk.setWrkSts(4); -// } else { -// continue; -// } -// Date now = new Date(); -// taskWrk.setModiTime(now); -// Integer integerTaskWrk = taskWrkMapper.updateById(taskWrk); -// // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 -// if (integerTaskWrk > 0) { -// // 鍫嗗灈鏈哄浣� -// crnThread.setResetFlag(true); -// -// //鏇存柊搴撲綅鐘舵�� -// LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint()); -// locMast.setLocSts("F");//F.鍦ㄥ簱 -// locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮� -// locMast.setModiTime(now); -// locMast.setModiUser(9999L); -// locMastService.updateById(locMast); -// } -// } -// } -// } - - /** - * 鍫嗗灈鏈哄紓甯镐俊鎭褰� - */ - @Async - public void recCrnErr(){ - Date now = new Date(); - for (CrnSlave crn : slaveProperties.getCrn()) { - // 鑾峰彇鍫嗗灈鏈轰俊鎭� - CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); - CrnProtocol crnProtocol = crnThread.getCrnProtocol(); - if (crnProtocol == null) { - continue; - } - if (false) { -// if (crnProtocol.getModeType() != CrnModeType.STOP) { - // 鏈変换鍔� - if (crnProtocol.getTaskNo() != 0) { - BasErrLog latest = basErrLogService.findLatestByTaskNo(crn.getId(), crnProtocol.getTaskNo().intValue()); - // 鏈夊紓甯� - if (latest == null) { - if (crnProtocol.getAlarm() != null && crnProtocol.getAlarm() > 0) { - WrkMast wrkMast = wrkMastMapper.selectById(crnProtocol.getTaskNo()); - if (wrkMast == null) { - continue; - } - BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm()); - String errName = crnError==null? String.valueOf(crnProtocol.getAlarm()):crnError.getErrName(); - BasErrLog basErrLog = new BasErrLog( - null, // 缂栧彿 - wrkMast.getWrkNo(), // 宸ヤ綔鍙� - now, // 鍙戠敓鏃堕棿 - null, // 缁撴潫鏃堕棿 - wrkMast.getWrkSts(), // 宸ヤ綔鐘舵�� - wrkMast.getIoType(), // 鍏ュ嚭搴撶被鍨� - crn.getId(), // 鍫嗗灈鏈� - null, // plc - wrkMast.getLocNo(), // 鐩爣搴撲綅 - wrkMast.getStaNo(), // 鐩爣绔� - wrkMast.getSourceStaNo(), // 婧愮珯 - wrkMast.getSourceLocNo(), // 婧愬簱浣� - wrkMast.getBarcode(), // 鏉$爜 - (int) crnProtocol.getAlarm1(), // 寮傚父鐮� - errName, // 寮傚父 - 1, // 寮傚父鎯呭喌 - now, // 娣诲姞鏃堕棿 - null, // 娣诲姞浜哄憳 - now, // 淇敼鏃堕棿 - null, // 淇敼浜哄憳 - "浠诲姟涓紓甯�" // 澶囨敞 - ); - if (!basErrLogService.insert(basErrLog)) { - log.error("鍫嗗灈鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", crn.getId(), errName); - } - } - } else { - // 寮傚父淇 - if (crnProtocol.getAlarm1() == null || crnProtocol.getAlarm1() == 0) { - latest.setEndTime(now); - latest.setUpdateTime(now); - latest.setStatus(2); - if (!basErrLogService.updateById(latest)) { - log.error("鍫嗗灈鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId()); - } - } - } - // 鏃犱换鍔� - } else { - BasErrLog latest = basErrLogService.findLatest(crn.getId()); - // 鏈夊紓甯� - if (crnProtocol.getAlarm1() != null && crnProtocol.getAlarm() > 0) { - // 璁板綍鏂板紓甯� - if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm().intValue())) { - BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm()); - String errName = crnError==null? String.valueOf(crnProtocol.getAlarm()):crnError.getErrName(); - BasErrLog basErrLog = new BasErrLog( - null, // 缂栧彿 - null, // 宸ヤ綔鍙� - now, // 鍙戠敓鏃堕棿 - null, // 缁撴潫鏃堕棿 - null, // 宸ヤ綔鐘舵�� - null, // 鍏ュ嚭搴撶被鍨� - crn.getId(), // 鍫嗗灈鏈� - null, // plc - null, // 鐩爣搴撲綅 - null, // 鐩爣绔� - null, // 婧愮珯 - null, // 婧愬簱浣� - null, // 鏉$爜 - (int)crnProtocol.getAlarm1(), // 寮傚父鐮� - errName, // 寮傚父 - 1, // 寮傚父鎯呭喌 - now, // 娣诲姞鏃堕棿 - null, // 娣诲姞浜哄憳 - now, // 淇敼鏃堕棿 - null, // 淇敼浜哄憳 - "鏃犱换鍔″紓甯�" // 澶囨敞 - ); - if (!basErrLogService.insert(basErrLog)) { - log.error("鍫嗗灈鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", crn.getId(), errName); - } - } - // 鏃犲紓甯� - } else { - // 寮傚父淇 - if (latest != null && latest.getStatus() == 1) { - latest.setEndTime(now); - latest.setUpdateTime(now); - latest.setStatus(2); - if (!basErrLogService.updateById(latest)) { - log.error("鍫嗗灈鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId()); - } - } - } - } - } - - } - } - - //鑷姩娲惧彂浠诲姟 - public void autoDistribute() { - Config config = configService.selectByCode("autoDistribute"); - if (config == null) { - return; - } - - if (config.getValue().equals("false")) {//鍒ゆ柇鏄惁寮�鍚嚜鍔ㄦ淳鍙戜换鍔� - return; - } - - for (TaskWrk taskWrk : taskWrkService.selectReceive()) { - try { - taskWrkService.distribute(taskWrk.getTaskNo(), 9527L); - } catch (CoolException e) { -// log.info(e.getMessage()); - } - } - } - - //鑷姩瀹屾垚浠诲姟 - public synchronized void autoCompleteTask() { - List<TaskWrk> taskWrks = taskWrkMapper.selectWorkingTask(); - for (TaskWrk taskWrk : taskWrks) { - //鑾峰彇鍛戒护闆嗗悎 - List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo()); - if (taskWrk.getCommandStep() < commandInfos.size()) { - continue;//褰撳墠姝ュ簭娌℃湁鍒拌揪鏈�鍚庝竴鏉″懡浠� - } - - //鍒ゆ柇鏈鍛戒护鏄惁鎵ц瀹屾垚 - if (!commandInfos.isEmpty()){ - CommandInfo commandInfo = commandInfos.get(commandInfos.size() - 1); - if (commandInfo.getCommandStatus() != CommandStatusType.COMPLETE.id) { - continue;//鎸囦护鏈畬鎴� - } - } - - - Date now = new Date(); - //鎸囦护宸插畬鎴愶紝鏇存柊浠诲姟 - if (taskWrk.getIoType() == 1) { - //鍏ュ簱浠诲姟 -// taskWrk.setWrkSts(4);//3.鍚婅溅鍏ュ簱涓� => 4.鍏ュ簱瀹屾垚 - taskWrk.setStatus(TaskStatusType.OVER.id); - taskWrk.setModiTime(now); - taskWrkService.updateById(taskWrk); - - //鏇存柊搴撲綅鐘舵�� - LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint()); - locMast.setLocSts("Z");//F.鍦ㄥ簱 - locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮� - locMast.setModiTime(now); - locMast.setModiUser(9999L); - locMastService.updateById(locMast); - } else if (taskWrk.getIoType() == 2) { - //鍑哄簱浠诲姟 -// taskWrk.setWrkSts(14);//12.鍚婅溅鍑哄簱涓� => 14.鍑哄簱瀹屾垚 - taskWrk.setStatus(TaskStatusType.OVER.id); - taskWrk.setModiTime(now); - taskWrkService.updateById(taskWrk); - - //鏇存柊搴撲綅鐘舵�� - LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint()); - locMast.setLocSts("K");//O.绌哄簱浣� - locMast.setBarcode("");//鎵樼洏鐮� - locMast.setModiTime(now); - locMast.setModiUser(9999L); - locMastService.updateById(locMast); - } else if (taskWrk.getIoType() == 3) { - - //鏇存柊璧峰搴撲綅鐘舵�� - LocMast locMastStart = locMastService.selectByLocNo(taskWrk.getStartPoint()); - locMastStart.setLocSts("K");//O.绌哄簱浣� - locMastStart.setBarcode("");//鎵樼洏鐮� - locMastStart.setModiTime(now); - locMastStart.setModiUser(9999L); - locMastService.updateById(locMastStart); - - //鏇存柊鐩爣搴撲綅鐘舵�� - LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint()); - locMast.setLocSts("Z");//F.鍦ㄥ簱 - locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮� - locMast.setModiTime(now); - locMast.setModiUser(9999L); - locMastService.updateById(locMast); - - taskWrk.setStatus(TaskStatusType.OVER.id); - taskWrk.setModiTime(now); - taskWrkService.updateById(taskWrk); - - - } - } - } - - - public synchronized String CrnStartRunning(TaskWrk taskWrk){ - String tasktype = null; - switch (taskWrk.getIoType()){ - case 1: - tasktype= "RK"; - break; - case 2: - tasktype= "CK"; - break; - case 3: - tasktype= "YK"; - break; - default: - tasktype= "鏈煡"; - } - Map<String, Object> map = new HashMap<>(); - map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2"); - TaskOverToWms taskOverToWms = new TaskOverToWms(); - taskOverToWms.setFeedbackFrom("WCS"); //鏉ユ簮 - taskOverToWms.setWarehouseId("1688469798893297665"); //浠撳簱鏍囪瘑 - taskOverToWms.setTaskNo(taskWrk.getTaskNo()); //浠诲姟鍙� - taskOverToWms.setTaskType(tasktype); // 浠诲姟绫诲瀷 - taskOverToWms.setContainerCode(taskWrk.getBarcode()); // 瀹瑰櫒缂栫爜 - if (taskWrk.getIoType() ==1 || taskWrk.getIoType() == 3){ - taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //璁惧缂栫爜 - taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //鐩爣搴撲綅 - }else if (taskWrk.getIoType() ==2){ - Map<Integer,String> map1 = new HashMap<>(); - map1.put(102,"J-1101"); - map1.put(106,"J-1103"); - map1.put(110,"J-1105"); - map1.put(114,"J-1107"); - map1.put(118,"J-1109"); - map1.put(122,"J-1111"); - map1.put(305,"H-1101"); - map1.put(405,"G-1101"); - taskOverToWms.setEquipmentCode(map1.get(taskWrk.getTargetPoint())); //璁惧缂栫爜 - taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint()); //婧愬簱浣� - } - - taskOverToWms.setTaskStatus("executing"); //浠诲姟鐘舵�� - String response = null; + public synchronized void RGVDemoShow0() { try { - response = new HttpHandler.Builder() - .setHeaders(map) - .setUri(wmsUrl) - .setPath("wcsManager/wcsInterface/taskStatusFeedback") - .setJson(JSON.toJSONString(taskOverToWms)) - .build() - .doPost(); - }catch (Exception e){ - log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛澶辫触"); + for (DevpSlave devp : slaveProperties.getDevp()) { + for (DevpSlave.Sta inSta : devp.getInSta()) { + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); + StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()); + if (staProtocol == null) { + continue; + } else { + staProtocol = staProtocol.clone(); + } +// if (){ //杈撻�佺嚎鐘舵�� +// +// } + + for (RgvSlave rgv : slaveProperties.getRgv()) { + + SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId()); + RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); + if (rgvProtocol == null) { + continue; + }else { + rgvProtocol = rgvProtocol.clone(); + } + if (rgvProtocol.getStatusType() == RgvStatusType.IDLE + && rgvProtocol.getModeType() == RgvModeType.AUTO + && rgvProtocol.getLoaded1()==0 + && rgvProtocol.getTaskNo1() == 0 + && rgvThread.isPakMk() + ){ + WrkMastSta wrkMastSta = wrkMastStaMapper.selectWrkSts0(); + if (!Cools.isEmpty(wrkMastSta)){ + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- + RgvCommand rgvCommand = new RgvCommand(); + rgvCommand.setRgvNo(rgv.getId()); // RGV缂栧彿 + rgvCommand.setAckFinish1(false); // 宸ヤ綅1浠诲姟瀹屾垚纭浣� + rgvCommand.setTaskNo1(wrkNo1); // 宸ヤ綅1宸ヤ綔鍙� + rgvCommand.setTaskMode1(RgvTaskModeType.FETCH_PUT); // 宸ヤ綅1浠诲姟妯″紡: 鍙栨斁璐� + rgvCommand.setSourceStaNo1(wrkMastSta.getWrkStart().shortValue()); //宸ヤ綅1璧风偣 + rgvCommand.setDestinationStaNo1(wrkMastSta.getWrkEnd().shortValue()); //宸ヤ綅1鐩爣绔欑偣 + rgvCommand.setCommand((short) 1); //宸ヤ綅1浠诲姟纭 + if (!MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(4, rgvCommand))) { + //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱 step=4锛屽伐浣�1鍐欎换鍔★紱 step=5锛屽伐浣�2鍐欎换鍔� + log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgv.getId(), JSON.toJSON(rgvCommand)); + + } else { + vacuumMastStatusSetY(wrkMastSta.getWrkEnd()); + rgvThread.setPakMk(false); + + wrkMastSta.setWrkSts(1); + Integer update = wrkMastStaMapper.updateById(wrkMastSta); + if (update>0){ + + }else { + log.error("RGV鍛戒护涓嬪彂鍚庯紝鏇存柊宸ヤ綔浠诲姟鐘舵�佸け璐�"); + } + + } + + } + + + } + + } + } + + } + + } catch (Exception e) { + log.error("Rgv婕旂ず ===>> 澶辫触", e); + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); } - apiLogService.save("鍫嗗灈鏈哄紑濮嬭繍琛�" - ,wmsUrl+"wcsManager/wcsInterface/taskStatusFeedback" - ,null - ,"127.0.0.1" - ,JSON.toJSONString(taskOverToWms) - ,response - ,true - ); - return response; } + public synchronized void RGVDemoShow1() { + try { + for (DevpSlave devp : slaveProperties.getDevp()) { + for (DevpSlave.Sta inSta : devp.getInSta()) { + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); + StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()); + if (staProtocol == null) { + continue; + } else { + staProtocol = staProtocol.clone(); + } +// if (){ //杈撻�佺嚎鐘舵�� +// +// } + + for (RgvSlave rgv : slaveProperties.getRgv()) { + if (!rgv.getDemo()) { + continue; + } + SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId()); + RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); + if (rgvProtocol == null) { + continue; + }else { + rgvProtocol = rgvProtocol.clone(); + } + if (rgvProtocol.getStatusType() == RgvStatusType.IDLE + && rgvProtocol.getModeType() == RgvModeType.AUTO + && rgvProtocol.getLoaded1()==0 + && rgvProtocol.getTaskNo1() == 0 + && rgvThread.isPakMk() + ){ + WrkMastSta wrkMastSta = wrkMastStaMapper.selectWrkSts1(); + if (!Cools.isEmpty(wrkMastSta)){ + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- + RgvCommand rgvCommand = new RgvCommand(); + rgvCommand.setRgvNo(rgv.getId()); // RGV缂栧彿 + rgvCommand.setAckFinish1(false); // 宸ヤ綅1浠诲姟瀹屾垚纭浣� + rgvCommand.setTaskNo1(wrkNo1); // 宸ヤ綅1宸ヤ綔鍙� + rgvCommand.setTaskMode1(RgvTaskModeType.FETCH_PUT); // 宸ヤ綅1浠诲姟妯″紡: 鍙栨斁璐� + rgvCommand.setSourceStaNo1(wrkMastSta.getWrkEnd().shortValue()); //宸ヤ綅1璧风偣 + rgvCommand.setDestinationStaNo1(wrkMastSta.getStaEnd().shortValue()); //宸ヤ綅1鐩爣绔欑偣 + rgvCommand.setCommand((short) 1); //宸ヤ綅1浠诲姟纭 + if (!MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(4, rgvCommand))) { + //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱 step=4锛屽伐浣�1鍐欎换鍔★紱 step=5锛屽伐浣�2鍐欎换鍔� + log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgv.getId(), JSON.toJSON(rgvCommand)); + + } else { + rgvThread.setPakMk(false); + vacuumMastStatusSetN(wrkMastSta.getWrkEnd()); + fillingMastStatusSetY(wrkMastSta.getStaEnd()); + + wrkMastSta.setWrkSts(2); + Integer update = wrkMastStaMapper.updateById(wrkMastSta); + if (update>0){ + + }else { + log.error("RGV鍛戒护涓嬪彂鍚庯紝鏇存柊宸ヤ綔浠诲姟鐘舵�佸け璐�"); + } + + } + + } + + + } + + } + } + + } + + } catch (Exception e) { + log.error("Rgv婕旂ず ===>> 澶辫触", e); + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } + } + + public synchronized void RGVDemoShow2() throws InterruptedException { + for (RgvSlave rgv : slaveProperties.getRgv()) { +// if (!rgv.getDemo()) { +// continue; +// } + SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId()); + RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); + if (rgvProtocol == null) { + continue; + }else { + rgvProtocol = rgvProtocol.clone(); + } + if ((rgvProtocol.getStatusType1() == RgvStatusType.WAITING || rgvProtocol.getStatusType1()==RgvStatusType.FETCHWAITING) + && rgvProtocol.getModeType() == RgvModeType.AUTO + && rgvProtocol.getTaskNo1() >0 +// && (rgvProtocol.getStatusType() == RgvStatusType.WORKING1) + ){ + boolean rgvComplete = rgvComplete(rgv.getId()); + if (rgvComplete){ + rgvThread.setPakMk(true); + } + + } + + } + } + + public boolean vacuumMastStatusSetN(Integer staNo){ + EntityWrapper<VacuumMast> vacuumMastEntityWrapper = new EntityWrapper<>(); + vacuumMastEntityWrapper.eq("sta_no",staNo); + VacuumMast vacuumMast = vacuumMastService.selectOne(vacuumMastEntityWrapper); + vacuumMast.setStatus("N"); + boolean update = vacuumMastService.update(vacuumMast, vacuumMastEntityWrapper); + return update; + } + public boolean vacuumMastStatusSetY(Integer staNo){ + EntityWrapper<VacuumMast> vacuumMastEntityWrapper = new EntityWrapper<>(); + vacuumMastEntityWrapper.eq("sta_no",staNo); + VacuumMast vacuumMast = vacuumMastService.selectOne(vacuumMastEntityWrapper); + vacuumMast.setStatus("Y"); + boolean update = vacuumMastService.update(vacuumMast, vacuumMastEntityWrapper); + return update; + } + public boolean fillingMastStatusSetN(Integer staNo){ + EntityWrapper<FillingMast> fillingMastEntityWrapper = new EntityWrapper<>(); + fillingMastEntityWrapper.eq("sta_no",staNo); + FillingMast fillingMast = fillingMastService.selectOne(fillingMastEntityWrapper); + fillingMast.setStatus("N"); + boolean update = fillingMastService.update(fillingMast, fillingMastEntityWrapper); + return update; + } + + public boolean fillingMastStatusSetY(Integer staNo){ + EntityWrapper<FillingMast> fillingMastEntityWrapper = new EntityWrapper<>(); + fillingMastEntityWrapper.eq("sta_no",staNo); + FillingMast fillingMast = fillingMastService.selectOne(fillingMastEntityWrapper); + fillingMast.setStatus("Y"); + boolean update = fillingMastService.update(fillingMast, fillingMastEntityWrapper); + return update; + } + + + + /* + * 灏忚溅澶嶄綅 + * */ + public synchronized boolean rgvComplete(Integer rgvId){ + try{ + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- + if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(3, new RgvCommand()))) { + //step=2,宸ヤ綅1銆�2鍐欎换鍔★紱 step=4锛屽伐浣�1鍐欎换鍔★紱 step=5锛屽伐浣�2鍐欎换鍔� + log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}",rgvId); + return false; + } else { + log.info("RGV鍛戒护涓嬪彂鎴愬姛锛孯GV鍙�={}",rgvId); + return true; + } + }catch (Exception e){ + log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}銆傚紓甯革細"+e,rgvId); + return false; + } + } + + } diff --git a/src/main/java/com/zy/asrs/service/impl/VacuumMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/VacuumMastServiceImpl.java new file mode 100644 index 0000000..be44c2b --- /dev/null +++ b/src/main/java/com/zy/asrs/service/impl/VacuumMastServiceImpl.java @@ -0,0 +1,15 @@ +package com.zy.asrs.service.impl; + +import com.zy.asrs.mapper.VacuumMastMapper; +import com.zy.asrs.entity.VacuumMast; +import com.zy.asrs.service.VacuumMastService; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +@Service("vacuumMastService") +public class VacuumMastServiceImpl extends ServiceImpl<VacuumMastMapper, VacuumMast> implements VacuumMastService { + @Override + public VacuumMast selectByStatusIsN() { + return this.baseMapper.selectByStatusIsN(); + } +} diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java new file mode 100644 index 0000000..5f9b639 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/impl/WrkMastStaServiceImpl.java @@ -0,0 +1,12 @@ +package com.zy.asrs.service.impl; + +import com.zy.asrs.mapper.WrkMastStaMapper; +import com.zy.asrs.entity.WrkMastSta; +import com.zy.asrs.service.WrkMastStaService; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +@Service("wrkMastStaService") +public class WrkMastStaServiceImpl extends ServiceImpl<WrkMastStaMapper, WrkMastSta> implements WrkMastStaService { + +} diff --git a/src/main/java/com/zy/common/CodeBuilder.java b/src/main/java/com/zy/common/CodeBuilder.java index e776910..8e2b23d 100644 --- a/src/main/java/com/zy/common/CodeBuilder.java +++ b/src/main/java/com/zy/common/CodeBuilder.java @@ -20,7 +20,7 @@ generator.url="127.0.0.1:1433;databasename=ghtzasrs"; generator.username="sa"; generator.password="sa@123"; - generator.table="asr_bas_rgv_err"; + generator.table="man_vacuum_mast"; generator.packagePath="com.zy.asrs"; generator.js = false; generator.html = false; diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java index 8fdd89c..9428400 100644 --- a/src/main/java/com/zy/core/MainProcess.java +++ b/src/main/java/com/zy/core/MainProcess.java @@ -42,36 +42,12 @@ if (!SystemProperties.WCS_RUNNING_STATUS.get()) { continue; } - // 婕旂ず -// mainService.crnDemoOfLocMove1(); - // 鍏ュ簱 ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。 - mainService.generateStoreWrkFile(); // 缁勬墭 - // 鍑哄簱 ===>> 鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯 - mainService.crnStnToOutStn(); - // 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 - mainService.crnIoExecute(); - // 鍏ュ簱 ===>> 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣� - mainService.storeFinished(); +// mainService.getRgvTask(); +// mainService.RGVDemoShow0(); +// mainService.RGVDemoShow1(); + mainService.RGVDemoShow2(); - // 鍫嗗灈鏈哄紓甯镐俊鎭褰� - mainService.recCrnErr(); - // 鍏ュ簱 ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐� -// mainService.storeEmptyPlt(); - -// mainService.outOfDevp(); - - // 鍏朵粬 ===>> // 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁� - i++; - if (i > 1) { -// mainService.ioConvert(); - i = 0; - } - - //鑷姩娲惧彂浠诲姟 - mainService.autoDistribute(); - //鑷姩瀹屾垚浠诲姟 - mainService.autoCompleteTask(); } catch (Exception e) { e.printStackTrace(); diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java index 5ba5098..d67d829 100644 --- a/src/main/java/com/zy/core/ServerBootstrap.java +++ b/src/main/java/com/zy/core/ServerBootstrap.java @@ -80,26 +80,26 @@ private void initThread(){ // 鍒濆鍖栧爢鍨涙満绾跨▼ - log.info("鍒濆鍖栧爢鍨涙満绾跨▼..................................................."); - for (CrnSlave crn : slaveProperties.getCrn()) { - CrnThread crnThread = new SiemensCrnThread(crn); - new Thread((Runnable) crnThread).start(); - SlaveConnection.put(SlaveType.Crn, crn.getId(), crnThread); - } - // 鍒濆鍖栬緭閫佺嚎绾跨▼ - log.info("鍒濆鍖栬緭閫佺嚎绾跨▼..................................................."); - for (DevpSlave devp : slaveProperties.getDevp()) { - DevpThread devpThread = new SiemensDevpThread(devp); - new Thread((Runnable) devpThread).start(); - SlaveConnection.put(SlaveType.Devp, devp.getId(), devpThread); - } - // 鍒濆鍖栨潯鐮佹壂鎻忎华绾跨▼ - log.info("鍒濆鍖栨潯鐮佹壂鎻忎华绾跨▼..................................................."); - for (Slave barcode : slaveProperties.getBarcode()) { - BarcodeThread barcodeThread = new BarcodeThread(barcode); -// new Thread(barcodeThread).start(); - SlaveConnection.put(SlaveType.Barcode, barcode.getId(), barcodeThread); - } +// log.info("鍒濆鍖栧爢鍨涙満绾跨▼..................................................."); +// for (CrnSlave crn : slaveProperties.getCrn()) { +// CrnThread crnThread = new SiemensCrnThread(crn); +// new Thread((Runnable) crnThread).start(); +// SlaveConnection.put(SlaveType.Crn, crn.getId(), crnThread); +// } +// // 鍒濆鍖栬緭閫佺嚎绾跨▼ +// log.info("鍒濆鍖栬緭閫佺嚎绾跨▼..................................................."); +// for (DevpSlave devp : slaveProperties.getDevp()) { +// DevpThread devpThread = new SiemensDevpThread(devp); +// new Thread((Runnable) devpThread).start(); +// SlaveConnection.put(SlaveType.Devp, devp.getId(), devpThread); +// } +// // 鍒濆鍖栨潯鐮佹壂鎻忎华绾跨▼ +// log.info("鍒濆鍖栨潯鐮佹壂鎻忎华绾跨▼..................................................."); +// for (Slave barcode : slaveProperties.getBarcode()) { +// BarcodeThread barcodeThread = new BarcodeThread(barcode); +//// new Thread(barcodeThread).start(); +// SlaveConnection.put(SlaveType.Barcode, barcode.getId(), barcodeThread); +// } // 鍒濆鍖栫┛姊溅绾跨▼ log.info("鍒濆鍖朢GV绾跨▼..................................................."); for (RgvSlave rgv : slaveProperties.getRgv()) { diff --git a/src/main/java/com/zy/core/enums/RgvStatusType.java b/src/main/java/com/zy/core/enums/RgvStatusType.java index 9f5d3e0..2e91757 100644 --- a/src/main/java/com/zy/core/enums/RgvStatusType.java +++ b/src/main/java/com/zy/core/enums/RgvStatusType.java @@ -3,18 +3,21 @@ public enum RgvStatusType { NONE(-1, "绂荤嚎"), - IDLE(0, "鏃犱换鍔�"), + IDLE(0, "绌洪棽"), WORKING(1, "鍙栬揣琛岃蛋"), - SOS(2, "杩涚珯杩愯涓�"), - WORKING1(3, "杩涚珯瀹屾垚"), - FETCHING(4, "鏈夌墿寰呭嚭绔�"), - A5(5,"鍑虹珯琛岃蛋"), - A6(6,"鍑虹珯璇锋眰"), - A7(7,"鍑虹珯杩愯涓�"), - A8(8,"鍑虹珯瀹屾垚"), + SOS(2, "绛夊緟鍙栬揣鍏佽"), + WORKING1(3, "鍙栬揣涓�"), + WORKING5(5, "鏀捐揣琛岃蛋"), +// FETCHING(11, "鍙栬揣涓�"), + PUTTING(6, "鏀捐揣涓�"), + WORKING7(7, "鏀捐揣瀹屾垚"), + WAITING(90, "浠诲姟瀹屾垚绛夊緟WCS纭"), + FETCHWAITING(91, "鍙栬揣浠诲姟瀹屾垚绛夊緟WCS纭"), + error(99,"鎶ヨ") ; + public Integer id; public String desc; RgvStatusType(Integer id, String desc) { diff --git a/src/main/java/com/zy/core/model/DevpSlave.java b/src/main/java/com/zy/core/model/DevpSlave.java index 799cab2..064f324 100644 --- a/src/main/java/com/zy/core/model/DevpSlave.java +++ b/src/main/java/com/zy/core/model/DevpSlave.java @@ -18,6 +18,7 @@ private Integer rack; private Integer slot; + private boolean demo; private List<Sta> inSta = new ArrayList<>(); diff --git a/src/main/java/com/zy/core/model/command/RgvCommand.java b/src/main/java/com/zy/core/model/command/RgvCommand.java index 94ce8a1..bce4d15 100644 --- a/src/main/java/com/zy/core/model/command/RgvCommand.java +++ b/src/main/java/com/zy/core/model/command/RgvCommand.java @@ -18,10 +18,10 @@ private Integer rgvNo = 0; // 宸ヤ綅1浠诲姟瀹屾垚纭浣� - private Short ackFinish1 = 0; + private boolean ackFinish1 = false; // 宸ヤ綅1浠诲姟鍙� - private Short taskNo1 = 0; + private Integer taskNo1 = 0; /** * 浠诲姟妯″紡锛� diff --git a/src/main/java/com/zy/core/model/protocol/RgvProtocol.java b/src/main/java/com/zy/core/model/protocol/RgvProtocol.java index ec6111b..f1735b6 100644 --- a/src/main/java/com/zy/core/model/protocol/RgvProtocol.java +++ b/src/main/java/com/zy/core/model/protocol/RgvProtocol.java @@ -46,7 +46,7 @@ /** * 宸ヤ綅1浠诲姟鍙� */ - public Short taskNo1 = 0; + public Integer taskNo1 = 0; /** * RGV宸ヤ綅1褰撳墠鐘舵�� diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index c41a55e..833f539 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -5,31 +5,11 @@ # RGV绌挎杞�1 rgv[0]: id: 1 - ip: 172.17.91.54 + ip: 10.10.10.200 port: 502 rack: 0 slot: 0 - # RGV绌挎杞�1 - rgv[1]: - id: 2 - ip: 172.17.91.57 - port: 502 - rack: 0 - slot: 0 - # RGV绌挎杞�1 - rgv[2]: - id: 3 - ip: 172.17.91.60 - port: 502 - rack: 0 - slot: 0 - # RGV绌挎杞�1 - rgv[3]: - id: 4 - ip: 172.17.91.63 - port: 502 - rack: 0 - slot: 0 + demo: false crn[0]: #鍫嗗灈鏈�1 id: 1 ip: 172.17.91.2 diff --git a/src/main/resources/mapper/FillingMastMapper.xml b/src/main/resources/mapper/FillingMastMapper.xml new file mode 100644 index 0000000..c3036f5 --- /dev/null +++ b/src/main/resources/mapper/FillingMastMapper.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.zy.asrs.mapper.FillingMastMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.zy.asrs.entity.FillingMast"> + <id column="id" property="id" /> + <result column="sta_no" property="staNo" /> + <result column="status" property="status" /> + + </resultMap> + <select id="selectByStatusIsn" resultMap="BaseResultMap"> + select TOP 1 * from man_filling_mast + where status = 'N' + </select> + +</mapper> diff --git a/src/main/resources/mapper/VacuumMastMapper.xml b/src/main/resources/mapper/VacuumMastMapper.xml new file mode 100644 index 0000000..cce55b6 --- /dev/null +++ b/src/main/resources/mapper/VacuumMastMapper.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.zy.asrs.mapper.VacuumMastMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.zy.asrs.entity.VacuumMast"> + <id column="id" property="id" /> + <result column="sta_no" property="staNo" /> + <result column="status" property="status" /> + + </resultMap> + <select id="selectByStatusIsN" resultMap="BaseResultMap"> + select TOP 1 * from man_vacuum_mast + where status = 'N' + </select> + +</mapper> diff --git a/src/main/resources/mapper/WrkMastStaMapper.xml b/src/main/resources/mapper/WrkMastStaMapper.xml new file mode 100644 index 0000000..a5ef86f --- /dev/null +++ b/src/main/resources/mapper/WrkMastStaMapper.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.zy.asrs.mapper.WrkMastStaMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.zy.asrs.entity.WrkMastSta"> + <id column="id" property="id" /> + <result column="wrk_no" property="wrkNo" /> + <result column="wrk_start" property="wrkStart" /> + <result column="wrk_end" property="wrkEnd" /> + <result column="sta_start" property="staStart" /> + <result column="sta_end" property="staEnd" /> + <result column="create_time" property="createTime" /> + <result column="update_time" property="updateTime" /> + <result column="type" property="type" /> + <result column="wrk_sts" property="wrkSts" /> + <result column="line_number" property="lineNumber" /> + <result column="wrk_type" property="wrkType" /> + <result column="bign_time" property="bignTime" /> + <result column="wrk_crn" property="wrkCrn" /> + + </resultMap> + <select id="selectWrkSts0" resultMap="BaseResultMap"> + select TOP 1 * from asr_wrk_mast_sta + where 1=1 + and wrk_sts=0 + order by create_time,id + </select> + <select id="selectWrkSts1" resultMap="BaseResultMap"> + select TOP 1 * from asr_wrk_mast_sta + where 1=1 + and wrk_sts=1 + order by create_time,id + </select> + +</mapper> diff --git a/src/main/webapp/static/wcs/js/common.js b/src/main/webapp/static/wcs/js/common.js index dd0efd0..f3f4f3f 100644 --- a/src/main/webapp/static/wcs/js/common.js +++ b/src/main/webapp/static/wcs/js/common.js @@ -1,4 +1,4 @@ -var baseUrl = "/wcs"; +var baseUrl = "/ssdwcs"; // 璧嬪�� function setVal(el, val) { diff --git a/src/main/webapp/static/wms/js/common.js b/src/main/webapp/static/wms/js/common.js index fcb5b63..1bd2c86 100644 --- a/src/main/webapp/static/wms/js/common.js +++ b/src/main/webapp/static/wms/js/common.js @@ -1,4 +1,4 @@ -var baseUrl = "/wcs"; +var baseUrl = "/ssdwcs"; // 璇︽儏绐楀彛-楂樺害 var detailHeight = '80%'; diff --git a/src/main/webapp/static/wms/js/fillingMast/fillingMast.js b/src/main/webapp/static/wms/js/fillingMast/fillingMast.js new file mode 100644 index 0000000..31806de --- /dev/null +++ b/src/main/webapp/static/wms/js/fillingMast/fillingMast.js @@ -0,0 +1,247 @@ +var pageCurr; +layui.config({ + base: baseUrl + "/static/wms/layui/lay/modules/" +}).use(['table','laydate', 'form', 'admin'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + var admin = layui.admin; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#fillingMast', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/fillingMast/list/auth', + page: true, + limit: 15, + limits: [15, 30, 50, 100, 200, 500], + toolbar: '#toolbar', + cellMinWidth: 50, + height: 'full-120', + cols: [[ + {type: 'checkbox'} + ,{field: 'id', align: 'center',title: 'ID',width: 50} + ,{field: 'staNo', align: 'center',title: '绔欑偣'} + ,{field: 'status', align: 'center',title: '鐘舵��'} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} + ]], + 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(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(fillingMast)', 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} + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(fillingMast)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id).data; + switch(obj.event) { + case 'addData': + showEditModel(); + break; + case 'deleteData': + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + del(checkStatus.map(function (d) { + return d.id; + })); + break; + case 'exportData': + admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'fillingMast': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/fillingMast/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, {icon: 2}) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(fillingMast)', function(obj){ + var data = obj.data; + switch (obj.event) { + case 'edit': + showEditModel(data); + break; + case "del": + del([data.id]); + break; + } + }); + + /* 寮圭獥 - 鏂板銆佷慨鏀� */ + function showEditModel(mData) { + admin.open({ + type: 1, + area: '600px', + title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��', + content: $('#editDialog').html(), + success: function (layero, dIndex) { + layDateRender(mData); + form.val('detail', mData); + form.on('submit(editSubmit)', function (data) { + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/fillingMast/"+(mData?'update':'add')+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: data.field, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.close(dIndex); + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + return false; + }); + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + + /* 鍒犻櫎 */ + function del(ids) { + layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/fillingMast/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + + // 鎼滅储 + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 閲嶇疆 + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + function layDateRender(data) { + setTimeout(function () { + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + + }, 300); + } + layDateRender(); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(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; + }); + tableIns.reload({ + where: searchData, + page: {curr: pageCurr} + }); +} diff --git a/src/main/webapp/static/wms/js/vacuumMast/vacuumMast.js b/src/main/webapp/static/wms/js/vacuumMast/vacuumMast.js new file mode 100644 index 0000000..d800673 --- /dev/null +++ b/src/main/webapp/static/wms/js/vacuumMast/vacuumMast.js @@ -0,0 +1,247 @@ +var pageCurr; +layui.config({ + base: baseUrl + "/static/wms/layui/lay/modules/" +}).use(['table','laydate', 'form', 'admin'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + var admin = layui.admin; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#vacuumMast', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/vacuumMast/list/auth', + page: true, + limit: 15, + limits: [15, 30, 50, 100, 200, 500], + toolbar: '#toolbar', + cellMinWidth: 50, + height: 'full-120', + cols: [[ + {type: 'checkbox'} + ,{field: 'id', align: 'center',title: 'ID',width: 50} + ,{field: 'staNo', align: 'center',title: '绔欑偣'} + ,{field: 'status', align: 'center',title: '鐘舵��'} + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} + ]], + 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(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(vacuumMast)', 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} + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(vacuumMast)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id).data; + switch(obj.event) { + case 'addData': + showEditModel(); + break; + case 'deleteData': + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + del(checkStatus.map(function (d) { + return d.id; + })); + break; + case 'exportData': + admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'vacuumMast': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/vacuumMast/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, {icon: 2}) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(vacuumMast)', function(obj){ + var data = obj.data; + switch (obj.event) { + case 'edit': + showEditModel(data); + break; + case "del": + del([data.id]); + break; + } + }); + + /* 寮圭獥 - 鏂板銆佷慨鏀� */ + function showEditModel(mData) { + admin.open({ + type: 1, + area: '600px', + title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��', + content: $('#editDialog').html(), + success: function (layero, dIndex) { + layDateRender(mData); + form.val('detail', mData); + form.on('submit(editSubmit)', function (data) { + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/vacuumMast/"+(mData?'update':'add')+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: data.field, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.close(dIndex); + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + return false; + }); + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + + /* 鍒犻櫎 */ + function del(ids) { + layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/vacuumMast/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + + // 鎼滅储 + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 閲嶇疆 + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + function layDateRender(data) { + setTimeout(function () { + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + + }, 300); + } + layDateRender(); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(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; + }); + tableIns.reload({ + where: searchData, + page: {curr: pageCurr} + }); +} diff --git a/src/main/webapp/static/wms/js/wrkMastSta/wrkMastSta.js b/src/main/webapp/static/wms/js/wrkMastSta/wrkMastSta.js new file mode 100644 index 0000000..98ef027 --- /dev/null +++ b/src/main/webapp/static/wms/js/wrkMastSta/wrkMastSta.js @@ -0,0 +1,272 @@ +var pageCurr; +layui.config({ + base: baseUrl + "/static/wms/layui/lay/modules/" +}).use(['table','laydate', 'form', 'admin'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + var admin = layui.admin; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#wrkMastSta', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/wrkMastSta/list/auth', + page: true, + limit: 15, + limits: [15, 30, 50, 100, 200, 500], + toolbar: '#toolbar', + + height: 'full-120', + cols: [[ + {type: 'checkbox'} + // ,{field: 'id', align: 'center',title: 'ID'} + ,{field: 'wrkNo', align: 'center',title: '宸ヤ綔鍙�'} + ,{field: 'wrkStart', align: 'center',title: '宸ヤ綔妗e紑濮嬩綅缃�'} + ,{field: 'wrkEnd', align: 'center',title: '宸ヤ綔妗g粨鏉熶綅缃�'} + ,{field: 'staStart', align: 'center',title: '灏忚溅鎺ヨ揣浣嶇疆'} + ,{field: 'staEnd', align: 'center',title: '灏忚溅鏀捐揣浣嶇疆'} + // ,{field: 'type', align: 'center',title: '绫诲瀷 0:婊$増 1:绌烘澘'} + ,{field: 'wrkSts$', align: 'center',title: '宸ヤ綔鐘舵��'} + // ,{field: 'lineNumber', align: 'center',title: '琛屽彿'} + // ,{field: 'wrkType', align: 'center',title: '宸ヤ綔绫诲瀷 绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭斁 3锛氬彇鏀� 4锛氭媶鐩�'} + ,{field: 'bignTime$', align: 'center',title: '鏍囪鏃堕棿'} + // ,{field: 'wrkCrn', align: 'center',title: ''} + ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'} + ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'} + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120} + ]], + 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(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(wrkMastSta)', 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} + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(wrkMastSta)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id).data; + switch(obj.event) { + case 'addData': + showEditModel(); + break; + case 'deleteData': + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + del(checkStatus.map(function (d) { + return d.id; + })); + break; + case 'exportData': + admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'wrkMastSta': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/wrkMastSta/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, {icon: 2}) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(wrkMastSta)', function(obj){ + var data = obj.data; + switch (obj.event) { + case 'edit': + showEditModel(data); + break; + case "del": + del([data.id]); + break; + } + }); + + /* 寮圭獥 - 鏂板銆佷慨鏀� */ + function showEditModel(mData) { + admin.open({ + type: 1, + area: '600px', + title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��', + content: $('#editDialog').html(), + success: function (layero, dIndex) { + layDateRender(mData); + form.val('detail', mData); + form.on('submit(editSubmit)', function (data) { + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/wrkMastSta/"+(mData?'update':'add')+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: data.field, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.close(dIndex); + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + return false; + }); + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + + /* 鍒犻櫎 */ + function del(ids) { + layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/wrkMastSta/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + + // 鎼滅储 + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 閲嶇疆 + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + function layDateRender(data) { + setTimeout(function () { + layDate.render({ + elem: '.layui-laydate-range' + ,type: 'datetime' + ,range: true + }); + layDate.render({ + elem: '#createTime\\$', + type: 'datetime', + value: data!==undefined?data['createTime\\$']:null + }); + layDate.render({ + elem: '#updateTime\\$', + type: 'datetime', + value: data!==undefined?data['updateTime\\$']:null + }); + layDate.render({ + elem: '#bignTime\\$', + type: 'datetime', + value: data!==undefined?data['bignTime\\$']:null + }); + + }, 300); + } + layDateRender(); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(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; + }); + tableIns.reload({ + where: searchData, + page: {curr: pageCurr} + }); +} diff --git a/src/main/webapp/views/deviceOperate/rgvOperate.html b/src/main/webapp/views/deviceOperate/rgvOperate.html index 646013c..a28b408 100644 --- a/src/main/webapp/views/deviceOperate/rgvOperate.html +++ b/src/main/webapp/views/deviceOperate/rgvOperate.html @@ -26,6 +26,8 @@ </el-table-column> <el-table-column property="walkPos" label="璁惧鐘舵��"> </el-table-column> + <el-table-column property="pakMk" label="閿佸畾鐘舵��"> + </el-table-column> </el-table> </div> @@ -40,26 +42,37 @@ <!-- <el-form-item label="婧愮珯/婧愬簱浣�">--> <!-- <el-input v-model="formParam.sourceStaNo" placeholder="婧愮珯/婧愬簱浣�"></el-input>--> <!-- </el-form-item>--> - <el-form-item label="婧愭帓"> - <el-input v-model="formParam.sourceRow" placeholder="鎺�"></el-input> + <el-form-item label="璧峰绔�"> + <el-input v-model="formParam.sourceRow" placeholder="璧峰绔�"></el-input> </el-form-item> - <el-form-item label="婧愬垪"> - <el-input v-model="formParam.sourceBay" placeholder="鍒�"></el-input> + <el-form-item label="鐩爣绔�"> + <el-input v-model="formParam.sourceBay" placeholder="鐩爣绔�"></el-input> </el-form-item> - <el-form-item label="婧愬眰"> - <el-input v-model="formParam.sourceLev" placeholder="灞�"></el-input> + <el-form-item label="鍚姩"> + <el-button @click="initiate" type="warning">鎵ц浠诲姟</el-button> </el-form-item> </el-form> <div> - <el-button @click="requestOperate('auto')" type="warning">鑱旀満</el-button> - <el-button @click="requestOperate('restoreTask')" type="warning">鎭㈠鑱旀満浠诲姟</el-button> - <el-button @click="requestOperate('compTask')" type="warning">寮哄埗瀹屾垚浠诲姟</el-button> - <br/> - <br/> - <el-button @click="requestOperate('stop')" type="warning">杩滅▼鎬ュ仠</el-button> -<!-- <el-button @click="requestOperate('noStop')" type="warning">鍙栨秷鎬ュ仠</el-button>--> - <el-button @click="requestOperate('reset')" type="warning">绯荤粺澶嶄綅</el-button> + <el-button v-if="demo === 'N' " @click="demos('true')" type="warning">婕旂ず</el-button> + <el-button v-if="demo === 'Y' " @click="demos('false')" type="warning">鍙栨秷婕旂ず</el-button> + </div> + <div style="margin-top: 5px" v-if="demo === 'Y'"> + <el-button @click="staTova(2,1)" type="warning">杈撻��-缃崲1</el-button> + <el-button @click="staTova(2,3)" type="warning">杈撻��-缃崲2</el-button> + <el-button @click="staTova(2,5)" type="warning">杈撻��-缃崲3</el-button> + <el-button @click="staTova(2,7)" type="warning">杈撻��-缃崲4</el-button> + </div> + <div style="margin-top: 5px" v-if="demo === 'Y'"> + <el-button @click="staTova(2,4)" type="warning">杈撻��-鐏岃1</el-button> + <el-button @click="staTova(2,6)" type="warning">杈撻��-鐏岃2</el-button> + <el-button @click="staTova(2,8)" type="warning">杈撻��-鐏岃3</el-button> + </div> + <div style="margin-top: 5px" v-if="demo === 'Y'"> + <el-button @click="staTova(1,10)" type="warning">缃崲1-鏀捐揣</el-button> + <el-button @click="staTova(2,10)" type="warning">缃崲2-鏀捐揣</el-button> + <el-button @click="staTova(3,10)" type="warning">缃崲3-鏀捐揣</el-button> + <el-button @click="staTova(4,10)" type="warning">缃崲4-鏀捐揣</el-button> </div> </div> </el-card> @@ -84,12 +97,9 @@ <el-tag>{{ tableData[currentIndex].statusType }}</el-tag> </el-descriptions-item> <el-descriptions-item label="浠诲姟鐘舵��"> - <div v-if="tableData[currentIndex].wrkStatus == 0"> + <el-tag>{{ tableData[currentIndex].status}}</el-tag> - </div> - <div v-else> - <el-tag type="success">{{ tableData[currentIndex].wrkStatus$ }}</el-tag> - </div> + </el-descriptions-item> <el-descriptions-item label="璁惧鐘舵��"> <el-tag>{{ tableData[currentIndex].walkPos }}</el-tag> @@ -98,11 +108,12 @@ </el-descriptions-item> <el-descriptions-item label="鏁呴殰鎻忚堪">{{ tableData[currentIndex].alarm }} </el-descriptions-item> - <el-descriptions-item label="婧愮珯">{{ tableData[currentIndex].staNo }} - </el-descriptions-item> - <el-descriptions-item label="鐩爣绔�">{{ tableData[currentIndex].sourceStaNo }} - </el-descriptions-item> +<!-- <el-descriptions-item label="婧愮珯">{{ tableData[currentIndex].staNo }}--> +<!-- </el-descriptions-item>--> +<!-- <el-descriptions-item label="鐩爣绔�">{{ tableData[currentIndex].sourceStaNo }}--> +<!-- </el-descriptions-item>--> </el-descriptions> + </div> </div> </el-card> @@ -142,7 +153,8 @@ value:'0', label:'鍚�' } - ] + ], + demo: 'X' }, created() { this.init() @@ -151,11 +163,46 @@ }, methods: { + staTova(sta,end){ + let that = this + that.$confirm('姝ゆ搷浣滃瓨鍦ㄩ闄╋紝鏄惁缁х画','鎻愮ず',{ + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(()=>{ + $.ajax({ + url: baseUrl + "/rgv/rgvDemoTask", + headers: { + 'token': localStorage.getItem('token') + }, + data:{ + rgvNo : this.formParam.rgvNo, + sta : sta, + end : end + }, + method: 'Get', + success: function (res) { + if (res.code == 200) { + that.$message({ + message: res.msg, + type: 'success' + }); + } else { + that.$message({ + message: res.msg, + type: 'error' + }); + } + } + }); + }) + }, init() { this.getTableData() setInterval(() => { this.getTableData() + this.demoStatus() }, 1000) }, handleRowClick(row, col, event) { @@ -183,6 +230,86 @@ } }); }, + demoStatus() { + let that = this; + $.ajax({ + url: baseUrl + "/rgv/demo/status", + data:{ + rgvNo : this.formParam.rgvNo + }, + headers: { + 'token': localStorage.getItem('token') + }, + contentType: 'application/json;charset=UTF-8', + method: 'get', + success: function (res) { + that.demo = res.msg + + } + }); + }, + initiate(){ + let that = this + that.$confirm('姝ゆ搷浣滃瓨鍦ㄩ闄╋紝鏄惁缁х画','鎻愮ず',{ + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(()=>{ + $.ajax({ + url: baseUrl + "/rgv/operator/put", + headers: { + 'token': localStorage.getItem('token') + }, + data: this.formParam, + method: 'POST', + success: function (res) { + if (res.code == 200) { + that.$message({ + message: res.msg, + type: 'success' + }); + } else { + that.$message({ + message: res.msg, + type: 'error' + }); + } + } + }); + }) + }, + demos(method){ + let that = this + that.$confirm('姝ゆ搷浣滃瓨鍦ㄩ闄╋紝鏄惁缁х画','鎻愮ず',{ + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(()=>{ + $.ajax({ + url: baseUrl + "/rgv/demo/status/" + method, + headers: { + 'token': localStorage.getItem('token') + }, + data:{ + rgvNo : this.formParam.rgvNo + }, + method: 'Get', + success: function (res) { + if (res.code == 200) { + that.$message({ + message: res.msg, + type: 'success' + }); + } else { + that.$message({ + message: res.msg, + type: 'error' + }); + } + } + }); + }) + }, requestOperate(method) { let that = this that.$confirm('姝ゆ搷浣滃瓨鍦ㄩ闄╋紝鏄惁缁х画','鎻愮ず',{ diff --git a/src/main/webapp/views/fillingMast/fillingMast.html b/src/main/webapp/views/fillingMast/fillingMast.html new file mode 100644 index 0000000..0215eb2 --- /dev/null +++ b/src/main/webapp/views/fillingMast/fillingMast.html @@ -0,0 +1,98 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/wms/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/wms/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../static/wms/css/cool.css" media="all"> +</head> +<body> + +<div class="layui-fluid"> + <div class="layui-card"> + <div class="layui-card-body"> + <div class="layui-form toolbar" id="search-box"> + <div class="layui-form-item"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width: 300px"> + <div class="layui-input-inline"> + <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off"> + </div> + </div> + <div class="layui-inline">  + <button class="layui-btn icon-btn" lay-filter="search" lay-submit> + <i class="layui-icon"></i>鎼滅储 + </button> + <button class="layui-btn icon-btn" lay-filter="reset" lay-submit> + <i class="layui-icon"></i>閲嶇疆 + </button> + </div> + </div> + </div> + <table class="layui-hide" id="fillingMast" lay-filter="fillingMast"></table> + </div> + </div> +</div> + +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> + <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a> + <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a> +</script> + +<script type="text/javascript" src="../../static/wms/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/wms/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/wms/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/wms/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/wms/js/fillingMast/fillingMast.js" charset="utf-8"></script> +</body> +<!-- 琛ㄥ崟寮圭獥 --> +<script type="text/html" id="editDialog"> + <form id="detail" lay-filter="detail" class="layui-form admin-form model-form"> + <input name="id" type="hidden"> + <div class="layui-row"> + <div class="layui-col-md12"> + <div class="layui-form-item"> + <label class="layui-form-label">绔欑偣: </label> + <div class="layui-input-block"> + <input class="layui-input" name="staNo" placeholder="璇疯緭鍏�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鐘舵��: </label> + <div class="layui-input-block"> + <input class="layui-input" name="status" placeholder="璇疯緭鍏�"> + </div> + </div> + + </div> + </div> + <hr class="layui-bg-gray"> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> +</html> + diff --git a/src/main/webapp/views/index.html b/src/main/webapp/views/index.html index 0c3212b..12b6616 100644 --- a/src/main/webapp/views/index.html +++ b/src/main/webapp/views/index.html @@ -149,16 +149,16 @@ } }); - $.ajax({ - url: baseUrl+"/loginInformation", - data: {}, - method: 'GET', - success: function (res) { - var data = res.data - $(".copyright-text").text(data.loginCopyrightText); - $(".loginLogo").attr("src", data.loginLogo); - } - }); + // $.ajax({ + // url: baseUrl+"/loginInformation", + // data: {}, + // method: 'GET', + // success: function (res) { + // var data = res.data + // // $(".copyright-text").text(data.loginCopyrightText); + // // $(".loginLogo").attr("src", data.loginLogo); + // } + // }); $.ajax({ url: baseUrl + "/license/getLicenseDays", @@ -179,7 +179,7 @@ // 榛樿鍔犺浇涓婚〉 index.loadHome({ - menuPath: baseUrl+'/views/home/console.html', + menuPath: baseUrl+'/views/deviceOperate/rgvOperate.html', menuName: '<i class="layui-icon layui-icon-home"></i>' }); diff --git a/src/main/webapp/views/login.html b/src/main/webapp/views/login.html index aaa7ae5..32edb98 100644 --- a/src/main/webapp/views/login.html +++ b/src/main/webapp/views/login.html @@ -2,7 +2,7 @@ <html> <head> <meta charset="utf-8"> - <title>鍐犻缚 鈹� login of zoneyung wcs</title> + <title>涓壃 鈹� login of zoneyung wcs</title> <style> * { padding: 0; @@ -237,21 +237,21 @@ <script> // remember pwd $(function () { - $.ajax({ - url: baseUrl+"/loginInformation", - data: {}, - method: 'GET', - success: function (res) { - var data = res.data - $(".copyright-text").text(data.loginCopyrightText); - $(".copyright-img-url").attr("src", data.loginCopyrightImg1); - $(".loginLogoUrl").attr("src", data.loginLogo); - - if (data.loginCopyrightImg1 == "") { - $(".copyright-img-url").hide() - } - } - }); + // $.ajax({ + // url: baseUrl+"/loginInformation", + // data: {}, + // method: 'GET', + // success: function (res) { + // var data = res.data + // $(".copyright-text").text(data.loginCopyrightText); + // // $(".copyright-img-url").attr("src", data.loginCopyrightImg1); + // // $(".loginLogoUrl").attr("src", data.loginLogo); + // + // if (data.loginCopyrightImg1 == "") { + // $(".copyright-img-url").hide() + // } + // } + // }); var oldUserName = localStorage.getItem('oldUserName'); var oldPass = localStorage.getItem('oldPass'); diff --git a/src/main/webapp/views/vacuumMast/vacuumMast.html b/src/main/webapp/views/vacuumMast/vacuumMast.html new file mode 100644 index 0000000..d0a1e2f --- /dev/null +++ b/src/main/webapp/views/vacuumMast/vacuumMast.html @@ -0,0 +1,98 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/wms/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/wms/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../static/wms/css/cool.css" media="all"> +</head> +<body> + +<div class="layui-fluid"> + <div class="layui-card"> + <div class="layui-card-body"> + <div class="layui-form toolbar" id="search-box"> + <div class="layui-form-item"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width: 300px"> + <div class="layui-input-inline"> + <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off"> + </div> + </div> + <div class="layui-inline">  + <button class="layui-btn icon-btn" lay-filter="search" lay-submit> + <i class="layui-icon"></i>鎼滅储 + </button> + <button class="layui-btn icon-btn" lay-filter="reset" lay-submit> + <i class="layui-icon"></i>閲嶇疆 + </button> + </div> + </div> + </div> + <table class="layui-hide" id="vacuumMast" lay-filter="vacuumMast"></table> + </div> + </div> +</div> + +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> + <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a> + <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a> +</script> + +<script type="text/javascript" src="../../static/wms/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/wms/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/wms/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/wms/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/wms/js/vacuumMast/vacuumMast.js" charset="utf-8"></script> +</body> +<!-- 琛ㄥ崟寮圭獥 --> +<script type="text/html" id="editDialog"> + <form id="detail" lay-filter="detail" class="layui-form admin-form model-form"> + <input name="id" type="hidden"> + <div class="layui-row"> + <div class="layui-col-md12"> + <div class="layui-form-item"> + <label class="layui-form-label">绔欑偣: </label> + <div class="layui-input-block"> + <input class="layui-input" name="staNo" placeholder="璇疯緭鍏�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鐘舵��: </label> + <div class="layui-input-block"> + <input class="layui-input" name="status" placeholder="璇疯緭鍏�"> + </div> + </div> + + </div> + </div> + <hr class="layui-bg-gray"> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> +</html> + diff --git a/src/main/webapp/views/wrkMastSta/wrkMastSta.html b/src/main/webapp/views/wrkMastSta/wrkMastSta.html new file mode 100644 index 0000000..eee587c --- /dev/null +++ b/src/main/webapp/views/wrkMastSta/wrkMastSta.html @@ -0,0 +1,164 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/wms/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/wms/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../static/wms/css/cool.css" media="all"> +</head> +<body> + +<div class="layui-fluid"> + <div class="layui-card"> + <div class="layui-card-body"> + <div class="layui-form toolbar" id="search-box"> + <div class="layui-form-item"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off"> + </div> + </div> + <div class="layui-inline" style="width: 300px"> + <div class="layui-input-inline"> + <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off"> + </div> + </div> + <div class="layui-inline">  + <button class="layui-btn icon-btn" lay-filter="search" lay-submit> + <i class="layui-icon"></i>鎼滅储 + </button> + <button class="layui-btn icon-btn" lay-filter="reset" lay-submit> + <i class="layui-icon"></i>閲嶇疆 + </button> + </div> + </div> + </div> + <table class="layui-hide" id="wrkMastSta" lay-filter="wrkMastSta"></table> + </div> + </div> +</div> + +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> + <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> + <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a> + <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a> +</script> + +<script type="text/javascript" src="../../static/wms/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/wms/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/wms/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/wms/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/wms/js/wrkMastSta/wrkMastSta.js" charset="utf-8"></script> +</body> +<!-- 琛ㄥ崟寮圭獥 --> +<script type="text/html" id="editDialog"> + <form id="detail" lay-filter="detail" class="layui-form admin-form model-form"> + <input name="id" type="hidden"> + <div class="layui-row"> + <div class="layui-col-md12"> + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">宸ヤ綔鍙�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="wrkNo" placeholder="璇疯緭鍏ュ伐浣滃彿" lay-vertype="tips" lay-verify="required"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">宸ヤ綔妗e紑濮嬩綅缃�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="wrkStart" placeholder="璇疯緭鍏ュ伐浣滄。寮�濮嬩綅缃�" lay-vertype="tips" lay-verify="required"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">宸ヤ綔妗g粨鏉熶綅缃�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="wrkEnd" placeholder="璇疯緭鍏ュ伐浣滄。缁撴潫浣嶇疆" lay-vertype="tips" lay-verify="required"> + </div> + </div> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label layui-form-required">灏忚溅鎺ヨ揣浣嶇疆: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="staStart" placeholder="璇疯緭鍏ュ皬杞︽帴璐т綅缃�" lay-vertype="tips" lay-verify="required">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label layui-form-required">灏忚溅鏀捐揣浣嶇疆: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="staEnd" placeholder="璇疯緭鍏ュ皬杞︽斁璐т綅缃�" lay-vertype="tips" lay-verify="required">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">娣诲姞鏃堕棿: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="createTime" id="createTime$" placeholder="璇疯緭鍏ユ坊鍔犳椂闂�">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">淇敼鏃堕棿: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="updateTime" id="updateTime$" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label layui-form-required">绫诲瀷 0:婊$増 1:绌烘澘: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="type" placeholder="璇疯緭鍏ョ被鍨� 0:婊$増 1:绌烘澘" lay-vertype="tips" lay-verify="required">--> +<!-- </div>--> +<!-- </div>--> + <div class="layui-form-item"> + <label class="layui-form-label layui-form-required">宸ヤ綔鐘舵�� 0锛氬垵濮� 1锛氱瓑寰呭皬杞﹀彇 2锛氱瓑寰呭皬杞︽斁 3锛氬畬鎴�: </label> + <div class="layui-input-block"> + <input class="layui-input" name="wrkSts" placeholder="璇疯緭鍏ュ伐浣滅姸鎬� 0锛氬垵濮� 1锛氱瓑寰呭皬杞﹀彇 2锛氱瓑寰呭皬杞︽斁 3锛氬畬鎴�" lay-vertype="tips" lay-verify="required"> + </div> + </div> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label layui-form-required">琛屽彿: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="lineNumber" placeholder="璇疯緭鍏ヨ鍙�" lay-vertype="tips" lay-verify="required">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label layui-form-required">宸ヤ綔绫诲瀷 绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭斁 3锛氬彇鏀� 4锛氭媶鐩�: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="wrkType" placeholder="璇疯緭鍏ュ伐浣滅被鍨� 绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭斁 3锛氬彇鏀� 4锛氭媶鐩�" lay-vertype="tips" lay-verify="required">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">鏍囪鏃堕棿: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="bignTime" id="bignTime$" placeholder="璇疯緭鍏ユ爣璁版椂闂�">--> +<!-- </div>--> +<!-- </div>--> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="wrkCrn" placeholder="璇疯緭鍏�">--> +<!-- </div>--> +<!-- </div>--> + + </div> + </div> + <hr class="layui-bg-gray"> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> +</html> + -- Gitblit v1.9.1