diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/route/service/impl/RouteLineServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/route/service/impl/RouteLineServiceImpl.java index 4035985..81016ce 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/route/service/impl/RouteLineServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/route/service/impl/RouteLineServiceImpl.java @@ -373,10 +373,8 @@ public class RouteLineServiceImpl extends CommonServiceImpl routeLineList= new LambdaQueryChainWrapper<>(routeLineMapper) .eq(RouteLine::getRoute_plan_id,route_plan_id) .list(); - JSONArray route = JSONArray.parseArray(JSON.toJSONString(routeLineList)); Map n[][] = new HashMap[size][size]; //建二维数组 - for (int i = 0; i < route.size(); i++) { - JSONObject jo = (JSONObject) route.get(i); - String start = jo.getString("device_code"); - String end = jo.getString("next_device_code"); - if (ObjectUtil.isEmpty(map.get(start)) || ObjectUtil.isEmpty(map.get(end))) {//如果路由中的设备号在设备列表中找不到就跳过 + for (int i = 0; i < routeLineList.size(); i++) { + RouteLine routeLine = routeLineList.get(i); + String start = routeLine.getDevice_code(); + String end = routeLine.getNext_device_code(); + if (ObjectUtil.isEmpty(map.get(start)) || ObjectUtil.isEmpty(map.get(end))) { + //如果路由中的设备号在设备列表中找不到就跳过 continue; } Integer s = Integer.valueOf(map.get(start)); @@ -442,10 +440,10 @@ public class RouteLineServiceImpl extends CommonServiceImpl smap = new HashMap<>(); smap.put("device_code", start); smap.put("next_device_code", end); - smap.put("type", jo.getString("type")); + smap.put("type", routeLine.getType()); smap.put("path", start + "->" + end); - smap.put("weights", jo.getString("weights")); - smap.put("route_plan_id", jo.getString("route_plan_id")); + smap.put("weights", routeLine.getWeights()); + smap.put("route_plan_id", routeLine.getRoute_plan_id()); n[s][e] = smap; } //对数组使用Floyd(弗洛伊德)算法,求出任意两个设备之间的最短距离,不通则为null 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 b323f10..9bf9ed1 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 @@ -108,6 +108,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { @Autowired private ISysParamService sysParamService; + private long lastTime; + + private long milliseconds = 3000; + /** * 初始化反射方法 */ @@ -504,75 +508,74 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { */ private void requestPickup(SchBaseTask schBaseTask, String status, String is_connector) { if ("1".equals(is_connector)) { - //反馈connector申请取货 - JSONObject json = new JSONObject(); - json.put("vehicle_code", schBaseTask.getVehicle_code()); - json.put("status", status); - json.put("device_code", schBaseTask.getPoint_code1()); - json.put("task_code", schBaseTask.getTask_code()); - if (schBaseTask.getPoint_code1().endsWith("1")) { - String replace = schBaseTask.getPoint_code1().replace("1", "2"); - SchBaseTask schBaseTask1 = taskService.getOne(Wrappers.lambdaQuery(SchBaseTask.class) - .eq(SchBaseTask::getPoint_code1, replace) - .eq(SchBaseTask::getTask_status, TaskStatus.TIMEOUT.getCode())); - if (ObjectUtil.isNotEmpty(schBaseTask1)) { - schBaseTask1.setTask_status(TaskStatus.CREATED.getCode()); - taskService.update(schBaseTask1); - } - } else if (schBaseTask.getPoint_code1().endsWith("3")) { - String replace = schBaseTask.getPoint_code1().replace("3", "4"); - SchBaseTask schBaseTask2 = taskService.getOne(Wrappers.lambdaQuery(SchBaseTask.class) - .eq(SchBaseTask::getPoint_code1, replace) - .eq(SchBaseTask::getTask_status, TaskStatus.TIMEOUT.getCode())); - if (ObjectUtil.isNotEmpty(schBaseTask2)) { - schBaseTask2.setTask_status(TaskStatus.CREATED.getCode()); - taskService.update(schBaseTask2); - } - } else if (schBaseTask.getPoint_code1().endsWith("5")) { - String replace = schBaseTask.getPoint_code1().replace("5", "6"); - SchBaseTask schBaseTask2 = taskService.getOne(Wrappers.lambdaQuery(SchBaseTask.class) - .eq(SchBaseTask::getPoint_code1, replace) - .eq(SchBaseTask::getTask_status, TaskStatus.TIMEOUT.getCode())); - if (ObjectUtil.isNotEmpty(schBaseTask2)) { - schBaseTask2.setTask_status(TaskStatus.CREATED.getCode()); - taskService.update(schBaseTask2); - } - } - boolean flag = true; - String jobName = null; - iSchBaseVehiclematerialgroupService.remove(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class) - .eq(SchBaseVehiclematerialgroup::getVehicle_code, schBaseTask.getVehicle_code())); - AcsResponse acsResponse = connectorService.feedAgvTaskStatus(json); - if (acsResponse.getStatus() == 200 && StrUtil.isNotEmpty(acsResponse.getData())) { - JSONArray objects = JSONObject.parseArray(acsResponse.getData()); - List connectorDtos = BeanUtil.copyToList(objects, ConnectorDto.class); - for (ConnectorDto connectorDto : connectorDtos) { - if (schBaseTask.getVehicle_code().equals(connectorDto.getVehicle_code())) { - //TODO:载具号不同 + long time = System.currentTimeMillis(); + if (time - lastTime > milliseconds) { + lastTime = System.currentTimeMillis(); + //反馈connector申请取货 + JSONObject json = new JSONObject(); + json.put("vehicle_code", schBaseTask.getVehicle_code()); + json.put("status", status); + json.put("device_code", schBaseTask.getPoint_code1()); + json.put("task_code", schBaseTask.getTask_code()); + if (schBaseTask.getPoint_code1().endsWith("1")) { + String replace = schBaseTask.getPoint_code1().replace("1", "2"); + SchBaseTask schBaseTask1 = taskService.getOne(Wrappers.lambdaQuery(SchBaseTask.class) + .eq(SchBaseTask::getPoint_code1, replace) + .eq(SchBaseTask::getTask_status, TaskStatus.TIMEOUT.getCode())); + if (ObjectUtil.isNotEmpty(schBaseTask1)) { + schBaseTask1.setTask_status(TaskStatus.CREATED.getCode()); + taskService.update(schBaseTask1); } - MdBaseMaterial mdBaseMaterial = iMdBaseMaterialService.getOne(Wrappers.lambdaQuery(MdBaseMaterial.class) - .eq(MdBaseMaterial::getMaterial_code, connectorDto.getProductID())); - if (ObjectUtil.isEmpty(mdBaseMaterial)) { - //TODO:物料不存在 + } else if (schBaseTask.getPoint_code1().endsWith("3")) { + String replace = schBaseTask.getPoint_code1().replace("3", "4"); + SchBaseTask schBaseTask2 = taskService.getOne(Wrappers.lambdaQuery(SchBaseTask.class) + .eq(SchBaseTask::getPoint_code1, replace) + .eq(SchBaseTask::getTask_status, TaskStatus.TIMEOUT.getCode())); + if (ObjectUtil.isNotEmpty(schBaseTask2)) { + schBaseTask2.setTask_status(TaskStatus.CREATED.getCode()); + taskService.update(schBaseTask2); } - connectorDto.setCreate_name("Connector"); - SchBaseVehiclematerialgroup schBaseVehiclematerialgroup = ConnectorUtil.createObject(connectorDto); - iSchBaseVehiclematerialgroupService.create(schBaseVehiclematerialgroup); - if ("Y".equals(connectorDto.getFinished())) { - jobName = connectorDto.getJobname(); + } else if (schBaseTask.getPoint_code1().endsWith("5")) { + String replace = schBaseTask.getPoint_code1().replace("5", "6"); + SchBaseTask schBaseTask2 = taskService.getOne(Wrappers.lambdaQuery(SchBaseTask.class) + .eq(SchBaseTask::getPoint_code1, replace) + .eq(SchBaseTask::getTask_status, TaskStatus.TIMEOUT.getCode())); + if (ObjectUtil.isNotEmpty(schBaseTask2)) { + schBaseTask2.setTask_status(TaskStatus.CREATED.getCode()); + taskService.update(schBaseTask2); } } - if (StrUtil.isNotEmpty(jobName)) { - JSONObject jsonObject = new JSONObject(); - jsonObject.put("cJobName", jobName); - try { - sortingService.applyFinishJobName(jsonObject); - } catch (Exception e) { - log.info("wms反馈sorting->JobName完成,失败{}", e.getMessage()); + boolean flag = true; + String jobName = null; + iSchBaseVehiclematerialgroupService.remove(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class) + .eq(SchBaseVehiclematerialgroup::getVehicle_code, schBaseTask.getVehicle_code())); + AcsResponse acsResponse = connectorService.feedAgvTaskStatus(json); + if (acsResponse.getStatus() == 200 && StrUtil.isNotEmpty(acsResponse.getData())) { + JSONArray objects = JSONObject.parseArray(acsResponse.getData()); + List connectorDtos = BeanUtil.copyToList(objects, ConnectorDto.class); + for (ConnectorDto connectorDto : connectorDtos) { + connectorDto.setCreate_name("Connector"); + SchBaseVehiclematerialgroup schBaseVehiclematerialgroup = ConnectorUtil.createObject(connectorDto); + iSchBaseVehiclematerialgroupService.create(schBaseVehiclematerialgroup); + if ("Y".equals(connectorDto.getFinished())) { + jobName = connectorDto.getJobname(); + } + } + if (StrUtil.isNotEmpty(jobName)) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("cJobName", jobName); + try { + sortingService.applyFinishJobName(jsonObject); + } catch (Exception e) { + log.info("wms反馈sorting->JobName完成,失败{}", e.getMessage()); + } } + } else { + throw new BadRequestException("LMS向Connector请求取货"); } } else { - throw new BadRequestException("LMS向Connector请求取货"); + log.info("请求connector取货间隔小于3秒,忽略"); + throw new BadRequestException("请求connector取货间隔小于3秒,忽略"); } } if ("2".equals(is_connector)) { diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/connector/service/dto/ConnectorDto.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/connector/service/dto/ConnectorDto.java index 133d01d..3f4bcb1 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/connector/service/dto/ConnectorDto.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/connector/service/dto/ConnectorDto.java @@ -103,4 +103,9 @@ public class ConnectorDto { private String priority; private String create_name; + + /** + * 托盘物料图片 + */ + private String png_palletpath; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/fab/controller/FabController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/fab/controller/FabController.java index c0ca794..79f937c 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/fab/controller/FabController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/fab/controller/FabController.java @@ -303,7 +303,7 @@ public class FabController { if (CollUtil.isEmpty(deviceCodes) && StrUtil.isEmpty(sendVehicleVo.getVehicle_code())) { throw new BadRequestException("请输入设备号或载具号!"); } - List list = null; + List list = null; if (StrUtil.isNotEmpty(sendVehicleVo.getVehicle_code())) { deviceCodes = new ArrayList<>(); deviceCodes.add(sendVehicleVo.getVehicle_code()); @@ -318,17 +318,21 @@ public class FabController { ); list = iSchBaseVehiclematerialgroupService.selectOrdersByVehicleCode(vehicleCodes); } - HashSet keys = new HashSet<>(); + HashSet keys = new HashSet<>(); list.stream().forEach(item -> { - keys.add(item); + keys.add(MapOf.of("order_code", item.get("order_code"), "material_id", item.get("material_id"))); }); List jsonObjectList = new ArrayList<>(); keys.stream().forEach(item -> { JSONObject jsonObject = new JSONObject(); - jsonObject.put("order_code", item); + jsonObject.put("order_code", item.get("order_code")); + jsonObject.put("material_id", item.get("material_id")); jsonObjectList.add(jsonObject); }); - return new ResponseEntity(jsonObjectList, HttpStatus.OK); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("material", jsonObjectList); + jsonObject.put("path", CollUtil.isNotEmpty(list) ? list.get(0).get("vehicle_path") : ""); + return new ResponseEntity(jsonObject, HttpStatus.OK); } /** diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/handheld/controller/HandheldController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/handheld/controller/HandheldController.java index b89b7c0..a400e27 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/handheld/controller/HandheldController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/handheld/controller/HandheldController.java @@ -144,8 +144,13 @@ public class HandheldController { @GetMapping("/createPointInPointTask") @Log("创建点对点任务") public ResponseEntity createPointTask(String regionCode) { - return new ResponseEntity<>(handheldService.selectPointByRegion(regionCode),HttpStatus.OK); + return new ResponseEntity<>(handheldService.selectPointByRegion(regionCode), HttpStatus.OK); } + @GetMapping("/selectMaterialAndJpg") + @Log("查询托盘物料信息") + public ResponseEntity selectMaterialAndJpg(String pointCode) { + return new ResponseEntity<>(handheldService.selectMaterialAndJpg(pointCode), HttpStatus.OK); + } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/handheld/service/HandheldService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/handheld/service/HandheldService.java index 31f1344..2cffb98 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/handheld/service/HandheldService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/handheld/service/HandheldService.java @@ -113,4 +113,11 @@ public interface HandheldService { * @return */ List selectPointByRegion(String regionCode); + + /** + * 根据当前点位的托盘号查询物料信息 + * @param pointCode + * @return + */ + JSONObject selectMaterialAndJpg(String pointCode); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/handheld/service/impl/HandheldServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/handheld/service/impl/HandheldServiceImpl.java index 8193780..c4d8cb8 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/handheld/service/impl/HandheldServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/handheld/service/impl/HandheldServiceImpl.java @@ -14,6 +14,7 @@ import org.nl.common.enums.region.RegionEnum; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.RedisUtils; import org.nl.common.utils.SecurityUtils; +import org.nl.config.MapOf; import org.nl.config.SpringContextHolder; import org.nl.system.service.param.dao.Param; import org.nl.system.service.param.impl.SysParamServiceImpl; @@ -334,7 +335,7 @@ public class HandheldServiceImpl implements HandheldService { jo.put("create_mode", GeneralDefinition.AUTO_CREATION); jo.put("vehicle_code", vehicle_code); param.put("region_code", region_code); - param.put("materials",materials); + param.put("materials", materials); jo.put("ext_data", param); iSchBasePointService.update(Wrappers.lambdaUpdate(SchBasePoint.class) .eq(SchBasePoint::getPoint_code, device_code) @@ -639,5 +640,29 @@ public class HandheldServiceImpl implements HandheldService { return iSchBasePointService.selectPointByRegion(regionCode); } + @Override + public JSONObject selectMaterialAndJpg(String pointCode) { + if (StrUtil.isEmpty(pointCode)) { + throw new BadRequestException("当前点位不能为空!"); + } + SchBasePoint schBasePoint = iSchBasePointService.selectByPointCode(pointCode); + if (ObjectUtil.isEmpty(schBasePoint)) { + throw new BadRequestException("当前点位不存在!"); + } + if (StrUtil.isNotEmpty(schBasePoint.getVehicle_code())) { + List list = new ArrayList<>(); + list.add(schBasePoint.getVehicle_code()); + List maps = iSchBaseVehiclematerialgroupService.selectOrdersByVehicleCode(list); + HashSet keys = new HashSet<>(); + maps.stream().forEach(item -> { + keys.add(MapOf.of("material_id", item.get("material_id"),"material_path", item.get("material_path"))); + }); + JSONObject json = new JSONObject(); + json.put("vehiclePath",maps.get(0).get("vehicle_path")); + json.put("materialList",keys); + return json; + } + return null; + } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/sorting/service/impl/SortingServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/sorting/service/impl/SortingServiceImpl.java index 36c1371..74b26fe 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/sorting/service/impl/SortingServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/sorting/service/impl/SortingServiceImpl.java @@ -17,6 +17,9 @@ import org.nl.common.enums.region.RegionEnum; import org.nl.common.exception.BadRequestException; import org.nl.config.IdUtil; import org.nl.config.MapOf; +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.connector.service.dto.ConnectorDto; import org.nl.wms.ext.sorting.enums.SortingEnum; import org.nl.wms.ext.sorting.service.SortingService; @@ -26,12 +29,14 @@ import org.nl.wms.sch.point.service.ISchBasePointService; import org.nl.wms.sch.point.service.dao.SchBasePoint; import org.nl.wms.sch.point.service.dto.PointMaterialInfo; import org.nl.wms.sch.task_manage.AbstractTask; +import org.nl.wms.sch.task_manage.GeneralDefinition; import org.nl.wms.sch.task_manage.task.ConnectorUtil; import org.nl.wms.sch.task_manage.task.TaskFactory; import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingCMTTask; import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingCNTTask; import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingSMTTask; import org.nl.wms.sch.task_manage.task.tasks.sorting.SortingSNTTask; +import org.nl.wms.util.PrintUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -57,8 +62,9 @@ public class SortingServiceImpl implements SortingService { private ISchBasePointService iSchBasePointService; @Autowired private ISchBaseVehiclematerialgroupService iSchBaseVehiclematerialgroupService; - private static final DateTimeFormatter ISO_8601_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSX"); + @Autowired + private SysParamServiceImpl sysParamService; @Override @@ -69,9 +75,10 @@ public class SortingServiceImpl implements SortingService { Assert.noNullElements(new Object[]{jsonObject, jsonObject.getString("pointCode"), jsonObject.getString("vehicle_code") , jsonObject.getString("task_type"), jsonObject.getString("is_empty")}, "请求参数不能为空"); JSONArray jsonArray = JSONUtil.parseArray(jsonObject.get("pallet_detail")); + String png_palletpath = jsonObject.getString("png_palletpath"); if (StrUtil.isNotEmpty(jsonObject.getString("is_rawdata")) && "1".equals(jsonObject.getString("is_rawdata"))) { List connectorDtos = BeanUtil.copyToList(jsonArray, ConnectorDto.class); - createMaterial(connectorDtos, jsonObject.getString("vehicle_code")); + createMaterial(connectorDtos, jsonObject.getString("vehicle_code"), png_palletpath); } else { //任务号 String task_code = jsonObject.getString("task_code"); @@ -206,13 +213,20 @@ public class SortingServiceImpl implements SortingService { } } - private void createMaterial(List connectorDtos, String vehicleCode) { + private void createMaterial(List connectorDtos, String vehicleCode, String png_palletpath) { iSchBaseVehiclematerialgroupService.remove(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class) .eq(SchBaseVehiclematerialgroup::getVehicle_code, vehicleCode)); + Param sortingFilePath = sysParamService.findByCode(GeneralDefinition.SORTING_FILE_PATH); connectorDtos.forEach(connectorDto -> { connectorDto.setID(null); + String dueDate = connectorDto.getDueDate(); + if (StrUtil.isNotEmpty(dueDate) && isValidISO8601(dueDate)) { + dueDate = parseDate(dueDate); + } + connectorDto.setDue_date(dueDate); connectorDto.setCreate_name("Sorting"); SchBaseVehiclematerialgroup schBaseVehiclematerialgroup = ConnectorUtil.createObject(connectorDto); + schBaseVehiclematerialgroup.setVehicle_path(PrintUtil.imageToByteAndWriteToFile(png_palletpath, sortingFilePath.getValue())); iSchBaseVehiclematerialgroupService.create(schBaseVehiclematerialgroup); }); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/ISchBaseVehiclematerialgroupService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/ISchBaseVehiclematerialgroupService.java index a69f825..4834d74 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/ISchBaseVehiclematerialgroupService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/ISchBaseVehiclematerialgroupService.java @@ -73,7 +73,7 @@ public interface ISchBaseVehiclematerialgroupService extends IService selectOrdersByVehicleCode(List vehicle_code); + List selectOrdersByVehicleCode(List vehicle_code); /** * 根据载具号查找物料信息 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/SchBaseVehiclematerialgroup.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/SchBaseVehiclematerialgroup.java index e2307ff..93ac91e 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/SchBaseVehiclematerialgroup.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/SchBaseVehiclematerialgroup.java @@ -162,6 +162,9 @@ public class SchBaseVehiclematerialgroup implements Serializable { @ApiModelProperty(value = "物料图片路径") private String material_path; + @ApiModelProperty(value = "托盘图片路径") + private String vehicle_path; + @TableField(exist = false) private String materialFile; diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/mapper/SchBaseVehiclematerialgroupMapper.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/mapper/SchBaseVehiclematerialgroupMapper.java index ce333fd..26199e5 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/mapper/SchBaseVehiclematerialgroupMapper.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/mapper/SchBaseVehiclematerialgroupMapper.java @@ -23,7 +23,7 @@ public interface SchBaseVehiclematerialgroupMapper extends BaseMapper selectOrders(@Param("list") List vehicleCodes); + List selectOrders(@Param("list") List vehicleCodes); List selectMaterialByVehicleCode(String vehicle_code); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/mapper/SchBaseVehiclematerialgroupMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/mapper/SchBaseVehiclematerialgroupMapper.xml index 56c6de7..c030572 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/mapper/SchBaseVehiclematerialgroupMapper.xml +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/dao/mapper/SchBaseVehiclematerialgroupMapper.xml @@ -50,14 +50,7 @@ AND vg.group_bind_material_status = '2' - + SELECT sbv.due_date FROM sch_base_vehiclematerialgroup sbv - WHERE sbv.material_id = #{sendVehicle.material_code} AND sbv.order_code = #{sendVehicle.order_code} limit 1 + WHERE sbv.material_id = #{sendVehicle.material_code} + AND sbv.order_code = #{sendVehicle.order_code} limit 1 + + diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/impl/SchBaseVehiclematerialgroupServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/impl/SchBaseVehiclematerialgroupServiceImpl.java index 32d1c08..5f37ca5 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/impl/SchBaseVehiclematerialgroupServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/impl/SchBaseVehiclematerialgroupServiceImpl.java @@ -25,6 +25,8 @@ import org.nl.common.exception.BadRequestException; import org.nl.common.utils.SecurityUtils; import org.nl.wms.database.material.service.IMdBaseMaterialService; import org.nl.wms.database.material.service.dao.MdBaseMaterial; +import org.nl.wms.database.vehicle.service.IMdBaseVehicleService; +import org.nl.wms.database.vehicle.service.dao.MdBaseVehicle; import org.nl.wms.ext.fab.service.dto.CallMaterVo; import org.nl.wms.ext.fab.service.dto.SendVehicleVo; import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService; @@ -74,6 +76,8 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl queryAll(SchBaseVehiclematerialgroupQuery whereJson, PageQuery page) { @@ -127,6 +131,13 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl selectOrdersByVehicleCode(List vehicle_code) { + public List selectOrdersByVehicleCode(List vehicle_code) { return vehiclematerialgroupMapper.selectOrders(vehicle_code); } @@ -186,6 +197,7 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl { @@ -253,7 +265,7 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl 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 ed7aebf..555ddaa 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 @@ -41,6 +41,7 @@ import org.nl.wms.sch.task.service.ISchBaseTaskService; import org.nl.wms.sch.task.service.dao.SchBaseTask; import org.nl.wms.sch.task_manage.enums.NoticeTypeEnum; import org.nl.wms.sch.task_manage.enums.PointStatusEnum; +import org.nl.wms.sch.task_manage.task.core.TaskStatus; import org.nl.wms.util.PointUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -567,12 +568,20 @@ public class SchBasePointServiceImpl extends ServiceImpl jsonObjectList = pointMapper.selectPointByRegion(regionCode); jsonObjectList.stream().forEach(jsonObject -> { if (ObjectUtil.isNotEmpty(jsonObject.get("point_status"))) { - if (jsonObject.get("point_status").equals(GoodsEnum.EMPTY_PALLETS.getValue()) || jsonObject.get("point_status").equals(GoodsEnum.IN_STOCK.getValue())) { + if (jsonObject.get("point_status").equals(GoodsEnum.IN_STOCK.getValue())) { jsonObject.put("point_status", "1"); } } else { jsonObject.put("point_status", "0"); } + if (ObjectUtil.isNotEmpty(jsonObject.get("point_code"))) { + SchBaseTask point_code = taskService.getOne(Wrappers.lambdaQuery(SchBaseTask.class) + .eq(SchBaseTask::getPoint_code2, jsonObject.get("point_code")) + .lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode())); + if (ObjectUtil.isNotEmpty(point_code)) { + jsonObject.put("point_status", "2"); + } + } }); return jsonObjectList; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java index 357e169..58cb27c 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java @@ -18,6 +18,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mysql.cj.util.TimeUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVPrinter; diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/GeneralDefinition.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/GeneralDefinition.java index ee857cc..b562fbb 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/GeneralDefinition.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/GeneralDefinition.java @@ -145,6 +145,10 @@ public class GeneralDefinition { * Sorting路径 */ public static final String SORTING_URL = "sorting_url"; + /** + * Sorting文件存放路径 + */ + public static final String SORTING_FILE_PATH = "sorting_file_path"; /** * wms路径 */ @@ -157,6 +161,7 @@ public class GeneralDefinition { * MES路径 */ public static final String MES_URL = "mes_url"; + public static final String LOCALHOST_POST = "localhost_post"; // 完成/取消 /** * 任务完成 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 9a1373f..7e3e111 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 @@ -51,7 +51,7 @@ public class AcsUtil { String msg = e.getMessage(); //ConnectException: Connection refused: connect //网络不通 - log.error("连接失败:{}", msg); + log.error(" :{}", msg); result.put("status", HttpStatus.BAD_REQUEST); result.put("message", "网络不通,操作失败!"); result.put("data", new JSONObject()); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/ConnectorUtil.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/ConnectorUtil.java index a84a7a7..7ff3cca 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/ConnectorUtil.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/ConnectorUtil.java @@ -172,7 +172,7 @@ public class ConnectorUtil { schBaseVehiclematerialgroup.setRegion_code(connectorDto.getNextOperation()); schBaseVehiclematerialgroup.setExtend(JSON.toJSONString(connectorDto)); schBaseVehiclematerialgroup.setOrder_code(connectorDto.getProductionOrder()); - schBaseVehiclematerialgroup.setDue_date(connectorDto.getDue_date()); + schBaseVehiclematerialgroup.setDue_date(connectorDto.getDueDate()); schBaseVehiclematerialgroup.setPriority(connectorDto.getPriority()); schBaseVehiclematerialgroup.setCreate_name(connectorDto.getCreate_name()); return schBaseVehiclematerialgroup; diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/sorting/SortingSMTTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/sorting/SortingSMTTask.java index 6977de1..64a86c2 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/sorting/SortingSMTTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/sorting/SortingSMTTask.java @@ -15,6 +15,8 @@ import org.nl.common.enums.GoodsEnum; import org.nl.common.enums.region.RegionEnum; import org.nl.common.exception.BadRequestException; import org.nl.system.service.notice.ISysNoticeService; +import org.nl.system.service.param.dao.Param; +import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.wms.ext.acs.service.dto.to.BaseResponse; import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService; import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup; @@ -30,6 +32,7 @@ import org.nl.wms.sch.task_manage.enums.NoticeTypeEnum; import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum; import org.nl.wms.sch.task_manage.task.core.TaskStatus; import org.nl.wms.util.PointUtils; +import org.nl.wms.util.PrintUtil; import org.nl.wms.util.TaskUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -66,6 +69,8 @@ public class SortingSMTTask extends AbstractTask { private ISchBasePointService schBasePointService; @Autowired private ISchBaseVehiclematerialgroupService schBaseVehiclematerialgroupService; + @Autowired + private SysParamServiceImpl sysParamService; @Override protected void create() throws BadRequestException { @@ -97,32 +102,7 @@ public class SortingSMTTask extends AbstractTask { continue; } jsonObject.put("vehicle_type", schBasePoint.getCan_vehicle_type()); - schBaseVehiclematerialgroupService.remove(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class) - .eq(SchBaseVehiclematerialgroup::getVehicle_code, task.getVehicle_code())); - for (Object o : pallet_detail) { - JSONObject jO = (JSONObject) JSONObject.toJSON(o); - String workorder = jO.getString("ProductionOrder"); - String ProductID = jO.getString("ProductID"); - Integer qty = jO.getInteger("Currentqty"); - String Jobname = jO.getString("Jobname"); - String dueDate = jO.getString("DueDate"); - String region_code = jO.getString("NextOperation"); - SchBaseVehiclematerialgroup schBaseVehiclematerialgroup = new SchBaseVehiclematerialgroup(); - schBaseVehiclematerialgroup.setVehicle_code(task.getVehicle_code()); - schBaseVehiclematerialgroup.setPoint_code(schBasePoint.getPoint_code()); - schBaseVehiclematerialgroup.setMaterial_id(ProductID); - schBaseVehiclematerialgroup.setMaterial_qty(qty); - schBaseVehiclematerialgroup.setRegion_code(region_code); - schBaseVehiclematerialgroup.setOrder_code(workorder); - schBaseVehiclematerialgroup.setJob_name(Jobname); - if (StrUtil.isNotEmpty(dueDate) && isValidISO8601(dueDate)) { - dueDate = parseDate(dueDate); - } - schBaseVehiclematerialgroup.setDue_date(dueDate); - schBaseVehiclematerialgroup.setCreate_name("Sorting"); - schBaseVehiclematerialgroup.setExtend(JSON.toJSONString(jO)); - schBaseVehiclematerialgroupService.create(schBaseVehiclematerialgroup); - } + // 设置终点并修改创建成功状态 task.setPoint_code2(schBasePoint.getPoint_code()); @@ -133,6 +113,37 @@ public class SortingSMTTask extends AbstractTask { } } + private void createVehicle(SchBaseTask task, JSONArray pallet_detail, SchBasePoint schBasePoint, String png_palletpath) { + schBaseVehiclematerialgroupService.remove(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class) + .eq(SchBaseVehiclematerialgroup::getVehicle_code, task.getVehicle_code())); + Param sortingFilePath = sysParamService.findByCode(GeneralDefinition.SORTING_FILE_PATH); + for (Object o : pallet_detail) { + JSONObject jO = (JSONObject) JSONObject.toJSON(o); + String workorder = jO.getString("ProductionOrder"); + String ProductID = jO.getString("ProductID"); + Integer qty = jO.getInteger("Currentqty"); + String Jobname = jO.getString("Jobname"); + String dueDate = jO.getString("DueDate"); + String region_code = jO.getString("NextOperation"); + SchBaseVehiclematerialgroup schBaseVehiclematerialgroup = new SchBaseVehiclematerialgroup(); + schBaseVehiclematerialgroup.setVehicle_code(task.getVehicle_code()); + schBaseVehiclematerialgroup.setPoint_code(schBasePoint.getPoint_code()); + schBaseVehiclematerialgroup.setMaterial_id(ProductID); + schBaseVehiclematerialgroup.setMaterial_qty(qty); + schBaseVehiclematerialgroup.setRegion_code(region_code); + schBaseVehiclematerialgroup.setOrder_code(workorder); + schBaseVehiclematerialgroup.setJob_name(Jobname); + schBaseVehiclematerialgroup.setVehicle_path(PrintUtil.imageToByteAndWriteToFile(png_palletpath, sortingFilePath.getValue())); + if (StrUtil.isNotEmpty(dueDate) && isValidISO8601(dueDate)) { + dueDate = parseDate(dueDate); + } + schBaseVehiclematerialgroup.setDue_date(dueDate); + schBaseVehiclematerialgroup.setCreate_name("Sorting"); + schBaseVehiclematerialgroup.setExtend(JSON.toJSONString(jO)); + schBaseVehiclematerialgroupService.create(schBaseVehiclematerialgroup); + } + } + public static boolean isValidISO8601(String dateString) { try { ZonedDateTime.parse(dateString, ISO_8601_FORMATTER); @@ -206,6 +217,11 @@ public class SortingSMTTask extends AbstractTask { .set(SchBasePoint::getPoint_status, GoodsEnum.IN_STOCK.getValue()) ); } + String requestParam = taskObj.getRequest_param(); + JSONObject jsonObject = JSONObject.parseObject(requestParam); + JSONArray pallet_detail = jsonObject.getJSONArray("pallet_detail"); + String png_palletpath = jsonObject.getString("png_palletpath"); + createVehicle(taskObj, pallet_detail, schBasePoint, png_palletpath); // 任务完成 taskObj.setTask_status(TaskStatus.FINISHED.getCode()); taskObj.setRemark(GeneralDefinition.TASK_FINISH); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/vehicle/controller/BmVehicleInfoController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/vehicle/controller/BmVehicleInfoController.java index dfe5306..2f4ff95 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/vehicle/controller/BmVehicleInfoController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/vehicle/controller/BmVehicleInfoController.java @@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; +import java.util.List; /** *

