rev:流程任务生成
This commit is contained in:
@@ -9,7 +9,6 @@ import lombok.Data;
|
||||
|
||||
import org.nl.common.enums.QueryTEnum;
|
||||
import org.nl.common.utils.MapOf;
|
||||
import org.nl.wms.stor_manage.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
|
||||
import java.lang.reflect.ParameterizedType;
|
||||
import java.lang.reflect.Type;
|
||||
|
||||
@@ -16,10 +16,29 @@ import java.util.Map;
|
||||
@AllArgsConstructor
|
||||
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","完成", "90")),
|
||||
/**
|
||||
* 单据状态
|
||||
*/
|
||||
FORM_STATUS(MapOf.of("生成", "10", "执行中", "20","完成", "90","取消", "100")),
|
||||
|
||||
/**
|
||||
* 出入库单据类型
|
||||
*/
|
||||
IOBILL_TYPE(MapOf.of("生产入库", "10", "生产出库", "20")),
|
||||
|
||||
/**
|
||||
* 任务类型
|
||||
*/
|
||||
TASK_TYPE_IN(MapOf.of("组盘入库","10")),
|
||||
TASK_TYPE_OUT(MapOf.of("销售出","20")),
|
||||
/**
|
||||
* 点位锁类型
|
||||
*/
|
||||
LOCK(MapOf.of("无","00","入","10","出","20")),
|
||||
;
|
||||
private Map<String, String> code;
|
||||
@@ -32,12 +51,12 @@ public enum StatusEnum {
|
||||
throw new BadRequestException(this.name() + "对应类型" + desc + "未定义");
|
||||
}
|
||||
|
||||
public String check(String code) {
|
||||
public Boolean check(String code) {
|
||||
for (Map.Entry<String, String> entry : this.getCode().entrySet()) {
|
||||
if (entry.getValue().equals("code")) {
|
||||
return entry.getValue();
|
||||
if (entry.getValue().equals(code)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
throw new BadRequestException(this.name() + "对应类型" + code + "未定义");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
package org.nl.wms.base_manage.struct.service.impl;
|
||||
|
||||
import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr;
|
||||
import org.nl.wms.base_manage.struct.service.dao.mapper.StIvtStructattrMapper;
|
||||
import org.nl.wms.base_manage.struct.service.IStIvtStructattrService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.wms.base_manage.struct.service.dto.StructattrQuery;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 仓位属性表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2024-04-08
|
||||
*/
|
||||
@Service
|
||||
public class StIvtStructattrServiceImpl extends ServiceImpl<StIvtStructattrMapper, StIvtStructattr> implements IStIvtStructattrService {
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> getByQuery(StructattrQuery query) {
|
||||
List<Map<String, Object>> maps = this.listMaps(query.build());
|
||||
return maps;
|
||||
}
|
||||
}
|
||||
@@ -6,8 +6,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.nl.common.TableDataInfo;
|
||||
import org.nl.common.anno.Log;
|
||||
import org.nl.common.domain.entity.PageQuery;
|
||||
import org.nl.wms.base_manage.vehicle.vehicleInfo.service.IBmVehicleInfoService;
|
||||
import org.nl.wms.base_manage.vehicle.vehicleInfo.service.dto.VehicleQuery;
|
||||
import org.nl.wms.base_manage.vehicle.vehicleMater.service.IMdPbVehicleMaterService;
|
||||
import org.nl.wms.base_manage.vehicle.vehicleMater.service.dao.MdPbVehicleMater;
|
||||
import org.nl.wms.base_manage.vehicle.vehicleMater.service.dto.VehicleMaterQuery;
|
||||
|
||||
@@ -71,6 +71,14 @@ public class MdPbVehicleMater implements Serializable {
|
||||
* 是否含子容器
|
||||
*/
|
||||
private Boolean has_child;
|
||||
/**
|
||||
* 源单类型
|
||||
*/
|
||||
private String source_form_type;
|
||||
/**
|
||||
* 源单id
|
||||
*/
|
||||
private String source_form_id;
|
||||
|
||||
/**
|
||||
* 扩展信息
|
||||
|
||||
@@ -42,6 +42,7 @@ public class BmFormStrucController {
|
||||
,"biz_code","业务单据编号"
|
||||
,"biz_date","业务单据日期"
|
||||
,"biz_status","业务单据状态"
|
||||
,"biz_form_type","业务单据类型"
|
||||
,"material_id","物料id"
|
||||
,"qty","数量"
|
||||
,"unit_id","单位"
|
||||
|
||||
@@ -82,6 +82,10 @@ public class BmFormStruc implements Serializable {
|
||||
* 业务单据状态
|
||||
*/
|
||||
private String biz_status;
|
||||
/**
|
||||
* 业务单据类型
|
||||
*/
|
||||
private String biz_form_type;
|
||||
|
||||
/**
|
||||
* 物料id
|
||||
|
||||
@@ -78,6 +78,10 @@ public class BmFormStrucDto implements Serializable {
|
||||
* 业务单据状态
|
||||
*/
|
||||
private String biz_status;
|
||||
/**
|
||||
* 业务单据状态
|
||||
*/
|
||||
private String biz_form_type;
|
||||
|
||||
/**
|
||||
* 物料id
|
||||
|
||||
@@ -1,21 +1,16 @@
|
||||
package org.nl.wms.decision_manage.handler.impl.base;
|
||||
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.nl.common.domain.exception.BadRequestException;
|
||||
import org.nl.wms.base_manage.struct.service.IStIvtStructattrService;
|
||||
import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr;
|
||||
import org.nl.wms.base_manage.struct.service.dto.StructattrQuery;
|
||||
import org.nl.wms.stor_manage.struct.service.IStIvtStructattrService;
|
||||
import org.nl.wms.stor_manage.struct.service.dao.StIvtStructattr;
|
||||
import org.nl.wms.stor_manage.struct.service.dto.StructattrQuery;
|
||||
import org.nl.wms.decision_manage.handler.Decisioner;
|
||||
import org.nl.wms.pm_manage.form_data.service.dao.PmFormData;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.IStIvtIostorinvdtlInService;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.IStIvtIostorinvdtlService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -33,7 +28,7 @@ public class AlleyAveRuleHandler extends Decisioner<StIvtStructattr, PmFormData>
|
||||
* 出入库明细服务
|
||||
*/
|
||||
@Autowired
|
||||
private IStIvtIostorinvdtlInService iStIvtIostorinvdtlService;
|
||||
private IStIvtIostorinvdtlService iStIvtIostorinvdtlService;
|
||||
|
||||
@Autowired
|
||||
private IStIvtStructattrService iStIvtStructattrService;
|
||||
|
||||
@@ -4,14 +4,13 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.common.domain.exception.BadRequestException;
|
||||
import org.nl.common.utils.ListOf;
|
||||
import org.nl.wms.base_manage.struct.service.IStIvtStructattrService;
|
||||
import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr;
|
||||
import org.nl.wms.stor_manage.struct.service.IStIvtStructattrService;
|
||||
import org.nl.wms.stor_manage.struct.service.dao.StIvtStructattr;
|
||||
import org.nl.wms.decision_manage.handler.Decisioner;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.IStIvtIostorinvdtlInService;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.IStIvtIostorinvdtlService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -34,7 +33,7 @@ public class ClusterRuleHandler extends Decisioner<StIvtStructattr,String> {
|
||||
* 出入库明细服务
|
||||
*/
|
||||
@Autowired
|
||||
private IStIvtIostorinvdtlInService iStIvtIostorinvdtlService;
|
||||
private IStIvtIostorinvdtlService iStIvtIostorinvdtlService;
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,21 +1,16 @@
|
||||
package org.nl.wms.decision_manage.handler.impl.base;
|
||||
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.nl.common.domain.exception.BadRequestException;
|
||||
import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr;
|
||||
import org.nl.wms.stor_manage.struct.service.dao.StIvtStructattr;
|
||||
import org.nl.wms.decision_manage.handler.Decisioner;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.IStIvtIostorinvdtlInService;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.IStIvtIostorinvdtlService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
@@ -29,7 +24,7 @@ public class FIFORuleHandler extends Decisioner<StIvtStructattr,String> {
|
||||
* 出入库明细服务
|
||||
*/
|
||||
@Autowired
|
||||
private IStIvtIostorinvdtlInService iStIvtIostorinvdtlService;
|
||||
private IStIvtIostorinvdtlService iStIvtIostorinvdtlService;
|
||||
|
||||
/**
|
||||
* 载具扩展属性服务服务
|
||||
|
||||
@@ -2,12 +2,12 @@ package org.nl.wms.decision_manage.handler.impl.base;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import org.nl.common.domain.exception.BadRequestException;
|
||||
import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr;
|
||||
import org.nl.wms.stor_manage.struct.service.dao.StIvtStructattr;
|
||||
import org.nl.wms.base_manage.vehicle.vehicleInfo.service.IBmVehicleInfoService;
|
||||
import org.nl.wms.base_manage.vehicle.vehicleInfo.service.dao.BmVehicleInfo;
|
||||
import org.nl.wms.decision_manage.handler.Decisioner;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.IStIvtIostorinvdtlInService;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.IStIvtIostorinvdtlService;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.StIvtIostorinvdtl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -21,13 +21,13 @@ import java.util.stream.Collectors;
|
||||
* 货位限位策略:限高,限宽,限长,限重
|
||||
*/
|
||||
@Service("limitStorage")
|
||||
public class LimitStorageRuleHandler extends Decisioner<StIvtStructattr,StIvtIostorinvdtlIn> {
|
||||
public class LimitStorageRuleHandler extends Decisioner<StIvtStructattr, StIvtIostorinvdtl> {
|
||||
|
||||
/**
|
||||
* 出入库明细服务
|
||||
*/
|
||||
@Autowired
|
||||
private IStIvtIostorinvdtlInService iStIvtIostorinvdtlService;
|
||||
private IStIvtIostorinvdtlService iStIvtIostorinvdtlService;
|
||||
|
||||
/**
|
||||
* 载具扩展属性服务服务
|
||||
@@ -46,7 +46,7 @@ public class LimitStorageRuleHandler extends Decisioner<StIvtStructattr,StIvtIos
|
||||
* @return List<StIvtStructattr> :仓位集合
|
||||
*/
|
||||
@Override
|
||||
public List<StIvtStructattr> handler(List<StIvtStructattr> list, StIvtIostorinvdtlIn param) {
|
||||
public List<StIvtStructattr> handler(List<StIvtStructattr> list, StIvtIostorinvdtl param) {
|
||||
// 判断仓位是否为空
|
||||
// 判断策略类型
|
||||
String vehicleCode = param.getVehicle_code();
|
||||
|
||||
@@ -1,26 +1,18 @@
|
||||
package org.nl.wms.decision_manage.handler.impl.base;
|
||||
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.nl.common.domain.exception.BadRequestException;
|
||||
import org.nl.common.utils.SpringContextHolder;
|
||||
import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr;
|
||||
import org.nl.wms.stor_manage.struct.service.dao.StIvtStructattr;
|
||||
import org.nl.wms.decision_manage.handler.Decisioner;
|
||||
import org.nl.wms.decision_manage.service.IStStrategyConfigService;
|
||||
import org.nl.wms.decision_manage.service.dao.StStrategyConfig;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.IStIvtIostorinvdtlInService;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.IStIvtIostorinvdtlService;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.StIvtIostorinvdtl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.function.ToIntFunction;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
@@ -28,14 +20,14 @@ import java.util.stream.Collectors;
|
||||
* 就近放置策略:根据物料ABC类区分
|
||||
*/
|
||||
@Service("nearby")
|
||||
public class NearbyRuleHandler extends Decisioner<StIvtStructattr,StIvtIostorinvdtlIn> {
|
||||
public class NearbyRuleHandler extends Decisioner<StIvtStructattr, StIvtIostorinvdtl> {
|
||||
//每个策略的配置信息
|
||||
private static StStrategyConfig stStrategyConfig;
|
||||
/**
|
||||
* 出入库明细服务
|
||||
*/
|
||||
@Autowired
|
||||
private IStIvtIostorinvdtlInService iStIvtIostorinvdtlService;
|
||||
private IStIvtIostorinvdtlService iStIvtIostorinvdtlService;
|
||||
|
||||
/**
|
||||
* 载具扩展属性服务服务
|
||||
@@ -53,7 +45,7 @@ public class NearbyRuleHandler extends Decisioner<StIvtStructattr,StIvtIostorinv
|
||||
* @return List<StIvtStructattr> :仓位集合
|
||||
*/
|
||||
@Override
|
||||
public List<StIvtStructattr> handler(List<StIvtStructattr> list, StIvtIostorinvdtlIn param) {
|
||||
public List<StIvtStructattr> handler(List<StIvtStructattr> list, StIvtIostorinvdtl param) {
|
||||
// 判断仓位是否为空
|
||||
if (ObjectUtil.isEmpty(list)) {
|
||||
throw new BadRequestException("仓位集合为空!");
|
||||
|
||||
@@ -3,14 +3,12 @@ package org.nl.wms.decision_manage.handler.impl.base;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.common.domain.exception.BadRequestException;
|
||||
import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr;
|
||||
import org.nl.wms.stor_manage.struct.service.dao.StIvtStructattr;
|
||||
import org.nl.wms.decision_manage.handler.Decisioner;
|
||||
import org.nl.wms.decision_manage.service.dao.StStrategyConfig;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.IStIvtIostorinvdtlInService;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.IStIvtIostorinvdtlService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
@@ -27,7 +25,7 @@ public class WeightRuleHandler extends Decisioner<StIvtStructattr,String> {
|
||||
* 出入库明细服务
|
||||
*/
|
||||
@Autowired
|
||||
private IStIvtIostorinvdtlInService iStIvtIostorinvdtlService;
|
||||
private IStIvtIostorinvdtlService iStIvtIostorinvdtlService;
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package org.nl.wms.dispatch_manage.task.handler;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import org.nl.common.publish.event.PublishEvent;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
* @Date 2024/5/23 13:15
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
public class StructEvent extends PublishEvent {
|
||||
|
||||
/**
|
||||
* @see org.nl.common.enums.StatusEnum.TASK_TYPE_IN
|
||||
*/
|
||||
private String task_type;
|
||||
|
||||
private String vehicle_code;
|
||||
|
||||
private String task_status;
|
||||
|
||||
private String struct_code;
|
||||
|
||||
private String source_form_id;
|
||||
|
||||
private String source_form_type;
|
||||
|
||||
|
||||
}
|
||||
@@ -1,13 +1,9 @@
|
||||
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;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
* @Date 2024/5/6 14:34
|
||||
@@ -16,7 +12,7 @@ import java.util.List;
|
||||
public class AgvTaskHandler implements TaskHandler {
|
||||
|
||||
@Override
|
||||
public JSONObject process(JSONObject from, String type) {
|
||||
public JSONObject process(JSONObject from, JSONObject param) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +1,30 @@
|
||||
package org.nl.wms.dispatch_manage.task.handler.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
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 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.base_manage.vehicle.vehicleMater.service.IMdPbVehicleMaterService;
|
||||
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 org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
* @Date 2024/5/6 14:34
|
||||
* 堆垛机入库任务
|
||||
*/
|
||||
@Service
|
||||
public class StackingTaskHandler implements TaskHandler {
|
||||
@@ -23,20 +32,41 @@ public class StackingTaskHandler implements TaskHandler {
|
||||
@Autowired
|
||||
ISchBaseTaskService taskService;
|
||||
|
||||
@Autowired
|
||||
IMdPbVehicleMaterService iMdPbVehicleMaterService;
|
||||
|
||||
@Override
|
||||
public JSONObject process(JSONObject from, String type) {
|
||||
public JSONObject process(JSONObject from, JSONObject param) {
|
||||
String vehicle_code = from.getString("vehicle_code");
|
||||
String struct_code = from.getString("struct_code");
|
||||
|
||||
String start_point = param.getString("start_point");
|
||||
|
||||
if (StringUtils.isEmpty(vehicle_code) ||StringUtils.isEmpty(start_point)||StringUtils.isEmpty(struct_code)){
|
||||
throw new BadRequestException("创建任务失败:StackingTaskHandler#process()方法请求参数不能为空");
|
||||
}
|
||||
List<SchBaseTask> list = taskService.list(new QueryWrapper<SchBaseTask>().eq("vehicle_code", vehicle_code)
|
||||
.ne("task_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.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"));
|
||||
task.setCreate_time(DateUtil.now());
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setTask_type(param.getString("task_type"));
|
||||
task.setVehicle_code(vehicle_code);
|
||||
task.setPoint_code1(start_point);
|
||||
task.setPoint_code2(struct_code);
|
||||
taskService.createTask(task);
|
||||
from.put("task_code",task.getTask_code());
|
||||
return from;
|
||||
Boolean isSend = param.getBoolean("is_send");
|
||||
if (isSend){
|
||||
//参数封装,调acs接口
|
||||
}
|
||||
return (JSONObject)JSON.toJSON(task);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
package org.nl.wms.dispatch_manage.task.handler.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
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.enums.StatusEnum;
|
||||
import org.nl.common.publish.BussEventMulticaster;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.base_manage.vehicle.vehicleMater.service.IMdPbVehicleMaterService;
|
||||
import org.nl.wms.base_manage.vehicle.vehicleMater.service.dao.MdPbVehicleMater;
|
||||
import org.nl.wms.dispatch_manage.task.handler.StructEvent;
|
||||
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.nl.wms.flow_manage.event.FlowStartEvent;
|
||||
import org.nl.wms.md_manage.group_dick.service.dao.MdGruopDick;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
* @Date 2024/5/6 14:34
|
||||
*/
|
||||
@Service
|
||||
public class TaskStatusHandler implements TaskHandler {
|
||||
|
||||
@Autowired
|
||||
private ISchBaseTaskService schBaseTaskService;
|
||||
|
||||
@Autowired
|
||||
private IMdPbVehicleMaterService vehicleMaterService;
|
||||
|
||||
@Override
|
||||
public JSONObject process(JSONObject from, JSONObject param) {
|
||||
//暂时出入入库的问题
|
||||
from.put("task_status",param.getString("task_status"));
|
||||
from.put("update_time","DateUtil.now()");
|
||||
from.put("update_name",SecurityUtils.getCurrentNickName());
|
||||
SchBaseTask schBaseTask = from.toJavaObject(SchBaseTask.class);
|
||||
schBaseTaskService.updateById(schBaseTask);
|
||||
|
||||
StatusEnum.FORM_STATUS.code("生成");
|
||||
StatusEnum.FORM_STATUS.code("执行中");
|
||||
StatusEnum.FORM_STATUS.code("完成");
|
||||
StatusEnum.FORM_STATUS.code("取消");
|
||||
//TODO:后续在流程节点中配置监听时间触发
|
||||
List<MdPbVehicleMater> vehicleMaters = vehicleMaterService.list(new QueryWrapper<MdPbVehicleMater>().eq("vehicle_code", schBaseTask.getVehicle_code()));
|
||||
MdPbVehicleMater vehicleMater = vehicleMaters.get(0);
|
||||
BussEventMulticaster.Publish(StructEvent.builder()
|
||||
.task_type(schBaseTask.getTask_type())
|
||||
.task_status(schBaseTask.getTask_status())
|
||||
.source_form_id(vehicleMater.getSource_form_id())
|
||||
.source_form_type(vehicleMater.getSource_form_type())
|
||||
.vehicle_code(schBaseTask.getVehicle_code()).struct_code(schBaseTask.getPoint_code2())
|
||||
.build());
|
||||
return from;
|
||||
}
|
||||
}
|
||||
@@ -109,6 +109,10 @@ public class SchBaseTask implements Serializable {
|
||||
* 创建时间
|
||||
*/
|
||||
private String create_time;
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private String create_name;
|
||||
|
||||
/**
|
||||
* 修改人
|
||||
|
||||
@@ -9,6 +9,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.common.domain.exception.BadRequestException;
|
||||
import org.nl.common.enums.StatusEnum;
|
||||
import org.nl.common.utils.MapOf;
|
||||
import org.nl.common.utils.SpringContextHolder;
|
||||
import org.nl.wms.flow_manage.flow.framework.engine.cmd.CommandExecutor;
|
||||
import org.nl.wms.flow_manage.flow.framework.engine.operation.impl.SequenceFlowOperation;
|
||||
import org.nl.wms.flow_manage.flow.framework.entity.ExecutionEntity;
|
||||
@@ -18,8 +19,11 @@ import org.nl.wms.flow_manage.flow.service.execution.dao.ActRuExecution;
|
||||
import org.nl.wms.flow_manage.flow.service.history.IActHiExecutionService;
|
||||
import org.nl.wms.flow_manage.flow.service.history.dao.ActHiExecution;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.lang.annotation.Inherited;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
* @Date 2024/3/18 11:08
|
||||
@@ -36,6 +40,8 @@ public abstract class FlowNodeActivityBehavior<T> {
|
||||
public IActHiExecutionService history;
|
||||
|
||||
public final void activity(ExecutionEntity<T> entity) {
|
||||
IActRuExecutionService iActRuExecutionService = SpringContextHolder.getBean(IActRuExecutionService.class);
|
||||
|
||||
try {
|
||||
//当前节点
|
||||
log.info("流程:{},开始流程数据:{}", entity.getActivityName(),JSONObject.toJSONString(entity.getT()));
|
||||
@@ -71,8 +77,10 @@ public abstract class FlowNodeActivityBehavior<T> {
|
||||
.set("remark","节点:"+entity.getActivityName()+":异常:"+ex.getMessage()));
|
||||
}
|
||||
}
|
||||
|
||||
private final void leaveActivity(ExecutionEntity<T> entity) {
|
||||
//TODO:存储流程处理历史数据;判断是否自动执行下一个流程
|
||||
IActHiExecutionService history = SpringContextHolder.getBean(IActHiExecutionService.class);
|
||||
ActHiExecution historyEntity = new ActHiExecution();
|
||||
historyEntity.setProc_inst_id(entity.getProc_inst_id());
|
||||
historyEntity.setParent_id(entity.getParent_id());
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package org.nl.wms.flow_manage.flow.framework.engine.behavior.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -9,7 +8,6 @@ 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.MapOf;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.config_manage.form_struc.service.IBmFormStrucService;
|
||||
import org.nl.wms.config_manage.form_struc.service.dao.BmFormStruc;
|
||||
@@ -19,20 +17,13 @@ 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.Form;
|
||||
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;
|
||||
import org.nl.wms.pm_manage.form_data.service.dto.PmFormDataDto;
|
||||
import org.nl.wms.stor_manage.service.in.iostor.IStIvtIostorinvInService;
|
||||
import org.nl.wms.stor_manage.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.IStIvtIostorinvdtlInService;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn;
|
||||
import org.nl.wms.stor_manage.service.iostor_dis.IStIvtIostorinvdisService;
|
||||
import org.nl.wms.stor_manage.service.iostor_dis.dao.StIvtIostorinvdis;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor.IStIvtIostorinvInService;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.IStIvtIostorinvdtlService;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.StIvtIostorinvdtl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
* @Date 2024/3/18 13:17
|
||||
@@ -47,7 +38,7 @@ public class FormActivityBehavior extends FlowNodeActivityBehavior<JSONObject> {
|
||||
@Autowired
|
||||
IBmFormStrucService iBmFormStrucService;
|
||||
@Autowired
|
||||
IStIvtIostorinvdtlInService iostorinvdtlService;
|
||||
IStIvtIostorinvdtlService iostorinvdtlService;
|
||||
@Autowired
|
||||
IStIvtIostorinvInService iostorinvService;
|
||||
//分配明细用公用表
|
||||
@@ -84,22 +75,25 @@ public class FormActivityBehavior extends FlowNodeActivityBehavior<JSONObject> {
|
||||
JSONObject mst_json = handler.getJSONObject("t");
|
||||
mst_json.put("id",IdUtil.getStringId());
|
||||
mst_json.put("create_time",DateUtil.now());
|
||||
mst_json.put("create_id",SecurityUtils.getCurrentUserId());
|
||||
mst_json.put("create_name",SecurityUtils.getCurrentNickName());
|
||||
mst_json.put("status",StatusEnum.FORM_STATUS.code("生成"));
|
||||
mst_json.put("bill_type",StatusEnum.IOBILL_TYPE.code("生产入库"));
|
||||
mst_json.put("code",CodeUtil.getNewCode("IO_CODE"));
|
||||
mst_json.put("source_form_type",handler.getString("source_form_type"));
|
||||
StIvtIostorinvIn mst = mst_json.toJavaObject(StIvtIostorinvIn.class);
|
||||
handler.put("form_id",mst.getId());
|
||||
|
||||
Object item = mst_json.remove("item");
|
||||
if(item !=null){
|
||||
JSONArray itemArr = (JSONArray) item;
|
||||
JSONArray itemArr = handler.getJSONArray("item");
|
||||
if(itemArr !=null){
|
||||
for (int i = 0; i < itemArr.size(); i++) {
|
||||
JSONObject dtl = itemArr.getJSONObject(i);
|
||||
JSONObject dtl_json = dtl.getJSONObject("t");
|
||||
dtl_json.put("inv_id",mst.getId());
|
||||
mst_json.put("update_time",DateUtil.now());
|
||||
dtl_json.put("status",StatusEnum.FORM_STATUS.code("生成"));
|
||||
dtl_json.put("id",IdUtil.getStringId());
|
||||
StIvtIostorinvdtlIn iostorinvdtl= dtl_json.toJavaObject(StIvtIostorinvdtlIn.class);
|
||||
dtl_json.put("source_form_type",dtl.getString("source_form_type"));//不是通用表单
|
||||
StIvtIostorinvdtl iostorinvdtl= dtl_json.toJavaObject(StIvtIostorinvdtl.class);
|
||||
iostorinvdtlService.save(iostorinvdtl);
|
||||
dtl.put("form_id",iostorinvdtl.getId());
|
||||
}
|
||||
|
||||
@@ -4,13 +4,17 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.common.domain.exception.BadRequestException;
|
||||
import org.nl.wms.dispatch_manage.task.service.ISchBaseTaskService;
|
||||
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;
|
||||
import org.nl.wms.flow_manage.flow.framework.process.nodeType.TypeHandler;
|
||||
import org.nl.wms.flow_manage.flow.service.execution.IActRuExecutionService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
/*
|
||||
@@ -19,18 +23,21 @@ import org.springframework.util.CollectionUtils;
|
||||
*/
|
||||
@Service("serverTask")
|
||||
public class ServerTaskActivityBehavior extends FlowNodeActivityBehavior<JSONObject> {
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void execute(ExecutionEntity<JSONObject> entity) {
|
||||
String form_id = entity.getForm_id();
|
||||
String form_type = entity.getForm_type();
|
||||
FlowElement element = entity.getCurrentFlowElement();
|
||||
ServerTask currentNode = (ServerTask) element;
|
||||
if (!CollectionUtils.isEmpty(currentNode.getSkipExpression())) {
|
||||
TypeHandler<JSONObject,JSONObject> typeHandler = TypeHandler.HANDLER_MAP.get(currentNode.getCategory());
|
||||
TypeHandler<JSONObject,ExecutionEntity> typeHandler = TypeHandler.HANDLER_MAP.get(currentNode.getCategory());
|
||||
if (typeHandler == null) {
|
||||
throw new BadRequestException("【flow】当前节点处理类型未定义");
|
||||
}
|
||||
JSONObject handler = typeHandler.handler(currentNode.getSkipExpression(), entity.getT(), null);
|
||||
JSONObject handler = typeHandler.handler(currentNode.getSkipExpression(), entity, null);
|
||||
entity.setT(handler);
|
||||
entity.setForm_id(form_id);
|
||||
entity.setForm_type(form_type);
|
||||
|
||||
@@ -14,15 +14,10 @@ import org.nl.wms.config_manage.form_struc.service.dao.BmFormStruc;
|
||||
import org.nl.wms.flow_manage.flow.framework.engine.behavior.FlowNodeActivityBehavior;
|
||||
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.Form;
|
||||
import org.nl.wms.flow_manage.flow.framework.entity.node.impl.task.impl.StrucForm;
|
||||
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;
|
||||
import org.nl.wms.stor_manage.service.in.iostor.IStIvtIostorinvInService;
|
||||
import org.nl.wms.stor_manage.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.IStIvtIostorinvdtlInService;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
@@ -29,12 +29,13 @@ public class ExecutionDto {
|
||||
*/
|
||||
private String form_type;
|
||||
/**
|
||||
* 源单id
|
||||
* 原始源单id :a-b-c-d =>a.id
|
||||
*/
|
||||
private String source_form_id;
|
||||
/**
|
||||
* 源单类型
|
||||
* 原始源单类型: a-b-c-d =>a.form_type
|
||||
*/
|
||||
|
||||
private String source_form_type;
|
||||
/**
|
||||
* 主数据
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
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.domain.exception.BadRequestException;
|
||||
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.entity.node.impl.task.impl.ServerTask;
|
||||
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;
|
||||
@@ -20,22 +19,27 @@ import java.util.List;
|
||||
* @Date 2024/3/21 15:17
|
||||
*/
|
||||
@Service("class")
|
||||
public class ClassHandler extends TypeHandler<ExecutionDto, ExecutionEntity<JSONObject>> {
|
||||
|
||||
public class ClassHandler extends TypeHandler<JSONObject,ExecutionEntity<JSONObject>> {
|
||||
|
||||
//{"t","souce",form}
|
||||
@Override
|
||||
public ExecutionDto handler(List<String> param, ExecutionEntity<JSONObject> entity, BmFormStruc form_struc) {
|
||||
public JSONObject handler(List<String> params, ExecutionEntity<JSONObject> entity, BmFormStruc isnull) {
|
||||
JSONObject result = new JSONObject();
|
||||
|
||||
FlowNode currentFlowElement = (FlowNode)entity.getCurrentFlowElement();
|
||||
ClassProcess process = SpringContextHolder.getBean(param.get(0));
|
||||
if (currentFlowElement.getAuxParam()!=null){
|
||||
entity.getT().putAll(currentFlowElement.getAuxParam());
|
||||
ExecutionDto dto = entity.getT().toJavaObject(ExecutionDto.class);
|
||||
ServerTask flowNode = (ServerTask) entity.getCurrentFlowElement();
|
||||
ClassProcess process = SpringContextHolder.getBean(params.get(0));
|
||||
if (process==null){
|
||||
throw new BadRequestException("当前serverTask配置的类信息不存在");
|
||||
}
|
||||
JSONObject result = process.process(entity.getT(), entity.getForm_type());
|
||||
entity.setT(result);
|
||||
return ExecutionDto.builder()
|
||||
.form_id(result.getString("id"))
|
||||
.t(result)
|
||||
.build();
|
||||
JSONObject form = process.process(dto.getT(), flowNode.getAuxParam());
|
||||
result.put("t",form);
|
||||
//后续:涉及框架的参数提到框架中处理
|
||||
result.put("source_form_id",dto.getForm_id());
|
||||
result.put("source_form_type",dto.getForm_type());
|
||||
result.put("form_id",form.getString("id"));
|
||||
result.put("form_type",flowNode.getForm_type());
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,33 +1,26 @@
|
||||
package org.nl.wms.flow_manage.flow.framework.process.nodeType.excess.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
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.common.utils.RedissonUtils;
|
||||
import org.nl.wms.stor_manage.struct.service.IStIvtStructattrService;
|
||||
import org.nl.wms.stor_manage.struct.service.dao.StIvtStructattr;
|
||||
import org.nl.wms.config_manage.form_struc.service.dao.BmFormStruc;
|
||||
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;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.IStIvtIostorinvdtlInService;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.IStIvtIostorinvdtlService;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.StIvtIostorinvdtl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
@@ -35,13 +28,13 @@ import java.util.Map;
|
||||
* @ONLY:该决策引擎只用于出入库规则
|
||||
*/
|
||||
@Service("decision")
|
||||
public class DecisionHandler extends TypeHandler<ExecutionDto,ExecutionEntity<JSONObject>> {
|
||||
public class DecisionHandler extends TypeHandler<JSONObject,ExecutionEntity<JSONObject>> {
|
||||
|
||||
|
||||
@Autowired
|
||||
private IStIvtStructattrService iStIvtStructattrService;
|
||||
@Autowired
|
||||
private IStIvtIostorinvdtlInService stIvtIostorinvdtlInService;
|
||||
private IStIvtIostorinvdtlService stIvtIostorinvdtlInService;
|
||||
|
||||
@Autowired
|
||||
private Map<String, Decisioner> decisionHandlerMap;
|
||||
@@ -54,39 +47,44 @@ public class DecisionHandler extends TypeHandler<ExecutionDto,ExecutionEntity<JS
|
||||
*/
|
||||
|
||||
@Override
|
||||
public ExecutionDto handler(List<String> params, ExecutionEntity<JSONObject> entity, BmFormStruc form_struc) {
|
||||
public JSONObject handler(List<String> params, ExecutionEntity<JSONObject> entity, BmFormStruc isnull) {
|
||||
//出入库明细
|
||||
JSONObject item_json = entity.getT();
|
||||
StIvtIostorinvdtlIn iostorinvdtlIn = item_json.toJavaObject(StIvtIostorinvdtlIn.class);
|
||||
List<StIvtStructattr> list = iStIvtStructattrService.list(new QueryWrapper<StIvtStructattr>()
|
||||
.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);
|
||||
JSONObject t = entity.getT();
|
||||
JSONObject item_json = t.getJSONObject("t");
|
||||
StIvtIostorinvdtl iostorinvdtlIn = item_json.toJavaObject(StIvtIostorinvdtl.class);
|
||||
AtomicReference<String> atomicStruct= new AtomicReference<>();
|
||||
RedissonUtils.lock(()->{
|
||||
List<StIvtStructattr> list = iStIvtStructattrService.list(new QueryWrapper<StIvtStructattr>()
|
||||
.eq("vehicle_code", "")
|
||||
.eq("is_used", true)
|
||||
.eq("stor_code",iostorinvdtlIn.getStor_code()));
|
||||
if (CollectionUtils.isEmpty(list)){
|
||||
throw new BadRequestException("当前分配策略无可用货位");
|
||||
}
|
||||
}
|
||||
//跟新货位载具
|
||||
System.out.println(list);
|
||||
String struct_code = list.get(0).getStruct_code();
|
||||
for (String param : params) {
|
||||
Decisioner decisioner = decisionHandlerMap.get(param);
|
||||
list = decisioner.handler(list, iostorinvdtlIn);
|
||||
if (CollectionUtils.isEmpty(list)){
|
||||
throw new BadRequestException("当前分配策略无可用货位");
|
||||
}
|
||||
}
|
||||
System.out.println(list);
|
||||
if (CollectionUtils.isEmpty(list)){
|
||||
throw new BadRequestException("无可分配货位!");
|
||||
}
|
||||
String structCode = list.get(0).getStruct_code();
|
||||
atomicStruct.set(structCode);
|
||||
//更新仓位,更新数据
|
||||
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("struct_code",struct_code)
|
||||
iStIvtStructattrService.update(new UpdateWrapper<StIvtStructattr>()
|
||||
.set("vehicle_code",iostorinvdtlIn.getVehicle_code())
|
||||
.set("lock_type", StatusEnum.LOCK.code("入"))
|
||||
.eq("struct_code",structCode));
|
||||
},"入",2);
|
||||
|
||||
stIvtIostorinvdtlInService.update(new UpdateWrapper<StIvtIostorinvdtl>()
|
||||
.set("struct_code",atomicStruct.get())
|
||||
.eq("id",iostorinvdtlIn.getId()));
|
||||
item_json.put("struct_code",struct_code);
|
||||
return ExecutionDto.builder()
|
||||
.form_id(iostorinvdtlIn.getId())
|
||||
.t(item_json)
|
||||
.build();
|
||||
item_json.put("struct_code",atomicStruct.get());
|
||||
return t;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,10 @@ public class MappingHandler extends TypeHandler<JSONObject, JSONObject> {
|
||||
IBmFormStrucService iBmFormStrucService;
|
||||
@Override
|
||||
public JSONObject handler(List<String> param, JSONObject data, BmFormStruc form_struc) {
|
||||
JSONObject resultT = new JSONObject();
|
||||
|
||||
JSONObject mapping = JSONObject.parseObject(param.size()==1?param.get(0):param.remove(0));
|
||||
|
||||
//数据平铺
|
||||
JSONObject sourceFormData = new JSONObject(data.getJSONObject("t"));
|
||||
String souceFromId = data.getString("form_id");
|
||||
@@ -38,35 +42,41 @@ public class MappingHandler extends TypeHandler<JSONObject, JSONObject> {
|
||||
if (forms!=null){
|
||||
sourceFormData.putAll(forms);
|
||||
}
|
||||
//数据字段列表
|
||||
List<String> fields = ListOf.of(form_struc.getBiz_code()
|
||||
, form_struc.getBiz_id()
|
||||
, form_struc.getBiz_code()
|
||||
, form_struc.getBiz_status()
|
||||
, form_struc.getMaterial_id()
|
||||
, form_struc.getPcsn()
|
||||
, form_struc.getVehicle_code()
|
||||
, form_struc.getQty());
|
||||
//查询目标表字段
|
||||
//数据字段列表+自定义的字段:不从配置表获取
|
||||
Object formDataMapping = mapping.remove("form_data");
|
||||
// List<String> fields = ListOf.of(form_struc.getBiz_code()
|
||||
// , form_struc.getBiz_id()
|
||||
// , form_struc.getBiz_code()
|
||||
// , form_struc.getBiz_status()
|
||||
// , form_struc.getBiz_form_type()
|
||||
// , form_struc.getMaterial_id()
|
||||
// , form_struc.getPcsn()
|
||||
// , form_struc.getVehicle_code()
|
||||
// , form_struc.getUnit_id()
|
||||
// , form_struc.getQty());
|
||||
JSONObject t = new JSONObject();
|
||||
//查询目标表字段
|
||||
//基础字段映射:如果只有一个就不迭代
|
||||
JSONObject mapping = JSONObject.parseObject(param.size()==1?param.get(0):param.remove(0));
|
||||
for (String field : fields) {
|
||||
if (field!=null){
|
||||
String value = sourceFormData.getString(mapping.getString(field));
|
||||
t.put(field,value);
|
||||
}
|
||||
for (String field : mapping.keySet()) {
|
||||
String value = sourceFormData.getString(mapping.getString(field));
|
||||
t.put(field,value);
|
||||
}
|
||||
|
||||
|
||||
//查询表单配置表,获取自定义json:自定义字段参数获取
|
||||
JSONObject form_param = form_struc.getForm_param();
|
||||
if (form_param!=null){
|
||||
JSONObject form_data = new JSONObject();
|
||||
for (String item : form_param.keySet()) {
|
||||
String mappingConfig = mapping.getString(item);
|
||||
if (StringUtils.isNotEmpty(mappingConfig)){
|
||||
String value = sourceFormData.getString(mappingConfig);
|
||||
form_data.put(item,value);
|
||||
String value = "";
|
||||
if (formDataMapping!=null){
|
||||
JSONObject formDataMappingJson = (JSONObject) formDataMapping;
|
||||
String mappingConfig = formDataMappingJson.getString(item);
|
||||
if (StringUtils.isNotEmpty(mappingConfig)){
|
||||
value = sourceFormData.getString(mappingConfig);
|
||||
}
|
||||
}
|
||||
form_data.put(item,value);
|
||||
}
|
||||
t.put("form_data",form_data);
|
||||
}
|
||||
@@ -81,9 +91,8 @@ public class MappingHandler extends TypeHandler<JSONObject, JSONObject> {
|
||||
for (int i = 0; i < item.size(); i++) {
|
||||
itemList.add(this.handler(param, item.getJSONObject(i), item_struc));
|
||||
}
|
||||
t.put("item",itemList);
|
||||
resultT.put("item",itemList);
|
||||
}
|
||||
JSONObject resultT = new JSONObject();
|
||||
resultT.put("form_type",form_struc.getForm_type());
|
||||
resultT.put("form_id","");
|
||||
resultT.put("source_form_type",souceFromType);
|
||||
|
||||
@@ -7,6 +7,11 @@ import com.alibaba.fastjson.JSONObject;
|
||||
* @Date 2024/5/11 10:31
|
||||
*/
|
||||
public interface ClassProcess {
|
||||
|
||||
JSONObject process(JSONObject from,String type);
|
||||
/**
|
||||
* 表单数据+扩展数据(节点配置信息)
|
||||
* @param from
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
JSONObject process(JSONObject from,JSONObject param);
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ 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.wms.flow_manage.flow.framework.BpmnModel;
|
||||
import org.nl.wms.flow_manage.flow.framework.converter.BpmnJSONConverter;
|
||||
import org.nl.wms.flow_manage.flow.framework.engine.cmd.CommandExecutor;
|
||||
@@ -23,7 +24,10 @@ import org.nl.wms.flow_manage.flow.service.execution.dto.StartProcessInstanceVo;
|
||||
import org.nl.wms.flow_manage.flow.service.model.IActDeModelService;
|
||||
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.function.Consumer;
|
||||
|
||||
/*
|
||||
@@ -90,6 +94,13 @@ public class FlowOperationServiceImpl implements IFlowOperationService {
|
||||
if (execution==null){
|
||||
throw new BadRequestException("当前流程实例不存在或已经完结");
|
||||
}
|
||||
//判断子流程
|
||||
List<ActRuExecution> childList = iActRuExecutionService.list(new QueryWrapper<ActRuExecution>()
|
||||
.eq("parent_id", proc_inst_id)
|
||||
.ne("status", StatusEnum.FLOW_STATUS.code("完成")));
|
||||
if (!CollectionUtils.isEmpty(childList)){
|
||||
throw new BadRequestException("当前流程存在未完成的子流程");
|
||||
}
|
||||
ActReProcdef deployment = actReProcdefService.getOne(new LambdaUpdateWrapper<ActReProcdef>()
|
||||
.eq(ActReProcdef::getDeployment_id, execution.getDeployment_id()));
|
||||
if (deployment==null){
|
||||
|
||||
@@ -70,9 +70,13 @@ public class MdGruopDick implements Serializable {
|
||||
*/
|
||||
private String update_time;
|
||||
/**
|
||||
* 修改时间
|
||||
* 创建时间
|
||||
*/
|
||||
private String create_time;
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private String create_name;
|
||||
|
||||
/**
|
||||
* 自定义字段
|
||||
|
||||
@@ -61,5 +61,9 @@ public class MdGruopDtl implements Serializable {
|
||||
* 修改时间
|
||||
*/
|
||||
private String update_time;
|
||||
/**
|
||||
* 修改人
|
||||
*/
|
||||
private String update_name;
|
||||
|
||||
}
|
||||
|
||||
@@ -76,8 +76,8 @@ public class MdGruopDickServiceImpl extends ServiceImpl<MdGruopDickMapper, MdGru
|
||||
public void groupDick(JSONObject forms) {
|
||||
List<JSONObject> tableData = (ArrayList)forms.remove("item");
|
||||
String now = DateUtil.now();
|
||||
forms.put("update_name",SecurityUtils.getCurrentNickName());
|
||||
forms.put("update_time", now);
|
||||
forms.put("create_name",SecurityUtils.getCurrentNickName());
|
||||
forms.put("create_time", now);
|
||||
forms.put("id",IdUtil.getStringId());
|
||||
forms.put("id",IdUtil.getStringId());
|
||||
forms.put("code", CodeUtil.getNewCode("md_group_dick"));
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.nl.wms.stor_manage.controller;
|
||||
package org.nl.wms.stor_manage.io.controller;
|
||||
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@@ -1,22 +1,19 @@
|
||||
package org.nl.wms.stor_manage.controller.in;
|
||||
package org.nl.wms.stor_manage.io.controller.in;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.nl.common.TableDataInfo;
|
||||
import org.nl.common.domain.entity.PageQuery;
|
||||
import org.nl.wms.stor_manage.service.dto.StorInvQuery;
|
||||
import org.nl.wms.stor_manage.service.in.iostor.IStIvtIostorinvInService;
|
||||
import org.nl.wms.stor_manage.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.IStIvtIostorinvdtlInService;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn;
|
||||
import org.nl.wms.stor_manage.io.service.dto.StorInvQuery;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor.IStIvtIostorinvInService;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.IStIvtIostorinvdtlService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -35,7 +32,7 @@ public class StIvtIostorinvInController {
|
||||
@Autowired
|
||||
IStIvtIostorinvInService iStIvtIostorinvInService;
|
||||
@Autowired
|
||||
IStIvtIostorinvdtlInService iStIvtIostorinvDtlInService;
|
||||
IStIvtIostorinvdtlService iStIvtIostorinvDtlInService;
|
||||
|
||||
|
||||
@GetMapping
|
||||
@@ -52,13 +49,6 @@ public class StIvtIostorinvInController {
|
||||
@PostMapping("getIosInvDtl")
|
||||
public ResponseEntity<Object> getDtl(@RequestBody String inv_id) {
|
||||
List<Map> mapList = iStIvtIostorinvDtlInService.getByInv(inv_id);
|
||||
//行转列:
|
||||
mapList.forEach(a->{
|
||||
Object form_data = a.get("form_data");
|
||||
if (form_data!=null || form_data instanceof Map){
|
||||
a.putAll((Map) form_data);
|
||||
}
|
||||
});
|
||||
return new ResponseEntity<>(mapList,HttpStatus.OK);
|
||||
}
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
package org.nl.wms.stor_manage.service.dto;
|
||||
package org.nl.wms.stor_manage.io.service.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nl.common.domain.entity.BaseQuery;
|
||||
import org.nl.wms.stor_manage.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
|
||||
import java.lang.reflect.ParameterizedType;
|
||||
import java.lang.reflect.Type;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
@@ -16,6 +13,7 @@ public class StorInvQuery extends BaseQuery<StIvtIostorinvIn>{
|
||||
private String form_type;
|
||||
private String code;
|
||||
private String status;
|
||||
private String bill_type;
|
||||
private String product_code;
|
||||
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package org.nl.wms.stor_manage.service.in.iostor;
|
||||
package org.nl.wms.stor_manage.io.service.in.iostor;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.wms.stor_manage.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.nl.wms.stor_manage.service.in.iostor.dao;
|
||||
package org.nl.wms.stor_manage.io.service.in.iostor.dao;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
@@ -33,6 +33,10 @@ public class StIvtIostorinvIn implements Serializable {
|
||||
* 单据编号
|
||||
*/
|
||||
private String code;
|
||||
/**
|
||||
* 业务类型
|
||||
*/
|
||||
private String bill_type;
|
||||
|
||||
/**
|
||||
* 生产区域编码
|
||||
@@ -46,16 +50,16 @@ public class StIvtIostorinvIn implements Serializable {
|
||||
/**
|
||||
* 源单业务日期
|
||||
*/
|
||||
private String biz_date;
|
||||
private String source_form_date;
|
||||
/**
|
||||
* 源单号
|
||||
*/
|
||||
private String biz_code;
|
||||
private String source_form_id;
|
||||
|
||||
/**
|
||||
* 源单单据类型
|
||||
*/
|
||||
private String form_type;
|
||||
private String source_form_type;
|
||||
|
||||
|
||||
/**
|
||||
@@ -66,7 +70,7 @@ public class StIvtIostorinvIn implements Serializable {
|
||||
/**
|
||||
* 制单人
|
||||
*/
|
||||
private String create_id;
|
||||
private String create_name;
|
||||
|
||||
/**
|
||||
* 制单时间
|
||||
@@ -76,7 +80,7 @@ public class StIvtIostorinvIn implements Serializable {
|
||||
/**
|
||||
* 修改人
|
||||
*/
|
||||
private String update_id;
|
||||
private String update_name;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.nl.wms.stor_manage.service.in.iostor.dao.mapper;
|
||||
package org.nl.wms.stor_manage.io.service.in.iostor.dao.mapper;
|
||||
|
||||
import org.nl.wms.stor_manage.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.nl.wms.stor_manage.service.in.iostor.dao.mapper.StIvtIostorinvMapper">
|
||||
<mapper namespace="org.nl.wms.stor_manage.io.service.in.iostor.dao.mapper.StIvtIostorinvMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -1,18 +1,17 @@
|
||||
package org.nl.wms.stor_manage.service.in.iostor.impl;
|
||||
package org.nl.wms.stor_manage.io.service.in.iostor.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
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.common.utils.SecurityUtils;
|
||||
import org.nl.wms.stor_manage.service.in.iostor.IStIvtIostorinvInService;
|
||||
import org.nl.wms.stor_manage.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
import org.nl.wms.stor_manage.service.in.iostor.dao.mapper.StIvtIostorinvMapper;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor.IStIvtIostorinvInService;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor.dao.mapper.StIvtIostorinvMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.IStIvtIostorinvdtlInService;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.IStIvtIostorinvdtlService;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.StIvtIostorinvdtl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -32,7 +31,7 @@ import java.util.Map;
|
||||
public class StIvtIostorinvInServiceImpl extends ServiceImpl<StIvtIostorinvMapper, StIvtIostorinvIn> implements IStIvtIostorinvInService {
|
||||
|
||||
@Autowired
|
||||
private IStIvtIostorinvdtlInService iStIvtIostorinvdtlInService;
|
||||
private IStIvtIostorinvdtlService iStIvtIostorinvdtlInService;
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
@@ -43,13 +42,13 @@ public class StIvtIostorinvInServiceImpl extends ServiceImpl<StIvtIostorinvMappe
|
||||
List<Map> dtls = (List<Map>) form.remove("tableData");
|
||||
StIvtIostorinvIn mst = form.toJavaObject(StIvtIostorinvIn.class);
|
||||
mst.setId(IdUtil.getStringId());
|
||||
mst.setCreate_id(SecurityUtils.getCurrentUserId());
|
||||
mst.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
mst.setCreate_time(DateUtil.now());
|
||||
mst.setCode(CodeUtil.getNewCode("IO_CODE"));
|
||||
mst.setStatus(StatusEnum.FORM_STATUS.code("生成"));
|
||||
if (dtls!=null && dtls.size()>0){
|
||||
for (int i = 0; i < dtls.size(); i++) {
|
||||
StIvtIostorinvdtlIn dtl = new JSONObject(dtls.get(i)).toJavaObject(StIvtIostorinvdtlIn.class);
|
||||
StIvtIostorinvdtl dtl = new JSONObject(dtls.get(i)).toJavaObject(StIvtIostorinvdtl.class);
|
||||
dtl.setId(IdUtil.getStringId());
|
||||
dtl.setInv_id(mst.getId());
|
||||
dtl.setStatus(StatusEnum.FORM_STATUS.code("生成"));
|
||||
@@ -58,4 +57,5 @@ public class StIvtIostorinvInServiceImpl extends ServiceImpl<StIvtIostorinvMappe
|
||||
}
|
||||
this.save(mst);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package org.nl.wms.stor_manage.io.service.in.iostor_dtl;
|
||||
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.StIvtIostorinvdtl;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 出入库单明细表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2024-03-29
|
||||
*/
|
||||
public interface IStIvtIostorinvdtlService extends IService<StIvtIostorinvdtl> {
|
||||
|
||||
void batchInsert(List<StIvtIostorinvdtl> dtls);
|
||||
|
||||
List<Map> getByInv(String inv_id);
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.nl.wms.stor_manage.service.in.iostor_dtl.dao;
|
||||
package org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@@ -22,7 +22,7 @@ import lombok.EqualsAndHashCode;
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName(value = "st_ivt_iostorinvdtl_in",autoResultMap = true)
|
||||
public class StIvtIostorinvdtlIn implements Serializable {
|
||||
public class StIvtIostorinvdtl implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@@ -36,6 +36,20 @@ public class StIvtIostorinvdtlIn implements Serializable {
|
||||
*/
|
||||
private String inv_id;
|
||||
|
||||
/**
|
||||
* 源单号
|
||||
*/
|
||||
private String source_form_id;
|
||||
|
||||
/**
|
||||
* 源单单据类型
|
||||
*/
|
||||
private String source_form_type;
|
||||
/**
|
||||
* 单据明细状态
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 物料标识
|
||||
*/
|
||||
@@ -46,45 +60,31 @@ public class StIvtIostorinvdtlIn implements Serializable {
|
||||
*/
|
||||
private String pcsn;
|
||||
|
||||
/**
|
||||
* 品质类型
|
||||
*/
|
||||
private String quality_scode;
|
||||
|
||||
/**
|
||||
* 单据明细状态
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 数量计量单位标识
|
||||
*/
|
||||
private String qty_unit_id;
|
||||
private String unit_id;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
* 计划数量
|
||||
*/
|
||||
private BigDecimal qty;
|
||||
private BigDecimal plan_qty;
|
||||
|
||||
|
||||
/**
|
||||
* 已分配数量
|
||||
*/
|
||||
private BigDecimal assign_qty;
|
||||
|
||||
/**
|
||||
* 未分配数量
|
||||
* 未分配数量(计划数量-载具物料数量)
|
||||
*/
|
||||
private BigDecimal unassign_qty;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
* 分配数量
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
private BigDecimal assign_qty;
|
||||
/**
|
||||
* 货主
|
||||
* 分配的载具
|
||||
*/
|
||||
private String shipper;
|
||||
private String vehicle_code;
|
||||
|
||||
/**
|
||||
* 仓库
|
||||
@@ -94,21 +94,16 @@ public class StIvtIostorinvdtlIn implements Serializable {
|
||||
* 仓位编码
|
||||
*/
|
||||
private String struct_code;
|
||||
/**
|
||||
* 分配的载具
|
||||
*/
|
||||
private String vehicle_code;
|
||||
|
||||
|
||||
/**
|
||||
* 载具任务
|
||||
* 备注
|
||||
*/
|
||||
private String task_code;
|
||||
|
||||
private String remark;
|
||||
/**
|
||||
* 单重
|
||||
* 操作时间
|
||||
*/
|
||||
private BigDecimal single_wt;
|
||||
private String update_time;
|
||||
|
||||
|
||||
@TableField(typeHandler = FastjsonTypeHandler.class)
|
||||
private JSONObject form_data;
|
||||
@@ -0,0 +1,41 @@
|
||||
package org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
|
||||
import org.apache.ibatis.annotations.Result;
|
||||
import org.apache.ibatis.annotations.Results;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.StIvtIostorinvdtl;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 出入库单明细表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2024-03-29
|
||||
*/
|
||||
public interface StIvtIostorinvdtlMapper extends BaseMapper<StIvtIostorinvdtl> {
|
||||
|
||||
Integer batchInsert(List<StIvtIostorinvdtl> dtls);
|
||||
|
||||
@Select("SELECT\n" +
|
||||
" sum(md_pb_vehicleMater.qty) as qty,\n" +
|
||||
" st_ivt_iostorinvdtl_in.*,\n" +
|
||||
" md_me_materialbase.material_code,\n" +
|
||||
" md_me_materialbase.material_name,\n" +
|
||||
" md_me_materialbase.material_spec\n" +
|
||||
" FROM\n" +
|
||||
" st_ivt_iostorinvdtl_in\n" +
|
||||
" LEFT JOIN md_me_materialbase ON st_ivt_iostorinvdtl_in.material_id = md_me_materialbase.material_id\n" +
|
||||
" LEFT JOIN md_pb_vehicleMater ON (st_ivt_iostorinvdtl_in.vehicle_code = md_pb_vehicleMater.vehicle_code\n" +
|
||||
" and st_ivt_iostorinvdtl_in.material_id = md_pb_vehicleMater.material_id)\n" +
|
||||
" where inv_id = #{inv_id} GROUP BY st_ivt_iostorinvdtl_in.id")
|
||||
@Results({@Result(property = "form_data",column = "form_data",typeHandler = FastjsonTypeHandler.class)})
|
||||
List<Map> findByInv(String inv_id);
|
||||
List<Map> findByInv2(String inv_id);
|
||||
|
||||
}
|
||||
@@ -1,13 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.nl.wms.stor_manage.service.in.iostor_dtl.dao.mapper.StIvtIostorinvdtlInMapper">
|
||||
<mapper namespace="org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.mapper.StIvtIostorinvdtlMapper">
|
||||
|
||||
<insert id="batchInsert">
|
||||
insert into st_ivt_iostorinvdtl() values <foreach collection="dtls" open="(" close=")" item="item">
|
||||
</foreach>
|
||||
</insert>
|
||||
<select id="findByInv" resultType="java.util.Map">
|
||||
<select id="findByInv2" resultType="java.util.Map">
|
||||
SELECT
|
||||
sum(md_pb_vehicleMater.qty) as qty,
|
||||
st_ivt_iostorinvdtl_in.*,
|
||||
md_me_materialbase.material_code,
|
||||
md_me_materialbase.material_name,
|
||||
@@ -15,6 +16,8 @@
|
||||
FROM
|
||||
st_ivt_iostorinvdtl_in
|
||||
LEFT JOIN md_me_materialbase ON st_ivt_iostorinvdtl_in.material_id = md_me_materialbase.material_id
|
||||
where inv_id = #{inv_id}
|
||||
LEFT JOIN md_pb_vehicleMater ON (st_ivt_iostorinvdtl_in.vehicle_code = md_pb_vehicleMater.vehicle_code
|
||||
and st_ivt_iostorinvdtl_in.material_id = md_pb_vehicleMater.material_id)
|
||||
where inv_id = #{inv_id} GROUP BY st_ivt_iostorinvdtl_in.id
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,39 @@
|
||||
package org.nl.wms.stor_manage.io.service.in.iostor_dtl.impl;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.IStIvtIostorinvdtlService;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.StIvtIostorinvdtl;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.mapper.StIvtIostorinvdtlMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 出入库单明细表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2024-03-29
|
||||
*/
|
||||
@Service
|
||||
public class StIvtIostorinvdtlServiceImpl extends ServiceImpl<StIvtIostorinvdtlMapper, StIvtIostorinvdtl> implements IStIvtIostorinvdtlService {
|
||||
|
||||
|
||||
@Override
|
||||
public void batchInsert(List<StIvtIostorinvdtl> dtls) {
|
||||
this.baseMapper.batchInsert(dtls);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<Map> getByInv(String inv_id) {
|
||||
if (StringUtils.isEmpty(inv_id)){
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return this.baseMapper.findByInv(inv_id);
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package org.nl.wms.stor_manage.service.iostor_dis;
|
||||
package org.nl.wms.stor_manage.io.service.iostor_dis;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.wms.stor_manage.service.iostor_dis.dao.StIvtIostorinvdis;
|
||||
import org.nl.wms.stor_manage.io.service.iostor_dis.dao.StIvtIostorinvdis;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.nl.wms.stor_manage.service.iostor_dis.dao;
|
||||
package org.nl.wms.stor_manage.io.service.iostor_dis.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
@@ -1,7 +1,7 @@
|
||||
package org.nl.wms.stor_manage.service.iostor_dis.dao.mapper;
|
||||
package org.nl.wms.stor_manage.io.service.iostor_dis.dao.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.nl.wms.stor_manage.service.iostor_dis.dao.StIvtIostorinvdis;
|
||||
import org.nl.wms.stor_manage.io.service.iostor_dis.dao.StIvtIostorinvdis;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.nl.wms.stor_manage.io.service.iostor_dis.dao.mapper.StIvtIostorinvdisMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -1,9 +1,9 @@
|
||||
package org.nl.wms.stor_manage.service.iostor_dis.impl;
|
||||
package org.nl.wms.stor_manage.io.service.iostor_dis.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.wms.stor_manage.service.iostor_dis.IStIvtIostorinvdisService;
|
||||
import org.nl.wms.stor_manage.service.iostor_dis.dao.StIvtIostorinvdis;
|
||||
import org.nl.wms.stor_manage.service.iostor_dis.dao.mapper.StIvtIostorinvdisMapper;
|
||||
import org.nl.wms.stor_manage.io.service.iostor_dis.IStIvtIostorinvdisService;
|
||||
import org.nl.wms.stor_manage.io.service.iostor_dis.dao.StIvtIostorinvdis;
|
||||
import org.nl.wms.stor_manage.io.service.iostor_dis.dao.mapper.StIvtIostorinvdisMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.nl.wms.stor_manage.service.out.iostor;
|
||||
package org.nl.wms.stor_manage.io.service.out.iostor;
|
||||
|
||||
import org.nl.wms.stor_manage.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.nl.wms.stor_manage.service.out.iostor.dao;
|
||||
package org.nl.wms.stor_manage.io.service.out.iostor.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.nl.wms.stor_manage.service.out.iostor.dao.mapper;
|
||||
package org.nl.wms.stor_manage.io.service.out.iostor.dao.mapper;
|
||||
|
||||
import org.nl.wms.stor_manage.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.nl.wms.stor_manage.service.iostor_dis.dao.mapper.StIvtIostorinvdisMapper">
|
||||
<mapper namespace="org.nl.wms.stor_manage.io.service.in.iostor.dao.mapper.StIvtIostorinvMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -1,9 +1,9 @@
|
||||
package org.nl.wms.stor_manage.service.out.iostor.impl;
|
||||
package org.nl.wms.stor_manage.io.service.out.iostor.impl;
|
||||
|
||||
import org.nl.wms.stor_manage.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
import org.nl.wms.stor_manage.service.in.iostor.dao.mapper.StIvtIostorinvMapper;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor.dao.StIvtIostorinvIn;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor.dao.mapper.StIvtIostorinvMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.wms.stor_manage.service.out.iostor.IStIvtIostorinvoutService;
|
||||
import org.nl.wms.stor_manage.io.service.out.iostor.IStIvtIostorinvoutService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.nl.wms.stor_manage.service.out.iostor_dtl;
|
||||
package org.nl.wms.stor_manage.io.service.out.iostor_dtl;
|
||||
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.StIvtIostorinvdtl;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
@@ -13,7 +13,7 @@ import java.util.List;
|
||||
* @author generator
|
||||
* @since 2024-03-29
|
||||
*/
|
||||
public interface IStIvtIostorinvdtlOutService extends IService<StIvtIostorinvdtlIn> {
|
||||
public interface IStIvtIostorinvdtlOutService extends IService<StIvtIostorinvdtl> {
|
||||
|
||||
void batchInsert(List<StIvtIostorinvdtlIn> dtls);
|
||||
void batchInsert(List<StIvtIostorinvdtl> dtls);
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.nl.wms.stor_manage.service.out.iostor_dtl.dao;
|
||||
package org.nl.wms.stor_manage.io.service.out.iostor_dtl.dao;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.nl.wms.stor_manage.service.out.iostor_dtl.dao.mapper;
|
||||
package org.nl.wms.stor_manage.io.service.out.iostor_dtl.dao.mapper;
|
||||
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.StIvtIostorinvdtl;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
import java.util.List;
|
||||
@@ -13,8 +13,8 @@ import java.util.List;
|
||||
* @author generator
|
||||
* @since 2024-03-29
|
||||
*/
|
||||
public interface StIvtIostorinvdtlOutMapper extends BaseMapper<StIvtIostorinvdtlIn> {
|
||||
public interface StIvtIostorinvdtlOutMapper extends BaseMapper<StIvtIostorinvdtl> {
|
||||
|
||||
Integer batchInsert(List<StIvtIostorinvdtlIn> dtls);
|
||||
Integer batchInsert(List<StIvtIostorinvdtl> dtls);
|
||||
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.nl.wms.stor_manage.service.in.iostor_dtl.dao.mapper.StIvtIostorinvdtlOutMapper">
|
||||
<mapper namespace="org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.mapper.StIvtIostorinvdtlOutMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,28 @@
|
||||
package org.nl.wms.stor_manage.io.service.out.iostor_dtl.impl;
|
||||
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.StIvtIostorinvdtl;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.mapper.StIvtIostorinvdtlMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.wms.stor_manage.io.service.out.iostor_dtl.IStIvtIostorinvdtlOutService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 出入库单明细表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2024-03-29
|
||||
*/
|
||||
@Service
|
||||
public class StIvtIostorinvdtlOutServiceImpl extends ServiceImpl<StIvtIostorinvdtlMapper, StIvtIostorinvdtl> implements IStIvtIostorinvdtlOutService {
|
||||
|
||||
|
||||
@Override
|
||||
public void batchInsert(List<StIvtIostorinvdtl> dtls) {
|
||||
this.baseMapper.batchInsert(dtls);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package org.nl.wms.stor_manage.monitor.listener;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.enums.StatusEnum;
|
||||
import org.nl.common.publish.AbstraceListener;
|
||||
import org.nl.wms.dispatch_manage.task.handler.StructEvent;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.IStIvtIostorinvdtlService;
|
||||
import org.nl.wms.stor_manage.io.service.in.iostor_dtl.dao.StIvtIostorinvdtl;
|
||||
import org.nl.wms.stor_manage.struct.service.IStIvtStructattrService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
* @Date 2024/5/17 15:27
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
public class StructEventListener extends AbstraceListener<StructEvent> {
|
||||
|
||||
@Autowired
|
||||
private IStIvtStructattrService structattrService;
|
||||
@Autowired
|
||||
private IStIvtIostorinvdtlService iostorinvdtlService;
|
||||
|
||||
@Override
|
||||
protected String doEvent(StructEvent event) {
|
||||
//根据不同的task_type获取对应出入库类型
|
||||
String task_status = event.getTask_status();
|
||||
String task_type = event.getTask_type();
|
||||
|
||||
if (task_status.equals(StatusEnum.FORM_STATUS.code("生成"))){
|
||||
|
||||
}
|
||||
if (task_status.equals(StatusEnum.FORM_STATUS.code("执行中"))){
|
||||
|
||||
}
|
||||
if (task_status.equals(StatusEnum.FORM_STATUS.code("完成"))){
|
||||
//更新出入库单明细状态;如果单据类型是其他的则从from-data表中更新
|
||||
structattrService.changeStruct(event.getStruct_code(),event.getVehicle_code(),task_type);
|
||||
}
|
||||
if (task_status.equals(StatusEnum.FORM_STATUS.code("取消"))){
|
||||
|
||||
}
|
||||
iostorinvdtlService.update(new UpdateWrapper<StIvtIostorinvdtl>()
|
||||
.set("status",task_status).eq("id",event.getSource_form_id()));
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package org.nl.wms.stor_manage.record.controller;
|
||||
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 仓位库存变动记录表 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2024-05-23
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/stIvtStructivtflow")
|
||||
public class StIvtStructivtflowController {
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.nl.wms.stor_manage.record.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.wms.stor_manage.record.service.dao.StIvtStructivtflow;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 仓位库存变动记录表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2024-05-23
|
||||
*/
|
||||
public interface IStIvtStructivtflowService extends IService<StIvtStructivtflow> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
package org.nl.wms.stor_manage.record.service.dao;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 仓位库存变动记录表
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2024-05-23
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName(value = "st_ivt_structivtflow", autoResultMap = true)
|
||||
public class StIvtStructivtflow implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 记录标识
|
||||
*/
|
||||
@TableId
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 仓位编码
|
||||
*/
|
||||
private String struct_code;
|
||||
|
||||
/**
|
||||
* 物料标识
|
||||
*/
|
||||
private String material_id;
|
||||
|
||||
/**
|
||||
* 批次
|
||||
*/
|
||||
private String pcsn;
|
||||
|
||||
/**
|
||||
* 总库存
|
||||
*/
|
||||
private BigDecimal qty;
|
||||
|
||||
/**
|
||||
* 冻结库存
|
||||
*/
|
||||
private BigDecimal frozen_qty;
|
||||
|
||||
/**
|
||||
* 载具物料参数
|
||||
*/
|
||||
@TableField(typeHandler = FastjsonTypeHandler.class)
|
||||
private JSONObject vehicle_form_data;
|
||||
|
||||
/**
|
||||
* 单据编号
|
||||
*/
|
||||
private String source_form_type;
|
||||
|
||||
/**
|
||||
* 单据表名
|
||||
*/
|
||||
private String source_form_id;
|
||||
|
||||
/**
|
||||
* 变动类型
|
||||
*/
|
||||
private String task_type;
|
||||
|
||||
/**
|
||||
* 数量计量单位标识
|
||||
*/
|
||||
private String unit_id;
|
||||
|
||||
/**
|
||||
* 变动时间
|
||||
*/
|
||||
private String update_time;
|
||||
|
||||
/**
|
||||
* 库存增加
|
||||
*/
|
||||
private Boolean growth;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.nl.wms.stor_manage.record.service.dao.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.nl.wms.stor_manage.record.service.dao.StIvtStructivtflow;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 仓位库存变动记录表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2024-05-23
|
||||
*/
|
||||
public interface StIvtStructivtflowMapper extends BaseMapper<StIvtStructivtflow> {
|
||||
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.nl.wms.stor_manage.service.in.iostor.dao.mapper.StIvtIostorinvMapper">
|
||||
<mapper namespace="org.nl.stor_manage.record.service.dao.mapper.StIvtStructivtflowMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,21 @@
|
||||
package org.nl.wms.stor_manage.record.service.impl;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.wms.stor_manage.record.service.IStIvtStructivtflowService;
|
||||
import org.nl.wms.stor_manage.record.service.dao.StIvtStructivtflow;
|
||||
import org.nl.wms.stor_manage.record.service.dao.mapper.StIvtStructivtflowMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 仓位库存变动记录表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2024-05-23
|
||||
*/
|
||||
@Service
|
||||
public class StIvtStructivtflowServiceImpl extends ServiceImpl<StIvtStructivtflowMapper, StIvtStructivtflow> implements IStIvtStructivtflowService {
|
||||
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
package org.nl.wms.stor_manage.service.in.iostor_dtl;
|
||||
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 出入库单明细表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2024-03-29
|
||||
*/
|
||||
public interface IStIvtIostorinvdtlInService extends IService<StIvtIostorinvdtlIn> {
|
||||
|
||||
void batchInsert(List<StIvtIostorinvdtlIn> dtls);
|
||||
|
||||
List<Map> getByInv(String inv_id);
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
package org.nl.wms.stor_manage.service.in.iostor_dtl.dao.mapper;
|
||||
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 出入库单明细表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2024-03-29
|
||||
*/
|
||||
public interface StIvtIostorinvdtlInMapper extends BaseMapper<StIvtIostorinvdtlIn> {
|
||||
|
||||
Integer batchInsert(List<StIvtIostorinvdtlIn> dtls);
|
||||
|
||||
List<Map> findByInv(String inv_id);
|
||||
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
package org.nl.wms.stor_manage.service.in.iostor_dtl.impl;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.common.utils.ListOf;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.IStIvtIostorinvdtlInService;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.mapper.StIvtIostorinvdtlInMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.wms.stor_manage.service.out.iostor_dtl.IStIvtIostorinvdtlOutService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 出入库单明细表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2024-03-29
|
||||
*/
|
||||
@Service
|
||||
public class StIvtIostorinvdtlInServiceImpl extends ServiceImpl<StIvtIostorinvdtlInMapper, StIvtIostorinvdtlIn> implements IStIvtIostorinvdtlInService {
|
||||
|
||||
|
||||
@Override
|
||||
public void batchInsert(List<StIvtIostorinvdtlIn> dtls) {
|
||||
this.baseMapper.batchInsert(dtls);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<Map> getByInv(String inv_id) {
|
||||
if (StringUtils.isEmpty(inv_id)){
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return this.baseMapper.findByInv(inv_id);
|
||||
}
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
package org.nl.wms.stor_manage.service.out.iostor_dtl.impl;
|
||||
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.IStIvtIostorinvdtlInService;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.StIvtIostorinvdtlIn;
|
||||
import org.nl.wms.stor_manage.service.in.iostor_dtl.dao.mapper.StIvtIostorinvdtlInMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.wms.stor_manage.service.out.iostor_dtl.IStIvtIostorinvdtlOutService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 出入库单明细表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2024-03-29
|
||||
*/
|
||||
@Service
|
||||
public class StIvtIostorinvdtlOutServiceImpl extends ServiceImpl<StIvtIostorinvdtlInMapper, StIvtIostorinvdtlIn> implements IStIvtIostorinvdtlOutService {
|
||||
|
||||
|
||||
@Override
|
||||
public void batchInsert(List<StIvtIostorinvdtlIn> dtls) {
|
||||
this.baseMapper.batchInsert(dtls);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.nl.wms.base_manage.struct.controller;
|
||||
package org.nl.wms.stor_manage.struct.controller;
|
||||
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@@ -1,8 +1,8 @@
|
||||
package org.nl.wms.base_manage.struct.service;
|
||||
package org.nl.wms.stor_manage.struct.service;
|
||||
|
||||
import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr;
|
||||
import org.nl.wms.stor_manage.struct.service.dao.StIvtStructattr;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.wms.base_manage.struct.service.dto.StructattrQuery;
|
||||
import org.nl.wms.stor_manage.struct.service.dto.StructattrQuery;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -24,4 +24,5 @@ public interface IStIvtStructattrService extends IService<StIvtStructattr> {
|
||||
*/
|
||||
List<Map<String, Object>> getByQuery(StructattrQuery query);
|
||||
|
||||
void changeStruct(String struct_code,String vehicle_code,String task_type);
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.nl.wms.base_manage.struct.service.dao;
|
||||
package org.nl.wms.stor_manage.struct.service.dao;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.nl.wms.base_manage.struct.service.dao.mapper;
|
||||
package org.nl.wms.stor_manage.struct.service.dao.mapper;
|
||||
|
||||
import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr;
|
||||
import org.nl.wms.stor_manage.struct.service.dao.StIvtStructattr;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.nl.wms.base_manage.struct.service.dao.mapper.StIvtStructattrMapper">
|
||||
<mapper namespace="org.nl.wms.stor_manage.struct.service.dao.mapper.StIvtStructattrMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -1,11 +1,10 @@
|
||||
package org.nl.wms.base_manage.struct.service.dto;
|
||||
package org.nl.wms.stor_manage.struct.service.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nl.common.domain.entity.BaseQuery;
|
||||
import org.nl.common.domain.entity.QParam;
|
||||
import org.nl.common.enums.QueryTEnum;
|
||||
import org.nl.wms.base_manage.measure.service.dao.BmMeasureUnit;
|
||||
import org.nl.wms.base_manage.struct.service.dao.StIvtStructattr;
|
||||
import org.nl.wms.stor_manage.struct.service.dao.StIvtStructattr;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
@@ -0,0 +1,81 @@
|
||||
package org.nl.wms.stor_manage.struct.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import org.nl.common.enums.StatusEnum;
|
||||
import org.nl.common.utils.IdUtil;
|
||||
import org.nl.wms.base_manage.vehicle.vehicleMater.service.IMdPbVehicleMaterService;
|
||||
import org.nl.wms.base_manage.vehicle.vehicleMater.service.dao.MdPbVehicleMater;
|
||||
import org.nl.wms.stor_manage.record.service.IStIvtStructivtflowService;
|
||||
import org.nl.wms.stor_manage.record.service.dao.StIvtStructivtflow;
|
||||
import org.nl.wms.stor_manage.struct.service.dao.StIvtStructattr;
|
||||
import org.nl.wms.stor_manage.struct.service.dao.mapper.StIvtStructattrMapper;
|
||||
import org.nl.wms.stor_manage.struct.service.IStIvtStructattrService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.wms.stor_manage.struct.service.dto.StructattrQuery;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 仓位属性表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2024-04-08
|
||||
*/
|
||||
@Service
|
||||
public class StIvtStructattrServiceImpl extends ServiceImpl<StIvtStructattrMapper, StIvtStructattr> implements IStIvtStructattrService {
|
||||
|
||||
@Autowired
|
||||
private IMdPbVehicleMaterService vehicleMaterService;
|
||||
@Autowired
|
||||
private IStIvtStructivtflowService structivtflowService;
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> getByQuery(StructattrQuery query) {
|
||||
List<Map<String, Object>> maps = this.listMaps(query.build());
|
||||
return maps;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
Boolean in = StatusEnum.TASK_TYPE_IN.check("10");
|
||||
System.out.println(in);
|
||||
}
|
||||
@Override
|
||||
public void changeStruct(String struct_code, String vehicle_code, String task_type) {
|
||||
List<MdPbVehicleMater> vehicleMaters = vehicleMaterService.list(new QueryWrapper<MdPbVehicleMater>().eq("vehicle_code", vehicle_code));
|
||||
this.update(new UpdateWrapper<StIvtStructattr>()
|
||||
.set("vehicle_code",vehicle_code)
|
||||
.set("lock_type", StatusEnum.LOCK.code("无"))
|
||||
.eq("struct_code",struct_code));
|
||||
Boolean in = StatusEnum.TASK_TYPE_IN.check(task_type);
|
||||
|
||||
String now = DateUtil.now();
|
||||
List<StIvtStructivtflow> records = new ArrayList<>();
|
||||
for (MdPbVehicleMater vehicleMater : vehicleMaters) {
|
||||
StIvtStructivtflow record = new StIvtStructivtflow();
|
||||
record.setId(IdUtil.getStringId());
|
||||
record.setUpdate_time(now);
|
||||
record.setMaterial_id(vehicleMater.getMaterial_id());
|
||||
record.setPcsn(vehicleMater.getPcsn());
|
||||
record.setQty(vehicleMater.getQty());
|
||||
record.setTask_type(task_type);
|
||||
record.setFrozen_qty(vehicleMater.getFrozen_qty());
|
||||
record.setSource_form_type(vehicleMater.getSource_form_type());
|
||||
record.setSource_form_id(vehicleMater.getSource_form_id());
|
||||
record.setUnit_id(vehicleMater.getUnit_id());
|
||||
record.setStruct_code(struct_code);
|
||||
record.setVehicle_form_data(vehicleMater.getForm_data());
|
||||
record.setGrowth(in);
|
||||
records.add(record);
|
||||
}
|
||||
structivtflowService.saveBatch(records);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -111,7 +111,7 @@
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="业务表时间映射" prop="bus_data">
|
||||
<el-input v-model="form.bus_data" style="width: 150px;"/>
|
||||
<el-input v-model="form.biz_date" style="width: 150px;"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
@@ -120,6 +120,13 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="业务表单据类型映射" prop="bus_data">
|
||||
<el-input v-model="form.biz_form_type" style="width: 150px;"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="物料id映射" prop="material_id">
|
||||
@@ -173,6 +180,7 @@
|
||||
<!-- <el-table-column prop="parent_id" show-overflow-tooltip width="120" label="父表id"/>-->
|
||||
<el-table-column prop="biz_id" show-overflow-tooltip width="120" label="业务单据id映射"/>
|
||||
<el-table-column prop="biz_code" show-overflow-tooltip width="130" label="业务单据code映射"/>
|
||||
<el-table-column prop="biz_form_type" show-overflow-tooltip width="130" label="业务单据type映射"/>
|
||||
<el-table-column prop="biz_date" show-overflow-tooltip width="130" label="业务单据时间映射"/>
|
||||
<el-table-column prop="biz_status" show-overflow-tooltip width="130" label="业务单据状态映射"/>
|
||||
<el-table-column prop="material_id" show-overflow-tooltip width="120" label="物料id映射"/>
|
||||
@@ -227,6 +235,7 @@ const defaultForm = {
|
||||
biz_code: null,
|
||||
biz_date: null,
|
||||
biz_status: null,
|
||||
biz_form_type: null,
|
||||
material_id: null,
|
||||
qty: null,
|
||||
pcsn: null,
|
||||
|
||||
@@ -155,6 +155,7 @@
|
||||
<el-table-column prop="parent_id" label="父表id" min-width="150"/>
|
||||
<el-table-column prop="biz_id" label="业务单据id映射" min-width="150"/>
|
||||
<el-table-column prop="biz_code" label="业务单据code映射" min-width="150"/>
|
||||
<el-table-column prop="biz_form_type" label="业务单据type映射" min-width="150"/>
|
||||
<el-table-column prop="biz_date" label="业务单据时间映射" min-width="150"/>
|
||||
<el-table-column prop="status" label="业务单据状态映射" min-width="150"/>
|
||||
<el-table-column prop="material_id" label="物料id映射" min-width="150"/>
|
||||
|
||||
@@ -102,6 +102,11 @@
|
||||
<el-input v-model="form.biz_code" style="width: 120px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="业务表单据类型映射" prop="class_desc">
|
||||
<el-input v-model="form.biz_form_type" style="width: 120px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="业务表时间映射" prop="class_desc">
|
||||
<el-input v-model="form.bus_data" style="width: 120px;" />
|
||||
@@ -160,6 +165,7 @@
|
||||
<el-table-column prop="parent_id" label="父表id" min-width="150"/>
|
||||
<el-table-column prop="biz_id" label="业务单据id映射" />
|
||||
<el-table-column prop="biz_code" label="业务单据code映射" />
|
||||
<el-table-column prop="biz_form_type" label="业务单据type映射" />
|
||||
<el-table-column prop="biz_date" label="业务单据时间映射" />
|
||||
<el-table-column prop="status" label="业务单据状态映射" />
|
||||
<el-table-column prop="material_id" label="物料id映射" min-width="120"/>
|
||||
@@ -211,6 +217,7 @@ const defaultForm = {
|
||||
create_id: null,
|
||||
biz_id: null,
|
||||
biz_code: null,
|
||||
biz_form_type: null,
|
||||
biz_date: null,
|
||||
biz_status: null,
|
||||
material_id: null,
|
||||
|
||||
@@ -224,6 +224,7 @@ export default {
|
||||
curdExecution.flowConfirm(proc_inst_id).then(res => {
|
||||
crud.notify("操作成功", CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
})
|
||||
this.crud.toQuery()
|
||||
},
|
||||
load(tree, treeNode, resolve) {
|
||||
setTimeout(() => {
|
||||
|
||||
@@ -257,6 +257,7 @@ export default {
|
||||
},
|
||||
|
||||
[CRUD.HOOK.beforeSubmit]() {
|
||||
debugger
|
||||
// 提交前校验
|
||||
if (this.tableData.length === 0) {
|
||||
this.crud.notify('请至少选择一条明细', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
@@ -280,10 +281,8 @@ export default {
|
||||
})
|
||||
this.tableData.splice(-1, 0, data)
|
||||
})
|
||||
this.form.child_qty = this.tableData.length
|
||||
},
|
||||
tableDtlMaterial2(data) {
|
||||
debugger
|
||||
let mst = data['t'];
|
||||
let rows = data['item'];
|
||||
this.form.source_form_type = mst.form_type
|
||||
@@ -295,14 +294,6 @@ export default {
|
||||
if (a.value in mst_form_data) {
|
||||
item = mst_form_data[a.value];
|
||||
}
|
||||
// let keys = Object.keys(mst_form_data);
|
||||
// for (let i = 0; i < keys.length; i++) {
|
||||
// let key = keys[i];
|
||||
// if (a.value == key) {
|
||||
// item = mst_form_data[a.value];
|
||||
// break
|
||||
// }
|
||||
// }
|
||||
this.$set(this.form.form_data,a.value,item)
|
||||
})
|
||||
rows.forEach((row) => {
|
||||
@@ -325,7 +316,6 @@ export default {
|
||||
})
|
||||
this.tableData.splice(-1, 0, data)
|
||||
})
|
||||
this.form.child_qty = this.tableData.length
|
||||
},
|
||||
insertEvent(row) {
|
||||
this.materShow = true
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
<el-table-column prop="unit_id" label="单位" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="source_form_type" label="源单类型" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="source_form_id" label="源单号" align="center" />
|
||||
<el-table-column v-for="(item, index) in dtlCols" :key="item.value" :label="item.lable" >
|
||||
<el-table-column show-overflow-tooltip width="150" v-for="(item, index) in dtlCols" :key="item.value" :label="item.lable" >
|
||||
<template slot-scope="scope">{{scope.row.form_data[item.value]}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column show-overflow-tooltip prop="has_child" label="含子托盘" align="center" />
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
<el-table-column prop="parent_id" label="父表id" />
|
||||
<el-table-column prop="biz_id" label="业务单据id映射" />
|
||||
<el-table-column prop="biz_code" label="业务单据code映射" />
|
||||
<el-table-column prop="biz_form_type" label="业务单据类型映射" />
|
||||
<el-table-column prop="biz_date" label="业务单据时间映射" />
|
||||
<el-table-column prop="status" label="业务单据状态映射" />
|
||||
<el-table-column prop="material_id" label="物料id映射" />
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<el-form ref="form" style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;" :inline="true" :model="form" size="mini" label-width="85px" label-suffix=":">
|
||||
<el-form-item label="单据号" prop="bill_code">
|
||||
<label slot="label">单 据 号:</label>
|
||||
<el-input v-model="form.bill_code" disabled placeholder="系统生成" clearable style="width: 210px" />
|
||||
<el-input v-model="form.code" disabled clearable style="width: 210px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="仓 库">
|
||||
<el-select
|
||||
@@ -42,57 +42,52 @@
|
||||
:disabled="true"
|
||||
placeholder="业务类型"
|
||||
class="filter-item"
|
||||
@change="crud.toQuery"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.ST_INV_CP_IN_TYPE"
|
||||
v-for="item in dict.IOBILL_TYPE"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="单据状态" prop="bill_status">
|
||||
<el-form-item label="单据状态" prop="status">
|
||||
<el-select
|
||||
v-model="form.bill_status"
|
||||
v-model="form.status"
|
||||
clearable
|
||||
style="width: 210px"
|
||||
placeholder="单据状态"
|
||||
class="filter-item"
|
||||
disabled
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.IO_BILL_STATUS"
|
||||
v-for="item in dict.FORM_STATUS"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="总数量" prop="total_qty">
|
||||
<label slot="label">总 数 量:</label>
|
||||
<el-input-number
|
||||
v-model="form.total_qty"
|
||||
:controls="false"
|
||||
:precision="3"
|
||||
:min="0"
|
||||
disabled
|
||||
style="width: 210px"
|
||||
/>
|
||||
<el-form-item label="源单类型" prop="source_form_type">
|
||||
<el-input v-model="form.source_form_type" disabled clearable style="width: 210px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="业务日期" prop="biz_date">
|
||||
<el-date-picker v-model="form.biz_date" type="date" placeholder="选择日期" style="width: 210px" value-format="yyyy-MM-dd" :disabled="true" />
|
||||
<el-form-item label="源单编号" prop="source_form_id">
|
||||
<el-input v-model="form.source_form_id" disabled clearable style="width: 210px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<label slot="label">备 注:</label>
|
||||
<el-input v-model="form.remark" style="width: 380px;" rows="2" type="textarea" :disabled="true" />
|
||||
<el-form-item label="源单日期" prop="source_form_date">
|
||||
<el-input v-model="form.source_form_date" disabled clearable style="width: 210px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="单据日期" prop="bill_code">
|
||||
<el-input v-model="form.create_time" disabled style="width: 210px" />
|
||||
</el-form-item>
|
||||
<template v-for="(col,index) in cols">
|
||||
<el-form-item label="col.lable" prop="bill_code">
|
||||
<label slot="label">{{col.lable}}:</label>
|
||||
<el-input v-model="form.form_data[col.value]" :value="col.value" clearable style="width: 210px" />
|
||||
<el-input v-model="form.form_data[col.value]" :value="col.value" disabled style="width: 210px" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="form.remark" style="width: 380px;" rows="2" type="textarea" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div class="crud-opts2">
|
||||
<span class="role-span2">入库明细</span>
|
||||
@@ -115,12 +110,17 @@
|
||||
<el-table-column min-width="120" show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
|
||||
<el-table-column min-width="120" show-overflow-tooltip prop="material_spec" label="物料规格" align="center" />
|
||||
<el-table-column prop="pcsn" label="批次" width="150" align="center" />
|
||||
<el-table-column prop="qty" :formatter="crud.formatNum3" label="数量" align="center" />
|
||||
<el-table-column prop="qty_unit_name" label="单位" align="center" />
|
||||
<el-table-column prop="plan_qty" :formatter="crud.formatNum3" label="计划数量" align="center" />
|
||||
<el-table-column prop="qty" :formatter="crud.formatNum3" width="150" label="载具物料数量" align="center" />
|
||||
<el-table-column prop="unit_id" label="单位" align="center" />
|
||||
<el-table-column prop="vehicle_code" label="载具" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="base_bill_type" label="源单类型" :formatter="formatBaseType" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="base_bill_code" label="源单号" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="base_bill_table" label="源单行号" align="center" />
|
||||
<el-table-column prop="stor_code" label="仓库编号" align="center" />
|
||||
<el-table-column prop="struct_code" label="分配仓位" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="source_form_type" label="源单类型" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="source_form_id" label="源单号" align="center" />
|
||||
<el-table-column show-overflow-tooltip width="150" v-for="(item, index) in dtlCols" :key="item.value" :label="item.lable" >
|
||||
<template slot-scope="scope">{{scope.row.form_data[item.value]}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column show-overflow-tooltip prop="remark" label="明细备注" align="center" />
|
||||
</el-table>
|
||||
</el-card>
|
||||
@@ -166,7 +166,7 @@ export default {
|
||||
name: 'ViewDialog',
|
||||
components: { formstruc },
|
||||
mixins: [crud()],
|
||||
dicts: ['ST_INV_CP_IN_TYPE', 'product_area', 'IO_BILL_STATUS', 'task_status', 'SCH_TASK_TYPE_DTL', 'PCS_SAL_TYPE'],
|
||||
dicts: [ 'FORM_STATUS','IOBILL_TYPE' ],
|
||||
props: {
|
||||
dialogShow: {
|
||||
type: Boolean,
|
||||
@@ -179,6 +179,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
cols:[],
|
||||
dtlCols:[],
|
||||
dialogVisible: false,
|
||||
tableDtl: [],
|
||||
tabledis: [],
|
||||
@@ -203,9 +204,12 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
open() {
|
||||
formstruc.getHeader('STOR_IN').then(res => {
|
||||
formstruc.getHeader('st_ivt_iostorinv_in').then(res => {
|
||||
this.cols = res
|
||||
})
|
||||
formstruc.getHeader('st_ivt_iostorinvdtl_in').then(res => {
|
||||
this.dtlCols = res
|
||||
})
|
||||
},
|
||||
setForm(row) {
|
||||
this.dialogVisible = true
|
||||
@@ -216,7 +220,7 @@ export default {
|
||||
this.dialogVisible = false
|
||||
},
|
||||
stateFormat(row, column) {
|
||||
return this.dict.label.IO_BILL_STATUS[row.bill_status]
|
||||
return this.dict.label.FORM_STATUS[row.bill_status]
|
||||
},
|
||||
taskdtl_typeFormat(row) {
|
||||
return this.dict.label.SCH_TASK_TYPE_DTL[row.taskdtl_type]
|
||||
|
||||
@@ -11,6 +11,15 @@
|
||||
label-width="80px"
|
||||
label-suffix=":"
|
||||
>
|
||||
<el-form-item label="单号">
|
||||
<el-input
|
||||
v-model="query.code"
|
||||
size="mini"
|
||||
clearable
|
||||
placeholder="单据号"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="单据类型">
|
||||
<el-select
|
||||
v-model="query.bill_type"
|
||||
@@ -22,7 +31,7 @@
|
||||
@change="crud.toQuery"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.ST_INV_CP_IN_TYPE"
|
||||
v-for="item in dict.IOBILL_TYPE"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
@@ -63,7 +72,7 @@
|
||||
|
||||
<el-form-item label="单据状态">
|
||||
<el-select
|
||||
v-model="query.bill_status"
|
||||
v-model="query.status"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="单据状态"
|
||||
@@ -71,7 +80,7 @@
|
||||
@change="crud.toQuery"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.IO_BILL_STATUS"
|
||||
v-for="item in dict.FORM_STATUS"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
@@ -79,33 +88,23 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="入库单号">
|
||||
<el-input
|
||||
v-model="query.bill_code"
|
||||
size="mini"
|
||||
clearable
|
||||
placeholder="单据号"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="生产车间">
|
||||
<el-select
|
||||
v-model="query.product_area"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="全部"
|
||||
class="filter-item"
|
||||
@change="crud.toQuery"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.product_area"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="生产车间">-->
|
||||
<!-- <el-select-->
|
||||
<!-- v-model="query.product_area"-->
|
||||
<!-- clearable-->
|
||||
<!-- size="mini"-->
|
||||
<!-- placeholder="全部"-->
|
||||
<!-- class="filter-item"-->
|
||||
<!-- @change="crud.toQuery"-->
|
||||
<!-- >-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in dict.product_area"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :label="item.label"-->
|
||||
<!-- :value="item.value"-->
|
||||
<!-- />-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
|
||||
<rrOperation />
|
||||
</el-form>
|
||||
@@ -143,18 +142,26 @@
|
||||
<el-link type="warning" @click="toView(scope.row)">{{ scope.row.code }}</el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column show-overflow-tooltip prop="status" label="单据状态" />
|
||||
<el-table-column prop="product_area" label="生产车间" width="130" show-overflow-tooltip />
|
||||
<el-table-column show-overflow-tooltip prop="form_type" min-width="120" label="单据类型" />
|
||||
<el-table-column show-overflow-tooltip prop="biz_code" label="仓库" min-width="120" />
|
||||
<el-table-column show-overflow-tooltip min-width="120" prop="biz_date" label="业务日期" />
|
||||
<el-table-column v-for="(item, index) in cols" :key="item.value" :label="item.lable" >
|
||||
<el-table-column prop="bill_type" label="业务类型">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.IOBILL_TYPE[scope.row.bill_type] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="status" label="状态">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.FORM_STATUS[scope.row.status] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column show-overflow-tooltip prop="source_form_type" min-width="120" label="源单类型" />
|
||||
<el-table-column show-overflow-tooltip prop="source_form_id" label="源单编码" min-width="120" />
|
||||
<el-table-column show-overflow-tooltip prop="source_form_date" label="源单时间" min-width="120" />
|
||||
<el-table-column show-overflow-tooltip width="150" v-for="(item, index) in cols" :key="item.value" :label="item.lable" >
|
||||
<template slot-scope="scope">{{scope.row.form_data[item.value]}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" align="center" prop="remark" />
|
||||
<el-table-column label="创建人" align="center" prop="create_id" />
|
||||
<el-table-column label="创建人" align="center" prop="create_name" />
|
||||
<el-table-column label="创建时间" align="center" prop="create_time" width="150" />
|
||||
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
|
||||
<el-table-column label="备注" align="center" prop="remark" />
|
||||
<el-table-column v-permission="[]" label="操作" width="380px" align="center" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<udOperation
|
||||
:data="scope.row"
|
||||
@@ -162,10 +169,10 @@
|
||||
:disabled-edit="canUd(scope.row)"
|
||||
:disabled-dle="canUd(scope.row)"
|
||||
/>
|
||||
<el-button slot="right" size="mini" type="text" icon="el-icon-circle-plus-outline" @click="groupOpen(scope.row)">组盘</el-button>
|
||||
<el-button slot="right" size="mini" type="text" icon="el-icon-circle-plus-outline" @click="groupOpen(scope.row)">分配</el-button>
|
||||
<el-button slot="right" size="mini" type="text" icon="el-icon-circle-plus-outline" @click="groupOpen(scope.row)">任务</el-button>
|
||||
</template>
|
||||
<!-- <el-button slot="right" size="mini" type="text" icon="el-icon-circle-plus-outline" @click="groupOpen(scope.row)">组盘</el-button>-->
|
||||
<!-- <el-button slot="right" size="mini" type="text" icon="el-icon-circle-plus-outline" @click="groupOpen(scope.row)">分配</el-button>-->
|
||||
<!-- <el-button slot="right" size="mini" type="text" icon="el-icon-circle-plus-outline" @click="groupOpen(scope.row)">任务</el-button>-->
|
||||
</template>-->
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--分页组件-->
|
||||
@@ -208,7 +215,7 @@ export default {
|
||||
},
|
||||
mixins: [presenter(), header(), crud()],
|
||||
// 数据字典
|
||||
dicts: ['IO_BILL_STATUS', 'ST_INV_CP_IN_TYPE', 'product_area'],
|
||||
dicts: [ 'FORM_STATUS','IOBILL_TYPE' ],
|
||||
data() {
|
||||
return {
|
||||
cols:[],
|
||||
@@ -247,7 +254,7 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
[CRUD.HOOK.beforeRefresh]() {
|
||||
formstruc.getHeader('STOR_IN').then(res => {
|
||||
formstruc.getHeader('st_ivt_iostorinv_in').then(res => {
|
||||
this.cols = res
|
||||
})
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user