|
@ -10,6 +10,7 @@ import com.alibaba.fastjson.JSONObject; |
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
import nl.basjes.shaded.org.springframework.util.Assert; |
|
|
import nl.basjes.shaded.org.springframework.util.Assert; |
|
|
import org.nl.common.enums.GoodsEnum; |
|
|
import org.nl.common.enums.GoodsEnum; |
|
|
|
|
|
import org.nl.common.enums.VehicleEnum; |
|
|
import org.nl.common.enums.VehicleTypeEnum; |
|
|
import org.nl.common.enums.VehicleTypeEnum; |
|
|
import org.nl.common.enums.region.RegionEnum; |
|
|
import org.nl.common.enums.region.RegionEnum; |
|
|
import org.nl.common.exception.BadRequestException; |
|
|
import org.nl.common.exception.BadRequestException; |
|
@ -106,10 +107,11 @@ public class HandheldServiceImpl implements HandheldService { |
|
|
* @param param |
|
|
* @param param |
|
|
*/ |
|
|
*/ |
|
|
private void applyDeliveryRacks(String vehicle, String device_code, JSONObject param) { |
|
|
private void applyDeliveryRacks(String vehicle, String device_code, JSONObject param) { |
|
|
MdBaseVehicle mdBaseVehicle = iMdBaseVehicleService.selectByVehicleCode(vehicle); |
|
|
|
|
|
if (ObjectUtil.isEmpty(mdBaseVehicle)) throw new BadRequestException("载具不存在!"); |
|
|
|
|
|
SchBasePoint schBasePoint = iSchBasePointService.selectByPointCode(device_code); |
|
|
SchBasePoint schBasePoint = iSchBasePointService.selectByPointCode(device_code); |
|
|
if (ObjectUtil.isEmpty(schBasePoint)) throw new BadRequestException("设备点位不存在!"); |
|
|
if (ObjectUtil.isEmpty(schBasePoint)) throw new BadRequestException("设备点位不存在!"); |
|
|
|
|
|
MdBaseVehicle mdBaseVehicle = iMdBaseVehicleService.selectByVehicleCode(vehicle); |
|
|
|
|
|
if (ObjectUtil.isEmpty(mdBaseVehicle)) |
|
|
|
|
|
throw new BadRequestException("载具不存在或载具号与点位不匹配!"); |
|
|
AbstractTask connectorTask = taskFactory.getTask("RACKTask"); |
|
|
AbstractTask connectorTask = taskFactory.getTask("RACKTask"); |
|
|
// 准备参数:设备编码
|
|
|
// 准备参数:设备编码
|
|
|
JSONObject jo = new JSONObject(); |
|
|
JSONObject jo = new JSONObject(); |
|
@ -120,6 +122,7 @@ public class HandheldServiceImpl implements HandheldService { |
|
|
jo.put("vehicle_type", mdBaseVehicle.getVehicle_type()); |
|
|
jo.put("vehicle_type", mdBaseVehicle.getVehicle_type()); |
|
|
jo.put("ext_data", param); |
|
|
jo.put("ext_data", param); |
|
|
connectorTask.apply(jo); |
|
|
connectorTask.apply(jo); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
@ -284,6 +287,7 @@ public class HandheldServiceImpl implements HandheldService { |
|
|
*/ |
|
|
*/ |
|
|
private void connectorBlanking(JSONObject param, String region_code, String device_code, String vehicle_code, AbstractTask connectorTask) { |
|
|
private void connectorBlanking(JSONObject param, String region_code, String device_code, String vehicle_code, AbstractTask connectorTask) { |
|
|
JSONObject jo = new JSONObject(); |
|
|
JSONObject jo = new JSONObject(); |
|
|
|
|
|
param.put("region_code", region_code); |
|
|
jo.put("device_code", device_code); |
|
|
jo.put("device_code", device_code); |
|
|
jo.put("config_code", "ProcessingSMTTask"); |
|
|
jo.put("config_code", "ProcessingSMTTask"); |
|
|
jo.put("create_mode", GeneralDefinition.AUTO_CREATION); |
|
|
jo.put("create_mode", GeneralDefinition.AUTO_CREATION); |
|
@ -309,6 +313,7 @@ public class HandheldServiceImpl implements HandheldService { |
|
|
* @param connectorTask |
|
|
* @param connectorTask |
|
|
*/ |
|
|
*/ |
|
|
private void goShelves(SchBasePoint schBasePoint, JSONObject param, String region_code, String device_code, String vehicle_code, AbstractTask connectorTask) { |
|
|
private void goShelves(SchBasePoint schBasePoint, JSONObject param, String region_code, String device_code, String vehicle_code, AbstractTask connectorTask) { |
|
|
|
|
|
//TODO:是否需要加上是否有无货校验
|
|
|
Assert.noNullElements(param.getJSONArray("material"), "参数不能为空!"); |
|
|
Assert.noNullElements(param.getJSONArray("material"), "参数不能为空!"); |
|
|
JSONArray materials = param.getJSONArray("material"); |
|
|
JSONArray materials = param.getJSONArray("material"); |
|
|
if (materials.size() < 1) { |
|
|
if (materials.size() < 1) { |
|
@ -362,9 +367,7 @@ public class HandheldServiceImpl implements HandheldService { |
|
|
jo.put("ext_data", param); |
|
|
jo.put("ext_data", param); |
|
|
iSchBasePointService.update(Wrappers.lambdaUpdate(SchBasePoint.class) |
|
|
iSchBasePointService.update(Wrappers.lambdaUpdate(SchBasePoint.class) |
|
|
.eq(SchBasePoint::getPoint_code, device_code) |
|
|
.eq(SchBasePoint::getPoint_code, device_code) |
|
|
.set(SchBasePoint::getIs_lock, true) |
|
|
.set(SchBasePoint::getIs_lock, true)); |
|
|
.set(SchBasePoint::getPoint_status, GoodsEnum.OUT_OF_STOCK.getValue()) |
|
|
|
|
|
.set(SchBasePoint::getVehicle_code, null)); |
|
|
|
|
|
connectorTask.apply(jo); |
|
|
connectorTask.apply(jo); |
|
|
iSchBaseVehiclematerialgroupService.remove(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class) |
|
|
iSchBaseVehiclematerialgroupService.remove(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class) |
|
|
.eq(SchBaseVehiclematerialgroup::getVehicle_code, vehicle_code)); |
|
|
.eq(SchBaseVehiclematerialgroup::getVehicle_code, vehicle_code)); |
|
@ -408,6 +411,9 @@ public class HandheldServiceImpl implements HandheldService { |
|
|
if (materials.size() < 1) { |
|
|
if (materials.size() < 1) { |
|
|
throw new BadRequestException("物料下料数量不能为空!"); |
|
|
throw new BadRequestException("物料下料数量不能为空!"); |
|
|
} |
|
|
} |
|
|
|
|
|
MdBaseVehicle mdBaseVehicle = iMdBaseVehicleService.selectByVehicleCode(vehicle_code); |
|
|
|
|
|
if(mdBaseVehicle.getVehicle_type().equals(VehicleTypeEnum.TRAY.getVehicleCode())) throw new BadRequestException("钢托盘不能存放加工区!"); |
|
|
|
|
|
param.put("region_code", region_code); |
|
|
jo.put("device_code", device_code); |
|
|
jo.put("device_code", device_code); |
|
|
jo.put("config_code", "ProcessingSMTTask"); |
|
|
jo.put("config_code", "ProcessingSMTTask"); |
|
|
jo.put("create_mode", GeneralDefinition.AUTO_CREATION); |
|
|
jo.put("create_mode", GeneralDefinition.AUTO_CREATION); |
|
@ -506,8 +512,7 @@ public class HandheldServiceImpl implements HandheldService { |
|
|
connectorTask.apply(jo); |
|
|
connectorTask.apply(jo); |
|
|
iSchBasePointService.update(Wrappers.lambdaUpdate(SchBasePoint.class) |
|
|
iSchBasePointService.update(Wrappers.lambdaUpdate(SchBasePoint.class) |
|
|
.eq(SchBasePoint::getPoint_code, device_code) |
|
|
.eq(SchBasePoint::getPoint_code, device_code) |
|
|
.set(SchBasePoint::getIs_lock, true) |
|
|
.set(SchBasePoint::getIs_lock, true)); |
|
|
.set(SchBasePoint::getPoint_status, GoodsEnum.EMPTY_PALLETS.getValue())); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|