Browse Source

fix: 手持功能

master
李永德 1 year ago
parent
commit
f530e9bfe5
  1. 2
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/WmsToAcsService.java
  2. 6
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/acs/DeviceInfoDto.java
  3. 1
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/wms/AcsResponse.java
  4. 4
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
  5. 8
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java
  6. 5
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/impl/WmsToMesServiceImpl.java
  7. 35
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/impl/PdaServiceImpl.java
  8. 2
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJMKTask.java
  9. 4
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQLTask.java
  10. 2
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/mapper/FJMapper.xml
  11. 1
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNMLTask.java
  12. 2
      lms/nladmin-system/nlsso-server/src/main/resources/config/application.yml

2
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/WmsToAcsService.java

@ -42,5 +42,5 @@ public interface WmsToAcsService {
* @param list
* @return
*/
ResultForAcs getDeviceStatusByCode(List<DeviceInfoDto> list);
AcsResponse getDeviceStatusByCode(List<DeviceInfoDto> list);
}

6
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/acs/DeviceInfoDto.java

@ -10,4 +10,10 @@ import lombok.Data;
@Data
public class DeviceInfoDto {
private String device_code;
public static DeviceInfoDto buildDevice(String device_code) {
DeviceInfoDto infoDto = new DeviceInfoDto();
infoDto.setDevice_code(device_code);
return infoDto;
}
}

1
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/dto/to/wms/AcsResponse.java

