add:增加CNC区域业务;
This commit is contained in:
@@ -27,6 +27,7 @@ import org.nl.wms.basedata_manage.service.dto.StrategyStructMaterialVO;
|
||||
import org.nl.wms.basedata_manage.service.dto.StrategyStructParam;
|
||||
import org.nl.wms.pda_manage.ios_manage.service.PdaIosOutService;
|
||||
import org.nl.wms.pda_manage.util.PdaResponse;
|
||||
import org.nl.wms.sch_manage.enums.PointStatusEnum;
|
||||
import org.nl.wms.sch_manage.enums.StatusEnum;
|
||||
import org.nl.wms.sch_manage.enums.TaskEnum;
|
||||
import org.nl.wms.sch_manage.service.ISchBasePointService;
|
||||
@@ -420,10 +421,10 @@ public class PdaIosOutServiceImpl implements PdaIosOutService {
|
||||
throw new BadRequestException("当前货架已绑定在站点:" + sitePoint.getPoint_code() + ",请先解绑。");
|
||||
}
|
||||
wrapper.set(SchBasePoint::getVehicle_code, whereJson.getString("shelfCode"))
|
||||
.set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("有货"));
|
||||
.set(SchBasePoint::getPoint_status, PointStatusEnum.FULL_POINT.getCode());
|
||||
} else {
|
||||
wrapper.set(SchBasePoint::getVehicle_code, null)
|
||||
.set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("无货"));
|
||||
.set(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_POINT.getCode());
|
||||
}
|
||||
wrapper.set(SchBasePoint::getUpdate_time, DateUtil.now())
|
||||
.set(SchBasePoint::getUpdate_name, SecurityUtils.getCurrentNickName());
|
||||
|
||||
@@ -12,6 +12,7 @@ import org.nl.wms.basedata_manage.service.dao.Structattr;
|
||||
import org.nl.wms.ext_manage.service.util.AcsResponse;
|
||||
import org.nl.wms.pda_manage.sch_manage.service.PdaSchTaskService;
|
||||
import org.nl.wms.pda_manage.util.PdaResponse;
|
||||
import org.nl.wms.sch_manage.enums.PointStatusEnum;
|
||||
import org.nl.wms.sch_manage.enums.TaskEnum;
|
||||
import org.nl.wms.sch_manage.service.ISchBasePointService;
|
||||
import org.nl.wms.sch_manage.service.dao.SchBasePoint;
|
||||
@@ -138,7 +139,7 @@ public class PdaSchTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
|
||||
attrDao.setLock_type(IOSEnum.LOCK_TYPE.code("其他锁"));
|
||||
iStructattrService.updateById(attrDao);
|
||||
} else {
|
||||
pointStartDao.setPoint_status(IOSEnum.POINT_STATUS.code("有货"));
|
||||
pointStartDao.setPoint_status(PointStatusEnum.FULL_POINT.getCode());
|
||||
iSchBasePointService.updateById(pointStartDao);
|
||||
}
|
||||
|
||||
@@ -149,7 +150,7 @@ public class PdaSchTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
|
||||
attrDao.setLock_type(IOSEnum.LOCK_TYPE.code("其他锁"));
|
||||
iStructattrService.updateById(attrDao);
|
||||
} else {
|
||||
pointEndDao.setPoint_status(IOSEnum.POINT_STATUS.code("有货"));
|
||||
pointEndDao.setPoint_status(PointStatusEnum.FULL_POINT.getCode());
|
||||
iSchBasePointService.updateById(pointEndDao);
|
||||
}
|
||||
// 校验载具
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -127,23 +128,28 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
String now = DateUtil.now();
|
||||
entity.setUpdate_id(currentUserId);
|
||||
entity.setUpdate_name(nickName);
|
||||
entity.setUpdate_time(now);
|
||||
// 获取region_name
|
||||
SchBaseRegion baseRegion = regionMapper.selectById(entity.getRegion_code());
|
||||
entity.setRegion_name(baseRegion.getRegion_name());
|
||||
LambdaUpdateWrapper<SchBasePoint> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(SchBasePoint::getPoint_code, entity.getPoint_code())
|
||||
.set(SchBasePoint::getUpdate_id, currentUserId)
|
||||
.set(SchBasePoint::getPoint_status, entity.getPoint_status())
|
||||
.set(SchBasePoint::getVehicle_code, entity.getVehicle_code())
|
||||
.set(SchBasePoint::getUpdate_name, nickName)
|
||||
.set(SchBasePoint::getUpdate_time, now)
|
||||
.set(SchBasePoint::getRegion_name, baseRegion.getRegion_name());
|
||||
if (ObjectUtil.isNotEmpty(entity.getCan_vehicle_types())) {
|
||||
String can_vehicle_type = String.join(",", entity.getCan_vehicle_types());
|
||||
entity.setCan_vehicle_type(can_vehicle_type);
|
||||
wrapper.set(SchBasePoint::getCan_vehicle_type, String.join(",", entity.getCan_vehicle_types()));
|
||||
}
|
||||
String pointStatus = entity.getPoint_status();
|
||||
// 根据点位状态来判断更新内容
|
||||
String pointStatus = entity.getPoint_status();
|
||||
if (ObjectUtil.isNotEmpty(pointStatus) && pointStatus.equals(PointStatusEnum.EMPTY_POINT.getCode())) {
|
||||
entity.setVehicle_type("");
|
||||
entity.setVehicle_code("");
|
||||
wrapper.set(SchBasePoint::getVehicle_code, (String) null);
|
||||
wrapper.set(SchBasePoint::getLock_up, false);
|
||||
}else if (ObjectUtil.isNotEmpty(pointStatus) && pointStatus.equals(PointStatusEnum.FULL_POINT.getCode())) {
|
||||
wrapper.set(SchBasePoint::getLock_up, true);
|
||||
}
|
||||
pointMapper.updateById(entity);
|
||||
pointMapper.update(null, wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -85,6 +85,8 @@ public class SchBaseRegionServiceImpl extends ServiceImpl<SchBaseRegionMapper, S
|
||||
@Override
|
||||
public void relse() {
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -111,7 +111,13 @@ public class AutoTask {
|
||||
List<SchBaseTask> allTaskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getIs_delete, IOSConstant.IS_DELETE_NO)
|
||||
.lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode()));
|
||||
Map<Boolean, List<SchBaseTask>> partition1 = allTaskList.stream()
|
||||
List<SchBaseTask> cnTaskList = allTaskList.stream().filter(r ->(r.getPoint_code2().startsWith("BCPRK6")||r.getPoint_code2().startsWith("BCPCK6"))&&(!TaskStatus.CREATE.getCode().equals(r.getTask_status()))).collect(Collectors.toList());
|
||||
if (cnTaskList.size() >0) {
|
||||
//只能存在一个
|
||||
allTaskList.removeIf(r -> (r.getPoint_code2().startsWith("BCPRK6") || r.getPoint_code2().startsWith("BCPCK6"))
|
||||
&& TaskStatus.CREATE.getCode().equals(r.getTask_status()));
|
||||
}
|
||||
Map<Boolean, List<SchBaseTask>> partition1 = allTaskList.stream()
|
||||
.collect(Collectors.partitioningBy(task -> TaskStatus.CREATE.getCode().equals(task.getTask_status())));
|
||||
//生成状态任务
|
||||
List<SchBaseTask> taskList = partition1.get(true);
|
||||
@@ -184,6 +190,12 @@ public class AutoTask {
|
||||
List<SchBaseTask> allTaskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getIs_delete, IOSConstant.IS_DELETE_NO)
|
||||
.lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode()));
|
||||
List<SchBaseTask> cnTaskList = allTaskList.stream().filter(r ->(r.getPoint_code2().startsWith("BCPRK6")||r.getPoint_code2().startsWith("BCPCK6"))&&(!TaskStatus.CREATE.getCode().equals(r.getTask_status()))).collect(Collectors.toList());
|
||||
if (cnTaskList.size() >0) {
|
||||
//只能存在一个
|
||||
allTaskList.removeIf(r -> (r.getPoint_code2().startsWith("BCPRK6") || r.getPoint_code2().startsWith("BCPCK6"))
|
||||
&& TaskStatus.CREATE.getCode().equals(r.getTask_status()));
|
||||
}
|
||||
Map<Boolean, List<SchBaseTask>> partition1 = allTaskList.stream()
|
||||
.collect(Collectors.partitioningBy(task -> TaskStatus.CREATE.getCode().equals(task.getTask_status())));
|
||||
//生成状态任务
|
||||
|
||||
@@ -11,6 +11,7 @@ import org.nl.common.utils.IdUtil;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.basedata_manage.service.IStructattrService;
|
||||
import org.nl.wms.basedata_manage.service.dao.Structattr;
|
||||
import org.nl.wms.sch_manage.enums.PointStatusEnum;
|
||||
import org.nl.wms.sch_manage.enums.TaskStatus;
|
||||
import org.nl.wms.sch_manage.service.ISchBasePointService;
|
||||
import org.nl.wms.sch_manage.service.ISchBaseTaskService;
|
||||
@@ -174,7 +175,7 @@ public class CheckMoveTask extends AbstractTask {
|
||||
iSchBasePointService.update(
|
||||
new UpdateWrapper<SchBasePoint>().lambda()
|
||||
.set(SchBasePoint::getVehicle_code, taskObj.getVehicle_code())
|
||||
.set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("有货"))
|
||||
.set(SchBasePoint::getPoint_status, PointStatusEnum.FULL_POINT.getCode())
|
||||
.eq(SchBasePoint::getPoint_code, taskObj.getPoint_code2())
|
||||
.set(SchBasePoint::getIng_task_code, taskObj.getTask_id())
|
||||
);
|
||||
@@ -182,7 +183,6 @@ public class CheckMoveTask extends AbstractTask {
|
||||
// 更新盘点明细状态
|
||||
dtlDao.setStatus(IOSEnum.CHECK_DTL_STATUS.code("盘点中"));
|
||||
iStIvtCheckdtlService.updateById(dtlDao);
|
||||
|
||||
// 更新主表状态
|
||||
iStIvtCheckmstService.updateMst(dtlDao.getCheck_id());
|
||||
|
||||
|
||||
@@ -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.sch_manage.enums.PointStatusEnum;
|
||||
import org.nl.wms.sch_manage.enums.TaskStatus;
|
||||
import org.nl.wms.sch_manage.service.ISchBasePointService;
|
||||
import org.nl.wms.sch_manage.service.ISchBaseTaskService;
|
||||
@@ -77,6 +78,7 @@ public class PdaPointTask extends AbstractTask {
|
||||
AcsTaskDto acsTaskDto = new AcsTaskDto();
|
||||
acsTaskDto.setExt_task_uuid(taskDao.getTask_id());
|
||||
acsTaskDto.setTask_code(taskDao.getTask_code());
|
||||
acsTaskDto.setVehicle_code(taskDao.getVehicle_code());
|
||||
acsTaskDto.setStart_device_code(taskDao.getPoint_code1());
|
||||
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
|
||||
acsTaskDto.setPriority(taskDao.getPriority());
|
||||
@@ -142,7 +144,7 @@ public class PdaPointTask extends AbstractTask {
|
||||
.eq(SchBasePoint::getPoint_code, taskObj.getPoint_code1())
|
||||
.set(SchBasePoint::getVehicle_code, null)
|
||||
.set(SchBasePoint::getIos_id, null)
|
||||
.set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("无货"))
|
||||
.set(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_POINT.getCode())
|
||||
);
|
||||
iStructattrService.update(
|
||||
new UpdateWrapper<Structattr>().lambda()
|
||||
@@ -157,7 +159,7 @@ public class PdaPointTask extends AbstractTask {
|
||||
.eq(SchBasePoint::getPoint_code, taskObj.getPoint_code2())
|
||||
.set(SchBasePoint::getVehicle_code, taskObj.getVehicle_code())
|
||||
.set(SchBasePoint::getIos_id, null)
|
||||
.set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("有货"))
|
||||
.set(SchBasePoint::getPoint_status, PointStatusEnum.FULL_POINT.getCode())
|
||||
);
|
||||
iStructattrService.update(
|
||||
new UpdateWrapper<Structattr>().lambda()
|
||||
@@ -178,7 +180,7 @@ public class PdaPointTask extends AbstractTask {
|
||||
iSchBasePointService.update(
|
||||
new UpdateWrapper<SchBasePoint>().lambda()
|
||||
.eq(SchBasePoint::getPoint_code, taskObj.getPoint_code1())
|
||||
.set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("无货"))
|
||||
.set(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_POINT.getCode())
|
||||
);
|
||||
iStructattrService.update(
|
||||
new UpdateWrapper<Structattr>().lambda()
|
||||
@@ -189,7 +191,7 @@ public class PdaPointTask extends AbstractTask {
|
||||
iSchBasePointService.update(
|
||||
new UpdateWrapper<SchBasePoint>().lambda()
|
||||
.eq(SchBasePoint::getPoint_code, taskObj.getPoint_code2())
|
||||
.set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("无货"))
|
||||
.set(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_POINT.getCode())
|
||||
);
|
||||
iStructattrService.update(
|
||||
new UpdateWrapper<Structattr>().lambda()
|
||||
|
||||
@@ -1192,18 +1192,21 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
|
||||
}
|
||||
MdPbStoragevehicletype mdPbStoragevehicletype = iMdPbStoragevehicletypeService.getOutVehicleType(mdPbStoragevehicleinfo.getStoragevehicle_type());
|
||||
car_width = mdPbStoragevehicletype.getCar_width();
|
||||
}else{
|
||||
car_type="1";
|
||||
} else {
|
||||
car_type = "1";
|
||||
}
|
||||
String pointCode2 = StringUtils.isBlank(whereJson.getString("point_code2")) ? IOSConstant.CKFPW_POINT_CODE : whereJson.getString("point_code2");
|
||||
//CNC区域只能用PS20
|
||||
car_type = pointCode2.contains("BCPCK6") ? "1" : car_type;
|
||||
//创建任务
|
||||
JSONObject task_form = new JSONObject();
|
||||
task_form.put("task_type", "STOutTask");
|
||||
task_form.put("TaskCode",CodeUtil.getNewCode("TASK_CODE"));
|
||||
task_form.put("TaskCode", CodeUtil.getNewCode("TASK_CODE"));
|
||||
task_form.put("PickingLocation", struct_code);
|
||||
task_form.put("PlacedLocation", IOSConstant.CKFPW_POINT_CODE);
|
||||
task_form.put("PlacedLocation", pointCode2);
|
||||
task_form.put("vehicle_code", item.getStoragevehicle_code());
|
||||
task_form.put("car_type",car_type);
|
||||
task_form.put("car_width",car_width);
|
||||
task_form.put("car_type", car_type);
|
||||
task_form.put("car_width", car_width);
|
||||
task_form.put("priority", whereJson.getString("priority"));
|
||||
StOutTask stOutTask = SpringContextHolder.getBean("STOutTask");
|
||||
String task_id = stOutTask.create(task_form);
|
||||
|
||||
@@ -2,15 +2,19 @@ package org.nl.wms.wbwms.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaIgnore;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.common.logging.annotation.Log;
|
||||
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.wbwms.service.WmsToIWmsService;
|
||||
import org.nl.wms.wbwms.service.dto.WmstoIWmsResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
@@ -79,7 +83,20 @@ public class WmsToIWmscontroller {
|
||||
@Log("WMS移库任务推送")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> moveTask(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(wmsToIWmsService.moveTask(param), HttpStatus.OK);
|
||||
WmstoIWmsResponse wmsToIWmsResponse;
|
||||
JSONArray tableData = param.getJSONArray("tableData");
|
||||
if (ObjectUtils.isEmpty(tableData)) {
|
||||
throw new BadRequestException("物料tableData不能为空");
|
||||
}
|
||||
String qty = tableData.getJSONObject(0).getString("qty");
|
||||
if (!"0".equals(qty)) {
|
||||
//移库
|
||||
wmsToIWmsResponse = wmsToIWmsService.moveTask(param);
|
||||
} else {
|
||||
//点对点
|
||||
wmsToIWmsResponse = wmsToIWmsService.movePointTask(param);
|
||||
}
|
||||
return new ResponseEntity<>(wmsToIWmsResponse, HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/checkBill")
|
||||
@Log("WMS盘点任务推送")
|
||||
|
||||
@@ -16,5 +16,7 @@ public interface WmsToIWmsService {
|
||||
WmstoIWmsResponse inventory (JSONObject param);
|
||||
|
||||
WmstoIWmsResponse moveTask(JSONObject param);
|
||||
|
||||
WmstoIWmsResponse movePointTask(JSONObject parm);
|
||||
WmstoIWmsResponse checkBillTask(JSONObject param);
|
||||
}
|
||||
|
||||
@@ -5,8 +5,10 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.common.utils.CodeUtil;
|
||||
@@ -21,12 +23,16 @@ import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo;
|
||||
import org.nl.wms.basedata_manage.service.dao.Structattr;
|
||||
import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleinfoMapper;
|
||||
import org.nl.wms.sch_manage.enums.PointStatusEnum;
|
||||
import org.nl.wms.sch_manage.enums.TaskEnum;
|
||||
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.mapper.SchBasePointMapper;
|
||||
import org.nl.wms.sch_manage.service.dao.SchBaseTask;
|
||||
import org.nl.wms.sch_manage.service.util.tasks.CheckInTask;
|
||||
import org.nl.wms.sch_manage.service.util.tasks.CheckOutTask;
|
||||
import org.nl.wms.sch_manage.service.util.tasks.MoveTask;
|
||||
import org.nl.wms.sch_manage.service.util.tasks.PdaPointTask;
|
||||
import org.nl.wms.warehouse_manage.enums.IOSConstant;
|
||||
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService;
|
||||
@@ -45,7 +51,6 @@ import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@@ -64,8 +69,10 @@ public class WmsToIWmsServiceImpl implements WmsToIWmsService {
|
||||
private GroupController groupController;
|
||||
@Autowired
|
||||
private IOStorInvDisMapper ioStorInvDisMapper;
|
||||
@Resource
|
||||
private SchBasePointMapper schBasePointMapper;
|
||||
@Autowired
|
||||
private PdaPointTask pdaPointTask;
|
||||
@Autowired
|
||||
private ISchBaseTaskService iSchBaseTaskService;
|
||||
@Autowired
|
||||
IInBillService iInBillService;
|
||||
@Autowired
|
||||
@@ -357,6 +364,7 @@ public class WmsToIWmsServiceImpl implements WmsToIWmsService {
|
||||
pointData.put("barcode", StringUtils.isBlank(point.getVehicle_code()) ? "" : point.getVehicle_code());
|
||||
pointData.put("point_code", point.getPoint_code());
|
||||
pointData.put("status", point.getPoint_status().equals(PointStatusEnum.EMPTY_POINT.getCode()) && StringUtils.isBlank(point.getVehicle_code()) ? "0" : "1");
|
||||
pointData.put("lock_status", point.getLock_up()? "1" : "0");
|
||||
dataList.add(pointData);
|
||||
}
|
||||
}
|
||||
@@ -373,9 +381,37 @@ public class WmsToIWmsServiceImpl implements WmsToIWmsService {
|
||||
@Override
|
||||
@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(() -> {
|
||||
log.info("WMS 出库请求参数参数为:-------------------" + parm.toString());
|
||||
JSONArray tableData = parm.getJSONArray("tableData");
|
||||
if (CollectionUtils.isEmpty(tableData)) {
|
||||
throw new BadRequestException("tableData 不能为空");
|
||||
@@ -388,7 +424,7 @@ public class WmsToIWmsServiceImpl implements WmsToIWmsService {
|
||||
List<Structattr> structattrList = iStructattrService.list(new LambdaQueryWrapper<Structattr>()
|
||||
.in(Structattr::getStruct_code, turnoutStructCodes));
|
||||
if (CollectionUtils.isEmpty(structattrList)) {
|
||||
throw new BadRequestException("wms 上不存在这些点位");
|
||||
throw new BadRequestException("wms上不存在这些点位");
|
||||
}
|
||||
java.util.Map<String, Structattr> structattrMap = structattrList.stream()
|
||||
.collect(java.util.stream.Collectors.toMap(Structattr::getStruct_code, s -> s));
|
||||
@@ -406,6 +442,9 @@ public class WmsToIWmsServiceImpl implements WmsToIWmsService {
|
||||
if (!"0".equals(structattr.getLock_type())) {
|
||||
throw new BadRequestException("传入点位有任务:" + turnout_struct_code);
|
||||
}
|
||||
if (structattr.getLayer_num() > 3 && "1002".equals(parm.getString("bill_type"))) {
|
||||
throw new BadRequestException("四层货位需要RT车搬运,RT车无法通过CNC区域,请选择其他库位");
|
||||
}
|
||||
}
|
||||
Structattr structattr = structattrList.get(0);
|
||||
parm.put("sect_id",structattr.getSect_id());
|
||||
@@ -425,7 +464,6 @@ 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);
|
||||
result.setCode(String.valueOf(HttpStatus.OK.value()));
|
||||
@@ -446,26 +484,74 @@ public class WmsToIWmsServiceImpl implements WmsToIWmsService {
|
||||
WmstoIWmsResponse result = new WmstoIWmsResponse();
|
||||
JSONArray tableData = parm.getJSONArray("tableData");
|
||||
//移出位置
|
||||
String out_struct_code=parm.getString("out_struct_code");
|
||||
String out_struct_code = parm.getString("out_struct_code");
|
||||
//移入位置
|
||||
String in_struct_code=parm.getString("in_struct_code");
|
||||
String in_struct_code = parm.getString("in_struct_code");
|
||||
//载具编码
|
||||
String storage_code=tableData.getJSONObject(0).getString("storage_code");
|
||||
Structattr structattr=iStructattrService.getByCode(out_struct_code);
|
||||
Structattr structattr1=iStructattrService.getByCode(in_struct_code);
|
||||
String storage_code = tableData.getJSONObject(0).getString("storage_code");
|
||||
Structattr structattr = iStructattrService.getByCode(out_struct_code);
|
||||
Structattr structattr1 = iStructattrService.getByCode(in_struct_code);
|
||||
ArrayList<HashMap> rows = (ArrayList<HashMap>) parm.get("tableData");
|
||||
if(!storage_code.equals(structattr.getStoragevehicle_code())){
|
||||
if (!storage_code.equals(structattr.getStoragevehicle_code())) {
|
||||
throw new BadRequestException("该移出点位存放托盘与所传托盘的编码不对");
|
||||
}
|
||||
if (structattr1.getStoragevehicle_code() != null) {
|
||||
throw new BadRequestException("该移出点位存在托盘");
|
||||
}
|
||||
//新增移库单
|
||||
String bill_code =iStIvtMoveinvService.create1(parm);
|
||||
String bill_code = iStIvtMoveinvService.create1(parm);
|
||||
result.setCode(String.valueOf(HttpStatus.OK.value()));
|
||||
result.setMsg("移库任务生成成功");
|
||||
JSONObject data=new JSONObject();
|
||||
data.put("bill_code",bill_code);
|
||||
JSONObject data = new JSONObject();
|
||||
data.put("bill_code", bill_code);
|
||||
result.setData(data);
|
||||
log.info("WMS移库返回参数参数为:-------------------" + result.toString());
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public WmstoIWmsResponse movePointTask(JSONObject parm) {
|
||||
log.info("WMS点位搬运任务请求参数参数为:-------------------" + parm.toString());
|
||||
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区域有出库或入库任务未完成,请检查!");
|
||||
}
|
||||
WmstoIWmsResponse result = new WmstoIWmsResponse();
|
||||
JSONArray tableData = parm.getJSONArray("tableData");
|
||||
//移出位置
|
||||
String out_struct_code = parm.getString("out_struct_code");
|
||||
//移入位置
|
||||
String in_struct_code = parm.getString("in_struct_code");
|
||||
//载具编码
|
||||
String storage_code = tableData.getJSONObject(0).getString("storage_code");
|
||||
SchBasePoint point1 = iSchBasePointService.getByCode(in_struct_code);
|
||||
if (StringUtils.isNotBlank(point1.getVehicle_code())) {
|
||||
throw new BadRequestException("该移出点位存在载具");
|
||||
}
|
||||
//生成任务
|
||||
// 生成转运任务
|
||||
JSONObject task = new JSONObject();
|
||||
task.put("config_code", IOSConstant.PDA_POINT_TASK);
|
||||
task.put("point_code1", out_struct_code);
|
||||
task.put("point_code2", in_struct_code);
|
||||
task.put("vehicle_code", storage_code);
|
||||
task.put("Priority", TaskEnum.ACS_PRIORITY.code("1"));
|
||||
String taskId = pdaPointTask.create(task);
|
||||
// 更新起点绑定id
|
||||
iSchBasePointService.update(
|
||||
new UpdateWrapper<SchBasePoint>().lambda()
|
||||
.set(SchBasePoint::getIos_id, null)
|
||||
.eq(SchBasePoint::getPoint_code, out_struct_code)
|
||||
);
|
||||
JSONObject data = new JSONObject();
|
||||
data.put("bill_code", taskId);
|
||||
data.put("code", "200");
|
||||
result.setData(data);
|
||||
log.info("WMS移库返回参数参数为:-------------------" + result.toString());
|
||||
return result;
|
||||
@@ -476,28 +562,28 @@ public class WmsToIWmsServiceImpl implements WmsToIWmsService {
|
||||
public WmstoIWmsResponse checkBillTask(JSONObject parm) {
|
||||
log.info("WMS盘点请求参数参数为:-------------------" + parm.toString());
|
||||
WmstoIWmsResponse result = new WmstoIWmsResponse();
|
||||
CheckInsertDto checkInsertDto=new CheckInsertDto();
|
||||
String check_id=IdUtil.getStringId();
|
||||
CheckInsertDto checkInsertDto = new CheckInsertDto();
|
||||
String check_id = IdUtil.getStringId();
|
||||
checkInsertDto.setCheck_id(check_id);
|
||||
checkInsertDto.setCheck_type("1");
|
||||
checkInsertDto.setCreate_mode("1");
|
||||
checkInsertDto.setDtl_num(BigDecimal.valueOf(1));
|
||||
checkInsertDto.setStatus(IOSEnum.CHECK_MST_STATUS.code("生成"));
|
||||
String turnout_struct_code=parm.getString("turnout_struct_code");
|
||||
Structattr structattr=iStructattrService.getByCode(turnout_struct_code);
|
||||
String turnout_struct_code = parm.getString("turnout_struct_code");
|
||||
Structattr structattr = iStructattrService.getByCode(turnout_struct_code);
|
||||
checkInsertDto.setStor_name(structattr.getStor_name());
|
||||
checkInsertDto.setStor_id(structattr.getStor_id());
|
||||
checkInsertDto.setCheck_code(parm.getString("check_code"));
|
||||
JSONArray tableData = parm.getJSONArray("tableData");
|
||||
JSONObject tableData1=tableData.getJSONObject(0);
|
||||
if(!structattr.getStoragevehicle_code().equals(tableData1.getString("storage_code"))){
|
||||
JSONObject tableData1 = tableData.getJSONObject(0);
|
||||
if (!structattr.getStoragevehicle_code().equals(tableData1.getString("storage_code"))) {
|
||||
throw new BadRequestException("该盘点点位存放托盘与所传托盘的编码不对");
|
||||
}
|
||||
tableData1.put("stor_id",structattr.getStor_id());
|
||||
tableData1.put("stor_name",structattr.getStor_name());
|
||||
tableData1.put("sect_code",structattr.getSect_code());
|
||||
tableData1.put("status",IOSEnum.CHECK_DTL_STATUS.code("生成"));
|
||||
tableData1.put("struct_code",parm.getString("turnout_struct_code"));
|
||||
tableData1.put("stor_id", structattr.getStor_id());
|
||||
tableData1.put("stor_name", structattr.getStor_name());
|
||||
tableData1.put("sect_code", structattr.getSect_code());
|
||||
tableData1.put("status", IOSEnum.CHECK_DTL_STATUS.code("生成"));
|
||||
tableData1.put("struct_code", parm.getString("turnout_struct_code"));
|
||||
// 创建一个List并将jsonObject添加进去
|
||||
List<JSONObject> tableData2 = new ArrayList<>();
|
||||
tableData2.add(tableData1);
|
||||
@@ -506,7 +592,7 @@ public class WmsToIWmsServiceImpl implements WmsToIWmsService {
|
||||
iStIvtCheckmstService.sendMoveTask(checkInsertDto);
|
||||
result.setCode(String.valueOf(HttpStatus.OK.value()));
|
||||
result.setMsg("盘点任务生成成功");
|
||||
JSONObject data=new JSONObject();
|
||||
JSONObject data = new JSONObject();
|
||||
result.setData(data);
|
||||
log.info("WMS盘点返回参数参数为:-------------------" + result.toString());
|
||||
return result;
|
||||
|
||||
@@ -11,7 +11,7 @@ spring:
|
||||
freemarker:
|
||||
check-template-location: false
|
||||
profiles:
|
||||
active: prod
|
||||
active: dev
|
||||
# active: dev
|
||||
# active: prod
|
||||
jackson:
|
||||
|
||||
Reference in New Issue
Block a user