fix:退料/退空桶
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package org.nl.wms.ext_manage.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;
|
||||
@@ -11,6 +12,7 @@ import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.common.utils.CodeUtil;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.basedata_manage.service.IMdMeMaterialbaseService;
|
||||
import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService;
|
||||
@@ -130,10 +132,16 @@ public class MesToWmsServiceImpl implements MesToWmsService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public MesResponse callMaterial(MesCallMaterialRequestDto dto) {
|
||||
log.info("MES下发设备叫料信息输入参数:-------------------: {}", dto);
|
||||
|
||||
RLock lock = redissonClient.getLock(dto.getTask_code());
|
||||
boolean tryLock = lock.tryLock(1, TimeUnit.SECONDS);
|
||||
try {
|
||||
if (tryLock) {
|
||||
|
||||
if(dto.getIsManual() != null && dto.getIsManual()){
|
||||
dto.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
|
||||
}
|
||||
|
||||
String pointCode = dto.getDevice_code();
|
||||
SchBasePoint outPoint = pointService.getById(pointCode);
|
||||
if (null == outPoint) {
|
||||
@@ -392,6 +400,10 @@ public class MesToWmsServiceImpl implements MesToWmsService {
|
||||
if (tryLock) {
|
||||
log.info("MES下发设备退料信息输入参数:--------------------------------------" + MesResponse.requestOk());
|
||||
|
||||
if(dto.getIsManual() != null && dto.getIsManual()){
|
||||
dto.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
|
||||
}
|
||||
|
||||
//根据料桶号去载具表匹配料桶类型
|
||||
MdPbStoragevehicleinfo mdPbStoragevehicleinfo = iMdPbStoragevehicleinfoService.getByCode(dto.getVehicle_code());
|
||||
|
||||
@@ -405,13 +417,36 @@ public class MesToWmsServiceImpl implements MesToWmsService {
|
||||
throw new BadRequestException("未找到载具编码为" + dto.getVehicle_code() + "的载具入库库区,请检查字典中是否维护!");
|
||||
}
|
||||
|
||||
//查询库区
|
||||
Sectattr sectattr = sectattrService.findByCode(dict.getPara1());
|
||||
//通过
|
||||
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("vehicle_code",dto.getVehicle_code());
|
||||
param.put("site_code",dto.getDevice_code());
|
||||
param.put("sect_id",sectattr.getSect_id());
|
||||
pdaIosInService.confirmIn(param);
|
||||
if(dto.getIsManual() != null && dto.getIsManual()){
|
||||
param.put("create_mode", "手动" );
|
||||
} else{
|
||||
param.put("create_mode", "自动" );
|
||||
}
|
||||
param.put("task_code", dto.getTask_code());
|
||||
//退料
|
||||
if("1".equals(dto.getTask_type())){
|
||||
param.put("sect_code",sectattr.getSect_code());
|
||||
param.put("vehicle_code",dto.getVehicle_code());
|
||||
param.put("storagevehicle_code", param.getString("vehicle_code"));
|
||||
|
||||
param.put("qty","1");
|
||||
param.put("stor_id",sectattr.getStor_id());
|
||||
pdaIosInService.confirmReturnMaterial(param);
|
||||
|
||||
} else if("2".equals(dto.getTask_type())){
|
||||
//退空桶
|
||||
param.put("vehicle_code",dto.getVehicle_code());
|
||||
param.put("site_code",dto.getDevice_code());
|
||||
param.put("sect_id",sectattr.getSect_id());
|
||||
param.put("sect_code",sectattr.getSect_code());
|
||||
pdaIosInService.vehicleInConfirm(param);
|
||||
} else{
|
||||
throw new BadRequestException("任务类型有误!请传入1或2");
|
||||
}
|
||||
return MesResponse.requestOk();
|
||||
} else {
|
||||
throw new BadRequestException("任务标识为:" + dto.getTask_code() + "的任务正在操作中!");
|
||||
|
||||
@@ -443,7 +443,7 @@ public class PdaIosInServiceImpl implements PdaIosInService {
|
||||
params.put("material_code", whereJson.getString("material_code"));
|
||||
params.put("qty", whereJson.getString("qty"));
|
||||
params.put("pcsn", whereJson.getString("pcsn"));
|
||||
Structattr attrDao = iRawAssistIStorService.getStructattr(whereJson);
|
||||
Structattr attrDao = iRawAssistIStorService.getStructattr(params);
|
||||
//确定起点
|
||||
SchBasePoint schBasePoint = iSchBasePointService.getOne(new LambdaQueryWrapper<SchBasePoint>().eq(SchBasePoint::getPoint_code, whereJson.getString("site_code")));
|
||||
if (ObjectUtil.isEmpty(schBasePoint)) {
|
||||
|
||||
@@ -10,6 +10,7 @@ import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.IdUtil;;
|
||||
import org.nl.wms.basedata_manage.service.IStructattrService;
|
||||
import org.nl.wms.basedata_manage.service.dao.Structattr;
|
||||
import org.nl.wms.ext_manage.service.WmsToMesService;
|
||||
import org.nl.wms.sch_manage.enums.TaskStatus;
|
||||
import org.nl.wms.sch_manage.service.ISchBasePointService;
|
||||
import org.nl.wms.sch_manage.service.ISchBaseTaskService;
|
||||
@@ -23,6 +24,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @Author: Liuxy
|
||||
* @Description: 余料回库类
|
||||
@@ -50,11 +53,22 @@ public class BackInTask extends AbstractTask {
|
||||
@Autowired
|
||||
private IStructattrService iStructattrService;
|
||||
|
||||
/**
|
||||
* WMS回传MES
|
||||
*/
|
||||
@Autowired
|
||||
private WmsToMesService wmsToMesService;
|
||||
|
||||
|
||||
@Override
|
||||
public String create(JSONObject json) {
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
task.setTask_id(IdUtil.getStringId());
|
||||
task.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
|
||||
if(json.containsKey("task_code")){
|
||||
task.setTask_code(json.getString("task_code"));
|
||||
} else {
|
||||
task.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
|
||||
}
|
||||
task.setTask_status(TaskStatus.CREATE.getCode());
|
||||
task.setConfig_code(json.getString("config_code"));
|
||||
task.setPoint_code1(json.getString("point_code1"));
|
||||
@@ -155,6 +169,14 @@ public class BackInTask extends AbstractTask {
|
||||
taskObj.setRemark("已完成");
|
||||
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||
taskService.updateById(taskObj);
|
||||
|
||||
//如果是自动的,回调MES接口,将task_code传给mes
|
||||
if("自动".equals(taskObj.getCreate_mode())){
|
||||
JSONObject jsonObject=new JSONObject();
|
||||
jsonObject.put("status",200);
|
||||
jsonObject.put("message","成功");
|
||||
wmsToMesService.uploadMes(jsonObject);
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@@ -170,5 +192,13 @@ public class BackInTask extends AbstractTask {
|
||||
taskObj.setRemark("已取消");
|
||||
taskObj.setTask_status(TaskStatus.CANCELED.getCode());
|
||||
taskService.updateById(taskObj);
|
||||
|
||||
//反馈到MES系统
|
||||
if("自动".equals(taskObj.getCreate_mode())){
|
||||
JSONObject jsonObject=new JSONObject();
|
||||
jsonObject.put("status",400);
|
||||
jsonObject.put("message","任务被取消");
|
||||
wmsToMesService.uploadMes(jsonObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.IdUtil;;
|
||||
import org.nl.wms.basedata_manage.service.IStructattrService;
|
||||
import org.nl.wms.basedata_manage.service.dao.Structattr;
|
||||
import org.nl.wms.ext_manage.service.WmsToMesService;
|
||||
import org.nl.wms.sch_manage.enums.TaskStatus;
|
||||
import org.nl.wms.sch_manage.service.ISchBasePointService;
|
||||
import org.nl.wms.sch_manage.service.ISchBaseTaskService;
|
||||
@@ -50,11 +51,21 @@ public class VehicleInTask extends AbstractTask {
|
||||
@Autowired
|
||||
private IStructattrService iStructattrService;
|
||||
|
||||
/**
|
||||
* WMS回传MES
|
||||
*/
|
||||
@Autowired
|
||||
private WmsToMesService wmsToMesService;
|
||||
|
||||
@Override
|
||||
public String create(JSONObject json) {
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
task.setTask_id(IdUtil.getStringId());
|
||||
task.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
|
||||
if(json.containsKey("task_code")){
|
||||
task.setTask_code(json.getString("task_code"));
|
||||
} else {
|
||||
task.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
|
||||
}
|
||||
task.setTask_status(TaskStatus.CREATE.getCode());
|
||||
task.setConfig_code(json.getString("config_code"));
|
||||
task.setPoint_code1(json.getString("point_code1"));
|
||||
@@ -156,6 +167,14 @@ public class VehicleInTask extends AbstractTask {
|
||||
taskObj.setRemark("已完成");
|
||||
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||
taskService.updateById(taskObj);
|
||||
|
||||
//如果是自动的,回调MES接口,将task_code传给mes
|
||||
if("自动".equals(taskObj.getCreate_mode())){
|
||||
JSONObject jsonObject=new JSONObject();
|
||||
jsonObject.put("status",200);
|
||||
jsonObject.put("message","成功");
|
||||
wmsToMesService.uploadMes(jsonObject);
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@@ -171,5 +190,13 @@ public class VehicleInTask extends AbstractTask {
|
||||
taskObj.setRemark("已取消");
|
||||
taskObj.setTask_status(TaskStatus.CANCELED.getCode());
|
||||
taskService.updateById(taskObj);
|
||||
|
||||
//反馈到MES系统
|
||||
if("自动".equals(taskObj.getCreate_mode())){
|
||||
JSONObject jsonObject=new JSONObject();
|
||||
jsonObject.put("status",400);
|
||||
jsonObject.put("message","任务被取消");
|
||||
wmsToMesService.uploadMes(jsonObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -245,7 +245,7 @@ public class DownEmptyUpFullTask extends AbstractTask {
|
||||
//反馈到MES系统
|
||||
if("自动".equals(taskObj.getCreate_mode())){
|
||||
JSONObject jsonObject=new JSONObject();
|
||||
jsonObject.put("status","200");
|
||||
jsonObject.put("status",200);
|
||||
jsonObject.put("message","成功");
|
||||
wmsToMesService.uploadMes(jsonObject);
|
||||
}
|
||||
@@ -303,7 +303,7 @@ public class DownEmptyUpFullTask extends AbstractTask {
|
||||
//反馈到MES系统
|
||||
if("自动".equals(taskObj.getCreate_mode())){
|
||||
JSONObject jsonObject=new JSONObject();
|
||||
jsonObject.put("status","400");
|
||||
jsonObject.put("status",400);
|
||||
jsonObject.put("message","任务被取消");
|
||||
wmsToMesService.uploadMes(jsonObject);
|
||||
}
|
||||
|
||||
@@ -181,7 +181,7 @@ public class SeparateMaterialTask extends AbstractTask {
|
||||
//反馈到MES系统
|
||||
if("自动".equals(taskObj.getCreate_mode())){
|
||||
JSONObject jsonObject=new JSONObject();
|
||||
jsonObject.put("status","200");
|
||||
jsonObject.put("status",200);
|
||||
jsonObject.put("message","成功");
|
||||
wmsToMesService.uploadMes(jsonObject);
|
||||
}
|
||||
@@ -238,7 +238,7 @@ public class SeparateMaterialTask extends AbstractTask {
|
||||
//反馈到MES系统
|
||||
if("自动".equals(taskObj.getCreate_mode())){
|
||||
JSONObject jsonObject=new JSONObject();
|
||||
jsonObject.put("status","400");
|
||||
jsonObject.put("status",400);
|
||||
jsonObject.put("message","任务被取消");
|
||||
wmsToMesService.uploadMes(jsonObject);
|
||||
}
|
||||
|
||||
@@ -31,7 +31,6 @@ public class MesManualBackMaterialRequestDto {
|
||||
|
||||
private String remark;
|
||||
|
||||
@NotBlank(message = "任务号不可为空")
|
||||
private String task_code;
|
||||
|
||||
@NotBlank(message = "任务类型不可为空")
|
||||
|
||||
@@ -27,7 +27,6 @@ public class MesManualCallMaterialRequestDto {
|
||||
|
||||
private String remark;
|
||||
|
||||
@NotBlank(message = "任务号不可为空")
|
||||
private String task_code;
|
||||
|
||||
@NotBlank(message = "任务类型不可为空")
|
||||
|
||||
Reference in New Issue
Block a user