fix: 问题修复,添加打印,托盘显示等功能
This commit is contained in:
@@ -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<ConnectorDto> 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<ConnectorDto> 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)) {
|
||||
|
||||
@@ -103,4 +103,9 @@ public class ConnectorDto {
|
||||
private String priority;
|
||||
|
||||
private String create_name;
|
||||
|
||||
/**
|
||||
* 托盘物料图片
|
||||
*/
|
||||
private String png_palletpath;
|
||||
}
|
||||
|
||||
@@ -303,7 +303,7 @@ public class FabController {
|
||||
if (CollUtil.isEmpty(deviceCodes) && StrUtil.isEmpty(sendVehicleVo.getVehicle_code())) {
|
||||
throw new BadRequestException("请输入设备号或载具号!");
|
||||
}
|
||||
List<String> list = null;
|
||||
List<Map> 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<String> keys = new HashSet<>();
|
||||
HashSet<Map> 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<JSONObject> 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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -144,8 +144,13 @@ public class HandheldController {
|
||||
@GetMapping("/createPointInPointTask")
|
||||
@Log("创建点对点任务")
|
||||
public ResponseEntity<Object> createPointTask(String regionCode) {
|
||||
return new ResponseEntity<>(handheldService.selectPointByRegion(regionCode),HttpStatus.OK);
|
||||
return new ResponseEntity<>(handheldService.selectPointByRegion(regionCode), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@GetMapping("/selectMaterialAndJpg")
|
||||
@Log("查询托盘物料信息")
|
||||
public ResponseEntity<Object> selectMaterialAndJpg(String pointCode) {
|
||||
return new ResponseEntity<>(handheldService.selectMaterialAndJpg(pointCode), HttpStatus.OK);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -113,4 +113,11 @@ public interface HandheldService {
|
||||
* @return
|
||||
*/
|
||||
List<JSONObject> selectPointByRegion(String regionCode);
|
||||
|
||||
/**
|
||||
* 根据当前点位的托盘号查询物料信息
|
||||
* @param pointCode
|
||||
* @return
|
||||
*/
|
||||
JSONObject selectMaterialAndJpg(String pointCode);
|
||||
}
|
||||
|
||||
@@ -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<String> list = new ArrayList<>();
|
||||
list.add(schBasePoint.getVehicle_code());
|
||||
List<Map> maps = iSchBaseVehiclematerialgroupService.selectOrdersByVehicleCode(list);
|
||||
HashSet<Map> 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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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<ConnectorDto> 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<ConnectorDto> connectorDtos, String vehicleCode) {
|
||||
private void createMaterial(List<ConnectorDto> 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);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ public interface ISchBaseVehiclematerialgroupService extends IService<SchBaseVeh
|
||||
* 根据载具号查找订单号
|
||||
* @param vehicle_code
|
||||
*/
|
||||
List<String> selectOrdersByVehicleCode(List<String> vehicle_code);
|
||||
List<Map> selectOrdersByVehicleCode(List<String> vehicle_code);
|
||||
|
||||
/**
|
||||
* 根据载具号查找物料信息
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ public interface SchBaseVehiclematerialgroupMapper extends BaseMapper<SchBaseVeh
|
||||
|
||||
SchBaseVehiclematerialgroup getGroup(JSONObject entity);
|
||||
|
||||
List<String> selectOrders(@Param("list") List<String> vehicleCodes);
|
||||
List<Map> selectOrders(@Param("list") List<String> vehicleCodes);
|
||||
|
||||
List<Map> selectMaterialByVehicleCode(String vehicle_code);
|
||||
|
||||
|
||||
@@ -50,14 +50,7 @@
|
||||
</if>
|
||||
AND vg.group_bind_material_status = '2'
|
||||
</select>
|
||||
<select id="selectOrders" resultType="java.lang.String" parameterType="java.util.List">
|
||||
SELECT sbv.order_code
|
||||
FROM sch_base_vehiclematerialgroup sbv
|
||||
WHERE sbv.vehicle_code IN
|
||||
<foreach item="code" collection="list" open="(" separator="," close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="selectMaterialByVehicleCode" resultType="java.util.Map" parameterType="java.lang.String">
|
||||
SELECT
|
||||
sbv.order_code,
|
||||
@@ -88,11 +81,15 @@
|
||||
<if test="query.job_name != null">
|
||||
AND vg.job_name like CONCAT('%', #{query.job_name}, '%')
|
||||
</if>
|
||||
<if test="query.region_code != null and query.region_code != 1">
|
||||
AND vg.region_code = #{query.region_code}
|
||||
</if>
|
||||
<if test="query.region_code == 1">
|
||||
AND vg.region_code is null
|
||||
<if test="query.region_code != null">
|
||||
<choose>
|
||||
<when test="query.region_code.equals('111-100')">
|
||||
AND vg.region_code is null
|
||||
</when>
|
||||
<otherwise>
|
||||
AND vg.region_code = #{query.region_code}
|
||||
</otherwise>
|
||||
</choose>
|
||||
</if>
|
||||
<if test="query.order_code != null">
|
||||
AND vg.order_code like CONCAT('%', #{query.order_code}, '%')
|
||||
@@ -115,7 +112,20 @@
|
||||
<select id="selectDueDateByVehicleCode" resultType="java.lang.String">
|
||||
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
|
||||
</select>
|
||||
<select id="selectOrders" resultType="java.util.Map">
|
||||
SELECT
|
||||
sbv.order_code,
|
||||
sbv.material_id,
|
||||
sbv.vehicle_path,
|
||||
sbv.material_path
|
||||
FROM sch_base_vehiclematerialgroup sbv
|
||||
WHERE sbv.vehicle_code IN
|
||||
<foreach item="code" collection="list" open="(" separator="," close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -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<SchBaseV
|
||||
private PcOperationCMTask pcOperationCMTask;
|
||||
@Autowired
|
||||
private ISchBasePointService iSchBasePointService;
|
||||
@Autowired
|
||||
private IMdBaseVehicleService iMdBaseVehicleService;
|
||||
|
||||
@Override
|
||||
public IPage<SchBaseVehiclematerialgroup> queryAll(SchBaseVehiclematerialgroupQuery whereJson, PageQuery page) {
|
||||
@@ -127,6 +131,13 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
||||
|
||||
@Override
|
||||
public void update(SchBaseVehiclematerialgroup entity) {
|
||||
if (StrUtil.isNotEmpty(entity.getVehicle_code())) {
|
||||
MdBaseVehicle mdBaseVehicle = iMdBaseVehicleService.getOne(Wrappers.lambdaQuery(MdBaseVehicle.class)
|
||||
.eq(MdBaseVehicle::getVehicle_code, entity.getVehicle_code()));
|
||||
if (ObjectUtil.isEmpty(mdBaseVehicle)) {
|
||||
throw new BadRequestException("托盘号不存在");
|
||||
}
|
||||
}
|
||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
String now = DateUtil.now();
|
||||
@@ -170,7 +181,7 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> selectOrdersByVehicleCode(List<String> vehicle_code) {
|
||||
public List<Map> selectOrdersByVehicleCode(List<String> vehicle_code) {
|
||||
return vehiclematerialgroupMapper.selectOrders(vehicle_code);
|
||||
}
|
||||
|
||||
@@ -186,6 +197,7 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
||||
orderList.put("due_date", order_code.get(0).getDue_date());
|
||||
orderList.put("priority", order_code.get(0).getPriority());
|
||||
orderList.put("material_code", order_code.get(0).getMaterial_id());
|
||||
orderList.put("vehicle_path", order_code.get(0).getVehicle_path());
|
||||
}
|
||||
});
|
||||
maps = maps.stream().sorted(Comparator.comparingLong(order -> {
|
||||
@@ -253,7 +265,7 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
||||
e.printStackTrace();
|
||||
}
|
||||
String url = localhost.getHostAddress() + ":" + 8083 + "/api/file/selectFile";
|
||||
log.info("查询物料路径:{}",url);
|
||||
log.info("查询物料路径:{}", url);
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("path", one.getMaterial_path());
|
||||
return HttpRequest.post(url)
|
||||
|
||||
@@ -77,7 +77,6 @@
|
||||
select point_code, point_name, point_status
|
||||
from sch_base_point
|
||||
where region_code = #{regionCode}
|
||||
and point_type is null
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -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<SchBasePointMapper, Sch
|
||||
List<JSONObject> 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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
// 完成/取消
|
||||
/**
|
||||
* 任务完成
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -97,5 +98,14 @@ public class BmVehicleInfoController {
|
||||
vehicleInfoService.excelImport(file, request);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/getVehicle")
|
||||
@Log("获取载具号列表")
|
||||
public ResponseEntity<Object> getVehicles() {
|
||||
List<BmVehicleInfo> json = vehicleInfoService.getVehicles();
|
||||
return new ResponseEntity<>(json, HttpStatus.OK);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -92,4 +92,10 @@ public interface IBmVehicleInfoService extends IService<BmVehicleInfo> {
|
||||
JSONObject getVehicle(String code);
|
||||
|
||||
void excelImport(MultipartFile file, HttpServletRequest request);
|
||||
|
||||
/**
|
||||
* 获取在列表中的载具信息
|
||||
* @return
|
||||
*/
|
||||
List<BmVehicleInfo> getVehicles();
|
||||
}
|
||||
|
||||
@@ -209,4 +209,9 @@ public class BmVehicleInfoServiceImpl extends ServiceImpl<BmVehicleInfoMapper, B
|
||||
this.save(entity);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BmVehicleInfo> getVehicles() {
|
||||
return baseMapper.selectList(Wrappers.lambdaQuery(BmVehicleInfo.class));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<JSONObject> 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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user