From eee29b0583112c626acdfa335c6c062942d62bf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=B1=9F=E7=8E=AE?= Date: Tue, 6 Sep 2022 13:41:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../acs/service/impl/AcsToWmsServiceImpl.java | 7 +- .../org/nl/wms/pdm/rest/DeviceController.java | 8 ++ .../wms/pdm/rest/ProducetaskController.java | 73 +++++++++-------- .../org/nl/wms/pdm/service/DeviceService.java | 6 ++ .../wms/pdm/service/ProducetaskService.java | 7 ++ .../pdm/service/impl/DeviceServiceImpl.java | 16 ++++ .../service/impl/ProducetaskServiceImpl.java | 77 ++++++++++++++++-- .../src/main/java/org/nl/wms/wms.xls | Bin 399872 -> 374784 bytes .../src/main/resources/AcsToWms.xml | 28 +++++++ .../src/main/resources/WmsToAcs.xml | 28 +++++++ .../main/resources/config/application-dev.yml | 6 +- .../src/main/resources/logback-spring.xml | 3 +- wms/qd/src/api/wms/pdm/device.js | 8 ++ wms/qd/src/api/wms/pdm/producetask.js | 10 ++- wms/qd/src/views/wms/pdm/device/index.vue | 44 +++++++++- .../src/views/wms/pdm/produceTask/index.vue | 24 ++++-- wms/qd/src/views/wms/sch/task/index.vue | 15 ++-- .../wms/st/basedata/iOdisStruct/index.vue | 2 +- .../st/basedata/structRelaMaterial/index.vue | 2 +- .../basedata/structRelaVehicleType/index.vue | 2 +- .../wms/st/buss/emptyVehicleRecord/index.vue | 2 +- wms/qd/src/views/wms/st/ivt/index.vue | 2 +- 22 files changed, 308 insertions(+), 62 deletions(-) create mode 100644 wms/hd/nladmin-system/src/main/resources/AcsToWms.xml create mode 100644 wms/hd/nladmin-system/src/main/resources/WmsToAcs.xml diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 8d03c43..0c93ef2 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -46,7 +46,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { @Override @Transactional(rollbackFor = Exception.class) public void receiveTaskFromAcs(Map jsonObject) { - log.debug("WCS的请求参数为:" + jsonObject); + log.info("ACS的请求参数为:" + jsonObject); String device_code = (String) jsonObject.get("device_code"); String type = (String) jsonObject.get("type"); JSONObject produceInfoByCode = new JSONObject(); @@ -168,7 +168,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { String material_id = (String) produceInfoByCode.get("material_id"); String cust_id = (String) produceInfoByCode.get("cust_id"); String producetask_id = (String) produceInfoByCode.get("producetask_id"); - JSONObject materialObj = WQLObject.getWQLObject("MD_ME_Material").query("material_id='" + material_id + "'").uniqueResult(0); + JSONObject materialObj = WQLObject + .getWQLObject("MD_ME_Material") + .query("material_id='" + material_id + "'") + .uniqueResult(0); JSONObject groubObj = new JSONObject(); groubObj.put("group_id", IdUtil.getSnowflake(1, 1).nextId()); groubObj.put("vehicle_code", vehicle_code); diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/DeviceController.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/DeviceController.java index 8a89d29..3db056c 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/DeviceController.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/DeviceController.java @@ -83,6 +83,14 @@ public class DeviceController { return new ResponseEntity<>(HttpStatus.NO_CONTENT); } + @PutMapping("/changeIsWorkDevice") + @Log("修改是否生产设备") + @ApiOperation("修改是否生产设备") + public ResponseEntity changeIsWorkDevice(@RequestBody JSONObject json) { + deviceService.changeIsWorkDevice(json); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + @GetMapping("/getDevice") @Log("点位下拉获取设备信息") @ApiOperation("点位下拉获取设备信息") diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/ProducetaskController.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/ProducetaskController.java index 6968691..c70efaa 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/ProducetaskController.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/ProducetaskController.java @@ -2,27 +2,29 @@ package org.nl.wms.pdm.rest; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.annotation.Log; import org.nl.wms.pdm.service.ProducetaskService; import org.nl.wms.pdm.service.dto.ProducetaskDto; import org.springframework.data.domain.Pageable; -import lombok.RequiredArgsConstructor; -import org.nl.annotation.Log; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import io.swagger.annotations.*; -import java.util.Map; -import lombok.extern.slf4j.Slf4j; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; +import java.util.Map; /** -* @author geng by -* @date 2022-04-26 -**/ + * @author geng by + * @date 2022-04-26 + **/ @RestController @RequiredArgsConstructor @Api(tags = "生产任务管理") @@ -36,15 +38,15 @@ public class ProducetaskController { @Log("查询生产任务") @ApiOperation("查询生产任务") //@PreAuthorize("@el.check('producetask:list')") - public ResponseEntity query(@RequestParam Map whereJson, Pageable page){ - return new ResponseEntity<>(producetaskService.queryAll(whereJson,page),HttpStatus.OK); + public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { + return new ResponseEntity<>(producetaskService.queryAll(whereJson, page), HttpStatus.OK); } @PostMapping @Log("新增生产任务") @ApiOperation("新增生产任务") //@PreAuthorize("@el.check('producetask:add')") - public ResponseEntity create(@Validated @RequestBody ProducetaskDto dto){ + public ResponseEntity create(@Validated @RequestBody ProducetaskDto dto) { producetaskService.create(dto); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -53,7 +55,7 @@ public class ProducetaskController { @Log("修改生产任务") @ApiOperation("修改生产任务") //@PreAuthorize("@el.check('producetask:edit')") - public ResponseEntity update(@Validated @RequestBody ProducetaskDto dto){ + public ResponseEntity update(@Validated @RequestBody ProducetaskDto dto) { producetaskService.update(dto); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -71,55 +73,55 @@ public class ProducetaskController { @Log("查询物料") @ApiOperation("查询物料") //@PreAuthorize("@el.check('producetask:list')") - public ResponseEntity getMaterial(){ - return new ResponseEntity<>(producetaskService.getMaterial(),HttpStatus.OK); + public ResponseEntity getMaterial() { + return new ResponseEntity<>(producetaskService.getMaterial(), HttpStatus.OK); } @PostMapping("/getDevice") @Log("查询设备") @ApiOperation("查询设备") //@PreAuthorize("@el.check('producetask:list')") - public ResponseEntity getDevice(@RequestBody JSONObject param){ - return new ResponseEntity<>(producetaskService.getDevice(param),HttpStatus.OK); + public ResponseEntity getDevice(@RequestBody JSONObject param) { + return new ResponseEntity<>(producetaskService.getDevice(param), HttpStatus.OK); } @GetMapping("/getDevice1") @Log("查询设备") @ApiOperation("查询设备") //@PreAuthorize("@el.check('producetask:list')") - public ResponseEntity getDevice1(){ - return new ResponseEntity<>(producetaskService.getDevice1(),HttpStatus.OK); + public ResponseEntity getDevice1() { + return new ResponseEntity<>(producetaskService.getDevice1(), HttpStatus.OK); } @GetMapping("/getProduceline") @Log("查询生产产线") @ApiOperation("查询生产产线") //@PreAuthorize("@el.check('producetask:list')") - public ResponseEntity getProduceline(){ - return new ResponseEntity<>(producetaskService.getProduceline(),HttpStatus.OK); + public ResponseEntity getProduceline() { + return new ResponseEntity<>(producetaskService.getProduceline(), HttpStatus.OK); } @GetMapping("/getCust") @Log("查询客户") @ApiOperation("查询客户") //@PreAuthorize("@el.check('producetask:list')") - public ResponseEntity getCust(){ - return new ResponseEntity<>(producetaskService.getCust(),HttpStatus.OK); + public ResponseEntity getCust() { + return new ResponseEntity<>(producetaskService.getCust(), HttpStatus.OK); } @GetMapping("/getWorkprocedure") @Log("查询工序") @ApiOperation("查询工序") //@PreAuthorize("@el.check('producetask:list')") - public ResponseEntity getWorkprocedure(){ - return new ResponseEntity<>(producetaskService.getWorkprocedure(),HttpStatus.OK); + public ResponseEntity getWorkprocedure() { + return new ResponseEntity<>(producetaskService.getWorkprocedure(), HttpStatus.OK); } @PostMapping("/excelImport") @Log("excel导入") @ApiOperation("excel导入") - public ResponseEntity excelImport(@RequestParam("file") MultipartFile file, HttpServletRequest request){ - producetaskService.excelImport(file,request); + public ResponseEntity excelImport(@RequestParam("file") MultipartFile file, HttpServletRequest request) { + producetaskService.excelImport(file, request); return new ResponseEntity<>(HttpStatus.OK); } @@ -127,7 +129,7 @@ public class ProducetaskController { @Log("复制新增") @ApiOperation("复制新增") //@PreAuthorize("@el.check('producetask:list')") - public ResponseEntity copyAdd(@RequestBody JSONObject param){ + public ResponseEntity copyAdd(@RequestBody JSONObject param) { producetaskService.copyAdd(param); return new ResponseEntity<>(HttpStatus.OK); } @@ -136,15 +138,15 @@ public class ProducetaskController { @Log("根据设备查询任务") @ApiOperation("根据设备查询任务") //@PreAuthorize("@el.check('producetask:list')") - public ResponseEntity getTaskByDeviceId(@RequestParam Map whereJson, Pageable page){ - return new ResponseEntity<>(producetaskService.getTaskByDeviceId(whereJson,page),HttpStatus.OK); + public ResponseEntity getTaskByDeviceId(@RequestParam Map whereJson, Pageable page) { + return new ResponseEntity<>(producetaskService.getTaskByDeviceId(whereJson, page), HttpStatus.OK); } @PutMapping("/sortUpdate") @Log("排序") @ApiOperation("排序") //@PreAuthorize("@el.check('producetask:list')") - public ResponseEntity sortUpdate(@RequestBody JSONObject param){ + public ResponseEntity sortUpdate(@RequestBody JSONObject param) { producetaskService.sortUpdate(param); return new ResponseEntity<>(HttpStatus.OK); } @@ -153,7 +155,7 @@ public class ProducetaskController { @Log("强制完成") @ApiOperation("强制完成") //@PreAuthorize("@el.check('producetask:list')") - public ResponseEntity mandFinish(@RequestBody JSONObject param){ + public ResponseEntity mandFinish(@RequestBody JSONObject param) { producetaskService.mandFinish(param); return new ResponseEntity<>(HttpStatus.OK); } @@ -162,9 +164,16 @@ public class ProducetaskController { @Log("下发") @ApiOperation("下发") //@PreAuthorize("@el.check('producetask:list')") - public ResponseEntity issued(@RequestBody JSONObject param){ + public ResponseEntity issued(@RequestBody JSONObject param) { producetaskService.issued(param); return new ResponseEntity<>(HttpStatus.OK); } + @PostMapping("/getVehicleType") + @Log("通过设备查询可用载具类型") + @ApiOperation("通过设备查询可用载具类型") + public ResponseEntity getVehicleTypeByDeviceId(@RequestBody JSONObject device) { + return new ResponseEntity<>(producetaskService.getVehicleTypeByDeviceId(device.getLong("device_id")), HttpStatus.OK); + } + } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/DeviceService.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/DeviceService.java index 9c02fcd..49505e0 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/DeviceService.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/DeviceService.java @@ -77,4 +77,10 @@ public interface DeviceService { * @param json */ void changeActive(JSONObject json); + + /** + * 改变是否工作设备 + * @param json + */ + void changeIsWorkDevice(JSONObject json); } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/ProducetaskService.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/ProducetaskService.java index 7eaeaad..542744f 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/ProducetaskService.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/ProducetaskService.java @@ -142,4 +142,11 @@ public interface ProducetaskService { * @param param */ void issued(JSONObject param); + + /** + * 通过设备查询可用载具类型 + * @param deviceId 设备id + * @return 字典表数组 + */ + JSONObject getVehicleTypeByDeviceId(Long deviceId); } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java index 678518e..2ec33c2 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java @@ -178,4 +178,20 @@ public class DeviceServiceImpl implements DeviceService { WQLObject.getWQLObject("pdm_base_device").update(json); } + @Override + public void changeIsWorkDevice(JSONObject json) { + Long currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getNickName(); + String now = DateUtil.now(); + + String is_work_device = "1"; + if (StrUtil.equals("1", json.getString("is_work_device"))) { + is_work_device = "0"; + } + json.put("is_work_device", is_work_device); + json.put("update_optid", currentUserId); + json.put("update_optname", nickName); + json.put("update_time", now); + WQLObject.getWQLObject("pdm_base_device").update(json); + } } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/ProducetaskServiceImpl.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/ProducetaskServiceImpl.java index a81fe2b..a1c4a36 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/ProducetaskServiceImpl.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/ProducetaskServiceImpl.java @@ -12,6 +12,7 @@ import lombok.RequiredArgsConstructor; import org.nl.exception.BadRequestException; import org.nl.modules.system.util.CodeUtil; import org.nl.utils.SpringContextHolder; +import org.nl.wms.WorkProcedureEnum; import org.nl.wms.ext.acs.service.AcsToWmsService; import org.nl.wms.ext.acs.service.WmsToAcsService; import org.nl.wms.pdm.service.ProducetaskService; @@ -28,6 +29,7 @@ import java.util.List; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.Collectors; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; @@ -106,6 +108,12 @@ public class ProducetaskServiceImpl implements ProducetaskService { @Override @Transactional(rollbackFor = Exception.class) public void create(ProducetaskDto dto) { + Long device_id = dto.getDevice_id(); + if (ObjectUtil.isNotEmpty(device_id) + && device_id.equals(1518136519804719104L) + && ObjectUtil.isEmpty(dto.getCust_id())) { + throw new BadRequestException("新增分拣拆垛机械手的生产任务, 客户不能为空!"); + } //编码唯一性校验 String producetask_code = dto.getProducetask_code(); @@ -185,9 +193,10 @@ public class ProducetaskServiceImpl implements ProducetaskService { @Override public JSONArray getDevice1() { - WQLObject wo = WQLObject.getWQLObject("pdm_base_device"); - JSONArray arr = wo.query(" is_delete = '0'", "device_code").getResultJSONArray(0); - return arr; + return WQLObject + .getWQLObject("pdm_base_device") + .query(" is_delete = '0' AND is_work_device = '1'", "device_code") + .getResultJSONArray(0); } @Override @@ -275,8 +284,8 @@ public class ProducetaskServiceImpl implements ProducetaskService { String now = DateUtil.now(); String producetask_id = param.getString("producetask_id"); WQLObject wo = WQLObject.getWQLObject("pdm_mg_producetask"); - JSONObject taskObj= WQL.getWO("PDM_ProduceTask_01").addParam("flag", "3").addParam("producetask_id", producetask_id).process().uniqueResult(0); - taskObj.put("product_code","wms"); + JSONObject taskObj = WQL.getWO("PDM_ProduceTask_01").addParam("flag", "3").addParam("producetask_id", producetask_id).process().uniqueResult(0); + taskObj.put("product_code", "wms"); WmsToAcsService wmsToAcsService = SpringContextHolder.getBean(WmsToAcsService.class); JSONArray arr = new JSONArray(); arr.add(taskObj); @@ -410,4 +419,62 @@ public class ProducetaskServiceImpl implements ProducetaskService { return m.matches(); } + @Override + public JSONObject getVehicleTypeByDeviceId(Long deviceId) { + WQLObject dict = WQLObject.getWQLObject("sys_dict_detail"); + JSONObject result = new JSONObject(); + result.put("isHLJ", false); + if (ObjectUtil.isEmpty(deviceId)) { + // 如果请求参数为空返回所有 + result.put("vehicleTypeList", dict.query("dict_id = 25").getResultJSONArray(0)); + return result; + } + + // 根据设备id查询设备 + JSONObject device = WQLObject + .getWQLObject("pdm_base_device") + .query("device_id = '" + deviceId + "'") + .uniqueResult(0); + if (ObjectUtil.isEmpty(device)) { + throw new BadRequestException("设备不存在!"); + } + + // 根据设备工序id获取工序枚举对象 + WorkProcedureEnum workProcedure = WorkProcedureEnum.get(device.getString("workprocedure_id")); + if (ObjectUtil.isEmpty(workProcedure)) { + throw new BadRequestException("此设备工序不存在!"); + } + + // 根据工序区分不同的设备 + assert workProcedure != null; + switch (workProcedure) { + case HNGX: + result.put("isHLJ", true); + // 混料机只能使用料盅 + result.put("vehicleTypeList", + dict + .query("dict_id = 25 AND (value = '01' OR value = '09')") + .getResultJSONArray(0)); + break; + case YZGX: + // 压制机只能使用钢托 + result.put("vehicleTypeList", + dict + .query("dict_id = 25 AND value = '02'") + .getResultJSONArray(0)); + break; + case FJGX: + // 分拣机只能使用木托盘 + result.put("vehicleTypeList", + dict + .query("dict_id = 25 AND value IN ('03', '04', '05', '06', '07', '08')") + .getResultJSONArray(0)); + break; + default: + // 其它返回所有 + result.put("vehicleTypeList", dict.query("dict_id = 25").getResultJSONArray(0)); + } + + return result; + } } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/wms.xls b/wms/hd/nladmin-system/src/main/java/org/nl/wms/wms.xls index 5b7382a3b9a08a6ee21b8da4768b726b5eb1a2aa..d61bf397dc55b60cd65e2482d137adfa56961f1f 100644 GIT binary patch delta 79752 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 delta 100751 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 Geg6ks6krwr diff --git a/wms/hd/nladmin-system/src/main/resources/AcsToWms.xml b/wms/hd/nladmin-system/src/main/resources/AcsToWms.xml new file mode 100644 index 0000000..f0e7c88 --- /dev/null +++ b/wms/hd/nladmin-system/src/main/resources/AcsToWms.xml @@ -0,0 +1,28 @@ + + + + + + + + + ${LOG_HOME}/acstowms/%d{yyyy-MM-dd}.%i.log + + 15 + + 200MB + + 20GB + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + + + + + + + + + diff --git a/wms/hd/nladmin-system/src/main/resources/WmsToAcs.xml b/wms/hd/nladmin-system/src/main/resources/WmsToAcs.xml new file mode 100644 index 0000000..857d3b5 --- /dev/null +++ b/wms/hd/nladmin-system/src/main/resources/WmsToAcs.xml @@ -0,0 +1,28 @@ + + + + + + + + + ${LOG_HOME}/wmstoacs/%d{yyyy-MM-dd}.%i.log + + 15 + + 200MB + + 20GB + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + + + + + + + + + diff --git a/wms/hd/nladmin-system/src/main/resources/config/application-dev.yml b/wms/hd/nladmin-system/src/main/resources/config/application-dev.yml index b28db24..a37d777 100644 --- a/wms/hd/nladmin-system/src/main/resources/config/application-dev.yml +++ b/wms/hd/nladmin-system/src/main/resources/config/application-dev.yml @@ -8,10 +8,12 @@ spring: druid: db-type: com.alibaba.druid.pool.DruidDataSource driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy - url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:llsh_wms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true +# url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:llsh_wms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true + url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:llsh_wms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true username: ${DB_USER:root} #password: ${DB_PWD:P@ssw0rd} - password: ${DB_PWD:Root.123456} +# password: ${DB_PWD:Root.123456} + password: ${DB_PWD:zjw123} # 初始连接数 initial-size: 5 # 最小连接数 diff --git a/wms/hd/nladmin-system/src/main/resources/logback-spring.xml b/wms/hd/nladmin-system/src/main/resources/logback-spring.xml index 3a25bd7..bf6f290 100644 --- a/wms/hd/nladmin-system/src/main/resources/logback-spring.xml +++ b/wms/hd/nladmin-system/src/main/resources/logback-spring.xml @@ -16,7 +16,8 @@ https://juejin.cn/post/6844903775631572999 - + + diff --git a/wms/qd/src/api/wms/pdm/device.js b/wms/qd/src/api/wms/pdm/device.js index 239b6df..96add27 100644 --- a/wms/qd/src/api/wms/pdm/device.js +++ b/wms/qd/src/api/wms/pdm/device.js @@ -32,6 +32,14 @@ export function changeActive(data) { }) } +export function changeIsWorkDevice(data) { + return request({ + url: 'api/device/changeIsWorkDevice', + method: 'put', + data + }) +} + export function getDevice() { return request({ url: 'api/device/getDevice', diff --git a/wms/qd/src/api/wms/pdm/producetask.js b/wms/qd/src/api/wms/pdm/producetask.js index fd3121b..555b87b 100644 --- a/wms/qd/src/api/wms/pdm/producetask.js +++ b/wms/qd/src/api/wms/pdm/producetask.js @@ -107,4 +107,12 @@ export function issued(data) { }) } -export default { add, edit, del, getMaterial, getDevice, getProduceline, getCust, getWorkprocedure, excelImport, getDevice1, copyAdd, sortUpdate, mandFinish, issued } +export function getVehicleType(data) { + return request({ + url: 'api/producetask/getVehicleType', + method: 'post', + data + }) +} + +export default { add, edit, del, getMaterial, getDevice, getProduceline, getCust, getWorkprocedure, excelImport, getDevice1, copyAdd, sortUpdate, mandFinish, issued, getVehicleType } diff --git a/wms/qd/src/views/wms/pdm/device/index.vue b/wms/qd/src/views/wms/pdm/device/index.vue index c9a26c1..18a8b77 100644 --- a/wms/qd/src/views/wms/pdm/device/index.vue +++ b/wms/qd/src/views/wms/pdm/device/index.vue @@ -23,7 +23,7 @@ - + @@ -45,6 +45,10 @@ /> + + + +