diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java index ae308cf..cf1701a 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java @@ -1724,7 +1724,8 @@ public class WmsEnumUtil { WAREHOUSE(10, "WAREHOUSE", "仓库对象"), ZONE(20, "ZONE", "存储区对象"), LOCATE(30, "LOCATE", "库位对象"), - MATERIAL(40, "MATERIAL", "物料对象"); + MATERIAL(40, "MATERIAL", "物料对象"), + TRANS_TYPE(50,"TRANS_TYPE","交易代码对象"); private String code; private String description; @@ -2378,6 +2379,104 @@ public class WmsEnumUtil { } /** + * 几步法 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum STEP { + ONE_STEP(1, "一步法"), TWO_STEP(2, "两步法"); + + private int value; + private String description; + + STEP(int value, String description) { + this.value = value; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getDescription() { + return description; + } + + public static String valueOf(int val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + tmp = values()[i].description; + } + } + return tmp; + } + } + + /** + * 外部单据:关联单据类型 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum IMPORT_ORDER_TYPE { + PO("PO", "要货计划"), + ASN("ASN", "ASN"), + SCATTERED_OUT("C00", "零星出库指令"), + SCATTERED_INT("C01", "零星入指令"), + NC_DISMANTLING_PICKING("C02", "NC拆解领料"), + NC_DISMANTLING_RETURN("C03", "NC拆解退料"), + NC_SCRAPPED("C04", "NC报废指令"), + NOT_JIS("NOTJIS", "非JIS指令"), + STOCK_DUMP("D00", "库存转储指令"), + NC_INSTOCK("D01", "NC入库指令"), + SMRR("B00", "SMRR退货"), + DMR("B01", "DMR退货"), + OUT_SOURCING("A00", "委外发料指令"), + OUT_REBACK("A01", "委外退料指令"), + OUT_RETURN_SOURCING("A02", "委外返工发料指令"), + OUT_RETURN_("A03", "委外返工退料指令"), + SALES_RETURN_REBACK("SALES_RETURN", "销售退货指令"), + CS("CS", "盘点指令"), + CS_ADUJUST("CS_ADUJUST", "盘点调差指令"); + private String value; + private String description; + + IMPORT_ORDER_TYPE(String value, String description) { + this.value = value; + this.description = description; + } + + public String getDescription() { + return description; + } + + public String getCode() { + return value; + } + + public String getValue() { + return value; + } + + public static IMPORT_ORDER_TYPE codeOf(String value) { + for (int i = 0; i < values().length; i++) { + if (values()[i].value.equals(value)) { + return values()[i]; + } + } + return null; + } + + public static String getDes(String val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + tmp = values()[i].description; + } + } + return tmp; + } + } + + /** * 物料类型(用于物料) */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/SapDspo.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/SapDspo.java index d213172..d849fe8 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/SapDspo.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/SapDspo.java @@ -1,17 +1,9 @@ package cn.estsh.i3plus.pojo.wms.bean; import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn; -import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; -import org.hibernate.annotations.DynamicInsert; -import org.hibernate.annotations.DynamicUpdate; - -import javax.persistence.Column; -import java.util.UUID; /** * @Description : @@ -22,7 +14,7 @@ import java.util.UUID; **/ @Data @Api(value="要货计划",description = "要货计划") -public class SapDspo { +public class SapDspo extends SapBase{ @ApiParam(value = "SA编号(或PO号)",example = "1") @AnnoOutputColumn @@ -92,58 +84,58 @@ public class SapDspo { @AnnoOutputColumn private Double prnnum; - //公共字段 ++++++++++++++++++++++++++++++++++++++++++ - @ApiParam(value = "处理人",example = "-1") - @AnnoOutputColumn - private String actusr = "导入"; - - @ApiParam(value = "SID",example = "-1") - @AnnoOutputColumn - private String sid = UUID.randomUUID().toString()+UUID.randomUUID().toString(); - - /*@ApiParam(value = "接收数据日期",example = "-1") - @AnnoOutputColumn - private String recymd; - - @ApiParam(value = "接收数据时间",example = "-1") - @AnnoOutputColumn - private String rechms; - - @ApiParam(value = "同步标志",example = "-1") - @AnnoOutputColumn - private String synflg;*/ - - @ApiParam(value = "同步日期",example = "-1") - @AnnoOutputColumn - private String synymd; - - @ApiParam(value = "同步时间",example = "-1") - @AnnoOutputColumn - private String synhms; - - /*@ApiParam(value = "处理标志",example = "-1") - @AnnoOutputColumn - private String actflg;*/ - - @ApiParam(value = "处理日期",example = "-1") - @AnnoOutputColumn - private String actymd; - - @ApiParam(value = "处理时间",example = "-1") - @AnnoOutputColumn - private String acthms; - - @ApiParam(value = "状态标志",example = "-1") - @AnnoOutputColumn - private String staflg; - - @ApiParam(value = "顺序号",example = "-1") - @AnnoOutputColumn - private Integer seq; - - @ApiParam(value = "GUID",example = "-1") - @AnnoOutputColumn - private String guid; +// //公共字段 ++++++++++++++++++++++++++++++++++++++++++ +// @ApiParam(value = "处理人",example = "-1") +// @AnnoOutputColumn +// private String actusr = "导入"; +// +// @ApiParam(value = "SID",example = "-1") +// @AnnoOutputColumn +// private String sid = UUID.randomUUID().toString()+UUID.randomUUID().toString(); +// +// /*@ApiParam(value = "接收数据日期",example = "-1") +// @AnnoOutputColumn +// private String recymd; +// +// @ApiParam(value = "接收数据时间",example = "-1") +// @AnnoOutputColumn +// private String rechms; +// +// @ApiParam(value = "同步标志",example = "-1") +// @AnnoOutputColumn +// private String synflg;*/ +// +// @ApiParam(value = "同步日期",example = "-1") +// @AnnoOutputColumn +// private String synymd; +// +// @ApiParam(value = "同步时间",example = "-1") +// @AnnoOutputColumn +// private String synhms; +// +// /*@ApiParam(value = "处理标志",example = "-1") +// @AnnoOutputColumn +// private String actflg;*/ +// +// @ApiParam(value = "处理日期",example = "-1") +// @AnnoOutputColumn +// private String actymd; +// +// @ApiParam(value = "处理时间",example = "-1") +// @AnnoOutputColumn +// private String acthms; +// +// @ApiParam(value = "状态标志",example = "-1") +// @AnnoOutputColumn +// private String staflg; +// +// @ApiParam(value = "顺序号",example = "-1") +// @AnnoOutputColumn +// private Integer seq; +// +// @ApiParam(value = "GUID",example = "-1") +// @AnnoOutputColumn +// private String guid; } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsLocatePart.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsLocatePart.java index 271275b..a4b9feb 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsLocatePart.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsLocatePart.java @@ -11,6 +11,7 @@ import org.hibernate.annotations.DynamicUpdate; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; +import javax.persistence.Transient; /** * @Description : 库位物料表 @@ -56,6 +57,10 @@ public class WmsLocatePart extends BaseBean { @ApiParam(value = "是否生成领料单", example = "2") private Integer isGeneratePicklist; + @Transient + @ApiParam("库位类型") + private Integer locateType; + public Double getMin() { return this.min == null ? 0 : this.min; } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMiscr.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMiscr.java new file mode 100644 index 0000000..d466dd1 --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMiscr.java @@ -0,0 +1,66 @@ +package cn.estsh.i3plus.pojo.wms.bean; + +import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +/** + * @Description : + * @Reference : + * @Author : amy + * @CreateDate : 2019-06-19 13:21 + * @Modify: + **/ +@Data +@Api(value="零星领料(退)料结果",description = "零星领料(退)料结果") +public class WmsMiscr extends SapBase{ + + @ApiParam(value = "编号",example = "1") + @AnnoOutputColumn + private String refid; + + @ApiParam(value = "行号",example = "1") + @AnnoOutputColumn + private Double zeile; + + @ApiParam(value = "工厂",example = "1") + @AnnoOutputColumn + private String werks; + + @ApiParam(value = "发出库存地点(退回库存地点)",example = "1") + @AnnoOutputColumn + private String lgort; + + @ApiParam(value = "物料编码",example = "1") + @AnnoOutputColumn + private String matnr; + + @ApiParam(value = "数量",example = "1") + @AnnoOutputColumn + private Double erfmg; + + @ApiParam(value = "计量单位",example = "1") + @AnnoOutputColumn + private String erfme; + + @ApiParam(value = "业务类型",example = "1") + @AnnoOutputColumn + private String zaction; + + @ApiParam(value = "交易日期",example = "1") + @AnnoOutputColumn + private String zpost; + + @ApiParam(value = "交易时间",example = "1") + @AnnoOutputColumn + private String ztime; + + public Double getZeileVal() { + return zeile== null ? 0D : this.zeile.doubleValue(); + } + + public Double getErfmgVal() { + return erfmg== null ? 0D : this.erfmg.doubleValue(); + } +} diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsOpType.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsOpType.java index c889b78..382f824 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsOpType.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsOpType.java @@ -3,8 +3,6 @@ package cn.estsh.i3plus.pojo.wms.bean; import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn; import cn.estsh.i3plus.pojo.base.bean.BaseBean; import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; @@ -16,8 +14,6 @@ import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; import javax.persistence.Transient; -import java.util.List; -import java.util.Map; /** * @Description : 作业类型 @@ -61,7 +57,7 @@ public class WmsOpType extends BaseBean { @Column(name = "LAST_TRANS_TIME") @ApiParam(value = "末次处理时间") - public String lastTransTime; + private String lastTransTime; @Transient @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @@ -75,7 +71,7 @@ public class WmsOpType extends BaseBean { @Column(name = "SPLIT_RULE") @ApiParam(value = "拆分规则") - public String splitRule; + private String splitRule; @Column(name = "IS_MERGE") @ApiParam(value = "是否合并单据", example = "0") @@ -83,7 +79,7 @@ public class WmsOpType extends BaseBean { @Column(name = "MERGE_RULE") @ApiParam(value = "合并规则") - public String mergeRule; + private String mergeRule; @Column(name = "IS_AUTO_CLOSE") @ApiParam(value = "任务未完是否关闭", example = "0") diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsVendorPart.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsVendorPart.java index 5f4e250..fd123b1 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsVendorPart.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsVendorPart.java @@ -11,6 +11,7 @@ import org.hibernate.annotations.DynamicUpdate; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; +import javax.persistence.Transient; /** * @Description : 供应商零件关系 @@ -36,4 +37,13 @@ public class WmsVendorPart extends BaseBean { @ApiParam(value = "物料号") private String partNo; + + @Transient + @ApiParam("物料名称") + private String partName; + + + @Transient + @ApiParam("供应商名称") + private String vendorName; } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsDataAuthModel.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsDataAuthModel.java index 41ce948..cb2c596 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsDataAuthModel.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsDataAuthModel.java @@ -40,6 +40,9 @@ public class WmsDataAuthModel extends BaseBean { @ApiParam("存储区列表") private List zoneList; + @ApiParam("交易代码列表") + private List transTypeList; + @ApiParam( value = "新增操作", example = "0" diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java index a50190e..96c17ad 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java @@ -438,6 +438,7 @@ public class WmsHqlPack { DdlPackBean result = new DdlPackBean(); //查询参数封装 + //DdlPreparedPack.getStringLikerPack(wmsLocatePart.getLocateType().toString(), "locateType", result); DdlPreparedPack.getStringLikerPack(wmsLocatePart.getLocateNo(), "locateNo", result); DdlPreparedPack.getStringLikerPack(wmsLocatePart.getPartNo(), "partNo", result); DdlPreparedPack.getStringLikerPack(wmsLocatePart.getPartNameRdd(), "partNameRdd", result); @@ -1503,9 +1504,10 @@ public class WmsHqlPack { Integer index = 1; for (Map item : mapList) { - packBean.addColumnQuery(columnName," or model." + - columnName + " = :m_" + columnName + (index++).toString(), + packBean.addColumnQuery(columnName + index.toString()," or model." + + columnName + " = :m_" + columnName + index.toString(), item.get(keyName).toString()); + index++; } } @@ -1516,8 +1518,34 @@ public class WmsHqlPack { * @param orderList * @return */ - public static DdlPackBean packHqlAndIn(WmsTaskInfo bean, String columnName, List orderList) { + public static DdlPackBean packHqlAndIn(WmsTaskInfo bean, String columnName, List orderList,Map> groupDataAuth) { DdlPackBean packBean = new DdlPackBean(); + + Set>> entries = groupDataAuth.entrySet(); + //拼sql + entries.stream().filter(o -> !Strings.isNullOrEmpty(o.getKey())); + + for (Map.Entry> map : entries) { + + String key = map.getKey(); + List valueList = map.getValue(); + List vList = valueList.stream().map(x -> x.getDataObjValue()).collect(Collectors.toList()); + String data = String.join(",", vList); + + if (StringUtils.isNotBlank(data)) { + List mapList = JSONObject.parseArray(data, Map.class); + if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.TRANS_TYPE.getValue() + "", key)) { + + packMutilConditionHql(mapList, "TRANS_TYPE_CODE", "transTypeCode", packBean); + break; + } + } + } + + String hqlString = " and ( 1=1 " + packBean.getPackedHql() + ") "; + + packBean.setWhereAppend(hqlString); + DdlPreparedPack.getInPackList(orderList, columnName, packBean); DdlPreparedPack.getStringRightLikerPack(bean.getOrderNo(), "orderNo", packBean); DdlPreparedPack.getNumNOEqualPack(bean.getTaskStatus(), "taskStatus", packBean);