扫码入库
This commit is contained in:
@@ -397,6 +397,8 @@ public class ToWmsServiceImpl implements IToWmsService {
|
|||||||
mydoJob.setCargoSpaceId(basCargoSpace.getCargoSpaceId());
|
mydoJob.setCargoSpaceId(basCargoSpace.getCargoSpaceId());
|
||||||
mydoJob.setFaultFlag("1");
|
mydoJob.setFaultFlag("1");
|
||||||
mydoJobService.updateMydoJob(mydoJob);
|
mydoJobService.updateMydoJob(mydoJob);
|
||||||
|
basCargoSpace.setStatus("3");
|
||||||
|
basCargoSpaceService.updateBasCargoSpace(basCargoSpace);
|
||||||
return AjaxResult.success(new RequestEnterResponse(basCargoSpace.getCargoSpaceId(), null, mydoJob.getJobId()));
|
return AjaxResult.success(new RequestEnterResponse(basCargoSpace.getCargoSpaceId(), null, mydoJob.getJobId()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -424,82 +426,37 @@ public class ToWmsServiceImpl implements IToWmsService {
|
|||||||
}
|
}
|
||||||
log.info("扫码内容{}", requestEnter.getTrayCode());
|
log.info("扫码内容{}", requestEnter.getTrayCode());
|
||||||
|
|
||||||
|
|
||||||
//解析扫码内容
|
|
||||||
String trayCode = requestEnter.getTrayCode();
|
|
||||||
String[] split = trayCode.split(" ");
|
|
||||||
String model = split[0].substring(6);
|
|
||||||
String color = split[1].substring(6);
|
|
||||||
String serial = split[2].substring(7);
|
|
||||||
String v = split[3].substring(2);
|
|
||||||
String hz = split[4].substring(3);
|
|
||||||
String ph = split[5].substring(3);
|
|
||||||
String nw = split[6].substring(5);
|
|
||||||
String gw = split[7].substring(5);
|
|
||||||
String productId = split[8].substring(10);
|
|
||||||
String bm = split[9].substring(2, split[9].length() - 1);
|
|
||||||
String[] decode = ProcodeUtils.decode(bm);
|
|
||||||
String erpBill = decode[0];
|
|
||||||
String xh = decode[1];
|
|
||||||
String jx = decode[2];
|
|
||||||
String fx = decode[3];
|
|
||||||
String xlh = decode[4];
|
|
||||||
log.info("二维码详情 productId:{} model:{},color:{},serial:{},v:{},hz:{},ph:{},nw:{},gw:{},erpBill:{},xh:{},jx:{},fx:{},xlh:{}", productId, model, color, serial, v, hz, ph, nw, gw, erpBill, xh, jx, fx, xlh);
|
|
||||||
for (String s : split) {
|
|
||||||
if (StrUtil.isEmpty(s)) {
|
|
||||||
return new AjaxResult(1, "二维码内容错误");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
MydoJob param = new MydoJob();
|
MydoJob param = new MydoJob();
|
||||||
param.setStatus("1");
|
param.setStatus("1");
|
||||||
param.setEntranceId(requestEnter.getEntranceId());
|
param.setTrayCode(requestEnter.getTrayCode());
|
||||||
param.setLineId(erpBill);
|
|
||||||
MydoJob mydoJob = mydoJobService.selectMydoJobByEntranceId(param);
|
MydoJob mydoJob = mydoJobService.selectMydoJobByEntranceId(param);
|
||||||
|
|
||||||
MydoJobDetail mydoJobDetailParam = new MydoJobDetail();
|
if (ObjUtil.isNull(mydoJob)){
|
||||||
mydoJobDetailParam.setJobId(mydoJob.getJobId());
|
return AjaxResult.error("没有该托盘任务", requestEnter.getTrayCode());
|
||||||
mydoJobDetailParam.setProductId(productId);
|
|
||||||
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetailParam);
|
|
||||||
if (mydoJobDetails.isEmpty()){
|
|
||||||
return new AjaxResult(1, "该任务没有该物料");
|
|
||||||
}
|
}
|
||||||
|
BasCargoSpace basCargoSpaceParam = new BasCargoSpace();
|
||||||
//查询物料信息
|
basCargoSpaceParam.setWarehouseId(mydoJob.getWarehouseId());
|
||||||
BasProduct basProductParam = new BasProduct();
|
basCargoSpaceParam.setRoadwayId(mydoJob.getRoadwayId());
|
||||||
basProductParam.setProductId(productId);
|
BasCargoSpace basCargoSpace = basCargoSpaceService.selectEmptyCargoSpaceByWarehouseId(basCargoSpaceParam);
|
||||||
List<BasProduct> basProducts = basProductService.selectBasProductList(basProductParam);
|
if (ObjUtil.isNull(basCargoSpace)){
|
||||||
if (CollUtil.isEmpty(basProducts)) {
|
return AjaxResult.error("没有空货位");
|
||||||
return new AjaxResult(2, "物料不存在");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
BasProduct basProduct = basProducts.get(0);
|
|
||||||
|
|
||||||
//根据包装方式 主要包装方式 描述 长 宽 高 包装材积
|
|
||||||
int size = getSize(basProduct);
|
|
||||||
|
|
||||||
//超大托盘不处理 直接返回
|
|
||||||
if (size == 5) {
|
|
||||||
return new AjaxResult(3, "超大托盘");
|
|
||||||
}
|
|
||||||
//托盘大小与电气返回不匹配
|
|
||||||
|
|
||||||
if (StrUtil.isNotBlank(requestEnter.getSize()) && !"1".equals(requestEnter.getType()) && size != Integer.parseInt(requestEnter.getSize())) {
|
|
||||||
return new AjaxResult(4, "托盘大小不匹配");
|
|
||||||
}
|
|
||||||
|
|
||||||
//修改作业状态为正执行
|
//修改作业状态为正执行
|
||||||
|
mydoJob.setCargoSpaceId(basCargoSpace.getCargoSpaceId());
|
||||||
|
mydoJob.setStatus("3");
|
||||||
|
mydoJob.setStartTime(DateUtil.formatDateTime(new Date()));
|
||||||
|
mydoJobService.updateMydoJob(mydoJob);
|
||||||
|
//修改货位状态为已分配
|
||||||
|
basCargoSpace.setStatus("3");
|
||||||
|
basCargoSpaceService.updateBasCargoSpace(basCargoSpace);
|
||||||
|
|
||||||
|
//返回结果
|
||||||
result.put("jobId", mydoJob.getJobId());
|
result.put("jobId", mydoJob.getJobId());
|
||||||
result.put("taskNo", mydoJob.getTaskNo());
|
result.put("taskNo", mydoJob.getTaskNo());
|
||||||
result.put("cargoSpaceId", mydoJob.getCargoSpaceId());
|
result.put("cargoSpaceId", mydoJob.getCargoSpaceId());
|
||||||
result.put("roadwayId", mydoJob.getRoadwayId());
|
result.put("roadwayId", mydoJob.getRoadwayId());
|
||||||
result.put("entranceId", mydoJob.getEntranceId());
|
result.put("entranceId", mydoJob.getEntranceId());
|
||||||
result.put("inOrOut", mydoJob.getInOrOut());
|
result.put("inOrOut", mydoJob.getInOrOut());
|
||||||
|
|
||||||
mydoJob.setStatus("3");
|
|
||||||
mydoJob.setStartTime(DateUtil.formatDateTime(new Date()));
|
|
||||||
mydoJobService.updateMydoJob(mydoJob);
|
|
||||||
return AjaxResult.success(result);
|
return AjaxResult.success(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user