rev:转运任务

This commit is contained in:
zhangzq
2024-12-13 10:43:48 +08:00
parent 039bd6283b
commit b641a95ec7
2 changed files with 97 additions and 4 deletions

View File

@@ -24,7 +24,7 @@ public class SpelUtil {
private static SpelExpressionParser SPEL_PARSER = new SpelExpressionParser();
public static void main(String[] args) {
public static void main2(String[] args) {
JSONObject source = new JSONObject();
JSONObject model = new JSONObject();
JSONObject FBillType = new JSONObject();
@@ -136,11 +136,16 @@ public class SpelUtil {
}
}
public static void main2(String[] args) {
String a= "{\"item\":[{\"t\":{\"stor_code\":\"FStockId\",\"create_time\":\"2024-06-19 11:13:06\",\"task_code\":\"28510\",\"material_spec\":\"45CCL1 1/8\",\"form_data\":{},\"group_id\":\"1803264719126138880\",\"qty\":120,\"proc_inst_id\":\"1803320414961799168\",\"is_lock\":false,\"pcsn\":\"11\",\"material_id\":\"FMaterialId\",\"id\":\"1803264718849314816\",\"has_child\":false,\"frozen_qty\":0,\"vehicle_code\":\"D00012\",\"source_form_id\":\"1803264490947612672\",\"unit_id\":\"16\",\"material_name\":\"A345度等径承插口弯头45CCL1 1/8USNA0131010\",\"source_form_type\":\"st_ivt_iostorinvdtl\",\"create_name\":\"管理员\",\"material_code\":\"24001097S\"},\"form_id\":\"1803264718849314816\",\"form_type\":\"md_pb_vehicleMater\",\"source_form_id\":\"1803264490947612672\",\"source_form_type\":\"st_ivt_iostorinvdtl\"}],\"t\":{\"code\":\"ZP20240619023\",\"stor_code\":\"FStockId\",\"create_time\":\"2024-06-19 11:13:06\",\"update_name\":\"管理员\",\"update_time\":\"2024-06-19 11:15:31\",\"form_data\":{},\"id\":\"1803264719126138880\",\"vehicle_code\":\"D00012\",\"source_form_id\":\"1803264490947612672\",\"struct_code\":\"L03-03-01\",\"source_form_type\":\"st_ivt_iostorinvdtl\",\"status\":\"10\",\"create_name\":\"管理员\"},\"form_id\":\"1803264719126138880\",\"form_type\":\"md_group_dick\",\"source_form_id\":\"1803264490947612672\",\"source_form_type\":\"st_ivt_iostorinvdtl\"}";
public static void main(String[] args) {
String a= "{\"item\":[{\"t\":{\"stor_code\":\"12322$FStockId\",\"create_time\":\"2024-06-19 11:13:06\",\"task_code\":\"28510\",\"material_spec\":\"45CCL1 1/8\",\"form_data\":{},\"group_id\":\"1803264719126138880\",\"qty\":120,\"proc_inst_id\":\"1803320414961799168\",\"is_lock\":false,\"pcsn\":\"11\",\"material_id\":\"FMaterialId\",\"id\":\"1803264718849314816\",\"has_child\":false,\"frozen_qty\":0,\"vehicle_code\":\"D00012\",\"source_form_id\":\"1803264490947612672\",\"unit_id\":\"16\",\"material_name\":\"A345度等径承插口弯头45CCL1 1/8USNA0131010\",\"source_form_type\":\"st_ivt_iostorinvdtl\",\"create_name\":\"管理员\",\"material_code\":\"24001097S\"},\"form_id\":\"1803264718849314816\",\"form_type\":\"md_pb_vehicleMater\",\"source_form_id\":\"1803264490947612672\",\"source_form_type\":\"st_ivt_iostorinvdtl\"}],\"t\":{\"code\":\"ZP20240619023\",\"stor_code\":\"1234$FStockId\",\"create_time\":\"2024-06-19 11:13:06\",\"update_name\":\"管理员\",\"update_time\":\"2024-06-19 11:15:31\",\"form_data\":{},\"id\":\"1803264719126138880\",\"vehicle_code\":\"D00012\",\"source_form_id\":\"1803264490947612672\",\"struct_code\":\"L03-03-01\",\"source_form_type\":\"st_ivt_iostorinvdtl\",\"status\":\"10\",\"create_name\":\"管理员\"},\"form_id\":\"1803264719126138880\",\"form_type\":\"md_group_dick\",\"source_form_id\":\"1803264490947612672\",\"source_form_type\":\"st_ivt_iostorinvdtl\"}";
JSONObject jsonObject = JSONObject.parseObject(a);
String parse = SpelUtil.parse(jsonObject.getJSONObject("t"),"#M['stor_code'] == 'FStockId'", String.class);
String parse = SpelUtil.parse(jsonObject.getJSONObject("t"),"#M['stor_code']", String.class);
Object parse2 = SpelUtil.parse(jsonObject.getJSONObject("t"),"#M['stor_code'].split('\\$')[0]", Object.class);
System.out.println(parse);
System.out.println(parse2);
String b = "1234FStockId";
String[] $s = b.split("\\$");
System.out.println($s[0]);
}

View File

@@ -0,0 +1,88 @@
package org.nl.wms.dispatch_manage.task.handler.impl;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import org.apache.commons.lang3.StringUtils;
import org.nl.common.domain.exception.BadRequestException;
import org.nl.common.enums.StatusEnum;
import org.nl.common.utils.CodeUtil;
import org.nl.common.utils.IdUtil;
import org.nl.common.utils.SecurityUtils;
import org.nl.wms.dispatch_manage.task.handler.AbstractTask;
import org.nl.wms.dispatch_manage.task.service.ISchBaseTaskService;
import org.nl.wms.dispatch_manage.task.service.dao.SchBaseTask;
import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService;
import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater;
import org.nl.wms.stor_manage.struct.service.IStIvtStructattrService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.stream.Collectors;
/*
* @author ZZQ
* @Date 2024/5/6 14:34
* 堆垛机入库任务
*/
@Service
public class TranforTask extends AbstractTask {
@Autowired
private ISchBaseTaskService iSchBaseTaskService;
@Override
public JSONObject createTask(JSONObject from) {
// {"start":"1123","end":"1131",vehicle_code,"XXX"}
String start = from.getString("start");
String end = from.getString("end");
String vehicle_code = from.getString("vehicle_code");
if (StringUtils.isEmpty(start) ||StringUtils.isEmpty(end)||StringUtils.isEmpty(vehicle_code)){
throw new BadRequestException("创建任务失败:方法请求参数不能为空");
}
List<SchBaseTask> list = iSchBaseTaskService.list(new QueryWrapper<SchBaseTask>()
.eq("point_code1", start)
.lt("status", StatusEnum.FORM_STATUS.code("完成")));
if (!CollectionUtils.isEmpty(list)){
throw new BadRequestException("起点位置存在正在执行任务:"+list.stream().map(SchBaseTask::getTask_code).collect(Collectors.joining(",")));
}
SchBaseTask task = new SchBaseTask();
task.setId(IdUtil.getStringId());
task.setSource_form_id(from.getString("id"));
task.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
task.setStatus(StatusEnum.FORM_STATUS.code("生成"));
task.setHandle_class(this.getClass().getName());
task.setAcs_type(StatusEnum.ACS_TYPE.code("立库"));
task.setCreate_time(DateUtil.now());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setTask_type(StatusEnum.OTHER_TASK_TYPE.code("转运"));
task.setVehicle_code(vehicle_code);
task.setPoint_code1(start);
task.setPoint_code2(end);
iSchBaseTaskService.create(task);
return (JSONObject) JSON.toJSON(task);
}
@Override
@Transactional
public void finish(JSONObject data) {
data.put("status",StatusEnum.FORM_STATUS.code("完成"));
this.updateTask(data);
}
@Override
public void updateStatus(JSONObject data) {
this.updateTask(data);
}
@Override
public void cancel(JSONObject data) {
this.updateTask(data);
}
}