@@ -97,5 +98,14 @@ public class BmVehicleInfoController { vehicleInfoService.excelImport(file, request); return new ResponseEntity<>(HttpStatus.OK); } + + + @GetMapping("/getVehicle") + @Log("获取载具号列表") + public ResponseEntity getVehicles() { + List json = vehicleInfoService.getVehicles(); + return new ResponseEntity<>(json, HttpStatus.OK); + } + } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/vehicle/service/IBmVehicleInfoService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/vehicle/service/IBmVehicleInfoService.java index 864ec5f..481df60 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/vehicle/service/IBmVehicleInfoService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/vehicle/service/IBmVehicleInfoService.java @@ -92,4 +92,10 @@ public interface IBmVehicleInfoService extends IService { JSONObject getVehicle(String code); void excelImport(MultipartFile file, HttpServletRequest request); + + /** + * 获取在列表中的载具信息 + * @return + */ + List getVehicles(); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/vehicle/service/impl/BmVehicleInfoServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/vehicle/service/impl/BmVehicleInfoServiceImpl.java index 721b296..e872f37 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/vehicle/service/impl/BmVehicleInfoServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/vehicle/service/impl/BmVehicleInfoServiceImpl.java @@ -209,4 +209,9 @@ public class BmVehicleInfoServiceImpl extends ServiceImpl getVehicles() { + return baseMapper.selectList(Wrappers.lambdaQuery(BmVehicleInfo.class)); + } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/PrintUtil.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/PrintUtil.java index 73cc2c2..0fdb29b 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/PrintUtil.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/PrintUtil.java @@ -3,6 +3,8 @@ package org.nl.wms.util; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.deepoove.poi.XWPFTemplate; @@ -12,12 +14,18 @@ import com.deepoove.poi.policy.HackLoopTableRenderPolicy; import com.spire.doc.Document; import com.spire.ms.Printing.PrinterSettings; import lombok.extern.slf4j.Slf4j; +import org.nl.common.exception.BadRequestException; +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.sch.group.service.dao.SchBaseVehiclematerialgroup; +import org.nl.wms.sch.task_manage.GeneralDefinition; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.io.*; +import java.net.HttpURLConnection; +import java.net.URL; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Arrays; @@ -73,73 +81,41 @@ public class PrintUtil { } } - public static void main(String[] args) throws IOException { - //加载Word文档 - Document document = new Document(); - // document.loadFromFile("D:\\znxj\\downloadPath\\中.docx"); - document.loadFromFile("C:\\Users\\LENOVO\\Desktop\\1.docx"); - //创建PrinterSettings对象 - PrinterSettings printerSettings = new PrinterSettings(); - //指定物理打印机名称 - printerSettings.setPrinterName("NPI269576"); - //设置打印份数 - printerSettings.setCopies((short) 1); - //设置打印范围 - printerSettings.setFromPage(2); - printerSettings.setToPage(4); - // 设置打印的起始页和结束页为文档的第一页和最后一页 - printerSettings.setFromPage(1); - printerSettings.setToPage(document.getPageCount()); - //应用打印设置 - document.getPrintDocument().setPrinterSettings(printerSettings); - //执行打印 - document.getPrintDocument().print(); - /*XWPFTemplate template = null; - ByteArrayOutputStream wordOut = new ByteArrayOutputStream(1024); + public static String imageToByteAndWriteToFile(String imageUrl, String outputFilePath) { + if (StrUtil.isEmpty(imageUrl)) { + return null; + } + File file = new File(outputFilePath); + if (!file.exists()){ + return null; + } + String fileName = imageUrl.replaceAll(".*/", ""); try { - File file = new File("C:\\Users\\LENOVO\\Desktop\\2.docx"); - FileInputStream fileInputStream = new FileInputStream(file); - //设置占位符: - Configure config = Configure.builder() - .buildGramer("${", "}") //设置模板中的占位符${}, 默认是{{}} - .setValidErrorHandler(new Configure.AbortHandler()) //若模板中占位符与填充属性不对应,则报错; - .bind("list", new HackLoopTableRenderPolicy()) //设置模板中表格的参数属性 - .build(); - JSONObject jsonObject = new JSONObject(); - jsonObject.put("vehicleCode","G001"); - List jsonObjectList = new ArrayList<>(); - JSONObject jsonObject1 = new JSONObject(); - jsonObject1.put("orderCode","23451y4967"); - jsonObject1.put("number","328458732"); - jsonObject1.put("qty","22"); - jsonObject1.put("next","111-11"); - jsonObject1.put("dueDate","2023-12-12 04:00:00"); - jsonObject1.put("index","1"); - JSONObject jsonObject2 = new JSONObject(); - jsonObject2.put("orderCode","23451y496"); - jsonObject2.put("number","32845873"); - jsonObject2.put("qty","23"); - jsonObject2.put("next","111-12"); - jsonObject2.put("dueDate","2023-12-12 05:00:00"); - jsonObject2.put("index","2"); - jsonObjectList.add(jsonObject1); - jsonObjectList.add(jsonObject2); - jsonObject.put("list",jsonObjectList); - //填充文本域: - template = XWPFTemplate.compile(fileInputStream, config).render(jsonObject); -// template.write(wordOut); - template.writeToFile("C:\\Users\\LENOVO\\Desktop\\1.docx"); - }catch (RenderException | IOException ex){ - throw ex; - } finally { - try { - if (template != null){ - template.close(); + URL url = new URL(imageUrl); + HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(); + httpURLConnection.setRequestMethod("GET"); + + try (InputStream inputStream = httpURLConnection.getInputStream(); + FileOutputStream fileOutputStream = new FileOutputStream(outputFilePath + "/" + fileName)) { + + byte[] buffer = new byte[1024]; + int bytesRead; + while ((bytesRead = inputStream.read(buffer)) != -1) { + fileOutputStream.write(buffer, 0, bytesRead); } - } catch (IOException ex) { + } finally { + httpURLConnection.disconnect(); } - }*/ + } catch (IOException e) { + e.printStackTrace(); + } + SysParamServiceImpl sysParamService = SpringContextHolder.getBean(SysParamServiceImpl.class); + Param localHostPost = sysParamService.findByCode(GeneralDefinition.LOCALHOST_POST); + if(ObjectUtil.isEmpty(localHostPost)){ + throw new BadRequestException("图片ip端口号未填写"); + } + return localHostPost.getValue() + "/" + fileName; } diff --git a/lms/nladmin-ui/src/views/wms/produceScreen/index.vue b/lms/nladmin-ui/src/views/wms/produceScreen/index.vue index c146736..d5e8e25 100644 --- a/lms/nladmin-ui/src/views/wms/produceScreen/index.vue +++ b/lms/nladmin-ui/src/views/wms/produceScreen/index.vue @@ -380,6 +380,7 @@ export default { }) } else if (type === 'PALLET') { crudProduceScreen.selectMaterialAndJpg(this.popData.device_code).then(res => { + this.imgSrc = res.vehiclePath this.popList = [...res.materialList] }) this.show = true diff --git a/lms/nladmin-ui/src/views/wms/sch/group/index.vue b/lms/nladmin-ui/src/views/wms/sch/group/index.vue index 1a42537..a30dd2e 100644 --- a/lms/nladmin-ui/src/views/wms/sch/group/index.vue +++ b/lms/nladmin-ui/src/views/wms/sch/group/index.vue @@ -49,23 +49,6 @@ @keyup.enter.native="crud.toQuery" /> - - - - - - - {{ item.point_name }} - {{ item.point_code }} - - - - - - - - - - - - - - - - @@ -438,7 +316,7 @@ export default { idField: 'group_id', sort: 'vehicle_code,desc', optShow: { - add: false, + add: true, edit: true, del: true, download: false, @@ -487,7 +365,7 @@ export default { this.dialogVisible1 = true crudSchBaseVehiclematerialgroup.selectMaterialFile(groupId).then(res => { console.log(res.data) - this.materialFile = res + this.materialFile = 'http://localhost:8081/1.jpg' }) // 在这里处理点击逻辑,例如弹出图片、显示详情等 },