opt:修复NDC断联消息通知;
This commit is contained in:
@@ -12,29 +12,29 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.basedata_manage.enums.BaseDataEnum;
|
||||
import org.nl.wms.sch_manage.enums.StatusEnum;
|
||||
import org.nl.wms.sch_manage.enums.TaskStatus;
|
||||
import org.nl.wms.sch_manage.service.ISchBasePointService;
|
||||
import org.nl.wms.sch_manage.service.ISchBaseTaskService;
|
||||
import org.nl.wms.sch_manage.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch_manage.service.dao.SchBaseTask;
|
||||
import org.nl.wms.sch_manage.service.dao.mapper.SchBaseTaskMapper;
|
||||
import org.nl.wms.sch_manage.service.dto.SchBaseTaskQuery;
|
||||
import org.nl.wms.sch_manage.service.util.AbstractTask;
|
||||
import org.nl.wms.sch_manage.service.util.TaskFactory;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.impl.OutBillServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* @author Liuxy
|
||||
@@ -45,6 +45,9 @@ import java.util.stream.Stream;
|
||||
@Service
|
||||
public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBaseTask> implements ISchBaseTaskService {
|
||||
|
||||
@Autowired
|
||||
private OutBillServiceImpl outBillServiceImpl;
|
||||
|
||||
@Autowired
|
||||
private SchBaseTaskMapper schBaseTaskMapper;
|
||||
|
||||
@@ -70,6 +73,9 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void update(SchBaseTask entity) {
|
||||
|
||||
@@ -110,6 +110,7 @@ public class StInTask extends AbstractTask {
|
||||
if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) {
|
||||
throw new BadRequestException("该任务已取消!");
|
||||
}
|
||||
taskObj.setUpdate_time(DateUtil.now());
|
||||
// 根据传来的类型去对任务进行操作
|
||||
if (status.equals(TaskStatus.EXECUTING)) {
|
||||
taskObj.setTask_status(TaskStatus.EXECUTING.getCode());
|
||||
@@ -133,7 +134,8 @@ public class StInTask extends AbstractTask {
|
||||
}
|
||||
rawAssistIStorService.taskFinish(taskObj);
|
||||
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||
taskObj.setRemark("已完成");
|
||||
taskObj.setUpdate_time(DateUtil.now());
|
||||
taskObj.setRemark("该任务由人工操作手动完成");
|
||||
taskService.updateById(taskObj);
|
||||
}
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.common.utils.IdUtil;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.IdUtil;;
|
||||
import org.nl.wms.basedata_manage.enums.BaseDataEnum;
|
||||
import org.nl.wms.sch_manage.enums.TaskStatus;
|
||||
import org.nl.wms.sch_manage.service.ISchBaseTaskService;
|
||||
@@ -25,6 +25,8 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
;
|
||||
|
||||
/**
|
||||
* @Author: Liuxy
|
||||
* @Description: 入库任务类
|
||||
@@ -94,6 +96,7 @@ public class StOutTask extends AbstractTask {
|
||||
if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) {
|
||||
throw new BadRequestException("该任务已取消!");
|
||||
}
|
||||
taskObj.setUpdate_time(DateUtil.now());
|
||||
// 根据传来的类型去对任务进行操作
|
||||
if (status.equals(TaskStatus.EXECUTING)) {
|
||||
taskObj.setTask_status(TaskStatus.EXECUTING.getCode());
|
||||
@@ -114,7 +117,9 @@ public class StOutTask extends AbstractTask {
|
||||
if (ObjectUtil.isEmpty(taskObj)) {
|
||||
throw new BadRequestException("该任务不存在");
|
||||
}
|
||||
this.finishTask(taskObj);
|
||||
taskObj.setUpdate_time(DateUtil.now());
|
||||
taskObj.setRemark("该任务由人工操作手动完成");
|
||||
this.finishTask(taskObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -49,23 +49,23 @@ public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> impleme
|
||||
|
||||
@Override
|
||||
public IPage<SysLog> queryAll(Map whereJson, PageQuery pageable) {
|
||||
String blurry = ObjectUtil.isNotEmpty(whereJson.get("blurry"))?whereJson.get("blurry").toString():null;
|
||||
String log_type = ObjectUtil.isNotEmpty(whereJson.get("log_type"))?whereJson.get("log_type").toString():null;
|
||||
String username = ObjectUtil.isNotEmpty(whereJson.get("username"))?whereJson.get("username").toString():null;
|
||||
String begin_time = ObjectUtil.isNotEmpty(whereJson.get("begin_time"))?whereJson.get("begin_time").toString():null;
|
||||
String end_time = ObjectUtil.isNotEmpty(whereJson.get("end_time"))?whereJson.get("end_time").toString():null;
|
||||
String blurry = ObjectUtil.isNotEmpty(whereJson.get("blurry")) ? whereJson.get("blurry").toString() : null;
|
||||
String log_type = ObjectUtil.isNotEmpty(whereJson.get("log_type")) ? whereJson.get("log_type").toString() : null;
|
||||
String username = ObjectUtil.isNotEmpty(whereJson.get("username")) ? whereJson.get("username").toString() : null;
|
||||
String begin_time = ObjectUtil.isNotEmpty(whereJson.get("begin_time")) ? whereJson.get("begin_time").toString() : null;
|
||||
String end_time = ObjectUtil.isNotEmpty(whereJson.get("end_time")) ? whereJson.get("end_time").toString() : null;
|
||||
LambdaQueryWrapper<SysLog> lam = new LambdaQueryWrapper<>();
|
||||
lam.eq(ObjectUtil.isNotEmpty(log_type), SysLog::getLog_type, log_type)
|
||||
.eq(ObjectUtil.isNotEmpty(username), SysLog::getUsername, username)
|
||||
.le(ObjectUtil.isNotEmpty(end_time), SysLog::getCreate_time, end_time)
|
||||
.ge(ObjectUtil.isNotEmpty(begin_time), SysLog::getCreate_time, begin_time)
|
||||
.and(wrapper -> {
|
||||
wrapper.like(ObjectUtil.isNotEmpty(blurry), SysLog::getDescription, blurry)
|
||||
.or()
|
||||
.like(ObjectUtil.isNotEmpty(blurry), SysLog::getParams, blurry);
|
||||
})
|
||||
.and(ObjectUtil.isNotEmpty(blurry), wrapper ->
|
||||
wrapper.like(SysLog::getDescription, blurry)
|
||||
.or()
|
||||
.like(SysLog::getParams, blurry)
|
||||
)
|
||||
.orderByDesc(SysLog::getCreate_time);
|
||||
IPage<SysLog> page = new Page<>(pageable.getPage()+1, pageable.getSize());
|
||||
IPage<SysLog> page = new Page<>(pageable.getPage() + 1, pageable.getSize());
|
||||
logMapper.selectPage(page, lam);
|
||||
return page;
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import org.nl.wms.basedata_manage.service.dao.Structattr;
|
||||
import org.nl.wms.sch_manage.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch_manage.service.dao.SchBaseTask;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInv;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.dto.TOWMSMSG;
|
||||
import org.nl.wms.warehouse_manage.service.dto.GroupPlateDto;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDtlDto;
|
||||
@@ -69,4 +70,5 @@ public interface IInBillService extends IService<IOStorInv> {
|
||||
|
||||
IOStorInv getByCode(String bill_code);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -53,6 +53,7 @@ import org.nl.wms.warehouse_manage.service.dto.GroupPlateDto;
|
||||
import org.nl.wms.warehouse_manage.service.impl.MdPbGroupplateServiceImpl;
|
||||
import org.nl.wms.wbwms.service.IWmsToWmsService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
@@ -1065,7 +1066,8 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
|
||||
List<JSONObject> tableData = new ArrayList<>();
|
||||
tableData.add(jo);
|
||||
towmsmsg.setTableData(tableData);
|
||||
iWmsToWmsService.FinishOutTask(towmsmsg);
|
||||
//iWmsToWmsService.FinishOutTask(towmsmsg);
|
||||
notifyWmsAsync(towmsmsg);
|
||||
}
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -1111,7 +1113,8 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
|
||||
List<JSONObject> tableData=new ArrayList<>();
|
||||
tableData.add(jo);
|
||||
towmsmsg.setTableData(tableData);
|
||||
iWmsToWmsService.FinishOutTask(towmsmsg);
|
||||
notifyWmsAsync(towmsmsg);
|
||||
// iWmsToWmsService.FinishOutTask(towmsmsg);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1167,4 +1170,12 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
|
||||
);
|
||||
return one;
|
||||
}
|
||||
/**
|
||||
* 异步回传WMS
|
||||
*/
|
||||
@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
|
||||
public void notifyWmsAsync(TOWMSMSG task) {
|
||||
// 调用WMS接口
|
||||
iWmsToWmsService.FinishOutTask(task);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.log4j.Log4j;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
@@ -38,6 +37,8 @@ import org.nl.wms.sch_manage.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch_manage.service.dao.SchBaseTask;
|
||||
import org.nl.wms.sch_manage.service.dao.mapper.SchBasePointMapper;
|
||||
import org.nl.wms.sch_manage.service.util.tasks.StOutTask;
|
||||
import org.nl.wms.system_manage.service.logging.dao.SysLog;
|
||||
import org.nl.wms.system_manage.service.logging.dao.mapper.SysLogMapper;
|
||||
import org.nl.wms.warehouse_manage.enums.IOSConstant;
|
||||
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.IOutBillService;
|
||||
@@ -50,11 +51,15 @@ import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvMapper;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDtlDto;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.dto.TOWMSMSG;
|
||||
import org.nl.wms.warehouse_manage.record.service.dao.StIvtStructivtflow;
|
||||
import org.nl.wms.warehouse_manage.record.service.dao.mapper.StIvtStructivtflowMapper;
|
||||
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
|
||||
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
|
||||
import org.nl.wms.warehouse_manage.service.dao.mapper.MdPbGroupplateMapper;
|
||||
import org.nl.wms.wbwms.service.IWmsToWmsService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -71,11 +76,13 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> implements IOutBillService {
|
||||
|
||||
public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> implements IOutBillService {
|
||||
@Autowired
|
||||
private SysLogMapper logMapper;
|
||||
@Resource
|
||||
private IOStorInvMapper ioStorInvMapper;
|
||||
|
||||
@Autowired
|
||||
private StIvtStructivtflowMapper stIvtStructivtflowMapper;
|
||||
@Resource
|
||||
private IOStorInvDisMapper ioStorInvDisMapper;
|
||||
|
||||
@@ -1347,6 +1354,60 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
|
||||
}
|
||||
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void taskFinish1(SchBaseTask task) {
|
||||
List<IOStorInvDis> disList = ioStorInvDisMapper.selectList(new LambdaQueryWrapper<>(IOStorInvDis.class)
|
||||
.eq(IOStorInvDis::getTask_id, task.getTask_id())
|
||||
);
|
||||
if (ObjectUtil.isEmpty(disList)) {
|
||||
return;
|
||||
}
|
||||
IOStorInvDis item = disList.get(0);
|
||||
//获取出入库单标识
|
||||
String iostorinv_id = item.getIostorinv_id();
|
||||
IOStorInv ioStorInv = ioStorInvMapper.selectOne(new LambdaQueryWrapper<IOStorInv>().eq(IOStorInv::getIostorinv_id, iostorinv_id));
|
||||
if (ObjectUtil.isEmpty(ioStorInv)) {
|
||||
return;
|
||||
}
|
||||
String source_name = ioStorInv.getSource_name();
|
||||
//回传给wms
|
||||
TOWMSMSG towmsmsg = new TOWMSMSG();
|
||||
towmsmsg.setType("1");
|
||||
towmsmsg.setBill_code(source_name);
|
||||
towmsmsg.setStatus("200");
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("storagevehicle_code", task.getVehicle_code());
|
||||
jo.put("struct_name", task.getPoint_code2());
|
||||
jo.put("struct_code", task.getPoint_code2());
|
||||
List<StIvtStructivtflow> list = stIvtStructivtflowMapper.selectList(
|
||||
new LambdaQueryWrapper<StIvtStructivtflow>()
|
||||
.eq(StIvtStructivtflow::getVehicle_code, task.getVehicle_code())
|
||||
.eq(StIvtStructivtflow::getGrowth, false)
|
||||
.orderByDesc(StIvtStructivtflow::getUpdate_time)
|
||||
);
|
||||
if (ObjectUtil.isNotEmpty(list)) {
|
||||
MdMeMaterialbase mdMeMaterialbase = mdMeMaterialbaseMapper.selectOne(new LambdaQueryWrapper<MdMeMaterialbase>().eq(MdMeMaterialbase::getMaterial_id, list.get(0).getMaterial_id()));
|
||||
if (ObjectUtil.isNotEmpty(mdMeMaterialbase)) {
|
||||
jo.put("material_name", mdMeMaterialbase.getMaterial_name());
|
||||
jo.put("material_code", mdMeMaterialbase.getMaterial_code());
|
||||
jo.put("qty", list.get(0).getQty());
|
||||
} else {
|
||||
jo.put("material_name", "");
|
||||
jo.put("material_code", "");
|
||||
jo.put("qty", "");
|
||||
}
|
||||
} else {
|
||||
jo.put("material_name", "");
|
||||
jo.put("material_code", "");
|
||||
jo.put("qty", "");
|
||||
}
|
||||
List<JSONObject> tableData = new ArrayList<>();
|
||||
tableData.add(jo);
|
||||
towmsmsg.setTableData(tableData);
|
||||
// iWmsToWmsService.FinishOutTask(towmsmsg);
|
||||
notifyWmsAsync(towmsmsg);
|
||||
}
|
||||
|
||||
/**
|
||||
* 任务完成,减库存
|
||||
* 1.解锁库位
|
||||
@@ -1406,7 +1467,20 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
|
||||
point_code2.setPoint_status(PointStatusEnum.FULL_POINT.getCode());
|
||||
point_code2.setLock_up(false);
|
||||
iSchBasePointService.update(point_code2);
|
||||
log.info("任务号:{}完成,解锁库位:{}", task.getTask_code(),point_code2);
|
||||
log.info("任务号:{}完成,解锁库位:{}", task.getTask_code(), point_code2);
|
||||
//日志记录
|
||||
SysLog logDto = new SysLog();
|
||||
logDto.setRequest_ip("localhost");
|
||||
logDto.setAddress("localhost");
|
||||
logDto.setMethod("taskFinish");
|
||||
logDto.setUsername("");
|
||||
logDto.setDescription("操作成功!");
|
||||
logDto.setBrowser("browser");
|
||||
logDto.setLog_id(cn.hutool.core.util.IdUtil.getSnowflake(1, 1).nextIdStr());
|
||||
logDto.setCreate_time(DateUtil.now());
|
||||
logDto.setLog_type("INFO");
|
||||
logDto.setParams("任务完成:" + task.getTask_code() + ",解锁库位成功:-------------------" + point_code2);
|
||||
logMapper.insert(logDto);
|
||||
//库存变动:根据冻结数更新物料库存
|
||||
StructattrChangeDto changeDto = StructattrChangeDto.builder()
|
||||
.inv(item.getIostorinv_id())
|
||||
@@ -1415,8 +1489,8 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
|
||||
iStructattrService.changeStruct(changeDto);
|
||||
// 查询该明细下是否还有未完成的分配明细
|
||||
int countDis = ioStorInvDisMapper.selectCount(new LambdaQueryWrapper<>(IOStorInvDis.class)
|
||||
.eq(IOStorInvDis::getIostorinvdtl_id,item.getIostorinvdtl_id())
|
||||
.ne(IOStorInvDis::getWork_status,IOSEnum.INBILL_DIS_STATUS.code("完成"))
|
||||
.eq(IOStorInvDis::getIostorinvdtl_id, item.getIostorinvdtl_id())
|
||||
.ne(IOStorInvDis::getWork_status, IOSEnum.INBILL_DIS_STATUS.code("完成"))
|
||||
);
|
||||
// 明细
|
||||
IOStorInvDtl ioStorInvDtl = ioStorInvDtlMapper.selectById(item.getIostorinvdtl_id());
|
||||
@@ -1446,25 +1520,26 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
|
||||
}
|
||||
}
|
||||
//回传给wms
|
||||
TOWMSMSG towmsmsg=new TOWMSMSG();
|
||||
TOWMSMSG towmsmsg = new TOWMSMSG();
|
||||
towmsmsg.setType("1");
|
||||
towmsmsg.setBill_code(source_name);
|
||||
towmsmsg.setStatus("200");
|
||||
JSONObject jo=new JSONObject();
|
||||
jo.put("storagevehicle_code",task.getVehicle_code());
|
||||
jo.put("struct_name",task.getPoint_code2());
|
||||
jo.put("struct_code",task.getPoint_code2());
|
||||
// GroupPlate groupPlate=mdPbGroupplateMapper.selectOne(new LambdaQueryWrapper<GroupPlate>()
|
||||
// .eq(GroupPlate::getStatus,IOSEnum.GROUP_PLATE_STATUS.code("出库"))
|
||||
// .eq(GroupPlate::getStoragevehicle_code,task.getVehicle_code()));
|
||||
// MdMeMaterialbase mdMeMaterialbase=mdMeMaterialbaseMapper.selectOne(new LambdaQueryWrapper<MdMeMaterialbase>().eq(MdMeMaterialbase::getMaterial_id,groupPlate.getMaterial_id()));
|
||||
// jo.put("material_name",mdMeMaterialbase.getMaterial_name());
|
||||
// jo.put("material_code",mdMeMaterialbase.getMaterial_code());
|
||||
// jo.put("qty",groupPlate.getQty());
|
||||
// List<JSONObject> tableData=new ArrayList<>();
|
||||
// tableData.add(jo);
|
||||
// towmsmsg.setTableData(tableData);
|
||||
// iWmsToWmsService.FinishOutTask(towmsmsg);
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("storagevehicle_code", task.getVehicle_code());
|
||||
jo.put("struct_name", task.getPoint_code2());
|
||||
jo.put("struct_code", task.getPoint_code2());
|
||||
GroupPlate groupPlate = mdPbGroupplateMapper.selectOne(new LambdaQueryWrapper<GroupPlate>()
|
||||
.eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库"))
|
||||
.eq(GroupPlate::getStoragevehicle_code, task.getVehicle_code()));
|
||||
MdMeMaterialbase mdMeMaterialbase = mdMeMaterialbaseMapper.selectOne(new LambdaQueryWrapper<MdMeMaterialbase>().eq(MdMeMaterialbase::getMaterial_id, groupPlate.getMaterial_id()));
|
||||
jo.put("material_name", mdMeMaterialbase.getMaterial_name());
|
||||
jo.put("material_code", mdMeMaterialbase.getMaterial_code());
|
||||
jo.put("qty", groupPlate.getQty());
|
||||
List<JSONObject> tableData = new ArrayList<>();
|
||||
tableData.add(jo);
|
||||
towmsmsg.setTableData(tableData);
|
||||
// iWmsToWmsService.FinishOutTask(towmsmsg);
|
||||
notifyWmsAsync(towmsmsg);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1502,19 +1577,31 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
|
||||
String iostorinv_id = item.getIostorinv_id();
|
||||
IOStorInv ioStorInv = ioStorInvMapper.selectOne(new LambdaQueryWrapper<IOStorInv>().eq(IOStorInv::getIostorinv_id, iostorinv_id));
|
||||
String source_name = ioStorInv.getSource_name();
|
||||
TOWMSMSG towmsmsg=new TOWMSMSG();
|
||||
TOWMSMSG towmsmsg = new TOWMSMSG();
|
||||
towmsmsg.setType("1");
|
||||
towmsmsg.setBill_code(source_name);
|
||||
towmsmsg.setStatus("4");
|
||||
JSONObject jo=new JSONObject();
|
||||
jo.put("storagevehicle_code",task.getVehicle_code());
|
||||
List<JSONObject> tableData=new ArrayList<>();
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("storagevehicle_code", task.getVehicle_code());
|
||||
List<JSONObject> tableData = new ArrayList<>();
|
||||
tableData.add(jo);
|
||||
towmsmsg.setTableData(tableData);
|
||||
iWmsToWmsService.FinishOutTask(towmsmsg);
|
||||
// iWmsToWmsService.FinishOutTask(towmsmsg);
|
||||
notifyWmsAsync(towmsmsg);
|
||||
}
|
||||
|
||||
/**
|
||||
* 异步回传WMS
|
||||
*/
|
||||
@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
|
||||
public void notifyWmsAsync(TOWMSMSG task) {
|
||||
// 调用WMS接口
|
||||
iWmsToWmsService.FinishOutTask(task);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public IOStorInv getByCode(String bill_code){
|
||||
public IOStorInv getByCode(String bill_code) {
|
||||
IOStorInv one = this.getOne(
|
||||
new QueryWrapper<IOStorInv>().lambda()
|
||||
.eq(IOStorInv::getBill_code, bill_code)
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package org.nl.wms.wbwms.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
@@ -10,6 +12,8 @@ import org.nl.config.SpringContextHolder;
|
||||
import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase;
|
||||
import org.nl.wms.basedata_manage.service.dao.mapper.MdMeMaterialbaseMapper;
|
||||
import org.nl.wms.system_manage.enums.SysParamConstant;
|
||||
import org.nl.wms.system_manage.service.logging.dao.SysLog;
|
||||
import org.nl.wms.system_manage.service.logging.dao.mapper.SysLogMapper;
|
||||
import org.nl.wms.system_manage.service.param.dao.Param;
|
||||
import org.nl.wms.system_manage.service.param.impl.SysParamServiceImpl;
|
||||
import org.nl.wms.warehouse_manage.enums.IOSConstant;
|
||||
@@ -29,6 +33,9 @@ import java.time.LocalDateTime;
|
||||
public class IWmsToWmsServiceImpl implements IWmsToWmsService {
|
||||
@Autowired
|
||||
MdMeMaterialbaseMapper mdMeMaterialbaseMapper;
|
||||
@Autowired
|
||||
private SysLogMapper logMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public JSONObject ObtainMateria() {
|
||||
@@ -80,7 +87,7 @@ public class IWmsToWmsServiceImpl implements IWmsToWmsService {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
JSONObject result;
|
||||
JSONObject result = new JSONObject();
|
||||
// 系统参数类
|
||||
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(towmsmsg), JSONObject.class);
|
||||
log.info("FinishOutTask请求参数是:-------------------" + jsonObject.toString());
|
||||
@@ -93,8 +100,33 @@ public class IWmsToWmsServiceImpl implements IWmsToWmsService {
|
||||
result = JSONObject.parseObject(resultMsg);
|
||||
log.info("FinishOutTask接口输出参数为:-------------------" + result.toString());
|
||||
} catch (Exception e) {
|
||||
throw new BadRequestException("WMS inishOutTask接口提示错误:" + e.getMessage());
|
||||
SysLog logDto = new SysLog();
|
||||
logDto.setRequest_ip(wmsUrl);
|
||||
logDto.setAddress(wmsUrl);
|
||||
logDto.setMethod("FinishOutTask");
|
||||
logDto.setUsername("MES");
|
||||
logDto.setDescription("回传异常!");
|
||||
logDto.setBrowser("browser");
|
||||
logDto.setLog_id(IdUtil.getSnowflake(1, 1).nextIdStr());
|
||||
logDto.setCreate_time(DateUtil.now());
|
||||
logDto.setLog_type("ERROR");
|
||||
logDto.setParams("WMS inishOutTask接口提示错误,请求参数:" + jsonObject + ",错误信息:" + e.getMessage());
|
||||
logMapper.insert(logDto);
|
||||
log.error("WMS inishOutTask接口提示错误:" + e.getMessage());
|
||||
// throw new BadRequestException("WMS inishOutTask接口提示错误:" + e.getMessage());
|
||||
}
|
||||
SysLog logDto = new SysLog();
|
||||
logDto.setRequest_ip(wmsUrl);
|
||||
logDto.setAddress(wmsUrl);
|
||||
logDto.setMethod("FinishOutTask");
|
||||
logDto.setUsername("MES");
|
||||
logDto.setDescription("回传成功!");
|
||||
logDto.setBrowser("browser");
|
||||
logDto.setLog_id(IdUtil.getSnowflake(1, 1).nextIdStr());
|
||||
logDto.setCreate_time(DateUtil.now());
|
||||
logDto.setLog_type("INFO");
|
||||
logDto.setParams("反馈mes系统成功!参数为:-------------------" + jsonObject.toString());
|
||||
logMapper.insert(logDto);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -394,36 +394,36 @@ public class WmsToIWmsServiceImpl implements WmsToIWmsService {
|
||||
@Transactional
|
||||
public WmstoIWmsResponse outBillTask(JSONObject parm) {
|
||||
log.info("WMS 出库请求参数参数为:-------------------" + parm.toString());
|
||||
if ("1002".equals(parm.getString("bill_type"))) {
|
||||
int count = iSchBaseTaskService.count(new LambdaQueryWrapper<SchBaseTask>()
|
||||
.and(w -> w.like(SchBaseTask::getPoint_code2, "BCPRK6")
|
||||
.or()
|
||||
.like(SchBaseTask::getPoint_code2, "BCPCK6"))
|
||||
.lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode())
|
||||
);
|
||||
if (count > 0) {
|
||||
throw new BadRequestException("CNC区域有出库或入库任务未完成,请检查!");
|
||||
}
|
||||
//CNC出库区
|
||||
List<SchBasePoint> regionCode = iSchBasePointService.list(new LambdaQueryWrapper<SchBasePoint>()
|
||||
.like(SchBasePoint::getPoint_code, "BCPCK6")
|
||||
.eq(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_POINT.getCode())
|
||||
.eq(SchBasePoint::getLock_up, "0")
|
||||
.eq(SchBasePoint::getIs_used, "1")
|
||||
.orderByDesc(SchBasePoint::getOut_order_seq)
|
||||
);
|
||||
if (ObjectUtils.isEmpty(regionCode)) {
|
||||
throw new BadRequestException("当前库区无可用点位");
|
||||
}
|
||||
String finishCode = regionCode.get(0).getPoint_code();
|
||||
SchBasePoint schBasePoint;
|
||||
schBasePoint = iSchBasePointService.getByCode(finishCode);
|
||||
schBasePoint.setLock_up(true);
|
||||
iSchBasePointService.update(schBasePoint);
|
||||
parm.put("point_code2", finishCode);
|
||||
}
|
||||
WmstoIWmsResponse result = new WmstoIWmsResponse();
|
||||
RedissonUtils.lock(() -> {
|
||||
if ("1002".equals(parm.getString("bill_type"))) {
|
||||
int count = iSchBaseTaskService.count(new LambdaQueryWrapper<SchBaseTask>()
|
||||
.and(w -> w.like(SchBaseTask::getPoint_code2, "BCPRK6")
|
||||
.or()
|
||||
.like(SchBaseTask::getPoint_code2, "BCPCK6"))
|
||||
.lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode())
|
||||
);
|
||||
if (count > 0) {
|
||||
throw new BadRequestException("CNC区域有出库或入库任务未完成,请检查!");
|
||||
}
|
||||
//CNC出库区
|
||||
List<SchBasePoint> regionCode = iSchBasePointService.list(new LambdaQueryWrapper<SchBasePoint>()
|
||||
.like(SchBasePoint::getPoint_code, "BCPCK6")
|
||||
.eq(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_POINT.getCode())
|
||||
.eq(SchBasePoint::getLock_up, "0")
|
||||
.eq(SchBasePoint::getIs_used, "1")
|
||||
.orderByDesc(SchBasePoint::getOut_order_seq)
|
||||
);
|
||||
if (ObjectUtils.isEmpty(regionCode)) {
|
||||
throw new BadRequestException("当前库区无可用点位");
|
||||
}
|
||||
String finishCode = regionCode.get(0).getPoint_code();
|
||||
SchBasePoint schBasePoint;
|
||||
schBasePoint = iSchBasePointService.getByCode(finishCode);
|
||||
schBasePoint.setLock_up(true);
|
||||
iSchBasePointService.update(schBasePoint);
|
||||
parm.put("point_code2", finishCode);
|
||||
}
|
||||
JSONArray tableData = parm.getJSONArray("tableData");
|
||||
if (CollectionUtils.isEmpty(tableData)) {
|
||||
throw new BadRequestException("tableData 不能为空");
|
||||
@@ -451,7 +451,7 @@ public class WmsToIWmsServiceImpl implements WmsToIWmsService {
|
||||
if (!storage_code.equals(structattr.getStoragevehicle_code())) {
|
||||
throw new BadRequestException("该仓位存放托盘与所传托盘的编码不对" + "传入的托盘号:" + storage_code + ",现在存放的托盘号:" + structattr.getStoragevehicle_code());
|
||||
}
|
||||
if (!"0".equals(structattr.getLock_type())) {
|
||||
if (!"0".equals(structattr.getLock_type())&&StringUtils.isBlank(structattr.getStor_type())) {
|
||||
throw new BadRequestException("传入点位有任务:" + turnout_struct_code);
|
||||
}
|
||||
if (structattr.getLayer_num() > 3 && "1002".equals(parm.getString("bill_type"))) {
|
||||
@@ -476,8 +476,8 @@ public class WmsToIWmsServiceImpl implements WmsToIWmsService {
|
||||
parm.put("point_code",stuct_code);
|
||||
parm.put("region_code","CKQ");
|
||||
iOutBillService.allSetPoint(parm);
|
||||
// data.put("bill_code",iostorinv_id);
|
||||
// data.put("turnout_destination_code",pointCode);
|
||||
// data.put("bill_code",iostorinv_id);
|
||||
// data.put("turnout_destination_code",pointCode);
|
||||
result.setCode(String.valueOf(HttpStatus.OK.value()));
|
||||
result.setMsg("出库任务生成成功");
|
||||
result.setTotalElements(0);
|
||||
|
||||
Reference in New Issue
Block a user