From c4883efe3431615f58256afbbac22f766a82005f Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Mon, 14 Aug 2023 10:11:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BA=A4=E4=BA=92=E4=B8=9A=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lms/nladmin-system/doc/wms.xls | Bin 325120 -> 325632 bytes .../quartz/task/AutoClearInteractionData.java | 27 +++ .../wms/ext/acs/service/AcsToWmsService.java | 4 +- .../wms/ext/acs/service/dto/BrickInfoDto.java | 3 +- .../wms/ext/acs/service/dto/ResultForAcs.java | 4 +- .../service/dto/to/acs/CreateTaskRequest.java | 126 ++----------- .../service/dto/to/wms/ApplyDeviceDto.java | 32 ++++ .../dto/to/wms/ApplySignalStatusRequest.java | 27 +++ .../service/dto/to/wms/ApplyTaskRequest.java | 7 +- .../dto/to/wms/CreateTaskResponse.java | 19 ++ .../acs/service/impl/AcsToWmsServiceImpl.java | 165 ++++++++++++------ .../acs/service/impl/WmsToAcsServiceImpl.java | 4 +- .../service/ISysInteractRecordService.java | 2 + .../dao/mapper/SysInteractRecordMapper.java | 1 + .../dao/mapper/SysInteractRecordMapper.xml | 4 + .../impl/SysInteractRecordServiceImpl.java | 12 ++ .../PdmBdMudConsumptionController.java | 66 +++++++ .../service/IPdmBdMudConsumptionService.java | 43 +++++ .../service/dao/PdmBdMudConsumption.java | 53 ++++++ .../dao/mapper/PdmBdMudConsumptionMapper.java | 12 ++ .../dao/mapper/PdmBdMudConsumptionMapper.xml | 5 + .../service/dto/PdmBdMudConsumptionDto.java | 41 +++++ .../service/dto/PdmBdMudConsumptionQuery.java | 12 ++ .../impl/PdmBdMudConsumptionServiceImpl.java | 68 ++++++++ .../service/impl/SchBasePointServiceImpl.java | 10 +- .../nl/wms/sch/task_manage/AbstractTask.java | 44 +++-- .../nl/wms/sch/task_manage/AcsTaskDto.java | 119 ++++++++++++- .../nl/wms/sch/task_manage/task/AcsUtil.java | 38 ++++ .../task_manage/task/tasks/fj/FJMKTask.java | 15 +- .../task_manage/task/tasks/fj/FJQLTask.java | 2 + .../task_manage/task/tasks/fj/FJRKTask.java | 25 ++- .../task_manage/task/tasks/hn/HNMLTask.java | 5 +- .../task_manage/task/tasks/yz/YZQKTask.java | 2 +- .../main/java/org/nl/wms/util/PointUtils.java | 5 +- .../main/java/org/nl/wms/util/TaskUtils.java | 10 +- .../main/resources/config/application-dev.yml | 4 +- .../resources/config/application-prod.yml | 33 +++- .../src/test/java/org/nl/point/test.java | 27 +++ .../src/test/java/org/nl/task/MapperTest.java | 56 ++++++ .../src/views/wms/pdm/consumption/index.vue | 108 ++++++++++++ .../pdm/consumption/pdmBdMudConsumption.js | 27 +++ 41 files changed, 1044 insertions(+), 223 deletions(-) create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoClearInteractionData.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/wms/ApplyDeviceDto.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/wms/ApplySignalStatusRequest.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/controller/PdmBdMudConsumptionController.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/IPdmBdMudConsumptionService.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dao/PdmBdMudConsumption.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dao/mapper/PdmBdMudConsumptionMapper.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dao/mapper/PdmBdMudConsumptionMapper.xml create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dto/PdmBdMudConsumptionDto.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dto/PdmBdMudConsumptionQuery.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/impl/PdmBdMudConsumptionServiceImpl.java create mode 100644 lms/nladmin-ui/src/views/wms/pdm/consumption/index.vue create mode 100644 lms/nladmin-ui/src/views/wms/pdm/consumption/pdmBdMudConsumption.js diff --git a/lms/nladmin-system/doc/wms.xls b/lms/nladmin-system/doc/wms.xls index 1ecfd51751309e8dfb9e7b7276f68f7e24124d64..38c5808bbce2938acc1e434262add8962be825d9 100644 GIT binary patch delta 6537 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 delta 6218 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 params; + private List list = null; + public static CreateTaskRequest buildRequestObj(String name, List list) { + CreateTaskRequest request = new CreateTaskRequest(); + request.setRequest_medthod_name(name); + request.setRequestNo(IdUtil.simpleUUID()); + request.setRequestDate(DateUtil.now()); + request.setList(list); + return request; + } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/wms/ApplyDeviceDto.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/wms/ApplyDeviceDto.java new file mode 100644 index 0000000..68a7c18 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/wms/ApplyDeviceDto.java @@ -0,0 +1,32 @@ +package org.nl.wms.ext.acs.service.dto.to.wms; + +import lombok.Data; + +/** + * @Author: lyd + * @Description: + * @Date: 2023/8/14 + */ +@Data +public class ApplyDeviceDto { + + /** + * 设备编码 + */ + private String device_code; + + /** + * 数量 + */ + private String qty; + + /** + * 载具号 + */ + private String vehicle_code; + + /** + * 载具类型 + */ + private String vehicle_type; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/wms/ApplySignalStatusRequest.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/wms/ApplySignalStatusRequest.java new file mode 100644 index 0000000..efb8852 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/wms/ApplySignalStatusRequest.java @@ -0,0 +1,27 @@ +package org.nl.wms.ext.acs.service.dto.to.wms; + +import lombok.Data; +import org.nl.wms.ext.acs.service.dto.to.BaseRequest; + +/** + * @Author: lyd + * @Description: 光电信号实时反馈 + * @Date: 2023/8/10 + */ +@Data +public class ApplySignalStatusRequest extends BaseRequest { + /** + * 光电信号 0无货 1有货 + */ + private String move; + + /** + * 载具类型 + */ + private String vehicle_type; + + /** + * 是否允许 0不允许 1允许 + */ + private String action; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/wms/ApplyTaskRequest.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/wms/ApplyTaskRequest.java index 93a7ee2..576ca84 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/wms/ApplyTaskRequest.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/wms/ApplyTaskRequest.java @@ -4,6 +4,8 @@ import lombok.Data; import org.nl.wms.ext.acs.service.dto.to.BaseRequest; import org.nl.wms.ext.acs.service.dto.PalletizeDto; +import java.util.List; + /** * ACS 任务申请请求实体 */ @@ -44,5 +46,8 @@ public class ApplyTaskRequest extends BaseRequest { * 砖型 */ private PalletizeDto palletizeDto; - + /** + * 关联设备属性 + */ + private List list; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/wms/CreateTaskResponse.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/wms/CreateTaskResponse.java index a2f917f..a8dcfb4 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/wms/CreateTaskResponse.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/wms/CreateTaskResponse.java @@ -1,5 +1,8 @@ package org.nl.wms.ext.acs.service.dto.to.wms; +import cn.hutool.core.date.DateUtil; +import cn.hutool.http.HttpStatus; +import com.alibaba.fastjson.JSONArray; import lombok.Data; import org.nl.wms.ext.acs.service.dto.to.BaseResponse; @@ -10,6 +13,22 @@ import org.nl.wms.ext.acs.service.dto.to.BaseResponse; */ @Data public class CreateTaskResponse extends BaseResponse { + private JSONArray errArr = new JSONArray(); + public static CreateTaskResponse requestRefuse(String message) { + CreateTaskResponse result = new CreateTaskResponse(); + result.setCode(HttpStatus.HTTP_BAD_REQUEST); + result.setMessage(message); + result.setResponseDate(DateUtil.now()); + return result; + } + + public static CreateTaskResponse requestOk() { + CreateTaskResponse result = new CreateTaskResponse(); + result.setCode(HttpStatus.HTTP_OK); + result.setMessage("请求成功"); + result.setResponseDate(DateUtil.now()); + return result; + } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 897a9cf..7cabdb5 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -17,16 +17,14 @@ import org.nl.wms.database.brick.service.IMdBaseBrickInfoService; import org.nl.wms.database.material.service.IMdBaseMaterialService; import org.nl.wms.database.material.service.dao.MdBaseMaterial; import org.nl.wms.ext.acs.service.dto.*; -import org.nl.wms.ext.acs.service.dto.to.acs.PutActionRequest; -import org.nl.wms.ext.acs.service.dto.to.wms.ApplyTaskRequest; -import org.nl.wms.ext.acs.service.dto.to.wms.FeedBackSplitPalletStationRequest; -import org.nl.wms.ext.acs.service.dto.to.wms.FeedBackTaskStatusRequest; -import org.nl.wms.ext.acs.service.dto.to.wms.GetPalletizeRequest; +import org.nl.wms.ext.acs.service.dto.to.wms.*; import org.nl.wms.ext.acs.service.dto.to.BaseResponse; import org.nl.wms.ext.acs.service.AcsToWmsService; import org.nl.wms.ext.acs.service.dto.to.acs.ApplyTaskResponse; import org.nl.wms.ext.acs.service.dto.to.acs.GetPalletizeResponse; import org.nl.wms.ext.record.service.ISysInteractRecordService; +import org.nl.wms.pdm.consumption.service.IPdmBdMudConsumptionService; +import org.nl.wms.pdm.consumption.service.dao.PdmBdMudConsumption; import org.nl.wms.pdm.record.service.IPdmBdRequestMaterialRecordService; import org.nl.wms.pdm.record.service.dao.PdmBdRequestMaterialRecord; import org.nl.wms.pdm.residue.service.IPdmBdMaterialResidueService; @@ -61,7 +59,6 @@ import org.springframework.transaction.annotation.Transactional; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.util.List; import java.util.concurrent.TimeUnit; /** @@ -104,6 +101,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { private IPdmBdMaterialResidueService materialResidueService; @Autowired private IPdmBdVehicleBindingService vehicleBindingService; + @Autowired + private IPdmBdMudConsumptionService mudConsumptionService; @Override public BaseResponse acsApply(JSONObject param) { @@ -136,9 +135,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { /** * 任务:申请补满料盅托盘(叫料) - * @see org.nl.wms.ext.acs.service.dto.to.wms.ApplyTaskRequest + * * @param param: ApplyTaskRequest的json形式 * @return + * @see org.nl.wms.ext.acs.service.dto.to.wms.ApplyTaskRequest */ @Override @SneakyThrows @@ -169,9 +169,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { /** * 任务:申请补空料盅托盘(叫空盘) - * @see org.nl.wms.ext.acs.service.dto.to.wms.ApplyTaskRequest + * * @param param: ApplyTaskRequest的json形式 * @return + * @see org.nl.wms.ext.acs.service.dto.to.wms.ApplyTaskRequest */ @Override @SneakyThrows @@ -202,9 +203,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { /** * 任务:申请取走空料盅托盘(送空盘) - * @see org.nl.wms.ext.acs.service.dto.to.wms.ApplyTaskRequest + * * @param param: ApplyTaskRequest的json形式 * @return + * @see org.nl.wms.ext.acs.service.dto.to.wms.ApplyTaskRequest */ @Override @SneakyThrows @@ -235,9 +237,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { /** * 任务:申请取走满料盅托盘(入库) - * @see org.nl.wms.ext.acs.service.dto.to.wms.ApplyTaskRequest + * * @param param: ApplyTaskRequest的json形式 * @return + * @see org.nl.wms.ext.acs.service.dto.to.wms.ApplyTaskRequest */ @Override @SneakyThrows @@ -268,9 +271,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { /** * 任务:申请强制取走满料盅托盘(强制入库) - * @see org.nl.wms.ext.acs.service.dto.to.wms.ApplyTaskRequest + * * @param param: ApplyTaskRequest的json形式 * @return + * @see org.nl.wms.ext.acs.service.dto.to.wms.ApplyTaskRequest */ @Override @SneakyThrows @@ -300,9 +304,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { /** * 任务:申请强制满托入缓存 todo: 暂时 - * @see org.nl.wms.ext.acs.service.dto.to.wms.ApplyTaskRequest + * * @param param: ApplyTaskRequest的json形式 * @return + * @see org.nl.wms.ext.acs.service.dto.to.wms.ApplyTaskRequest */ public ApplyTaskResponse applyForceTakeFullVehicleInStorage(JSONObject param) { // 找到当前的设备 @@ -319,7 +324,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { return ApplyTaskResponse.responseOk(requestNo); } - /** 强制去包装位(半托) 记录不包装 --- 业务不需要*/ + /** + * 强制去包装位(半托) 记录不包装 --- 业务不需要 + */ @Override @Deprecated public String forceNoPackage(JSONObject param) { @@ -327,7 +334,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { return requestNo; } - /** 质检记录 */ + /** + * 质检记录 + */ @Override public BaseResponse qualityInspection(JSONObject param) { ApplyTaskRequest applyTaskRequest = param.toJavaObject(ApplyTaskRequest.class); @@ -336,19 +345,21 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { return BaseResponse.responseOk(applyTaskRequest.getRequestNo()); } - /** 分拣 - 记录钢托与木托的绑定 */ + /** + * 分拣 - 记录钢托与木托的绑定 + */ @Override - public BaseResponse recordVehicleBiding(JSONObject param) { + public BaseResponse applyGetPutStation(JSONObject param) { FeedBackSplitPalletStationRequest request = param.toJavaObject(FeedBackSplitPalletStationRequest.class); String getStation = request.getGet_station(); // 取货点 String putStation = request.getPut_station(); // 放货点 // 查找当前点位中的信息,如果acs没有提供,就获取点位上的数据,如果点位没有,则数据失效 SchBasePoint pickupPoint = pointService.getById(getStation); SchBasePoint putPoint = pointService.getById(putStation); - if (request.getGet_station_vehicle_code() == null) { + if (request.getGet_station_vehicle_code() == null || request.getGet_station_vehicle_code().equals("0")) { request.setGet_station_vehicle_code(pickupPoint.getVehicle_code()); } - if (request.getPut_station_vehicle_code() == null) { + if (request.getPut_station_vehicle_code() == null || request.getPut_station_vehicle_code().equals("0")) { request.setPut_station_vehicle_code(putPoint.getVehicle_code()); } // 获取工单 @@ -356,11 +367,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { // 插入数据 PdmBdVehicleBinding vehicleBinding = new PdmBdVehicleBinding(); vehicleBinding.setOrigin_vehicle_code(request.getGet_station_vehicle_code()); - vehicleBinding.setOrigin_vehicle_type(pickupPoint.getVehicle_type()); + vehicleBinding.setOrigin_vehicle_type(GeneralDefinition.STEEL_TRAY); vehicleBinding.setOrigin_qty(request.getGet_station_qty()); // 当前码垛位的数量 vehicleBinding.setTarget_vehicle_code(request.getPut_station_vehicle_code()); vehicleBinding.setTarget_vehicle_type(putPoint.getVehicle_type()); vehicleBinding.setTarget_qty(request.getPut_station_qty()); // 当前拆垛位的数量 + vehicleBinding.setGet_station(request.getGet_station()); + vehicleBinding.setPut_station(request.getPut_station()); if (productionTask != null) { vehicleBinding.setOrder_code(productionTask.getWorkorder_code()); } @@ -369,7 +382,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } - /** 反馈压机残留重量*/ + /** + * 反馈压机残留重量 + */ @Override public BaseResponse applyFeedbackWeight(JSONObject param) { ApplyTaskRequest applyTaskRequest = param.toJavaObject(ApplyTaskRequest.class); @@ -377,7 +392,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { return BaseResponse.responseOk(applyTaskRequest.getRequestNo()); } - /** 申请贴标 */ + /** + * 申请贴标 + */ @Override public BaseResponse applyLabelling(JSONObject param) { // 木托盘号##物料编码##数量##吨量(单重X数量)##生产日期## todo: 成型工单号(未添加) @@ -399,17 +416,19 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { return BaseResponse.responseOk(requestNo, MapOf.of("labelling", sb.toString())); } - /** 单次放置完成 - 每块砖的信息 */ + /** + * 单次放置完成 - 每块砖的信息 + */ @Override public BaseResponse applyOneGrab(JSONObject param) { - String requestNo = param.getString("requestNo"); - JSONObject brickInfo = param.getJSONObject("brick_info"); - BrickInfoDto brickInfoDto = brickInfo.toJavaObject(BrickInfoDto.class); + BrickInfoDto brickInfoDto = param.toJavaObject(BrickInfoDto.class); baseBrickInfoService.addBrickInfo(brickInfoDto); // 添加数据 - return BaseResponse.responseOk(requestNo); + return BaseResponse.responseOk(brickInfoDto.getRequestNo()); } - /** 人工排产确认 */ + /** + * 人工排产确认 + */ @Override public BaseResponse orderVerify(JSONObject param) { // 执行中 String requestNo = param.getString("requestNo"); @@ -428,7 +447,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { return BaseResponse.responseOk(requestNo); } - /** 工单完成 */ + /** + * 工单完成 + */ @Override public BaseResponse orderFinish(JSONObject param) { // 完成 String requestNo = param.getString("requestNo"); @@ -447,7 +468,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { return BaseResponse.responseOk(requestNo); } - /** 扫码成功申请 - 判断是否静置完成 */ + /** + * 扫码成功申请 - 判断是否静置完成 + */ @Override public ApplyTaskResponse barcodeSuccessApply(JSONObject param) { ApplyTaskRequest baseRequest = param.toJavaObject(ApplyTaskRequest.class); @@ -467,7 +490,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } - /** 扫码成功申请 - 判断是否静置完成 */ + /** + * 扫码成功申请 - 判断是否静置完成 + */ @Override public ApplyTaskResponse isStandingFinish(ApplyTaskRequest baseRequest) { String requestNo = baseRequest.getRequestNo(); @@ -517,6 +542,16 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { one.setGroup_bind_material_status(GroupBindMaterialStatusEnum.UNBOUND.getValue()); TaskUtils.setGroupUpdateByAcs(one); vehiclematerialgroupService.updateById(one); + // 记录泥料 + PdmBdMudConsumption mudConsumption = new PdmBdMudConsumption(); + mudConsumption.setDevice_code(productionTask.getPoint_code()); + mudConsumption.setGroup_id(one.getGroup_id()); + mudConsumption.setMaterial_id(one.getMaterial_id()); + mudConsumption.setWeight(one.getMaterial_weight()); + mudConsumption.setCurrent_point(basePoint.getPoint_code()); + mudConsumption.setWorkorder_code(productionTask.getWorkorder_code()); + mudConsumption.setRaw_material_code(rawMaterialCode); + mudConsumptionService.create(mudConsumption); taskResponse.setMix_number(one.getMix_times()); taskResponse.setIs_standing_finish(GeneralDefinition.YES); taskResponse.setMessage("静置完成"); @@ -528,7 +563,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } } - /** 扫码成功申请 - 入窑记录时间 */ + /** + * 扫码成功申请 - 入窑记录时间 + */ @Override public ApplyTaskResponse recordKilnTime(ApplyTaskRequest baseRequest) { if (ObjectUtil.isEmpty(baseRequest.getVehicle_code())) { @@ -541,6 +578,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { // 入窑记录时间 SchBaseVehiclematerialgroup groupInfo = vehiclematerialgroupService.getGroupInfo(baseRequest.getVehicle_code(), baseRequest.getVehicle_type(), GroupBindMaterialStatusEnum.BOUND.getValue()); + if (ObjectUtil.isNotEmpty(groupInfo.getInto_kiln_time())) { + // 如果已经记录就跳过 + return ApplyTaskResponse.responseOk(baseRequest.getRequestNo()); + } groupInfo.setInto_kiln_time(DateUtil.now()); if (ObjectUtil.isNotEmpty(basePoint)) { // 记录当前位置 @@ -562,6 +603,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { /** * 压机请求要料 + * * @param param * @return */ @@ -569,14 +611,24 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { public BaseResponse pressRequestMaterial(JSONObject param) { // todo: 换成acs请求 String requestNo = param.getString("requestNo"); + String deviceCode = param.getString("device_code"); + SchBasePoint basePoint = pointService.getById(deviceCode); + if (ObjectUtil.isEmpty(basePoint)) { + throw new BadRequestException("设备[" + deviceCode + "]不存在"); + } + // 获取设备位 + SchBasePoint devicePoint = pointService.getById(basePoint.getParent_point_code()); // todo: 1、校验是否有工单,是否需要叫料 // todo: 2、通知混碾机生产泥料 // todo: 3、修改设备点位为空位,并且更新时间 + PointUtils.setUpdateByAcs(devicePoint); + PointUtils.clearPoint(devicePoint); return null; } /** * 提前要料 + * * @param param * @return */ @@ -601,7 +653,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } // 获取原材料物料 PdmBdRequestMaterialRecord requestMaterialRecord = new PdmBdRequestMaterialRecord(); - requestMaterialRecord.setRecord_id(IdUtil.getSnowflake(1,1).nextIdStr()); + requestMaterialRecord.setRecord_id(IdUtil.getSnowflake(1, 1).nextIdStr()); // requestMaterialRecord.setMaterial_id(workOrder.getRaw_material_id()); requestMaterialRecord.setWorkorder_id(workOrder.getWorkorder_id()); requestMaterialRecord.setDevice_code(parentPointCode); @@ -611,7 +663,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { return BaseResponse.responseOk(requestNo); } - /** 任务反馈 */ + /** + * 任务反馈 + */ @Override public BaseResponse feedbackTaskStatus(JSONObject param) { // todo: action暂未维护 @@ -656,7 +710,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { return BaseResponse.responseOk(requestNo, "任务状态反馈成功!"); } - /** 获取组盘信息 */ + /** + * 获取组盘信息 + */ @Override public GetPalletizeResponse getVehicleInfo(JSONObject param) { // 校验组盘信息 @@ -678,43 +734,46 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { return GetPalletizeResponse.responseOk(palletizeRequest.getRequestNo(), palletizeDto); } - /** 实时修改点位状态 */ + /** + * 实时修改点位状态 + */ @Override public BaseResponse realTimeSetPoint(JSONObject param) { - // todo: 实体错误 - PutActionRequest actionRequest = param.toJavaObject(PutActionRequest.class); - String requestNo = actionRequest.getRequestNo(); + ApplySignalStatusRequest actionRequest = param.toJavaObject(ApplySignalStatusRequest.class); String deviceCode = actionRequest.getDevice_code(); - List list = actionRequest.getList(); + String move = null; + if (ObjectUtil.isNotEmpty(actionRequest.getMove())) { + move = (Integer.parseInt(actionRequest.getMove()) + 1) + ""; + } + String action = actionRequest.getAction(); String vehicleType = actionRequest.getVehicle_type(); if (deviceCode == null) { - return BaseResponse.responseError(requestNo, "设备编码不能为空"); - } - String move = ""; - // move 根据链表数据来 - for (SignalData signalData : list) { - if (signalData.getCode().equals("move")) { - move = (Integer.parseInt(signalData.getValue()) + 1) + ""; - } + return BaseResponse.responseError(actionRequest.getRequestNo(), "设备编码不能为空"); } // 找到点位 SchBasePoint schBasePoint = pointService.getById(deviceCode); if (ObjectUtil.isEmpty(schBasePoint)) { - return BaseResponse.responseError(requestNo, "设备: [" + deviceCode + "]未找到"); + return BaseResponse.responseError(actionRequest.getRequestNo(), "设备: [" + deviceCode + "]未找到"); } + // 点位的状态如果是null,就默认是空位置 String pointStatus = ObjectUtil.isNotEmpty(schBasePoint.getPoint_status()) ? schBasePoint.getPoint_status() : PointStatusEnum.EMPTY_POINT.getCode(); if ((pointStatus.equals(PointStatusEnum.FULL_POINT.getCode()) && move.equals(PointStatusEnum.EMPTY_VEHICLE.getCode())) || (pointStatus.equals(move))) { // 不做操作 - return BaseResponse.responseOk(requestNo); + return BaseResponse.responseOk(actionRequest.getRequestNo()); } - if (vehicleType != null) { - schBasePoint.setVehicle_type(vehicleType); + // 载具类型不为空,并且不是0的情况,lmsVehicleTypeShift:转成lms的载具类型 + if (ObjectUtil.isNotEmpty(vehicleType) && !vehicleType.equals(GeneralDefinition.NO)) { + schBasePoint.setVehicle_type(TaskUtils.toLmsVehicleTypeShift(vehicleType)); } - schBasePoint.setPoint_status(move); + if (ObjectUtil.isNotEmpty(action)) { + schBasePoint.setIs_used(action.equals(GeneralDefinition.YES)); + } + // move为空则表示无货 + schBasePoint.setPoint_status(move == null ? PointStatusEnum.EMPTY_POINT.getCode() : move); PointUtils.setUpdateByAcs(schBasePoint); pointService.updateById(schBasePoint); - return BaseResponse.responseOk(requestNo); + return BaseResponse.responseOk(actionRequest.getRequestNo()); } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java index 788c946..9240df9 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java @@ -40,7 +40,7 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { @Override public ResultForAcs getVehicleForLaminatingMachine(List list) { - String api = "api/wms/order"; // todo: 地址未确认 + String api = "/api/wms/action"; ResultForAcs resultForAcs = AcsUtil.notifyAcs(api, list); // 记录日志 interactRecordService.saveRecord("下发信号传送空木托盘", list, resultForAcs, GeneralDefinition.LMS_ACS); @@ -49,7 +49,7 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { @Override public ResultForAcs getDeviceStatusByCode(List list) { - String api = "api/wms/order"; // todo: 地址未确认 + String api = "api/"; // todo: 地址未确认 ResultForAcs resultForAcs = AcsUtil.notifyAcs(api, list); // 记录日志 interactRecordService.saveRecord("获取设备状态", list, resultForAcs, GeneralDefinition.LMS_ACS); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/ISysInteractRecordService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/ISysInteractRecordService.java index f4a2c3e..cb383e6 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/ISysInteractRecordService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/ISysInteractRecordService.java @@ -67,4 +67,6 @@ public interface ISysInteractRecordService extends IService { * @param direction */ void saveRecord(String name, K request, V response, String direction); + + void deleteByDay(String day); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.java index c7d1a0d..944417b 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.java @@ -9,4 +9,5 @@ import org.nl.wms.ext.record.service.dao.SysInteractRecord; **/ public interface SysInteractRecordMapper extends BaseMapper { + void deleteByDay(String day); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.xml index 55417d8..2b30e1b 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.xml +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/dao/mapper/SysInteractRecordMapper.xml @@ -2,4 +2,8 @@ + + DELETE FROM sys_interact_record + WHERE record_time DATE_SUB(NOW(), INTERVAL #{day} DAY); + diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/impl/SysInteractRecordServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/impl/SysInteractRecordServiceImpl.java index 037e763..c5e902f 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/impl/SysInteractRecordServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/record/service/impl/SysInteractRecordServiceImpl.java @@ -14,6 +14,7 @@ import org.nl.common.domain.query.PageQuery; import org.nl.common.exception.BadRequestException; import org.nl.wms.ext.acs.service.dto.ResultForAcs; import org.nl.wms.ext.acs.service.dto.to.BaseResponse; +import org.nl.wms.ext.acs.service.dto.to.wms.CreateTaskResponse; import org.nl.wms.ext.record.service.ISysInteractRecordService; import org.nl.wms.ext.record.service.dao.mapper.SysInteractRecordMapper; import org.nl.wms.ext.record.service.dao.SysInteractRecord; @@ -128,7 +129,18 @@ public class SysInteractRecordServiceImpl extends ServiceImpl query(@RequestParam Map whereJson, PageQuery page){ + return new ResponseEntity<>(TableDataInfo.build(pdmBdMudConsumptionService.queryAll(whereJson,page)),HttpStatus.OK); + } + + @PostMapping + @Log("新增泥料消耗记录") + @ApiOperation("新增泥料消耗记录") + //@SaCheckPermission("@el.check('pdmBdMudConsumption:add')") + public ResponseEntity create(@Validated @RequestBody PdmBdMudConsumption entity){ + pdmBdMudConsumptionService.create(entity); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改泥料消耗记录") + @ApiOperation("修改泥料消耗记录") + //@SaCheckPermission("@el.check('pdmBdMudConsumption:edit')") + public ResponseEntity update(@Validated @RequestBody PdmBdMudConsumption entity){ + pdmBdMudConsumptionService.update(entity); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("删除泥料消耗记录") + @ApiOperation("删除泥料消耗记录") + //@SaCheckPermission("@el.check('pdmBdMudConsumption:del')") + @DeleteMapping + public ResponseEntity delete(@RequestBody Set ids) { + pdmBdMudConsumptionService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/IPdmBdMudConsumptionService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/IPdmBdMudConsumptionService.java new file mode 100644 index 0000000..a92e414 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/IPdmBdMudConsumptionService.java @@ -0,0 +1,43 @@ +package org.nl.wms.pdm.consumption.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.nl.common.domain.query.PageQuery; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.wms.pdm.consumption.service.dao.PdmBdMudConsumption; + +import java.util.Map; +import java.util.Set; + +/** +* @description 服务接口 +* @author lyd +* @date 2023-08-11 +**/ +public interface IPdmBdMudConsumptionService extends IService { + + /** + * 查询数据分页 + * @param whereJson 条件 + * @param pageable 分页参数 + * @return IPage + */ + IPage queryAll(Map whereJson, PageQuery pageable); + + /** + * 创建 + * @param entity / + */ + void create(PdmBdMudConsumption entity); + + /** + * 编辑 + * @param entity / + */ + void update(PdmBdMudConsumption entity); + + /** + * 多选删除 + * @param ids / + */ + void deleteAll(Set ids); +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dao/PdmBdMudConsumption.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dao/PdmBdMudConsumption.java new file mode 100644 index 0000000..21fb772 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dao/PdmBdMudConsumption.java @@ -0,0 +1,53 @@ +package org.nl.wms.pdm.consumption.service.dao; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.io.Serializable; + +/** +* @description / +* @author lyd +* @date 2023-08-11 +**/ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pdm_bd_mud_consumption") +public class PdmBdMudConsumption implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "record_id", type = IdType.NONE) + @ApiModelProperty(value = "记录标识") + private String record_id; + + @ApiModelProperty(value = "泥料编码") + private String raw_material_code; + + @ApiModelProperty(value = "设备编码") + private String device_code; + + @ApiModelProperty(value = "泥料重量") + private BigDecimal weight; + + @ApiModelProperty(value = "工单号") + private String workorder_code; + + @ApiModelProperty(value = "物料id") + private String material_id; + + @ApiModelProperty(value = "记录时间") + private String record_time; + + @ApiModelProperty(value = "组盘标识") + private String group_id; + + @ApiModelProperty(value = "下料位编码") + private String current_point; + +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dao/mapper/PdmBdMudConsumptionMapper.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dao/mapper/PdmBdMudConsumptionMapper.java new file mode 100644 index 0000000..4e6c41e --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dao/mapper/PdmBdMudConsumptionMapper.java @@ -0,0 +1,12 @@ +package org.nl.wms.pdm.consumption.service.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.wms.pdm.consumption.service.dao.PdmBdMudConsumption; + +/** +* @author lyd +* @date 2023-08-11 +**/ +public interface PdmBdMudConsumptionMapper extends BaseMapper { + +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dao/mapper/PdmBdMudConsumptionMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dao/mapper/PdmBdMudConsumptionMapper.xml new file mode 100644 index 0000000..7ef7304 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dao/mapper/PdmBdMudConsumptionMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dto/PdmBdMudConsumptionDto.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dto/PdmBdMudConsumptionDto.java new file mode 100644 index 0000000..57cc820 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dto/PdmBdMudConsumptionDto.java @@ -0,0 +1,41 @@ +package org.nl.wms.pdm.consumption.service.dto; + +import java.math.BigDecimal; +import lombok.Data; +import java.io.Serializable; + +/** +* @description / +* @author lyd +* @date 2023-08-11 +**/ +@Data +public class PdmBdMudConsumptionDto implements Serializable { + + /** 记录标识 */ + private String record_id; + + /** 泥料编码 */ + private String raw_material_code; + + /** 设备编码 */ + private String device_code; + + /** 泥料重量 */ + private BigDecimal weight; + + /** 工单号 */ + private String workorder_code; + + /** 物料id */ + private String material_id; + + /** 记录时间 */ + private String record_time; + + /** 组盘标识 */ + private String group_id; + + /** 下料位编码 */ + private String current_point; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dto/PdmBdMudConsumptionQuery.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dto/PdmBdMudConsumptionQuery.java new file mode 100644 index 0000000..4ae6a5a --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/dto/PdmBdMudConsumptionQuery.java @@ -0,0 +1,12 @@ +package org.nl.wms.pdm.consumption.service.dto; + +import org.nl.common.domain.query.BaseQuery; +import org.nl.wms.pdm.consumption.service.dao.PdmBdMudConsumption; + +/** +* @author lyd +* @date 2023-08-11 +**/ +public class PdmBdMudConsumptionQuery extends BaseQuery { + +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/impl/PdmBdMudConsumptionServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/impl/PdmBdMudConsumptionServiceImpl.java new file mode 100644 index 0000000..bff3784 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/consumption/service/impl/PdmBdMudConsumptionServiceImpl.java @@ -0,0 +1,68 @@ +package org.nl.wms.pdm.consumption.service.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.exception.BadRequestException; +import org.nl.common.utils.SecurityUtils; +import org.nl.wms.pdm.consumption.service.IPdmBdMudConsumptionService; +import org.nl.wms.pdm.consumption.service.dao.mapper.PdmBdMudConsumptionMapper; +import org.nl.wms.pdm.consumption.service.dao.PdmBdMudConsumption; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Map; +import java.util.Set; + +/** +* @description 服务实现 +* @author lyd +* @date 2023-08-11 +**/ +@Slf4j +@Service +public class PdmBdMudConsumptionServiceImpl extends ServiceImpl implements IPdmBdMudConsumptionService { + + @Autowired + private PdmBdMudConsumptionMapper pdmBdMudConsumptionMapper; + + @Override + public IPage queryAll(Map whereJson, PageQuery page){ + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + IPage pages = new Page<>(page.getPage() + 1, page.getSize()); + pdmBdMudConsumptionMapper.selectPage(pages, lam); + return pages; + } + + @Override + public void create(PdmBdMudConsumption entity) { + String now = DateUtil.now(); + + entity.setRecord_id(IdUtil.getSnowflake(1, 1).nextIdStr()); + entity.setRecord_time(now); + pdmBdMudConsumptionMapper.insert(entity); + } + + @Override + public void update(PdmBdMudConsumption entity) { + PdmBdMudConsumption dto = pdmBdMudConsumptionMapper.selectById(entity.getRecord_id()); + if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!"); + String now = DateUtil.now(); + entity.setRecord_time(now); + + pdmBdMudConsumptionMapper.updateById(entity); + } + + @Override + public void deleteAll(Set ids) { + // 真删除 + pdmBdMudConsumptionMapper.deleteBatchIds(ids); + } + +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java index 8498c23..e51f7a5 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java @@ -27,6 +27,7 @@ import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.function.Consumer; import java.util.stream.Collectors; /** @@ -63,15 +64,14 @@ public class SchBasePointServiceImpl extends ServiceImpl lam = new LambdaQueryWrapper<>(); - lam.like(ObjectUtil.isNotEmpty(blurry), SchBasePoint::getPoint_code, blurry) - .or(ObjectUtil.isNotEmpty(blurry), lam1 -> lam1.like(SchBasePoint::getPoint_name, blurry)) - .eq(ObjectUtil.isNotEmpty(workshop_code), SchBasePoint::getWorkshop_code, workshop_code) + lam.eq(ObjectUtil.isNotEmpty(workshop_code), SchBasePoint::getWorkshop_code, workshop_code) + .and(ObjectUtil.isNotEmpty(blurry), la -> la.like(SchBasePoint::getPoint_code, blurry) + .or().like(SchBasePoint::getPoint_name, blurry)) .eq(ObjectUtil.isNotEmpty(region_code), SchBasePoint::getRegion_code, region_code) .eq(ObjectUtil.isNotEmpty(point_type), SchBasePoint::getPoint_type, point_type) .eq(ObjectUtil.isNotEmpty(point_status), SchBasePoint::getPoint_status, point_status) .eq(ObjectUtil.isNotEmpty(is_used), SchBasePoint::getIs_used, is_used) - .and(!lock_type, slam -> slam.isNull(SchBasePoint::getIng_task_code) - .or() + .and(!lock_type, slam -> slam.isNull(SchBasePoint::getIng_task_code).or() .eq(SchBasePoint::getIng_task_code, "")) .and(lock_type, slam -> slam.isNotNull(SchBasePoint::getIng_task_code) .ne(SchBasePoint::getIng_task_code, "")) diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java index 2a65660..dcb0425 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java @@ -5,11 +5,14 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.http.HttpStatus; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; import org.nl.wms.ext.acs.service.dto.ResultForAcs; +import org.nl.wms.ext.acs.service.dto.to.acs.CreateTaskRequest; +import org.nl.wms.ext.acs.service.dto.to.wms.CreateTaskResponse; import org.nl.wms.ext.record.service.ISysInteractRecordService; import org.nl.wms.pdm.workorder.service.IPdmBdWorkorderService; import org.nl.wms.pdm.workorder.service.dao.PdmBdWorkorder; @@ -63,7 +66,7 @@ public abstract class AbstractTask { * @author ldjun * @created 2020年6月12日 下午5:52:28 */ - protected ResultForAcs renotifyAcs(SchBaseTask task) { + protected CreateTaskResponse renotifyAcs(SchBaseTask task) { Assert.notNull(task); List taskList = new ArrayList<>(); taskList.add(task); @@ -76,8 +79,8 @@ public abstract class AbstractTask { * @author ldjun * @created 2020年6月12日 下午5:52:28 */ - protected ResultForAcs renotifyAcs(List taskList) { - ResultForAcs resultForAcs = ResultForAcs.requestOk(); + protected CreateTaskResponse renotifyAcs(List taskList) { + CreateTaskResponse resultForAcs = CreateTaskResponse.requestOk(); //1、获取任务 //2、根据任务配置补全任务 //3、下发 @@ -89,9 +92,7 @@ public abstract class AbstractTask { JSONObject jsonObject = JSONObject.parseObject(responseParam); taskDto.setDirection(jsonObject.getString("direction")); } - taskDto.setRequestNo(IdUtil.simpleUUID());// todo - taskDto.setRequestDate(DateUtil.now()); - taskDto.setExt_task_id(task.getTask_id()); + taskDto.setExt_task_uuid(task.getTask_id()); taskDto.setTask_code(task.getTask_code()); taskDto.setRoute_plan_code("normal"); taskDto.setStart_device_code(task.getPoint_code1()); @@ -104,17 +105,36 @@ public abstract class AbstractTask { list.add(taskDto); } try { - resultForAcs = AcsUtil.notifyAcs("api/wms/task", list); + // 创建下发对象 + resultForAcs = AcsUtil.notifyAcs2("api/wms/task", + CreateTaskRequest.buildRequestObj("下发任务", list)); } catch (Exception e) { log.error("任务下发异常: {}", e.getMessage()); - resultForAcs.setTimestamp(DateUtil.now()); - resultForAcs.setStatus(HttpStatus.HTTP_BAD_REQUEST); + resultForAcs.setResponseDate(DateUtil.now()); + resultForAcs.setCode(HttpStatus.HTTP_BAD_REQUEST); resultForAcs.setMessage(e.getMessage()); } // 如果下发完毕,就修改状态 - if (resultForAcs.getStatus() == 200) { + if (resultForAcs.getCode() == 200) { + // 解析 + JSONArray errArr = resultForAcs.getErrArr(); for (SchBaseTask schBaseTask : taskList) { - schBaseTask.setTask_status(TaskStatus.ISSUED.getCode()); + if (errArr == null) { + schBaseTask.setTask_status(TaskStatus.ISSUED.getCode()); + } else { + schBaseTask.setTask_status(TaskStatus.ISSUED.getCode()); + // 判断是否是出错的任务 + for (int i = 0; i < errArr.size(); i++) { + JSONObject errObj = errArr.getJSONObject(i); + String taskCode = errObj.getString("task_code"); + if (taskCode.equals(schBaseTask.getTask_code())) { + // 出错的任务就设置出错信息为备注,不是出错就设置下发 + schBaseTask.setTask_status(TaskStatus.CREATED.getCode()); + schBaseTask.setRemark(errObj.getString("message")); + break; + } + } + } } taskService.updateBatchById(taskList); } @@ -221,7 +241,7 @@ public abstract class AbstractTask { String apply_point_code = param.getString("device_code"); // 请求点 String config_code = param.getString("config_code"); String requestNo = param.getString("requestNo"); - String vehicleType = TaskUtils.acsVehicleTypeShift(param.getString("vehicle_type")); + String vehicleType = TaskUtils.toAcsVehicleTypeShift(param.getString("vehicle_type")); String vehicleCode = TaskUtils.defaultVehicleCode(param.getString("vehicle_code")); // 1、校验数据 SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AcsTaskDto.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AcsTaskDto.java index b99039b..0ee6ec0 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AcsTaskDto.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AcsTaskDto.java @@ -3,7 +3,122 @@ package org.nl.wms.sch.task_manage; import lombok.Data; import org.nl.wms.ext.acs.service.dto.to.acs.CreateTaskRequest; -@Data -public class AcsTaskDto extends CreateTaskRequest { +import java.util.Map; +@Data +public class AcsTaskDto { + /** + * 任务标识 + */ + private String ext_task_uuid; + + /** + * 任务编号 + */ + private String task_code; + + + /** + * 取货点1 + */ + String start_device_code; + + /** + * 放货点1 + */ + String next_device_code; + + /** + * 取货点2 + */ + String start_device_code2; + + /** + * 放货点2 + */ + String next_device_code2; + + /** + * 对接位 + */ + String put_device_code; + + /** + * 优先级 + */ + String priority; + + /** + * 载具号 + */ + String vehicle_code; + + /** + * 载具号2 + */ + String vehicle_code2; + + /** + * 载具类型 + */ + String vehicle_type; + + /** + * 路由方案 + */ + String route_plan_code; + + /** + * 任务类型 + */ + String task_type; + + /** + * 立库任务类型 + * + */ + String dtl_type; + + /** + * Agv系统类型 + * 1:1楼叉车系统 + * 2:2楼1区域AGV系统 + * 3:2楼2区域AGV系统 + */ + String agv_system_type; + + /** + * 备注 + */ + String remark; + + /** + * 烘箱时间 + */ + String oven_time; + + /** + * 烘箱温度 + */ + String temperature; + + /** + * agv取货高度 + */ + private String start_height; + + /** + * agv放货高度 + */ + private String next_height; + + /** + * 方向 1往左 2往右 + */ + private String direction; + + /** + * 扩展属性 + */ + Map params; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/AcsUtil.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/AcsUtil.java index 4469ea7..ec7b382 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/AcsUtil.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/AcsUtil.java @@ -11,6 +11,8 @@ import org.nl.config.SpringContextHolder; import org.nl.system.service.param.dao.Param; import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.wms.ext.acs.service.dto.ResultForAcs; +import org.nl.wms.ext.acs.service.dto.to.acs.CreateTaskRequest; +import org.nl.wms.ext.acs.service.dto.to.wms.CreateTaskResponse; import org.nl.wms.sch.task_manage.GeneralDefinition; import java.util.List; @@ -64,4 +66,40 @@ public class AcsUtil { } return resultForAcs; } + + public static CreateTaskResponse notifyAcs2(String api, T object) { + SysParamServiceImpl sysParamService = SpringContextHolder.getBean(SysParamServiceImpl.class); + //判断是否连接ACS系统 + Param isConnectAcs = sysParamService.findByCode(GeneralDefinition.IS_CONNECT_ACS); + if (ObjectUtil.isEmpty(isConnectAcs)) { + return CreateTaskResponse.requestRefuse("参数表中:" + GeneralDefinition.IS_CONNECT_ACS + "不存在"); + } + String isConnect = isConnectAcs.getValue(); + //ACS地址:127.0.0.1:8010 + Param acsUrlObj = sysParamService.findByCode(GeneralDefinition.ACS_URL); + if (ObjectUtil.isEmpty(acsUrlObj)) { + return CreateTaskResponse.requestRefuse("参数表中:" + GeneralDefinition.ACS_URL + "不存在"); + } + String acsUrl = acsUrlObj.getValue(); + JSONObject result; + if (StrUtil.equals(GeneralDefinition.NO, isConnect)) { + return CreateTaskResponse.requestRefuse("未连接ACS!"); + } + String url = acsUrl + api; + log.info("下发acs任务的参数为:{}", object.toString()); + CreateTaskResponse resultForAcs; + try { + String resultMsg = HttpRequest.post(url) + .body(JSON.toJSONString(object)) + .execute().body(); + result = JSONObject.parseObject(resultMsg); + resultForAcs = JSONObject.toJavaObject(result, CreateTaskResponse.class); + } catch (Exception e) { + String msg = e.getMessage(); + //网络不通 + log.error("连接失败:{}", msg); + return CreateTaskResponse.requestRefuse("网络不通,操作失败!"); + } + return resultForAcs; + } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJMKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJMKTask.java index 03e4ad6..5aef859 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJMKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJMKTask.java @@ -3,6 +3,7 @@ package org.nl.wms.sch.task_manage.task.tasks.fj; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.nl.common.exception.BadRequestException; @@ -10,6 +11,7 @@ import org.nl.common.utils.CodeUtil; import org.nl.config.MapOf; import org.nl.system.service.notice.ISysNoticeService; import org.nl.wms.ext.acs.service.WmsToAcsService; +import org.nl.wms.ext.acs.service.dto.to.wms.ApplyDeviceDto; import org.nl.wms.pdm.workorder.service.IPdmBdWorkorderService; import org.nl.wms.pdm.workorder.service.dao.PdmBdWorkorder; import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService; @@ -77,6 +79,10 @@ public class FJMKTask extends AbstractTask { .collect(Collectors.toList()); String requestParam = task.getRequest_param();// 任务的其他数据 JSONObject jsonObject = JSONObject.parseObject(requestParam); + String startPoint = task.getPoint_code1(); + // 获取起点 回写载具编码 + SchBasePoint startPointObj = pointService.getById(startPoint); + task.setVehicle_code(startPointObj.getVehicle_code()); // 起点的木托盘编码 // 找终点 /** 包装位 */ SchBasePoint packagePoint = findNextPoint(nextRegionStr, jsonObject); @@ -90,9 +96,14 @@ public class FJMKTask extends AbstractTask { } task.setPoint_code2(packagePoint.getPoint_code()); // 包装线 // todo: 校验是否够码满一托 + List list = JSONArray.parseArray(jsonObject.getString("list"), ApplyDeviceDto.class); // 1 获取点位相应数量 + int sum = 0; + for (ApplyDeviceDto applyDeviceDto : list) { + sum += Integer.parseInt(applyDeviceDto.getQty()); + } // 2 获取库存数量 - // 3 木托盘需要多少块 + // 3 获取木托盘需要多少块 /** 覆膜机木托盘位 */ SchBasePoint LaminatePoint = findStartPoint(startRegionStr, jsonObject); if (ObjectUtil.isEmpty(LaminatePoint)) { @@ -107,7 +118,7 @@ public class FJMKTask extends AbstractTask { String vehicleCode = CodeUtil.getNewCode("VEHICLE_CODE"); // 设置终点并修改创建成功状态 task.setPoint_code3(LaminatePoint.getParent_point_code()); - task.setPoint_code4(task.getPoint_code1()); + task.setPoint_code4(startPoint); task.setVehicle_code2(vehicleCode); // 覆膜机下的木托盘编码 task.setTask_status(TaskStatus.CREATED.getCode()); task.setRemark(""); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQLTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQLTask.java index 50aa426..85fad62 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQLTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQLTask.java @@ -71,6 +71,8 @@ public class FJQLTask extends AbstractTask { .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); for (SchBaseTask task : tasks) { TaskUtils.setUpdateByAcs(task); + // 钢托盘 + task.setVehicle_type(GeneralDefinition.STEEL_TRAY); List startRegionStr = Arrays.stream(taskConfig.getStart_region_str().split(",")) .collect(Collectors.toList()); // 找起点 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJRKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJRKTask.java index 1a570b0..d5400a5 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJRKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJRKTask.java @@ -63,6 +63,10 @@ public class FJRKTask extends AbstractTask { .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); for (SchBaseTask task : tasks) { TaskUtils.setUpdateByAcs(task); + // 获取起点 回写载具编码 + String startPoint = task.getPoint_code1(); + SchBasePoint startPointObj = pointService.getById(startPoint); + task.setVehicle_code(startPointObj.getVehicle_code()); List nextRegionStr = Arrays.stream(taskConfig.getNext_region_str().split(",")).collect(Collectors.toList()); // 找终点 SchBasePoint point = findNextPoint(nextRegionStr); @@ -110,33 +114,26 @@ public class FJRKTask extends AbstractTask { public String setGroupPlate(JSONObject param) { // 强制入库组盘 // 组盘,返回组盘标识,设置待绑定,搬运结束就设置已绑定 - String vehicleCode = param.getString("vehicle_code"); - if (vehicleCode == null) { - throw new BadRequestException("载具编码不能为空"); - } + String deviceCode = param.getString("device_code"); String vehicleType = param.getString("vehicle_type"); - String workorderCode = param.getString("workorder_code"); JSONObject stackParameters = param.getJSONObject("palletize"); if (vehicleType == null) { vehicleType = GeneralDefinition.STEEL_TRAY; } - String deviceCode = param.getString("device_code"); // 砖块数量 Integer qty = param.getInteger("qty"); SchBasePoint basePoint = pointService.getById(deviceCode); - PdmBdWorkorder workorderObject = ObjectUtil.isNotEmpty(workorderCode) - ? workorderService.getOne(new LambdaQueryWrapper() - .eq(PdmBdWorkorder::getWorkorder_code, workorderCode)) - : null; + String vehicleCode = basePoint.getVehicle_code(); + PdmBdWorkorder workorderObject = workorderService.getDeviceProductionTask(basePoint.getParent_point_code()); // 找到相同组盘信息就直接返回id,避免任务取消组盘信息还存在,重复插入 + SchBaseVehiclematerialgroup groupEntity = new SchBaseVehiclematerialgroup(); + groupEntity.setGroup_id(IdUtil.getSnowflake(1, 1).nextIdStr()); SchBaseVehiclematerialgroup groupObject = vehiclematerialgroupService.getGroupInfo(vehicleCode, vehicleType, GroupBindMaterialStatusEnum.BOUND.getValue(), workorderObject.getMaterial_id()); if (groupObject != null) { - return groupObject.getGroup_id(); + groupEntity = groupObject; } // 要把数据存到组盘表 - SchBaseVehiclematerialgroup groupEntity = new SchBaseVehiclematerialgroup(); - groupEntity.setGroup_id(IdUtil.getSnowflake(1, 1).nextIdStr()); groupEntity.setMaterial_id(ObjectUtil.isNotEmpty(workorderObject) ? workorderObject.getMaterial_id() : ""); @@ -162,7 +159,7 @@ public class FJRKTask extends AbstractTask { groupEntity.setGroup_bind_material_status(GroupBindMaterialStatusEnum.BOUND.getValue()); // 绑定 groupEntity.setGroup_status(GroupStatusEnum.IN_STORAGE.getType()); // 暂时不维护。 groupEntity.setIs_delete(false); - vehiclematerialgroupService.save(groupEntity); + vehiclematerialgroupService.saveOrUpdate(groupEntity); // 将所有当前位置的砖块设置组盘标识 // baseBrickInfoService.setGroupByCurrentAllBrick(deviceCode, groupEntity.getGroup_id()); // 返回组盘id记录任务中 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNMLTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNMLTask.java index cb40f89..001183b 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNMLTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNMLTask.java @@ -104,7 +104,8 @@ public class HNMLTask extends AbstractTask { .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); for (SchBaseTask task : tasks) { TaskUtils.setUpdateByAcs(task); // 修改修改者 - List nextRegionStr = Arrays.stream(taskConfig.getNext_region_str().split(",")).collect(Collectors.toList()); + List nextRegionStr = Arrays.stream(taskConfig.getNext_region_str().split(",")) + .collect(Collectors.toList()); String requestParam = task.getRequest_param();// 任务的其他数据 JSONObject jsonObject = JSONObject.parseObject(requestParam); // 找终点 @@ -284,7 +285,7 @@ public class HNMLTask extends AbstractTask { SchBasePoint basePoint = pointService.getOne(new LambdaQueryWrapper() .eq(SchBasePoint::getPoint_code, deviceCode) .eq(SchBasePoint::getIs_used, true)); - if (vehicleCode == null) { + if (vehicleCode == null || vehicleCode.equals(GeneralDefinition.NO)) { throw new BadRequestException("载具编码不能为空"); } SchBaseVehiclematerialgroup groupEntity = new SchBaseVehiclematerialgroup(); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZQKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZQKTask.java index 37c4305..5b0eb28 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZQKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yz/YZQKTask.java @@ -66,7 +66,7 @@ public class YZQKTask extends AbstractTask { SchBasePoint point = findStartPoint(startRegionStr, jsonObject); if (ObjectUtil.isEmpty(point)) { task.setRemark("未找到所需点位!"); - taskService.update(task); + taskService.updateById(task); // 消息通知 noticeService.createNotice("未找到所需点位!", TASK_CONFIG_CODE + task.getTask_code(), NoticeTypeEnum.WARN.getCode()); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/PointUtils.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/PointUtils.java index 0d52fa1..a903347 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/PointUtils.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/PointUtils.java @@ -8,6 +8,7 @@ import org.nl.config.SpringContextHolder; import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup; import org.nl.wms.sch.point.service.dao.SchBasePoint; import org.nl.wms.sch.point.service.impl.SchBasePointServiceImpl; +import org.nl.wms.sch.task_manage.GeneralDefinition; import org.nl.wms.sch.task_manage.enums.PointStatusEnum; import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum; @@ -55,8 +56,8 @@ public class PointUtils { /** 点位修改更新信息 **/ public static void setUpdateByAcs(SchBasePoint pointObj) { - pointObj.setUpdate_id("2"); - pointObj.setUpdate_name("ACS系统"); + pointObj.setUpdate_id(GeneralDefinition.ACS_ID); + pointObj.setUpdate_name(GeneralDefinition.ACS_NAME); pointObj.setUpdate_time(DateUtil.now()); } /** 点位修改更新信息 **/ diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/TaskUtils.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/TaskUtils.java index 6a2380f..35db0a3 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/TaskUtils.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/TaskUtils.java @@ -10,15 +10,11 @@ import org.nl.wms.pdm.workorder.service.dao.PdmBdWorkorder; import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup; import org.nl.wms.sch.task.service.ISchBaseTaskService; import org.nl.wms.sch.task.service.dao.SchBaseTask; -import org.nl.wms.sch.task.service.impl.SchBaseTaskServiceImpl; import org.nl.wms.sch.task_manage.GeneralDefinition; import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum; import org.nl.wms.sch.task_manage.task.core.TaskStatus; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; import java.util.List; -import java.util.function.Consumer; /** * @Author: lyd @@ -129,12 +125,13 @@ public class TaskUtils { } /** + * 转成ACS需要的载具类型 * ACS载具类型:1 2 3 ... * LMS载具类型:3 4 5 ... * @param acsVehicleType * @return */ - public static String acsVehicleTypeShift(String acsVehicleType) { + public static String toAcsVehicleTypeShift(String acsVehicleType) { if (ObjectUtil.isEmpty(acsVehicleType)) { return null; } @@ -148,12 +145,13 @@ public class TaskUtils { } /** + * 转成LMS需要的载具类型 * ACS载具类型:1 2 3 ... * LMS载具类型:3 4 5 ... * @param lmsVehicleType * @return */ - public static String lmsVehicleTypeShift(String lmsVehicleType) { + public static String toLmsVehicleTypeShift(String lmsVehicleType) { if (ObjectUtil.isEmpty(lmsVehicleType)) { return null; } diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml b/lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml index b233cd0..1a0a1e0 100644 --- a/lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml +++ b/lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml @@ -54,7 +54,6 @@ spring: multi-statement-allow: true redis: #数据库索引 - database: ${REDIS_DB:2} host: ${REDIS_HOST:127.0.0.1} port: ${REDIS_PORT:6379} password: ${REDIS_PWD:} @@ -63,6 +62,7 @@ spring: threads: 4 nettyThreads: 4 singleServerConfig: + database: 3 connectionMinimumIdleSize: 8 connectionPoolSize: 8 address: redis://127.0.0.1:6379 @@ -163,7 +163,7 @@ sa-token: token-session-check-login: false alone-redis: # Redis数据库索引(默认为0) - database: 2 + database: 8 # Redis服务器地址 host: 127.0.0.1 # Redis服务器连接端口 diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml b/lms/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml index 5c671f7..53955f1 100644 --- a/lms/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml +++ b/lms/nladmin-system/nlsso-server/src/main/resources/config/application-prod.yml @@ -53,7 +53,6 @@ spring: multi-statement-allow: true redis: #数据库索引 - database: ${REDIS_DB:15} host: ${REDIS_HOST:127.0.0.1} port: ${REDIS_PORT:6379} password: ${REDIS_PWD:} @@ -62,6 +61,7 @@ spring: threads: 4 nettyThreads: 4 singleServerConfig: + database: 15 connectionMinimumIdleSize: 8 connectionPoolSize: 8 address: redis://127.0.0.1:6379 @@ -165,5 +165,32 @@ sa-token: jwt-secret-key: opsjajisdnnca0sdkksdfaaasdfwwq # token 前缀 token-prefix: Bearer - is-read-cookie: false - is-read-body: false + sso: + # Ticket有效期 (单位: 秒),默认五分钟 + ticket-timeout: 300 + # 所有允许的授权回调地址 + allow-url: "*" + # 是否打开单点注销功能 + is-slo: true + + # ------- SSO-模式三相关配置 (下面的配置在SSO模式三并且 is-slo=true 时打开) + # 是否打开模式三 + isHttp: true + # 接口调用秘钥(用于SSO模式三的单点注销功能) + secretkey: kQwIOrYvnXmSDkwEiFngrKidMcdrgKor + # ---- 除了以上配置项,你还需要为 Sa-Token 配置http请求处理器(文档有步骤说明) + is-read-cookie: true + is-print: false + # 未登录 StpUtil.getTokenSession() 设置值,获取值 @SaIgnore 得忽略接口 + token-session-check-login: false + alone-redis: + # Redis数据库索引(默认为0) + database: 9 + # Redis服务器地址 + host: 127.0.0.1 + # Redis服务器连接端口 + port: 6379 + # Redis服务器连接密码(默认为空) + password: + # 连接超时时间 + timeout: 10s diff --git a/lms/nladmin-system/nlsso-server/src/test/java/org/nl/point/test.java b/lms/nladmin-system/nlsso-server/src/test/java/org/nl/point/test.java index 266e1d7..6eea692 100644 --- a/lms/nladmin-system/nlsso-server/src/test/java/org/nl/point/test.java +++ b/lms/nladmin-system/nlsso-server/src/test/java/org/nl/point/test.java @@ -1,15 +1,23 @@ package org.nl.point; import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.checkerframework.checker.units.qual.A; import org.junit.jupiter.api.Test; import org.nl.common.exception.BadRequestException; +import org.nl.wms.ext.acs.service.dto.to.wms.ApplyDeviceDto; +import org.nl.wms.ext.acs.service.dto.to.wms.ApplyTaskRequest; import org.nl.wms.sch.region.service.ISchBaseRegionService; import org.nl.wms.sch.region.service.dao.SchBaseRegion; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; +import java.util.List; + /** * @Author: lyd * @Description: @@ -72,4 +80,23 @@ public class test { } } + @Test + public void test04() { + List list = new ArrayList<>(); + for (int i = 0; i < 2; i++) { + ApplyDeviceDto applyDeviceDto = new ApplyDeviceDto(); + applyDeviceDto.setDevice_code("t" + i); + applyDeviceDto.setVehicle_code("v" + i); + applyDeviceDto.setVehicle_type("1"); + applyDeviceDto.setQty(String.valueOf(12 + i)); + list.add(applyDeviceDto); + } + ApplyTaskRequest a = new ApplyTaskRequest(); + a.setList(list); + a.setRequestNo("sfasdf"); + String s = JSON.toJSONString(a); + JSONObject jsonObject = JSONObject.parseObject(s); + System.out.println(jsonObject); + } + } diff --git a/lms/nladmin-system/nlsso-server/src/test/java/org/nl/task/MapperTest.java b/lms/nladmin-system/nlsso-server/src/test/java/org/nl/task/MapperTest.java index 902ab17..26eab6b 100644 --- a/lms/nladmin-system/nlsso-server/src/test/java/org/nl/task/MapperTest.java +++ b/lms/nladmin-system/nlsso-server/src/test/java/org/nl/task/MapperTest.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.junit.jupiter.api.Test; +import org.nl.common.exception.BadRequestException; import org.nl.config.MapOf; import org.nl.wms.sch.point.service.ISchBasePointService; import org.nl.wms.sch.point.service.dao.SchBasePoint; @@ -172,4 +173,59 @@ public class MapperTest { jsonObject.put("point_name", "测试"); testMapper.updateByObject(jsonObject); } + + + @Test + void test111() { + try { + for (int i = 0; i < 5; i++) { + // 参数处理 + if (i == 1) { + throw new BadRequestException("出错了 - 1"); + } + try { + // 创建 + if (i == 2) { + throw new BadRequestException("出错了 - 2"); + } + }catch (Exception e) { + // 记录 + System.out.println("捕获 - 2"); + } + + // 成功 + System.out.println(i); + } + } catch (Exception e) { + System.out.println("捕获 - 1"); + } + } + @Test + void test112() { + try { + // 转换 + for (int i = 0; i < 5; i++) { + try { + // 参数处理 + if (i == 1) { + throw new BadRequestException("出错了 - 1"); + } + // 创建任务 + if (i == 2) { + throw new BadRequestException("出错了 - 2"); + } + + // 成功 + System.out.println(i); + } catch (Exception e) { + // add + System.out.println("ssssssss"); + } + } + } catch (Exception e) { + // x 400 + } + // 200 errArray() + + } } diff --git a/lms/nladmin-ui/src/views/wms/pdm/consumption/index.vue b/lms/nladmin-ui/src/views/wms/pdm/consumption/index.vue new file mode 100644 index 0000000..d7d390a --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/pdm/consumption/index.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/lms/nladmin-ui/src/views/wms/pdm/consumption/pdmBdMudConsumption.js b/lms/nladmin-ui/src/views/wms/pdm/consumption/pdmBdMudConsumption.js new file mode 100644 index 0000000..a9605a7 --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/pdm/consumption/pdmBdMudConsumption.js @@ -0,0 +1,27 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: 'api/pdmBdMudConsumption', + method: 'post', + data + }) +} + +export function del(ids) { + return request({ + url: 'api/pdmBdMudConsumption/', + method: 'delete', + data: ids + }) +} + +export function edit(data) { + return request({ + url: 'api/pdmBdMudConsumption', + method: 'put', + data + }) +} + +export default { add, edit, del }