@ -14,6 +14,7 @@ import org.nl.wms.ext.acs.service.dto.to.BaseResponse;
@Data
public class AcsResponse extends BaseResponse {
private JSONArray errArr = new JSONArray();
private JSONArray data = new JSONArray();
public static AcsResponse requestRefuse(String message) {
AcsResponse result = new AcsResponse();

4
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java

@ -423,7 +423,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
}
/**
* 申请贴标
* 申请贴标 - 打印唛头
*/
@Override
public ApplyTaskResponse applyLabelling(JSONObject param) {
@ -595,7 +595,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
mesMudConsumptionDto.setOUT_FINNUM(one.getMaterial_weight());
mesMudConsumptionDto.setPRESSUNIT(devicePoint.getExt_point_code());
mesMudConsumptionDto.setFBAGCODE(one.getExt_data());
mesMudConsumptionDto.setLOGT("仓库未知");
mesMudConsumptionDto.setLOGT("配料仓");
mesMudConsumptionDto.setSENDTIM(DateUtil.now());
mesMudConsumptionDto.setCREATE_TM(DateUtil.now());
mesMudConsumptionDto.setOP_FLAG(GeneralDefinition.NO);

8
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java

@ -57,11 +57,11 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
}
@Override
public ResultForAcs getDeviceStatusByCode(List<DeviceInfoDto> list) {
String api = ""; // todo: 地址未确认
ResultForAcs resultForAcs = AcsUtil.notifyAcs(api, list);
public AcsResponse getDeviceStatusByCode(List<DeviceInfoDto> list) {
String api = "/api/wms/querydevice"; // todo: 地址未确认
AcsResponse resultForAcs = AcsUtil.notifyAcs2(api, list);
// 记录日志
interactRecordService.saveRecord("获取设备状态", list, resultForAcs, GeneralDefinition.LMS_ACS);
interactRecordService.saveRecord("获取设备信息", list, resultForAcs, GeneralDefinition.LMS_ACS);
return resultForAcs;
}
}

5
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/impl/WmsToMesServiceImpl.java

@ -206,7 +206,10 @@ public class WmsToMesServiceImpl implements WmsToMesService {
// 获取工单
PdmBdWorkorder workorder = pdmBdWorkorderService.getByCode(workorderCode);
String extData = workorder.getExt_data();
MesWorkOrderDto mesWorkOrderDto = JSON.parseObject(extData, MesWorkOrderDto.class);
MesWorkOrderDto mesWorkOrderDto = new MesWorkOrderDto();
if (ObjectUtil.isNotEmpty(extData)) {
mesWorkOrderDto = JSON.parseObject(extData, MesWorkOrderDto.class);
}
log.info("获取MES给的工单数据:{}", mesWorkOrderDto);
MesSemiProductionInfoOutDto semiProductionInfoOutDto = new MesSemiProductionInfoOutDto();
semiProductionInfoOutDto.setMSGID(IdUtil.getSnowflake(1, 1).nextIdStr());

35
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/impl/PdaServiceImpl.java

@ -3,12 +3,16 @@ package org.nl.wms.pda.service.impl;
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 lombok.extern.slf4j.Slf4j;
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.ext.acs.service.WmsToAcsService;
import org.nl.wms.ext.acs.service.dto.to.acs.DeviceInfoDto;
import org.nl.wms.ext.acs.service.dto.to.wms.AcsResponse;
import org.nl.wms.pda.service.PdaService;
import org.nl.wms.pda.service.dao.dto.*;
import org.nl.wms.pda.service.dao.mapper.PdaMapper;
@ -30,6 +34,7 @@ import org.nl.wms.util.TaskUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
@ -54,6 +59,8 @@ public class PdaServiceImpl implements PdaService {
private ISchBaseTaskService taskService;
@Autowired
private IPdmBdVehicleBindingService vehicleBindingService;
@Autowired
private WmsToAcsService wmsToAcsService;
@Override
public List<DropdownListVo> getDeviceInfo() {
// 暂定压机区域
@ -120,20 +127,18 @@ public class PdaServiceImpl implements PdaService {
if (ObjectUtil.isEmpty(blendingMoveDto.getStart_point_code())) {
throw new BadRequestException("混碾位不能为空");
}
// if (ObjectUtil.isEmpty(blendingMoveDto.getEnd_point_code())) {
// throw new BadRequestException("目标压机位不能为空");
// }
// 获取压机对应的困料线、空位、无任务
// SchBasePoint point = pdaMapper.findKLXPoint(blendingMoveDto.getEnd_point_code());
// if (ObjectUtil.isEmpty(point)) {
// throw new BadRequestException("创建失败,已有搬运到【" + blendingMoveDto.getEnd_point_code() + "】的任务, 请稍后在试!");
// }
// todo: 1、向acs获取吨袋号、重量
// 向acs获取吨袋号、重量
SchBasePoint basePoint = pointService.getById(blendingMoveDto.getStart_point_code());
List<DeviceInfoDto> list = new ArrayList<>();
list.add(DeviceInfoDto.buildDevice(basePoint.getParent_point_code()));
AcsResponse statusByCode = wmsToAcsService.getDeviceStatusByCode(list);
JSONArray data = statusByCode.getData();
JSONObject object = data.getJSONObject(0);
// 准备参数:设备编码、载具号、载具类型、重量、吨袋号(material_code)
JSONObject param = new JSONObject();
param.put("device_code", blendingMoveDto.getStart_point_code());
param.put("material_code", "吨袋号");
param.put("weight", "0");
param.put("material_code", object.getString("material_code"));
param.put("weight", object.getString("weight"));
param.put("vehicle_code", blendingMoveDto.getVehicle_code());
param.put("vehicle_type", GeneralDefinition.MATERIAL_CUP);
param.put("requestNo", IdUtil.simpleUUID());
@ -216,6 +221,10 @@ public class PdaServiceImpl implements PdaService {
JSONObject param = new JSONObject();
param.put("device_code", "RGCDW01");
param.put("config_code", "FJSKTask");
// 获取载具类型和载具编码
SchBasePoint rgcdw01 = pointService.getById("RGCDW01");
param.put("vehicle_code", rgcdw01.getVehicle_code());
param.put("vehicle_type", GeneralDefinition.STEEL_TRAY);
taskService.apply(param);
return PdaResponseVo.pdaResultOk("空盘入库请求成功");
}
@ -282,7 +291,7 @@ public class PdaServiceImpl implements PdaService {
// 准备参数:设备编码
JSONObject param = new JSONObject();
param.put("device_code", "RGMDW01");
param.put("config_code", "FJMLTask");
param.put("config_code", "RGFJRKTask");
param.put("qty", manualResidueInDto.getQty());
param.put("vehicle_code", manualResidueInDto.getVehicle_code());
param.put("vehicle_qty", "1");
@ -292,7 +301,7 @@ public class PdaServiceImpl implements PdaService {
@Override
public List<TaskShowVo> packingTaskShow() {
return pdaMapper.getRunningTaskByStart("RGMDW01", "FJMLTask");
return pdaMapper.getRunningTaskByStart("RGMDW01", "RGFJRKTask");
}
@Override

2
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJMKTask.java

@ -287,7 +287,7 @@ public class FJMKTask extends AbstractTask {
groupEntity.setGroup_bind_material_status(GroupBindMaterialStatusEnum.BOUND.getValue()); // 绑定
groupEntity.setGroup_status(GroupStatusEnum.IN_STORAGE.getType()); // 暂时不维护。
groupEntity.setIs_delete(false);
groupEntity.setIs_full(isFull.equals(GeneralDefinition.YES) ? true : false);
groupEntity.setIs_full(isFull.equals(GeneralDefinition.YES));
vehiclematerialgroupService.saveOrUpdate(groupEntity);
// 返回组盘id记录任务中
return groupEntity.getGroup_id();

4
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJQLTask.java

@ -232,8 +232,8 @@ public class FJQLTask extends AbstractTask {
processTracking.setRecord_time(DateUtil.now());
processTrackingService.create(processTracking);
// 终点设置对应的参数
endPointObj.setVehicle_code(startPointObj.getVehicle_code());
endPointObj.setVehicle_type(startPointObj.getVehicle_type());
endPointObj.setVehicle_code(vehicleMaterialGroupObj.getVehicle_code());
endPointObj.setVehicle_type(vehicleMaterialGroupObj.getVehicle_type());
endPointObj.setPoint_status(PointStatusEnum.EMPTY_VEHICLE.getCode());
PointUtils.setUpdateByType(endPointObj, taskFinishedType);
pointService.updateById(endPointObj);

2
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/mapper/FJMapper.xml

@ -14,7 +14,7 @@
AND p.point_status = '3'
AND vg.is_firing = true
AND vg.material_id = #{materialId}
AND TIMESTAMPDIFF(MINUTE, vg.instorage_time, NOW()) > ma.cooling_time
AND TIMESTAMPDIFF(MINUTE, vg.instorage_time, NOW()) >= ma.cooling_time
AND p.region_code IN
<foreach collection="regionCode" item="code" separator="," open="(" close=")">
#{code}

1
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNMLTask.java

@ -193,7 +193,6 @@ public class HNMLTask extends AbstractTask {
private SchBasePoint findNextPoint(List<String> nextRegionStr, JSONObject requestParam) {
// *: 混碾无工单
String materialCode = requestParam.getString("material_code"); // 混碾编码
materialCode = "GBMAC3";
Assert.notNull(materialCode, "物料编码不能为空!");
// 根据工单物料标识寻找点位
List<SchBasePoint> points = hnMapper.findPointForHNMLAndWorkOrder(nextRegionStr, materialCode);

2
lms/nladmin-system/nlsso-server/src/main/resources/config/application.yml

@ -42,7 +42,7 @@ spring:
freemarker:
check-template-location: false
profiles:
active: prod
active: dev
jackson:
time-zone: GMT+8
data:

Loading…
Cancel
Save