rev:转运任务
This commit is contained in:
@@ -24,7 +24,7 @@ public class SpelUtil {
|
|||||||
|
|
||||||
private static SpelExpressionParser SPEL_PARSER = new SpelExpressionParser();
|
private static SpelExpressionParser SPEL_PARSER = new SpelExpressionParser();
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main2(String[] args) {
|
||||||
JSONObject source = new JSONObject();
|
JSONObject source = new JSONObject();
|
||||||
JSONObject model = new JSONObject();
|
JSONObject model = new JSONObject();
|
||||||
JSONObject FBillType = new JSONObject();
|
JSONObject FBillType = new JSONObject();
|
||||||
@@ -136,11 +136,16 @@ public class SpelUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main2(String[] args) {
|
public static void main(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\"}";
|
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);
|
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(parse);
|
||||||
|
System.out.println(parse2);
|
||||||
|
String b = "1234FStockId";
|
||||||
|
String[] $s = b.split("\\$");
|
||||||
|
System.out.println($s[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user