rev:流程节点数据存储
This commit is contained in:
@@ -17,10 +17,10 @@ import java.util.Map;
|
||||
public enum StatusEnum {
|
||||
//单据状态库类型
|
||||
MODEL_STATUS(MapOf.of("发布", "10", "未发布", "30")),
|
||||
|
||||
FORM_STATUS(MapOf.of("生成", "10", "执行中", "20","完成", "99")),
|
||||
FLOW_STATUS(MapOf.of("启动", "10", "执行中", "20","暂停", "30","完成", "99")),
|
||||
FLOW_STATUS(MapOf.of("启动", "10", "节点完成", "20","暂停", "30","完成", "99")),
|
||||
|
||||
LOCK(MapOf.of("无","00","入","10","出","20")),
|
||||
;
|
||||
private Map<String, String> code;
|
||||
|
||||
|
||||
@@ -136,16 +136,16 @@ public class StIvtStructattr implements Serializable {
|
||||
*/
|
||||
private Boolean is_used;
|
||||
|
||||
/**
|
||||
* 锁定类型
|
||||
*/
|
||||
private String lock_type;
|
||||
|
||||
/**
|
||||
* 是否判断高度
|
||||
*/
|
||||
private String is_zdepth;
|
||||
|
||||
/**
|
||||
* 是否空位
|
||||
*/
|
||||
private Boolean is_emp;
|
||||
|
||||
/**
|
||||
* 存储载具号
|
||||
*/
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package org.nl.wms.dispatch_manage.task.handler;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.wms.dispatch_manage.task.service.dao.SchBaseTask;
|
||||
import org.nl.wms.flow_manage.flow.framework.process.nodeType.excess.impl.process.classprocess.ClassProcess;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -9,7 +11,6 @@ import java.util.List;
|
||||
* @author ZZQ
|
||||
* @Date 2024/5/6 14:35
|
||||
*/
|
||||
public interface TaskHandler {
|
||||
public interface TaskHandler extends ClassProcess {
|
||||
|
||||
List<SchBaseTask> createTask(JSONArray forms);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.nl.wms.dispatch_manage.task.handler.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.wms.dispatch_manage.task.handler.TaskHandler;
|
||||
import org.nl.wms.dispatch_manage.task.service.dao.SchBaseTask;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -13,8 +14,9 @@ import java.util.List;
|
||||
*/
|
||||
@Service
|
||||
public class AgvTaskHandler implements TaskHandler {
|
||||
|
||||
@Override
|
||||
public List<SchBaseTask> createTask(JSONArray forms) {
|
||||
public JSONObject process(JSONObject from, String type) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
package org.nl.wms.dispatch_manage.task.handler.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.common.enums.StatusEnum;
|
||||
import org.nl.common.utils.CodeUtil;
|
||||
import org.nl.common.utils.IdUtil;
|
||||
import org.nl.wms.dispatch_manage.task.handler.TaskHandler;
|
||||
import org.nl.wms.dispatch_manage.task.service.ISchBaseTaskService;
|
||||
import org.nl.wms.dispatch_manage.task.service.dao.SchBaseTask;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
@@ -13,8 +19,23 @@ import java.util.List;
|
||||
*/
|
||||
@Service
|
||||
public class StackingTaskHandler implements TaskHandler {
|
||||
|
||||
@Autowired
|
||||
ISchBaseTaskService taskService;
|
||||
|
||||
@Override
|
||||
public List<SchBaseTask> createTask(JSONArray forms) {
|
||||
return null;
|
||||
public JSONObject process(JSONObject from, String type) {
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
task.setId(IdUtil.getStringId());
|
||||
task.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
|
||||
task.setTask_status(StatusEnum.FORM_STATUS.code("生成"));
|
||||
task.setHandle_class(this.getClass().getName());
|
||||
task.setAcs_type("");
|
||||
task.setTask_type(type);
|
||||
task.setVehicle_code(from.getString("vehicle_code"));
|
||||
task.setPoint_code1(from.getString("start_point"));
|
||||
task.setPoint_code2(from.getString("struct_code"));
|
||||
taskService.createTask(task);
|
||||
return (JSONObject)JSONObject.toJSON(task);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.nl.wms.dispatch_manage.task.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.wms.dispatch_manage.task.service.dao.SchBaseTask;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
@@ -14,5 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
*/
|
||||
public interface ISchBaseTaskService extends IService<SchBaseTask> {
|
||||
|
||||
void createTask(JSONArray forms);
|
||||
void createTask(SchBaseTask task);
|
||||
}
|
||||
|
||||
@@ -88,7 +88,7 @@ public class SchBaseTask implements Serializable {
|
||||
/**
|
||||
* 优先级
|
||||
*/
|
||||
private Integer priority;
|
||||
private Integer priority = 1;
|
||||
|
||||
/**
|
||||
* 处理类
|
||||
@@ -98,12 +98,12 @@ public class SchBaseTask implements Serializable {
|
||||
/**
|
||||
* 是否立即下发
|
||||
*/
|
||||
private Boolean is_send;
|
||||
private Boolean is_send = Boolean.TRUE;
|
||||
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
private Boolean is_delete;
|
||||
private Boolean is_delete = Boolean.FALSE;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package org.nl.wms.dispatch_manage.task.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.common.utils.ListOf;
|
||||
import org.nl.wms.dispatch_manage.task.handler.TaskHandler;
|
||||
import org.nl.wms.dispatch_manage.task.service.dao.SchBaseTask;
|
||||
import org.nl.wms.dispatch_manage.task.service.dao.mapper.SchBaseTaskMapper;
|
||||
import org.nl.wms.dispatch_manage.task.service.ISchBaseTaskService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.wms.external_system.acs.service.WmsToAcsService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -24,14 +26,11 @@ import java.util.Map;
|
||||
public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBaseTask> implements ISchBaseTaskService {
|
||||
|
||||
@Autowired
|
||||
Map<String, TaskHandler> taskHandlerMap;
|
||||
private WmsToAcsService wmsToAcsService;
|
||||
|
||||
@Override
|
||||
public void createTask(JSONArray forms) {
|
||||
TaskHandler handler = taskHandlerMap.get("sdf");
|
||||
List<SchBaseTask> task = handler.createTask(forms);
|
||||
for (SchBaseTask baseTask : task) {
|
||||
this.save(baseTask);
|
||||
}
|
||||
public void createTask(SchBaseTask task) {
|
||||
this.save(task);
|
||||
// wmsToAcsService.interationToExt(ListOf.of(task));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ public class ExecutionController {
|
||||
|
||||
@GetMapping(value = "/confirm")
|
||||
public ResponseEntity<Object> flowConfirm(String inst_id) {
|
||||
return new ResponseEntity<>(flowOperationService.flowConfirm(inst_id), HttpStatus.OK);
|
||||
return new ResponseEntity<>(flowOperationService.flowConfirm(inst_id,null), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@GetMapping(value = "/queryByParentId/{id}")
|
||||
|
||||
@@ -23,8 +23,7 @@ public class FormConverter extends BaseNodeConverter {
|
||||
form.setPassNode(pass);
|
||||
form.setId(node.getString("id"));
|
||||
form.setType(node.getString("type"));
|
||||
|
||||
form.setForm_type(node.getString("form_type"));
|
||||
form.setForm_type(properties.getString("form_type"));
|
||||
form.setName(properties.getString("name"));
|
||||
form.setCategory(properties.getString("category"));
|
||||
form.setDocumentation(properties.getString("documentation"));
|
||||
|
||||
@@ -23,7 +23,9 @@ public class ServerTaskConverter extends BaseNodeConverter {
|
||||
form.setId(node.getString("id"));
|
||||
form.setType(node.getString("type"));
|
||||
form.setCategory(properties.getString("category"));
|
||||
|
||||
form.setForm_type(properties.getString("form_type"));
|
||||
JSONObject auxParam = properties.getJSONObject("auxParam");
|
||||
form.setAuxParam(auxParam);
|
||||
form.setName(properties.getString("name"));
|
||||
form.setDocumentation(properties.getString("documentation"));
|
||||
//设置触发事件
|
||||
|
||||
@@ -52,7 +52,7 @@ public abstract class FlowNodeActivityBehavior<T> {
|
||||
this.execute(entity);
|
||||
iActRuExecutionService.update(new UpdateWrapper<ActRuExecution>()
|
||||
.eq("proc_inst_id",entity.getProc_inst_id())
|
||||
.set("status", StatusEnum.FLOW_STATUS.code("执行中"))
|
||||
.set("status", StatusEnum.FLOW_STATUS.code("节点完成"))
|
||||
.set("form_data", JSONObject.toJSON(entity.getT()).toString())
|
||||
.set("update_time", DateUtil.now()));
|
||||
this.leaveActivity(entity);
|
||||
|
||||
@@ -57,7 +57,7 @@ public class EndEventActivityBehavior extends FlowNodeActivityBehavior {
|
||||
//判断当前所有子流程是否都完成:全都完成则执行父流程
|
||||
int count = iActRuExecutionService.count(new QueryWrapper<ActRuExecution>()
|
||||
.eq("parent_id", execution.getParent_id())
|
||||
.ne("status", StatusEnum.FLOW_STATUS.code("完成")));
|
||||
.ne("status", StatusEnum.FLOW_STATUS.code("节点完成")));
|
||||
if (count == 0){
|
||||
ActRuExecution parent = iActRuExecutionService.getById(entity.getParent_id());
|
||||
ActReProcdef deployment = reProcdefService.getOne(new LambdaUpdateWrapper<ActReProcdef>().eq(ActReProcdef::getDeployment_id, entity.getDeploymentId()));
|
||||
|
||||
@@ -101,7 +101,7 @@ public class FormActivityBehavior extends FlowNodeActivityBehavior<JSONObject> {
|
||||
iostorinvService.save(mst);
|
||||
entity.setT(handler);
|
||||
entity.setForm_id(mst.getId());
|
||||
entity.setForm_type("ST_IVT_IOSTORINV_IN");
|
||||
entity.setForm_type(currentNode.getForm_type());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.common.domain.exception.BadRequestException;
|
||||
import org.nl.wms.flow_manage.flow.framework.engine.behavior.FlowNodeActivityBehavior;
|
||||
import org.nl.wms.flow_manage.flow.framework.entity.ExecutionDto;
|
||||
import org.nl.wms.flow_manage.flow.framework.entity.ExecutionEntity;
|
||||
import org.nl.wms.flow_manage.flow.framework.entity.node.base.impl.FlowElement;
|
||||
import org.nl.wms.flow_manage.flow.framework.entity.node.impl.task.impl.ServerTask;
|
||||
@@ -24,12 +25,14 @@ public class ServerTaskActivityBehavior extends FlowNodeActivityBehavior<JSONObj
|
||||
FlowElement element = entity.getCurrentFlowElement();
|
||||
ServerTask currentNode = (ServerTask) element;
|
||||
if (!CollectionUtils.isEmpty(currentNode.getSkipExpression())) {
|
||||
TypeHandler<JSONObject, JSONObject> typeHandler = TypeHandler.HANDLER_MAP.get(currentNode.getCategory());
|
||||
TypeHandler<ExecutionDto<JSONObject>, ExecutionEntity<JSONObject>> typeHandler = TypeHandler.HANDLER_MAP.get(currentNode.getCategory());
|
||||
if (typeHandler == null) {
|
||||
throw new BadRequestException("【flow】当前节点处理类型未定义");
|
||||
}
|
||||
typeHandler.handler(currentNode.getSkipExpression(), entity.getT(), null);
|
||||
|
||||
ExecutionDto<JSONObject> result = typeHandler.handler(currentNode.getSkipExpression(), entity, null);
|
||||
entity.setT(result.getT());
|
||||
entity.setForm_id(result.getForm_id());
|
||||
entity.setForm_type(currentNode.getForm_type());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ public class SubProcessActivityBehavior extends FlowNodeActivityBehavior<JSONObj
|
||||
}
|
||||
|
||||
JSONObject form = entity.getT();
|
||||
JSONArray items = (JSONArray)form.remove("item");
|
||||
JSONArray items = (JSONArray)form.get("item");
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
if (items!=null){
|
||||
//子流程并行,子流程单一的时候直接串行
|
||||
|
||||
@@ -24,7 +24,7 @@ public class ExeInstanceCmd implements Command {
|
||||
@Override
|
||||
public Object execute(ExecutionEntity entity) {
|
||||
//获取当前流程版本信息:有可能是流程线需要区分SequenceFlowOperation
|
||||
if (StatusEnum.FLOW_STATUS.code("执行中").equals(status)){
|
||||
if (StatusEnum.FLOW_STATUS.code("节点完成").equals(status)){
|
||||
CommandExecutor.getAgenda().planOperation(new SequenceFlowOperation(entity));
|
||||
}else {
|
||||
CommandExecutor.getAgenda().planOperation(new ContinuOperation(entity));
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package org.nl.wms.flow_manage.flow.framework.entity;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import org.nl.common.domain.exception.BadRequestException;
|
||||
import org.nl.wms.config_manage.form_struc.service.dao.BmFormStruc;
|
||||
import org.nl.wms.flow_manage.flow.framework.entity.node.base.impl.FlowElement;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
* @Date 2024/3/18 13:15
|
||||
* 流程执行相关参数
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class ExecutionDto<T> {
|
||||
|
||||
private String form_id;
|
||||
private T t;
|
||||
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.wms.flow_manage.flow.framework.entity.node.base.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.Data;
|
||||
import org.nl.wms.flow_manage.flow.framework.entity.node.impl.Sequence.SequenceFlow;
|
||||
|
||||
@@ -22,6 +23,7 @@ public abstract class FlowNode extends FlowElement {
|
||||
private boolean notExclusive;
|
||||
protected Boolean passNode = Boolean.FALSE;
|
||||
|
||||
private JSONObject auxParam;
|
||||
private List<SequenceFlow> incomingFlows = new ArrayList<>();
|
||||
private List<SequenceFlow> outgoingFlows = new ArrayList<>();
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.wms.flow_manage.flow.framework.entity.node.impl.task.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.Data;
|
||||
import org.nl.wms.flow_manage.flow.framework.entity.node.impl.task.ExecuteTask;
|
||||
|
||||
@@ -13,5 +14,6 @@ import java.util.List;
|
||||
@Data
|
||||
public class ServerTask extends ExecuteTask {
|
||||
protected String category;
|
||||
protected String form_type;
|
||||
protected List<String> skipExpression=new ArrayList<>();
|
||||
}
|
||||
|
||||
@@ -2,8 +2,15 @@ package org.nl.wms.flow_manage.flow.framework.process.nodeType.excess.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.common.utils.SpringContextHolder;
|
||||
import org.nl.wms.config_manage.form_struc.service.dao.BmFormStruc;
|
||||
import org.nl.wms.dispatch_manage.task.service.dao.SchBaseTask;
|
||||
import org.nl.wms.flow_manage.flow.framework.entity.ExecutionDto;
|
||||
import org.nl.wms.flow_manage.flow.framework.entity.ExecutionEntity;
|
||||
import org.nl.wms.flow_manage.flow.framework.entity.node.base.impl.FlowElement;
|
||||
import org.nl.wms.flow_manage.flow.framework.entity.node.base.impl.FlowNode;
|
||||
import org.nl.wms.flow_manage.flow.framework.process.nodeType.TypeHandler;
|
||||
import org.nl.wms.flow_manage.flow.framework.process.nodeType.excess.impl.process.classprocess.ClassProcess;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
@@ -13,12 +20,22 @@ import java.util.List;
|
||||
* @Date 2024/3/21 15:17
|
||||
*/
|
||||
@Service("class")
|
||||
public class ClassHandler extends TypeHandler<JSONObject, JSONArray> {
|
||||
public class ClassHandler extends TypeHandler<ExecutionDto, ExecutionEntity<JSONObject>> {
|
||||
|
||||
|
||||
@Override
|
||||
public JSONObject handler(List<String> param, JSONArray entity, BmFormStruc form_struc) {
|
||||
String className = param.get(0);
|
||||
return null;
|
||||
public ExecutionDto handler(List<String> param, ExecutionEntity<JSONObject> entity, BmFormStruc form_struc) {
|
||||
|
||||
FlowNode currentFlowElement = (FlowNode)entity.getCurrentFlowElement();
|
||||
ClassProcess process = SpringContextHolder.getBean(param.get(0));
|
||||
if (currentFlowElement.getAuxParam()!=null){
|
||||
entity.getT().putAll(currentFlowElement.getAuxParam());
|
||||
}
|
||||
JSONObject result = process.process(entity.getT(), entity.getForm_type());
|
||||
entity.setT(result);
|
||||
return ExecutionDto.builder()
|
||||
.form_id(result.getString("id"))
|
||||
.t(result)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import org.nl.common.domain.exception.BadRequestException;
|
||||
import org.nl.common.enums.StatusEnum;
|
||||
import org.nl.wms.base_manage.struct.service.IStIvtStructattrService;
|
||||
import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr;
|
||||
import org.nl.wms.config_manage.form_struc.service.dao.BmFormStruc;
|
||||
@@ -12,6 +13,8 @@ import org.nl.wms.decision_manage.handler.Decisioner;
|
||||
import org.nl.wms.decision_manage.handler.impl.base.FIFORuleHandler;
|
||||
import org.nl.wms.decision_manage.handler.impl.diy.ClassRuleHandler;
|
||||
import org.nl.wms.decision_manage.service.IStStrategyConfigService;
|
||||
import org.nl.wms.flow_manage.flow.framework.entity.ExecutionDto;
|
||||
import org.nl.wms.flow_manage.flow.framework.entity.ExecutionEntity;
|
||||
import org.nl.wms.flow_manage.flow.framework.process.nodeType.TypeHandler;
|
||||
import org.nl.wms.pm_manage.form_data.service.IPmFormDataService;
|
||||
import org.nl.wms.pm_manage.form_data.service.dao.PmFormData;
|
||||
@@ -32,7 +35,7 @@ import java.util.Map;
|
||||
* @ONLY:该决策引擎只用于出入库规则
|
||||
*/
|
||||
@Service("decision")
|
||||
public class DecisionHandler extends TypeHandler<JSONObject,JSONObject> {
|
||||
public class DecisionHandler extends TypeHandler<ExecutionDto,ExecutionEntity<JSONObject>> {
|
||||
|
||||
|
||||
@Autowired
|
||||
@@ -51,13 +54,17 @@ public class DecisionHandler extends TypeHandler<JSONObject,JSONObject> {
|
||||
*/
|
||||
|
||||
@Override
|
||||
public JSONObject handler(List<String> params, JSONObject item_json, BmFormStruc form_struc) {
|
||||
public ExecutionDto handler(List<String> params, ExecutionEntity<JSONObject> entity, BmFormStruc form_struc) {
|
||||
//出入库明细
|
||||
JSONObject item_json = entity.getT();
|
||||
StIvtIostorinvdtlIn iostorinvdtlIn = item_json.toJavaObject(StIvtIostorinvdtlIn.class);
|
||||
List<StIvtStructattr> list = iStIvtStructattrService.list(new QueryWrapper<StIvtStructattr>()
|
||||
.eq("is_emp", true)
|
||||
.eq("vehicle_code", "")
|
||||
.eq("is_used", true)
|
||||
.eq("stor_code",iostorinvdtlIn.getStor_code()));
|
||||
if (CollectionUtils.isEmpty(list)){
|
||||
throw new BadRequestException("当前分配策略无可用货位");
|
||||
}
|
||||
for (String param : params) {
|
||||
Decisioner decisioner = decisionHandlerMap.get(param);
|
||||
list = decisioner.handler(list, iostorinvdtlIn);
|
||||
@@ -71,11 +78,15 @@ public class DecisionHandler extends TypeHandler<JSONObject,JSONObject> {
|
||||
//更新仓位,更新数据
|
||||
iStIvtStructattrService.update(new UpdateWrapper<StIvtStructattr>()
|
||||
.set("vehicle_code",iostorinvdtlIn.getVehicle_code())
|
||||
.set("lock_type", StatusEnum.LOCK.code("入"))
|
||||
.eq("struct_code",struct_code));
|
||||
stIvtIostorinvdtlInService.update(new UpdateWrapper<StIvtIostorinvdtlIn>()
|
||||
.set("vehicle_code",struct_code)
|
||||
.set("struct_code",struct_code)
|
||||
.eq("id",iostorinvdtlIn.getId()));
|
||||
|
||||
return null;
|
||||
item_json.put("struct_code",struct_code);
|
||||
return ExecutionDto.builder()
|
||||
.form_id(iostorinvdtlIn.getId())
|
||||
.t(item_json)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,8 +63,7 @@ public class MappingHandler extends TypeHandler<JSONObject, JSONObject> {
|
||||
JSONArray itemList = new JSONArray();
|
||||
BmFormStruc item_struc = iBmFormStrucService.getOne(new QueryWrapper<BmFormStruc>().eq("parent_id",form_struc.getForm_type()));
|
||||
for (int i = 0; i < item.size(); i++) {
|
||||
JSONObject dtl = item.getJSONObject(i);
|
||||
itemList.add(this.handler(param, dtl, item_struc));
|
||||
itemList.add(this.handler(param, item.getJSONObject(i), item_struc));
|
||||
}
|
||||
returnObj.put("item",itemList);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
package org.nl.wms.flow_manage.flow.framework.process.nodeType.excess.impl.process.classprocess;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
* @Date 2024/5/11 10:31
|
||||
*/
|
||||
public interface ClassProcess {
|
||||
|
||||
JSONObject process(JSONObject from,String type);
|
||||
}
|
||||
@@ -14,4 +14,5 @@ import org.nl.wms.flow_manage.flow.service.deployment.dao.ActReProcdef;
|
||||
*/
|
||||
public interface IActReProcdefService extends IService<ActReProcdef> {
|
||||
|
||||
ActReProcdef getCurrentVersion(String model_key);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.nl.wms.flow_manage.flow.service.deployment.dao.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.nl.wms.flow_manage.flow.service.deployment.dao.ActReProcdef;
|
||||
|
||||
/**
|
||||
@@ -13,4 +14,5 @@ import org.nl.wms.flow_manage.flow.service.deployment.dao.ActReProcdef;
|
||||
*/
|
||||
public interface ActReProcdefMapper extends BaseMapper<ActReProcdef> {
|
||||
|
||||
ActReProcdef getCurrentVersion(@Param("modelKey") String modelKey, @Param("version")String version);
|
||||
}
|
||||
|
||||
@@ -2,4 +2,15 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.nl.wms.flow_manage.flow.service.deployment.dao.mapper.ActReProcdefMapper">
|
||||
|
||||
<select id="getCurrentVersion"
|
||||
resultType="org.nl.wms.flow_manage.flow.service.deployment.dao.ActReProcdef">
|
||||
SELECT
|
||||
act_re_procdef.*
|
||||
FROM
|
||||
act_re_procdef
|
||||
LEFT JOIN act_de_model ON act_re_procdef.model_key = act_de_model.model_key
|
||||
WHERE
|
||||
act_re_procdef.model_key = #{modelKey}
|
||||
AND act_re_procdef.version = act_de_model.version
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -18,4 +18,8 @@ import org.nl.wms.flow_manage.flow.service.deployment.dao.ActReProcdef;
|
||||
@Service
|
||||
public class ActReProcdefServiceImpl extends ServiceImpl<ActReProcdefMapper, ActReProcdef> implements IActReProcdefService {
|
||||
|
||||
@Override
|
||||
public ActReProcdef getCurrentVersion(String model_key) {
|
||||
return this.baseMapper.getCurrentVersion(model_key,null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,5 +18,5 @@ public interface IFlowOperationService {
|
||||
|
||||
Boolean startFormFlow(StartProcessInstanceVo params);
|
||||
|
||||
Boolean flowConfirm(String proc_inst_id);
|
||||
Boolean flowConfirm(String proc_inst_id,JSONObject auxParam);
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ public class FlowOperationServiceImpl implements IFlowOperationService {
|
||||
|
||||
@Override
|
||||
public Boolean startUp(String form_type, JSONObject mst,List<JSONObject> items) {
|
||||
ActReProcdef deployment = actReProcdefService.getOne(new LambdaUpdateWrapper<ActReProcdef>().eq(ActReProcdef::getModel_key, form_type));
|
||||
ActReProcdef deployment = actReProcdefService.getCurrentVersion(form_type);
|
||||
if (deployment==null){
|
||||
throw new BadRequestException("当前单据类型未配置业务流程");
|
||||
}
|
||||
@@ -83,7 +83,7 @@ public class FlowOperationServiceImpl implements IFlowOperationService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean flowConfirm(String proc_inst_id) {
|
||||
public Boolean flowConfirm(String proc_inst_id,JSONObject auxParam) {
|
||||
if (StringUtils.isNotEmpty(proc_inst_id)){
|
||||
//当前流程
|
||||
ActRuExecution execution = iActRuExecutionService.getOne(new QueryWrapper<ActRuExecution>()
|
||||
@@ -102,6 +102,9 @@ public class FlowOperationServiceImpl implements IFlowOperationService {
|
||||
JSONObject model_json = JSONObject.parseObject(model_json_string);
|
||||
BpmnModel bpmnModel = bpmnJSONConverter.convertToBpmnModel(deployment.getModel_key(), deployment.getVersion(), model_json);
|
||||
FlowNode flowNode = bpmnModel.getProcesses().get(execution.getActivity_id());
|
||||
if (auxParam!=null){
|
||||
flowNode.setAuxParam(auxParam);
|
||||
}
|
||||
ExecutionEntity entity = new ExecutionEntity();
|
||||
entity.setCurrentFlowElement(flowNode);
|
||||
entity.setT(execution.getForm_data());
|
||||
|
||||
@@ -82,14 +82,18 @@ public class StIvtIostorinvdtlIn implements Serializable {
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
* 货主
|
||||
*/
|
||||
private String shipper;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
* 仓库
|
||||
*/
|
||||
private String stor_code;
|
||||
/**
|
||||
* 仓位编码
|
||||
*/
|
||||
private String struct_code;
|
||||
/**
|
||||
* 分配的载具
|
||||
*/
|
||||
@@ -102,7 +106,7 @@ public class StIvtIostorinvdtlIn implements Serializable {
|
||||
private String task_code;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
* 单重
|
||||
*/
|
||||
private BigDecimal single_wt;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user