rev:现场调试优化
This commit is contained in:
@@ -12,7 +12,8 @@
|
||||
WHERE
|
||||
1=1
|
||||
<if test="param.blurry != null and param.blurry != ''">
|
||||
AND (material_code = #{param.blurry} OR material_name = #{param.blurry})
|
||||
AND (material_code LIKE CONCAT('%', #{param.blurry}, '%')
|
||||
OR material_name LIKE CONCAT('%', #{param.blurry}, '%'))
|
||||
</if>
|
||||
<if test="param.material_type != null and param.material_type != ''">
|
||||
AND material_type = #{param.material_type}
|
||||
|
||||
@@ -123,11 +123,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
public Map<String, Object> secondaryAllocationPoint(String taskCode, String actionType, String type) {
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("status", org.springframework.http.HttpStatus.BAD_REQUEST.value());
|
||||
// RedissonUtils.lock(c -> {
|
||||
// try {
|
||||
// Thread.sleep(1000);
|
||||
// } catch (InterruptedException e) {
|
||||
// }
|
||||
RedissonUtils.lock(c -> {
|
||||
try {
|
||||
Thread.sleep(1000);
|
||||
} catch (InterruptedException e) {
|
||||
}
|
||||
String pointCode = "";
|
||||
String action = "";
|
||||
switch (actionType) {
|
||||
@@ -146,16 +146,16 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
}
|
||||
result.put("status", org.springframework.http.HttpStatus.OK.value());
|
||||
return result;
|
||||
// }, "secondaryAllocationPoint" + actionType, null);
|
||||
// log.info("二次分配" + taskCode + "---------------------------------------------" + result);
|
||||
// return result;
|
||||
}, "secondaryAllocationPoint" + actionType, null);
|
||||
log.info("二次分配" + taskCode + "---------------------------------------------" + result);
|
||||
return result;
|
||||
}
|
||||
|
||||
private String getNewPoint(String taskCode, String actionType, String type) {
|
||||
SchBasePoint newPoint = null;
|
||||
String taskPointType = null;
|
||||
//执行中的任务
|
||||
List<String> status = Arrays.asList(TaskStatus.EXECUTING.getCode(), TaskStatusEnum.PICK_UP_COMPLETED.getCode());
|
||||
List<String> status = Arrays.asList(TaskStatus.EXECUTING.getCode(), TaskStatus.PICK_UP_COMPLETED.getCode());
|
||||
SchBaseTask baseTask = taskService.getOne(new LambdaQueryWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_code, taskCode)
|
||||
.eq(SchBaseTask::getIs_delete, PackageInfoIvtEnum.IS_SEND.code("否"))
|
||||
@@ -349,7 +349,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
SchBasePoint startPoint = pointMapper.selectOne(new LambdaQueryWrapper<SchBasePoint>().eq(SchBasePoint::getPoint_code, start_point));
|
||||
PointUtils.setUpdateByAcs(startPoint);
|
||||
PointUtils.clearPoint(startPoint);
|
||||
task.setTask_status(TaskStatusEnum.PICK_UP_COMPLETED.getCode());
|
||||
task.setTask_status(TaskStatus.PICK_UP_COMPLETED.getCode());
|
||||
TaskUtils.setUpdateByAcs(task);
|
||||
taskService.updateById(task);
|
||||
return result;
|
||||
|
||||
@@ -84,6 +84,12 @@ public class PdaTaskController {
|
||||
return new ResponseEntity<>(pdaTaskService.getChargeRegions(), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/getCallRegions")
|
||||
@Log("获取所有区域")
|
||||
public ResponseEntity<Object> getCallRegions() {
|
||||
return new ResponseEntity<>(pdaTaskService.getCallRegions(), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/getPointInfo")
|
||||
@Log("获取点位信息")
|
||||
public ResponseEntity<Object> getPointInfo(@RequestBody JSONObject whereJson) {
|
||||
@@ -230,6 +236,11 @@ public class PdaTaskController {
|
||||
return new ResponseEntity<>(pdaTaskService.selectMaterialByRegion(whereJson), HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/selectFullMaterials")
|
||||
@Log("根据区域编码查询用料清单")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> selectFullMaterials(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(pdaTaskService.selectFullMaterials(whereJson), HttpStatus.OK);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -53,6 +53,8 @@ public interface PdaTaskService {
|
||||
|
||||
JSONObject selectMaterialByRegion(JSONObject whereJson);
|
||||
|
||||
JSONObject selectFullMaterials(JSONObject whereJson);
|
||||
|
||||
JSONObject inArea(JSONObject whereJson);
|
||||
|
||||
JSONObject outArea(JSONObject whereJson);
|
||||
@@ -65,6 +67,8 @@ public interface PdaTaskService {
|
||||
|
||||
JSONObject getChargeRegions();
|
||||
|
||||
JSONObject getCallRegions();
|
||||
|
||||
JSONObject getMaterialTypes();
|
||||
|
||||
JSONObject selectMaterialByPointCode(JSONObject whereJson);
|
||||
|
||||
@@ -5,6 +5,7 @@ import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpStatus;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
@@ -52,6 +53,7 @@ import org.nl.wms.sch.task.service.dao.mapper.SchBaseTaskMapper;
|
||||
import org.nl.wms.sch.task_manage.AbstractTask;
|
||||
import org.nl.wms.sch.task_manage.GeneralDefinition;
|
||||
import org.nl.wms.sch.task_manage.enums.PointStatusEnum;
|
||||
import org.nl.wms.sch.task_manage.enums.PointTypeEnum;
|
||||
import org.nl.wms.sch.task_manage.enums.RegionTypeEnum;
|
||||
import org.nl.wms.sch.task_manage.task.TaskFactory;
|
||||
import org.nl.wms.sch.tasks.PdaPointTask;
|
||||
@@ -96,10 +98,13 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
private RegionChargeMapper regionChargeMapper;
|
||||
@Autowired
|
||||
private WmsToAcsService wmsToAcsService;
|
||||
@Autowired
|
||||
private MdPbGroupplatedtlMapper mdPbGroupplatedtlMapper;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public PdaResponseVo loading(JSONObject whereJson) {
|
||||
log.info("产线叫料,请求参数:" + whereJson);
|
||||
String point_code = whereJson.getString("point_code");
|
||||
String region_code = whereJson.getString("region_code");
|
||||
String material_code = whereJson.getString("material_code");
|
||||
@@ -159,7 +164,7 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
String prefix = schBasePoint.getPoint_code().substring(0, schBasePoint.getPoint_code().length() - 2);
|
||||
List<SchBaseTask> existTask = taskService.findUnFinishTasksByTaskConfig("THSLTask", prefix);
|
||||
if (existTask.size() <= 1) {
|
||||
List<SchBasePoint> list = pointMapper.selectListByRegionAndPrefix(region_code, prefix,schBasePoint.getPoint_type());
|
||||
List<SchBasePoint> list = pointMapper.selectListByRegionAndPrefix(region_code, prefix, schBasePoint.getPoint_type());
|
||||
if (list.size() == 0) {
|
||||
throw new BadRequestException(region_code + "区域无空闲点位");
|
||||
}
|
||||
@@ -198,6 +203,18 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
throw new BadRequestException("点位" + point_code + "不存在!");
|
||||
}
|
||||
String region_code = point.getRegion_code();
|
||||
if ("N1".equals(region_code) || "N3".equals(region_code)) {
|
||||
if (!point.getPoint_type().equals(PointTypeEnum.NET_IN_POINT.getCode())){
|
||||
throw new BadRequestException("点位" + point_code + "不为NET的上料位,请扫描正确上料位再重新操作!");
|
||||
}
|
||||
}else if ("L1".equals(region_code) || "L2".equals(region_code)) {
|
||||
List<String> regions = Arrays.asList("1", "2", "3");
|
||||
if (!regions.contains(point.getPoint_type())){
|
||||
throw new BadRequestException("点位" + point_code + "不为贴合加工区的上料位,请扫描正确上料位再重新操作!");
|
||||
}
|
||||
}else {
|
||||
throw new BadRequestException("当前点位" + point_code + "不是上料位!");
|
||||
}
|
||||
String region_name = point.getRegion_name();
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("region_code", region_code);
|
||||
@@ -208,6 +225,7 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public PdaResponseVo blanking(JSONObject whereJson) {
|
||||
log.info("产线下料,请求参数:" + whereJson);
|
||||
String point_code = whereJson.getString("point_code");
|
||||
String region_code = whereJson.getString("region_code");
|
||||
JSONArray data = whereJson.getJSONArray("data");
|
||||
@@ -224,8 +242,11 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
if (ObjectUtil.isEmpty(point)) {
|
||||
throw new BadRequestException("点位" + point_code + "不存在!");
|
||||
}
|
||||
if (point.getPoint_status().equals(PointStatusEnum.EMPTY_VEHICLE.getCode())){
|
||||
throw new BadRequestException("点位" + point_code + "已有货,请先检查再操作!");
|
||||
}
|
||||
List<SchBaseTask> list = taskService.findTaskByPoint(point_code);
|
||||
if (list.size()>0){
|
||||
if (list.size() > 0) {
|
||||
throw new BadRequestException("点位" + point_code + "已经存在agv任务!");
|
||||
}
|
||||
JSONObject jo = data.getJSONObject(0);
|
||||
@@ -234,16 +255,24 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
if (mdMeMaterialbase == null) {
|
||||
throw new BadRequestException("当前物料不存在【" + material_code + "】");
|
||||
}
|
||||
String vehicleCode = "TP" + TaskUtils.getDateTime("yyMMddHHmmss") + CodeUtil.getNewCode("VEHICLE_CODE");
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("device_code", point.getPoint_code());
|
||||
param.put("material_code", mdMeMaterialbase.getMaterial_code());
|
||||
param.put("requestNo", IdUtil.simpleUUID());
|
||||
if ("N1".equals(point.getRegion_code()) || "N3".equals(point.getRegion_code())) {
|
||||
if (!point.getPoint_type().equals(PointTypeEnum.NET_OUT_POINT.getCode())){
|
||||
throw new BadRequestException("点位" + point_code + "不为NET的下料位,请扫描正确下料位再重新操作!");
|
||||
}
|
||||
param.put("config_code", "NETXLTask");
|
||||
} else if ("L1".equals(point.getRegion_code()) || "L2".equals(point.getRegion_code())) {
|
||||
if (!point.getPoint_type().equals(PointTypeEnum.L_OUT_POINT.getCode())){
|
||||
throw new BadRequestException("点位" + point_code + "不为贴合加工下料位,请扫描正确下料位再重新操作!");
|
||||
}
|
||||
param.put("config_code", "THXLTask");
|
||||
}else {
|
||||
throw new BadRequestException("当前点位" + point_code + "不是下料位!");
|
||||
}
|
||||
String vehicleCode = "TP" + TaskUtils.getDateTime("yyMMddHHmmss") + CodeUtil.getNewCode("VEHICLE_CODE");
|
||||
param.put("vehicle_code", vehicleCode);
|
||||
// param.put("vehicle_qty", "1");
|
||||
param.put("user_id", "1");
|
||||
@@ -400,6 +429,27 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
return ret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject getCallRegions() {
|
||||
List<String> regions = Arrays.asList("MB","H1", "H2","E1", "E2","GC","HXTFZW");
|
||||
List<SchBaseRegion> list = regionMapper.selectList(new LambdaQueryWrapper<SchBaseRegion>().in(SchBaseRegion::getRegion_code, regions));
|
||||
List<JSONObject> ja = new ArrayList<>();
|
||||
list.forEach(region -> {
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("value", region.getRegion_code());
|
||||
jo.put("text", region.getRegion_name());
|
||||
ja.add(jo);
|
||||
});
|
||||
JSONObject ret = new JSONObject();
|
||||
if (ObjectUtil.isNotEmpty(list)) {
|
||||
ret.put("code", String.valueOf(HttpStatus.HTTP_OK));
|
||||
ret.put("message", "查询成功");
|
||||
ret.put("data", ja);
|
||||
return ret;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject getChargeRegions() {
|
||||
List<String> regions = Arrays.asList("H1", "H2");
|
||||
@@ -426,7 +476,7 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
String region_code = whereJson.getString("region_code");
|
||||
LambdaQueryWrapper<SchBasePoint> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SchBasePoint::getRegion_code, whereJson.getString("region_code"));
|
||||
if ("L1".equals(region_code)||"L2".equals(region_code)){
|
||||
if ("L1".equals(region_code) || "L2".equals(region_code)) {
|
||||
wrapper.eq(SchBasePoint::getPoint_type, "4");
|
||||
}
|
||||
List<SchBasePoint> list = pointMapper.selectList(wrapper);
|
||||
@@ -605,6 +655,7 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
|
||||
@Override
|
||||
public PdaResponseVo sendPointTask(JSONObject whereJson) {
|
||||
log.info("创建定点任务");
|
||||
// 校验数据
|
||||
checkPoint(whereJson);
|
||||
// 创建任务
|
||||
@@ -619,6 +670,7 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
|
||||
@Override
|
||||
public PdaResponseVo unlock(JSONObject whereJson) {
|
||||
log.info("库位解锁");
|
||||
JSONArray data = whereJson.getJSONArray("data");
|
||||
if (ObjectUtil.isEmpty(data)) {
|
||||
throw new BadRequestException("数据不能为空!");
|
||||
@@ -643,6 +695,7 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
|
||||
@Override
|
||||
public PdaResponseVo lock(JSONObject whereJson) {
|
||||
log.info("库位锁定");
|
||||
JSONArray data = whereJson.getJSONArray("data");
|
||||
if (ObjectUtil.isEmpty(data)) {
|
||||
throw new BadRequestException("数据不能为空!");
|
||||
@@ -667,6 +720,7 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
|
||||
@Override
|
||||
public JSONObject comfirmGetting(JSONObject whereJson) {
|
||||
log.info("人工开始取货");
|
||||
String point_code = whereJson.getString("point_code");
|
||||
if (ObjectUtil.isEmpty(point_code)) {
|
||||
throw new BadRequestException("点位不能为空!");
|
||||
@@ -676,17 +730,24 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
throw new BadRequestException("点位不存在!");
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(point.getStoragevehicle_code())) {
|
||||
GroupPlate groupPlate = groupplateMapper.selectOne(new LambdaQueryWrapper<GroupPlate>().eq(GroupPlate::getStoragevehicle_code, point.getStoragevehicle_code())
|
||||
.eq(GroupPlate::getStatus, GroupStatus.START.getCode())
|
||||
.eq(GroupPlate::getIs_delete, GeneralDefinition.NO));
|
||||
groupPlate.setStatus(GroupStatus.OUT.getCode());
|
||||
groupPlate.setUpdate_id(SecurityUtils.getCurrentUserId());
|
||||
groupPlate.setUpdate_name(SecurityUtils.getCurrentUsername());
|
||||
groupPlate.setUpdate_time(DateUtil.now());
|
||||
groupplateMapper.updateById(groupPlate);
|
||||
GroupPlate groupPlate = groupplateMapper.selectOne(new LambdaQueryWrapper<GroupPlate>().eq(GroupPlate::getStoragevehicle_code, point.getStoragevehicle_code()));
|
||||
if (ObjectUtil.isNotEmpty(groupPlate)) {
|
||||
//删除组盘信息
|
||||
List<GroupPlatedtl> list = mdPbGroupplatedtlMapper.selectList(new LambdaQueryWrapper<GroupPlatedtl>().eq(GroupPlatedtl::getGroup_id, groupPlate.getGroup_id()));
|
||||
if (list.size() > 0) {
|
||||
Set<String> ids = new HashSet<String>();
|
||||
list.forEach(groupPlatedtl ->{
|
||||
String id = groupPlatedtl.getGroupdtl_id();
|
||||
ids.add(id);
|
||||
} );
|
||||
mdPbGroupplatedtlMapper.deleteBatchIds(ids);
|
||||
}
|
||||
groupplateMapper.deleteById(groupPlate);
|
||||
}
|
||||
}
|
||||
point.setPoint_status(PointStatusEnum.EMPTY_POINT.getCode());
|
||||
point.setStoragevehicle_code("");
|
||||
point.setMaterial_code("");
|
||||
pointMapper.updateById(point);
|
||||
JSONObject ret = new JSONObject();
|
||||
ret.put("status", String.valueOf(HttpStatus.HTTP_OK));
|
||||
@@ -696,6 +757,7 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
|
||||
@Override
|
||||
public JSONObject vehicleBinding(JSONObject whereJson) {
|
||||
log.info("载具绑定,请求参数:" + whereJson);
|
||||
String point_code = whereJson.getString("point_code");
|
||||
SchBasePoint point = pointMapper.selectOne(new LambdaQueryWrapper<SchBasePoint>().eq(SchBasePoint::getPoint_code, point_code));
|
||||
point.setPoint_status("2");
|
||||
@@ -710,6 +772,7 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public JSONObject materialBinding(JSONObject whereJson) {
|
||||
log.info("物料绑定,请求参数:" + whereJson);
|
||||
String point_code = whereJson.getString("point_code");
|
||||
//校验该点位是否存在任务
|
||||
List<SchBaseTask> taskList = taskService.findTaskByPoint(point_code);
|
||||
@@ -806,7 +869,14 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
List<JSONObject> list = pointMapper.queryPointInfo(whereJson);
|
||||
JSONArray arr = new JSONArray();
|
||||
list.forEach(item -> {
|
||||
JSONArray ext_code = item.getJSONArray("ext_code");
|
||||
String ext_code = item.getString("ext_code");
|
||||
String substring = ext_code.substring(1, ext_code.length() - 1);
|
||||
List<String> containerList = new ArrayList<>();
|
||||
String[] containers = substring.split(",");
|
||||
for (int i = 0; i < containers.length; i++) {
|
||||
String s = containers[i].replace("\"", "").replace("\"", "");
|
||||
containerList.add(s);
|
||||
}
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("point_code", item.getString("point_code"));
|
||||
jo.put("is_used", item.getString("is_used"));
|
||||
@@ -814,7 +884,7 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
jo.put("material_name", item.getString("material_name"));
|
||||
jo.put("qty", item.getString("qty"));
|
||||
jo.put("measure_unit_id", item.getString("unit_name"));
|
||||
jo.put("containers", ext_code);
|
||||
jo.put("containers", containerList);
|
||||
arr.add(jo);
|
||||
});
|
||||
JSONObject ret = new JSONObject();
|
||||
@@ -854,8 +924,28 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
return ret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject selectFullMaterials(JSONObject whereJson) {
|
||||
String region_code = whereJson.getString("region_code");
|
||||
List<JSONObject> list = materialRecordMapper.selectMaterialByRegionCode(region_code);
|
||||
JSONArray arr = new JSONArray();
|
||||
list.forEach(item -> {
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("material_code", item.getString("material_code"));
|
||||
jo.put("material_name", item.getString("material_name"));
|
||||
arr.add(jo);
|
||||
});
|
||||
JSONObject ret = new JSONObject();
|
||||
ret.put("code", String.valueOf(HttpStatus.HTTP_OK));
|
||||
ret.put("message", "查询成功");
|
||||
ret.put("data", arr);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public JSONObject inArea(JSONObject whereJson) {
|
||||
log.info("请求进入,请求参数:" + whereJson);
|
||||
String region_code = whereJson.getString("region_code");
|
||||
if (StrUtil.isEmpty(region_code)) {
|
||||
throw new BadRequestException("区域编码不能为空!");
|
||||
@@ -888,6 +978,7 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
|
||||
@Override
|
||||
public JSONObject outArea(JSONObject whereJson) {
|
||||
log.info("请求离开,请求参数:" + whereJson);
|
||||
String region_name = whereJson.getString("region_name");
|
||||
String create_name = whereJson.getString("create_name");
|
||||
SchBasePoint schBasePoint = pointMapper.selectOne(new LambdaQueryWrapper<SchBasePoint>().eq(SchBasePoint::getRegion_name, region_name)
|
||||
@@ -927,7 +1018,7 @@ public class PdaTaskServiceImpl implements PdaTaskService {
|
||||
SchBasePoint pointStartDao = pointMapper.selectOne(new LambdaQueryWrapper<SchBasePoint>()
|
||||
.eq(SchBasePoint::getPoint_code, start_point_code));
|
||||
if (!pointStartDao.getPoint_status().equals("2")) {
|
||||
throw new BadRequestException(end_point_code + "点位不是满位状态");
|
||||
throw new BadRequestException(start_point_code + "点位不是满位状态");
|
||||
}
|
||||
|
||||
// 校验终点
|
||||
|
||||
@@ -15,4 +15,6 @@ public interface MaterialRecordMapper extends BaseMapper<MaterialRecord> {
|
||||
List<JSONObject> selectMaterialByRegion(@Param("region_code") String region_code);
|
||||
|
||||
List<JSONObject> getMaterialTypes();
|
||||
|
||||
List<JSONObject> selectMaterialByRegionCode(@Param("region_code") String region_code);
|
||||
}
|
||||
|
||||
@@ -36,4 +36,28 @@
|
||||
GROUP BY
|
||||
material_type
|
||||
</select>
|
||||
<select id="selectMaterialByRegionCode" resultType="com.alibaba.fastjson.JSONObject"
|
||||
parameterType="java.lang.String">
|
||||
SELECT
|
||||
p.material_code,
|
||||
MAX(plate.material_name) as material_name
|
||||
FROM `sch_base_point` p
|
||||
LEFT JOIN md_pb_groupplate plate ON plate.storagevehicle_code = p.storagevehicle_code
|
||||
WHERE
|
||||
p.region_code = #{region_code}
|
||||
AND 0 = (
|
||||
SELECT COUNT(*)
|
||||
FROM sch_base_task
|
||||
WHERE (point_code1 = p.point_code
|
||||
OR point_code2 = p.point_code
|
||||
OR point_code3 = p.point_code
|
||||
OR point_code4 = p.point_code
|
||||
)
|
||||
AND task_status <![CDATA[<]]> '5'
|
||||
AND is_delete = '0'
|
||||
)
|
||||
AND p.point_status = '2'
|
||||
AND p.is_used = 1
|
||||
GROUP BY p.material_code
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -40,16 +40,16 @@
|
||||
<if test="whereJson.is_used != null">
|
||||
AND is_used = #{whereJson.is_used}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- Case: whereJson.lock_type is true -->
|
||||
<when test="whereJson.lock_type">
|
||||
AND (ing_task_code IS NOT NULL AND ing_task_code <![CDATA[<>]]> '')
|
||||
</when>
|
||||
<!-- Case: whereJson.lock_type is false -->
|
||||
<otherwise>
|
||||
AND (ing_task_code IS NULL OR ing_task_code = '')
|
||||
</otherwise>
|
||||
</choose>
|
||||
<!-- <choose>-->
|
||||
<!-- <!– Case: whereJson.lock_type is true –>-->
|
||||
<!-- <when test="whereJson.lock_type">-->
|
||||
<!-- AND (ing_task_code IS NOT NULL AND ing_task_code <![CDATA[<>]]> '')-->
|
||||
<!-- </when>-->
|
||||
<!-- <!– Case: whereJson.lock_type is false –>-->
|
||||
<!-- <otherwise>-->
|
||||
<!-- AND (ing_task_code IS NULL OR ing_task_code = '')-->
|
||||
<!-- </otherwise>-->
|
||||
<!-- </choose>-->
|
||||
</where>
|
||||
ORDER BY region_code, point_code, point_type
|
||||
</select>
|
||||
|
||||
@@ -59,12 +59,13 @@
|
||||
WHEN '2' THEN '创建完成'
|
||||
WHEN '3' THEN '下发'
|
||||
WHEN '4' THEN '执行中'
|
||||
WHEN '071' THEN '取货完成'
|
||||
END) AS task_status
|
||||
FROM
|
||||
sch_base_task
|
||||
<where>
|
||||
is_delete = '0'
|
||||
AND task_status IN ('0','1','2','3','4')
|
||||
AND task_status IN ('0','1','2','3','4','071')
|
||||
<if test="param.task_code != null and param.task_code != ''">
|
||||
AND
|
||||
(task_code = #{param.task_code} or
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package org.nl.wms.sch.task_manage.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum PointTypeEnum {
|
||||
|
||||
NET_IN_POINT("1", "N1/N3下料位"),
|
||||
|
||||
NET_OUT_POINT("2", "N1/N3下料位"),
|
||||
|
||||
L_IN_POINT("4", "L1/L2位"),
|
||||
|
||||
L_OUT_POINT("4", "L1/L2下料位");
|
||||
|
||||
private final String code;
|
||||
private final String label;
|
||||
}
|
||||
@@ -33,12 +33,16 @@ public enum TaskStatus {
|
||||
* 已取消
|
||||
*/
|
||||
CANCELED("6", "已取消", "已取消"),
|
||||
|
||||
PICK_UP_COMPLETED("071", "取货完成,执行中","取货完成,执行中"),
|
||||
/**
|
||||
* 未完成
|
||||
*/
|
||||
UNFINISHED("7", "未完成", "未完成");
|
||||
|
||||
|
||||
|
||||
|
||||
TaskStatus(String code, String name, String desc) {
|
||||
this.code = code;
|
||||
this.name = name;
|
||||
|
||||
@@ -30,6 +30,7 @@ import org.nl.wms.util.TaskUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import oshi.driver.mac.net.NetStat;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@@ -21,6 +21,10 @@ import org.nl.wms.sch.forewarn.service.dao.StIvtForewarningconfig;
|
||||
import org.nl.wms.sch.forewarn.service.dao.StIvtForewarningmaterial;
|
||||
import org.nl.wms.sch.forewarn.service.dao.mapper.StIvtForewarningconfigMapper;
|
||||
import org.nl.wms.sch.forewarn.service.dao.mapper.StIvtForewarningmaterialMapper;
|
||||
import org.nl.wms.sch.group.service.dao.GroupPlate;
|
||||
import org.nl.wms.sch.group.service.dao.GroupPlatedtl;
|
||||
import org.nl.wms.sch.group.service.dao.mapper.MdPbGroupplateMapper;
|
||||
import org.nl.wms.sch.group.service.dao.mapper.MdPbGroupplatedtlMapper;
|
||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.point.service.dto.SchBasePointDto;
|
||||
@@ -43,9 +47,7 @@ import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
// NET加工区上料任务
|
||||
@@ -74,6 +76,10 @@ public class NETSLTask extends AbstractTask {
|
||||
private StIvtForewarningconfigMapper stIvtForewarningconfigMapper;
|
||||
@Autowired
|
||||
private MdMeMaterialbaseMapper mdMeMaterialbaseMapper;
|
||||
@Autowired
|
||||
private MdPbGroupplateMapper mdPbGroupplateMapper;
|
||||
@Autowired
|
||||
private MdPbGroupplatedtlMapper mdPbGroupplatedtlMapper;
|
||||
|
||||
@Override
|
||||
public void create() throws BadRequestException {
|
||||
@@ -201,6 +207,7 @@ public class NETSLTask extends AbstractTask {
|
||||
if (ObjectUtil.isNotEmpty(endPointObj)) {
|
||||
endPointObj.setPoint_status(PointStatusEnum.EMPTY_VEHICLE.getCode());
|
||||
endPointObj.setStoragevehicle_code(taskObj.getVehicle_code());
|
||||
endPointObj.setMaterial_code(taskObj.getMaterial_code());
|
||||
// endPointObj.setVehicle_qty(taskObj.getVehicle_qty());
|
||||
endPointObj.setUpdate_time(DateUtil.now());
|
||||
PointUtils.setUpdateByType(endPointObj, taskFinishedType);
|
||||
@@ -240,6 +247,43 @@ public class NETSLTask extends AbstractTask {
|
||||
SchBasePoint startPointObj = pointService.getById(taskObj.getPoint_code1());
|
||||
// 起点解锁
|
||||
if (ObjectUtil.isNotEmpty(startPointObj)) {
|
||||
String storagevehicle_code = startPointObj.getStoragevehicle_code();
|
||||
//取货完成会清空托盘号
|
||||
//托盘号不为空,还未取货
|
||||
if (ObjectUtil.isEmpty(storagevehicle_code)&&startPointObj.getPoint_type().equals("1")) {
|
||||
String vehicle_code = taskObj.getVehicle_code();
|
||||
GroupPlate groupPlate = mdPbGroupplateMapper.selectOne(new LambdaQueryWrapper<GroupPlate>().eq(GroupPlate::getStoragevehicle_code, vehicle_code));
|
||||
if (ObjectUtil.isNotEmpty(groupPlate)) {
|
||||
//删除组盘信息
|
||||
List<GroupPlatedtl> list = mdPbGroupplatedtlMapper.selectList(new LambdaQueryWrapper<GroupPlatedtl>().eq(GroupPlatedtl::getGroup_id, groupPlate.getGroup_id()));
|
||||
if (list.size()>0){
|
||||
Set<String> ids = new HashSet<String>();
|
||||
list.forEach(groupPlatedtl ->{
|
||||
String id = groupPlatedtl.getGroupdtl_id();
|
||||
ids.add(id);
|
||||
} );
|
||||
mdPbGroupplatedtlMapper.deleteBatchIds(ids);
|
||||
}
|
||||
mdPbGroupplateMapper.deleteById(groupPlate);
|
||||
}
|
||||
}else {
|
||||
GroupPlate groupPlate = mdPbGroupplateMapper.selectOne(new LambdaQueryWrapper<GroupPlate>().eq(GroupPlate::getStoragevehicle_code, storagevehicle_code));
|
||||
if (ObjectUtil.isNotEmpty(groupPlate)) {
|
||||
//删除组盘信息
|
||||
List<GroupPlatedtl> list = mdPbGroupplatedtlMapper.selectList(new LambdaQueryWrapper<GroupPlatedtl>().eq(GroupPlatedtl::getGroup_id, groupPlate.getGroup_id()));
|
||||
if (list.size() > 0) {
|
||||
Set<String> ids = new HashSet<String>();
|
||||
list.forEach(groupPlatedtl ->{
|
||||
String id = groupPlatedtl.getGroupdtl_id();
|
||||
ids.add(id);
|
||||
} );
|
||||
mdPbGroupplatedtlMapper.deleteBatchIds(ids);
|
||||
}
|
||||
mdPbGroupplateMapper.deleteById(groupPlate);
|
||||
}
|
||||
startPointObj.setMaterial_code("");
|
||||
startPointObj.setStoragevehicle_code("");
|
||||
}
|
||||
startPointObj.setIng_task_code("");
|
||||
PointUtils.setUpdateByType(startPointObj, taskFinishedType);
|
||||
pointService.updateById(startPointObj);
|
||||
|
||||
@@ -37,7 +37,9 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -163,7 +165,7 @@ public class NETXLTask extends AbstractTask {
|
||||
List<SchBasePoint> list = pointService.getSamePoints(regionCode, task.getMaterial_code());
|
||||
if (!CollectionUtils.isEmpty(list)) {
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
SchBasePoint point = list.get(0);
|
||||
SchBasePoint point = list.get(i);
|
||||
int col_num = point.getCol_num();
|
||||
if (col_num == 1) {
|
||||
continue;
|
||||
@@ -195,7 +197,7 @@ public class NETXLTask extends AbstractTask {
|
||||
return null;
|
||||
}
|
||||
for (int i = 0; i < points.size(); i++) {
|
||||
SchBasePoint thirdColPoint = points.get(0);
|
||||
SchBasePoint thirdColPoint = points.get(i);
|
||||
String firstColPointCode = thirdColPoint.getPoint_code().substring(0, thirdColPoint.getPoint_code().length() - 1) + "1";
|
||||
String secondColPointCode = thirdColPoint.getPoint_code().substring(0, thirdColPoint.getPoint_code().length() - 1) + "2";
|
||||
|
||||
@@ -301,6 +303,7 @@ public class NETXLTask extends AbstractTask {
|
||||
if (ObjectUtil.isNotEmpty(endPointObj)) {
|
||||
endPointObj.setPoint_status(PointStatusEnum.EMPTY_VEHICLE.getCode());
|
||||
endPointObj.setStoragevehicle_code(taskObj.getVehicle_code());
|
||||
endPointObj.setMaterial_code(taskObj.getMaterial_code());
|
||||
endPointObj.setUpdate_time(DateUtil.now());
|
||||
PointUtils.setUpdateByType(endPointObj, taskFinishedType);
|
||||
pointService.updateById(endPointObj);
|
||||
@@ -320,14 +323,44 @@ public class NETXLTask extends AbstractTask {
|
||||
// 起点解锁
|
||||
if (ObjectUtil.isNotEmpty(startPointObj)) {
|
||||
String storagevehicle_code = startPointObj.getStoragevehicle_code();
|
||||
if (ObjectUtil.isNotEmpty(storagevehicle_code)) {
|
||||
//取货完成会清空托盘号
|
||||
//托盘号不为空,还未取货
|
||||
if (ObjectUtil.isEmpty(storagevehicle_code)) {
|
||||
String vehicle_code = taskObj.getVehicle_code();
|
||||
GroupPlate groupPlate = mdPbGroupplateMapper.selectOne(new LambdaQueryWrapper<GroupPlate>().eq(GroupPlate::getStoragevehicle_code, vehicle_code));
|
||||
if (ObjectUtil.isNotEmpty(groupPlate)) {
|
||||
//删除组盘信息
|
||||
List<GroupPlatedtl> list = mdPbGroupplatedtlMapper.selectList(new LambdaQueryWrapper<GroupPlatedtl>().eq(GroupPlatedtl::getGroup_id, groupPlate.getGroup_id()));
|
||||
if (list.size()>0){
|
||||
Set<String> ids = new HashSet<String>();
|
||||
list.forEach(groupPlatedtl ->{
|
||||
String id = groupPlatedtl.getGroupdtl_id();
|
||||
ids.add(id);
|
||||
} );
|
||||
mdPbGroupplatedtlMapper.deleteBatchIds(ids);
|
||||
}
|
||||
mdPbGroupplateMapper.deleteById(groupPlate);
|
||||
}
|
||||
}else {
|
||||
GroupPlate groupPlate = mdPbGroupplateMapper.selectOne(new LambdaQueryWrapper<GroupPlate>().eq(GroupPlate::getStoragevehicle_code, storagevehicle_code));
|
||||
if (ObjectUtil.isNotEmpty(groupPlate)) {
|
||||
//删除组盘信息
|
||||
groupPlate.setIs_delete(GeneralDefinition.YES);
|
||||
mdPbGroupplateMapper.updateById(groupPlate);
|
||||
List<GroupPlatedtl> list = mdPbGroupplatedtlMapper.selectList(new LambdaQueryWrapper<GroupPlatedtl>().eq(GroupPlatedtl::getGroup_id, groupPlate.getGroup_id()));
|
||||
if (list.size() > 0) {
|
||||
Set<String> ids = new HashSet<String>();
|
||||
list.forEach(groupPlatedtl ->{
|
||||
String id = groupPlatedtl.getGroupdtl_id();
|
||||
ids.add(id);
|
||||
} );
|
||||
mdPbGroupplatedtlMapper.deleteBatchIds(ids);
|
||||
}
|
||||
mdPbGroupplateMapper.deleteById(groupPlate);
|
||||
}
|
||||
}
|
||||
startPointObj.setMaterial_code("");
|
||||
startPointObj.setStoragevehicle_code("");
|
||||
startPointObj.setIng_task_code("");
|
||||
startPointObj.setPoint_status(PointStatusEnum.EMPTY_POINT.getCode());
|
||||
PointUtils.setUpdateByType(startPointObj, taskFinishedType);
|
||||
pointService.updateById(startPointObj);
|
||||
}
|
||||
|
||||
@@ -3,11 +3,16 @@ package org.nl.wms.sch.tasks.thsl;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.system.service.notice.ISysNoticeService;
|
||||
import org.nl.wms.sch.group.service.dao.GroupPlate;
|
||||
import org.nl.wms.sch.group.service.dao.GroupPlatedtl;
|
||||
import org.nl.wms.sch.group.service.dao.mapper.MdPbGroupplateMapper;
|
||||
import org.nl.wms.sch.group.service.dao.mapper.MdPbGroupplatedtlMapper;
|
||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.point.service.dao.mapper.SchBasePointMapper;
|
||||
@@ -32,9 +37,7 @@ import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import oshi.driver.mac.net.NetStat;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
//// 贴合区上料任务
|
||||
@@ -54,6 +57,10 @@ public class THSLTask extends AbstractTask {
|
||||
private THSLMapper thslMapper;
|
||||
@Autowired
|
||||
private SchBasePointMapper pointMapper;
|
||||
@Autowired
|
||||
private MdPbGroupplateMapper mdPbGroupplateMapper;
|
||||
@Autowired
|
||||
private MdPbGroupplatedtlMapper mdPbGroupplatedtlMapper;
|
||||
|
||||
@Override
|
||||
public void create() throws BadRequestException {
|
||||
@@ -124,6 +131,12 @@ public class THSLTask extends AbstractTask {
|
||||
task.setPoint_code1(schBasePointDto.getPoint_code());
|
||||
task.setVehicle_code2(PackageInfoIvtEnum.AGV_ACTION_TYPE.code("普通任务"));
|
||||
}
|
||||
String requestParam = task.getRequest_param();
|
||||
JSONObject jsonObject = JSONObject.parseObject(requestParam);
|
||||
String point4 = jsonObject.getString("point4");
|
||||
if (StrUtil.isNotEmpty(point4)){
|
||||
task.setPoint_code4(point4);
|
||||
}
|
||||
// 设置终点并修改创建成功状态
|
||||
task.setVehicle_code(schBasePointDto.getStoragevehicle_code());
|
||||
task.setRemark("");
|
||||
@@ -188,6 +201,7 @@ public class THSLTask extends AbstractTask {
|
||||
if (ObjectUtil.isNotEmpty(endPointObj)) {
|
||||
endPointObj.setPoint_status(PointStatusEnum.EMPTY_VEHICLE.getCode());
|
||||
endPointObj.setStoragevehicle_code(taskObj.getVehicle_code());
|
||||
endPointObj.setMaterial_code(taskObj.getMaterial_code());
|
||||
endPointObj.setUpdate_time(DateUtil.now());
|
||||
PointUtils.setUpdateByType(endPointObj, taskFinishedType);
|
||||
pointService.updateById(endPointObj);
|
||||
@@ -206,6 +220,43 @@ public class THSLTask extends AbstractTask {
|
||||
SchBasePoint startPointObj = pointService.getById(taskObj.getPoint_code1());
|
||||
// 起点解锁
|
||||
if (ObjectUtil.isNotEmpty(startPointObj)) {
|
||||
String storagevehicle_code = startPointObj.getStoragevehicle_code();
|
||||
//取货完成会清空托盘号
|
||||
//托盘号不为空,还未取货
|
||||
if (ObjectUtil.isEmpty(storagevehicle_code)&&startPointObj.getPoint_type().equals("1")) {
|
||||
String vehicle_code = taskObj.getVehicle_code();
|
||||
GroupPlate groupPlate = mdPbGroupplateMapper.selectOne(new LambdaQueryWrapper<GroupPlate>().eq(GroupPlate::getStoragevehicle_code, vehicle_code));
|
||||
if (ObjectUtil.isNotEmpty(groupPlate)) {
|
||||
//删除组盘信息
|
||||
List<GroupPlatedtl> list = mdPbGroupplatedtlMapper.selectList(new LambdaQueryWrapper<GroupPlatedtl>().eq(GroupPlatedtl::getGroup_id, groupPlate.getGroup_id()));
|
||||
if (list.size()>0){
|
||||
Set<String> ids = new HashSet<String>();
|
||||
list.forEach(groupPlatedtl ->{
|
||||
String id = groupPlatedtl.getGroupdtl_id();
|
||||
ids.add(id);
|
||||
} );
|
||||
mdPbGroupplatedtlMapper.deleteBatchIds(ids);
|
||||
}
|
||||
mdPbGroupplateMapper.deleteById(groupPlate);
|
||||
}
|
||||
}else {
|
||||
GroupPlate groupPlate = mdPbGroupplateMapper.selectOne(new LambdaQueryWrapper<GroupPlate>().eq(GroupPlate::getStoragevehicle_code, storagevehicle_code));
|
||||
if (ObjectUtil.isNotEmpty(groupPlate)) {
|
||||
//删除组盘信息
|
||||
List<GroupPlatedtl> list = mdPbGroupplatedtlMapper.selectList(new LambdaQueryWrapper<GroupPlatedtl>().eq(GroupPlatedtl::getGroup_id, groupPlate.getGroup_id()));
|
||||
if (list.size() > 0) {
|
||||
Set<String> ids = new HashSet<String>();
|
||||
list.forEach(groupPlatedtl ->{
|
||||
String id = groupPlatedtl.getGroupdtl_id();
|
||||
ids.add(id);
|
||||
} );
|
||||
mdPbGroupplatedtlMapper.deleteBatchIds(ids);
|
||||
}
|
||||
mdPbGroupplateMapper.deleteById(groupPlate);
|
||||
}
|
||||
startPointObj.setMaterial_code("");
|
||||
startPointObj.setStoragevehicle_code("");
|
||||
}
|
||||
startPointObj.setIng_task_code("");
|
||||
PointUtils.setUpdateByType(startPointObj, taskFinishedType);
|
||||
pointService.updateById(startPointObj);
|
||||
|
||||
@@ -8,6 +8,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.system.service.notice.ISysNoticeService;
|
||||
import org.nl.wms.sch.group.service.dao.GroupPlate;
|
||||
import org.nl.wms.sch.group.service.dao.GroupPlatedtl;
|
||||
import org.nl.wms.sch.group.service.dao.mapper.MdPbGroupplateMapper;
|
||||
import org.nl.wms.sch.group.service.dao.mapper.MdPbGroupplatedtlMapper;
|
||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
||||
@@ -31,7 +35,9 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
//// 贴合区下料任务
|
||||
@@ -49,6 +55,10 @@ public class THXLTask extends AbstractTask {
|
||||
private ISysNoticeService noticeService;
|
||||
@Autowired
|
||||
private THXLMapper thxlMapper;
|
||||
@Autowired
|
||||
private MdPbGroupplateMapper mdPbGroupplateMapper;
|
||||
@Autowired
|
||||
private MdPbGroupplatedtlMapper mdPbGroupplatedtlMapper;
|
||||
|
||||
@Override
|
||||
public void create() throws BadRequestException {
|
||||
@@ -125,7 +135,7 @@ public class THXLTask extends AbstractTask {
|
||||
List<SchBasePoint> list = pointService.getSamePoints(regionCode, task.getMaterial_code());
|
||||
if (!CollectionUtils.isEmpty(list)) {
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
SchBasePoint point = list.get(0);
|
||||
SchBasePoint point = list.get(i);
|
||||
int col_num = point.getCol_num();
|
||||
if (col_num == 1) {
|
||||
continue;
|
||||
@@ -158,7 +168,7 @@ public class THXLTask extends AbstractTask {
|
||||
return null;
|
||||
}
|
||||
for (int i = 0; i < points.size(); i++) {
|
||||
SchBasePoint twoColPoint = points.get(0);
|
||||
SchBasePoint twoColPoint = points.get(i);
|
||||
String firstColPointCode = twoColPoint.getPoint_code().substring(0, twoColPoint.getPoint_code().length() - 1) + "1";
|
||||
// 查询第一列
|
||||
SchBasePoint firstColPoint = pointService.findByCode(firstColPointCode);
|
||||
@@ -279,6 +289,7 @@ public class THXLTask extends AbstractTask {
|
||||
|
||||
endPointObj.setPoint_status(PointStatusEnum.EMPTY_VEHICLE.getCode());
|
||||
endPointObj.setStoragevehicle_code(taskObj.getVehicle_code());
|
||||
endPointObj.setMaterial_code(taskObj.getMaterial_code());
|
||||
endPointObj.setUpdate_time(DateUtil.now());
|
||||
PointUtils.setUpdateByType(endPointObj, taskFinishedType);
|
||||
pointService.updateById(endPointObj);
|
||||
@@ -297,7 +308,45 @@ public class THXLTask extends AbstractTask {
|
||||
SchBasePoint startPointObj = pointService.getById(taskObj.getPoint_code1());
|
||||
// 起点解锁
|
||||
if (ObjectUtil.isNotEmpty(startPointObj)) {
|
||||
String storagevehicle_code = startPointObj.getStoragevehicle_code();
|
||||
//取货完成会清空托盘号
|
||||
//托盘号不为空,还未取货
|
||||
if (ObjectUtil.isEmpty(storagevehicle_code)) {
|
||||
String vehicle_code = taskObj.getVehicle_code();
|
||||
GroupPlate groupPlate = mdPbGroupplateMapper.selectOne(new LambdaQueryWrapper<GroupPlate>().eq(GroupPlate::getStoragevehicle_code, vehicle_code));
|
||||
if (ObjectUtil.isNotEmpty(groupPlate)) {
|
||||
//删除组盘信息
|
||||
List<GroupPlatedtl> list = mdPbGroupplatedtlMapper.selectList(new LambdaQueryWrapper<GroupPlatedtl>().eq(GroupPlatedtl::getGroup_id, groupPlate.getGroup_id()));
|
||||
if (list.size()>0){
|
||||
Set<String> ids = new HashSet<String>();
|
||||
list.forEach(groupPlatedtl ->{
|
||||
String id = groupPlatedtl.getGroupdtl_id();
|
||||
ids.add(id);
|
||||
} );
|
||||
mdPbGroupplatedtlMapper.deleteBatchIds(ids);
|
||||
}
|
||||
mdPbGroupplateMapper.deleteById(groupPlate);
|
||||
}
|
||||
}else {
|
||||
GroupPlate groupPlate = mdPbGroupplateMapper.selectOne(new LambdaQueryWrapper<GroupPlate>().eq(GroupPlate::getStoragevehicle_code, storagevehicle_code));
|
||||
if (ObjectUtil.isNotEmpty(groupPlate)) {
|
||||
//删除组盘信息
|
||||
List<GroupPlatedtl> list = mdPbGroupplatedtlMapper.selectList(new LambdaQueryWrapper<GroupPlatedtl>().eq(GroupPlatedtl::getGroup_id, groupPlate.getGroup_id()));
|
||||
if (list.size() > 0) {
|
||||
Set<String> ids = new HashSet<String>();
|
||||
list.forEach(groupPlatedtl ->{
|
||||
String id = groupPlatedtl.getGroupdtl_id();
|
||||
ids.add(id);
|
||||
} );
|
||||
mdPbGroupplatedtlMapper.deleteBatchIds(ids);
|
||||
}
|
||||
mdPbGroupplateMapper.deleteById(groupPlate);
|
||||
}
|
||||
}
|
||||
startPointObj.setMaterial_code("");
|
||||
startPointObj.setStoragevehicle_code("");
|
||||
startPointObj.setIng_task_code("");
|
||||
startPointObj.setPoint_status(PointStatusEnum.EMPTY_POINT.getCode());
|
||||
PointUtils.setUpdateByType(startPointObj, taskFinishedType);
|
||||
pointService.updateById(startPointObj);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user