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 babbc80..8da92fb 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 @@ -2379,6 +2379,40 @@ 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) @@ -2442,4 +2476,72 @@ public class WmsEnumUtil { } } + /** + * 物料类型(用于物料) + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum WMS_PART_TYPE { + RAW_MATERIAL(1,"原材料"), PARTIALLY_PREPARED_PRODUCTS(2,"半成品"), FINISHED_PRODUCT(3,"成品"); + + private int value; + private String description; + + WMS_PART_TYPE(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 TRUE_OR_FALSE { + TRUE(1, "是"), FALSE(2, "否"); + + private int value; + private String description; + + TRUE_OR_FALSE(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; + } + } } 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 3e2c13f..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 : diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsBom.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsBom.java index 97740a8..0962326 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsBom.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsBom.java @@ -13,7 +13,6 @@ import org.hibernate.annotations.DynamicUpdate; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; -import javax.persistence.Transient; /** * @Description : @@ -24,11 +23,11 @@ import javax.persistence.Transient; **/ @Data @Entity -@Table(name="WMS_BOM") +@Table(name = "WMS_BOM") @DynamicInsert @DynamicUpdate @EqualsAndHashCode(callSuper = true) -@Api(value="物料清单",description = "物料清单") +@Api(value = "物料清单", description = "物料清单") public class WmsBom extends BaseBean { @Column(name = "PART_NO") @@ -63,19 +62,23 @@ public class WmsBom extends BaseBean { @ApiParam(value = "子用量") private Double itemQty; + @Column(name = "BOM_NUM") + @ApiParam(value = "BOM编号") + private String bomNum; + @Column(name = "BOM_VERSION") @ApiParam(value = "BOM版本号") private String bomVersion; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - @ApiParam(value="有效起始日期",example = "2018-12-31 23:59:59") + @ApiParam(value = "有效起始日期", example = "2018-12-31 23:59:59") @AnnoOutputColumn(hidden = true) @Column(name = "EFF_START_TIME") private String effStartTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - @ApiParam(value="有效截止日期",example = "2018-12-31 23:59:59") + @ApiParam(value = "有效截止日期", example = "2018-12-31 23:59:59") @AnnoOutputColumn(hidden = true) @Column(name = "EFF_END_TIME") private String effEndTime; diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsBomTotal.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsBomTotal.java new file mode 100644 index 0000000..6197600 --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsBomTotal.java @@ -0,0 +1,81 @@ +package cn.estsh.i3plus.pojo.wms.bean; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @Description 全量BOM + * @Reference + * @Author dragon + * @CreateDate 2019/6/19 21:23 + * @Modify + */ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "WMS_BOM_TOTAL") +@Api("全量BOM") +public class WmsBomTotal extends BaseBean { + @Column(name = "PART_NO") + @ApiParam("父物料号") + private String partNo; + + @Column(name = "PART_NAME") + @ApiParam("父物料描述") + private String partName; + + @Column(name = "UNIT") + @ApiParam("计量单位") + private String UNIT; + + @Column(name = "QTY") + @ApiParam("数量") + private Double qty; + + @Column(name = "ITEM_PART_NO") + @ApiParam(value = "子物料号") + private String itemPartNo; + + @Column(name = "ITEM_PART_NAME") + @ApiParam(value = "子料物料描述") + private String itemPartName; + + @Column(name = "ITEM_UNIT") + @ApiParam(value = "子计量单位") + private String itemUnit; + + @Column(name = "ITEM_QTY") + @ApiParam(value = "子用量") + private Double itemQty; + + @Column(name = "BOM_NUM") + @ApiParam(value = "BOM编号") + private String bomNum; + + @Column(name = "BOM_VERSION") + @ApiParam(value = "BOM版本号") + private String bomVersion; + + @Column(name = "EFF_START_TIME") + @ApiParam(value = "有效起始日期") + private String effStartTime; + + @Column(name = "EFF_END_TIME") + @ApiParam(value = "有效截止日期") + private String effEndTime; + + @Column(name = "SID") + @ApiParam(value = "SID") + private String sid; +} 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/WmsProductVersion.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsProductVersion.java new file mode 100644 index 0000000..1b034fd --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsProductVersion.java @@ -0,0 +1,51 @@ +package cn.estsh.i3plus.pojo.wms.bean; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @Description 生产版本 + * @Reference + * @Author dragon + * @CreateDate 2019/6/19 21:23 + * @Modify + */ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "WMS_PRODUCT_VERSION") +@Api("生产版本") +public class WmsProductVersion extends BaseBean { + + @Column(name = "ERP_WORK_CENTER") + @ApiParam("ERP工作中心") + private String erpWorkCenter; + + @Column(name = "PART_NO") + @ApiParam("物料编码") + private String partNo; + + @Column(name = "PV_CODE") + @ApiParam("生产版本") + private String pvCode; + + @Column(name = "PV_NAME") + @ApiParam("生产版本描述") + private String pvName; + + @Column(name = "BOM_NUM") + @ApiParam(value = "BOM编号") + private String bomNum; + +} diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsUnit.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsUnit.java index b960f52..d82fa02 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsUnit.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsUnit.java @@ -30,7 +30,7 @@ public class WmsUnit extends BaseBean { @Column(name = "UNIT_CODE") @ApiParam(value = "单位代码") - private String UnitNo; + private String unitCode; @Column(name = "UNIT_NAME") @ApiParam(value = "单位名称") diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsUnitRepository.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsUnitRepository.java index 82bc3ea..7b1dfd3 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsUnitRepository.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsUnitRepository.java @@ -2,6 +2,11 @@ package cn.estsh.i3plus.pojo.wms.repository; import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; import cn.estsh.i3plus.pojo.wms.bean.WmsUnit; +import org.springframework.stereotype.Repository; +/** + * Created by Administrator on 2019/6/19. + */ +@Repository public interface WmsUnitRepository extends BaseRepository { } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsWorkCenterRepository.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsWorkCenterRepository.java new file mode 100644 index 0000000..b662fb2 --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsWorkCenterRepository.java @@ -0,0 +1,15 @@ +package cn.estsh.i3plus.pojo.wms.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.wms.bean.WmsWorkCenter; + +/** + * @Description : 产线信息管理(工作中心) + * @Reference : + * @Author : sky.meng + * @CreateDate : 2019-06-19 16:20 + * @Modify: + **/ +public interface WmsWorkCenterRepository extends BaseRepository { + +} 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 5f8c147..0cd5c14 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 @@ -1460,31 +1460,28 @@ public class WmsHqlPack { String data = String.join(",", vList); if (StringUtils.isNotBlank(data)) { - List mapList = JSONObject.parseArray(data, Map.class); - if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.WAREHOUSE.getValue() + "", key)) { - packMutilConditionHql(mapList, "WH_CODE", "destWhNo", result); - } else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.LOCATE.getValue() + "", key)) { - packMutilConditionHql(mapList, "LOCATE_NO", "destLocateNo", result); - } else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.ZONE.getValue() + "", key)) { - packMutilConditionHql(mapList, "ZONE_CODE", "destZoneNo", result); - } else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.MATERIAL.getValue() + "", key)) { - packMutilConditionHql(mapList, "PART_NO", "partNo", result); } } } - String hqlString = " and ( 1=1 " + result.getPackedHql() + ") "; + //转换封装后的hql + String packedHql = result.getPackedHql(); + if(packedHql.startsWith(" or")){ + packedHql = " and (" + packedHql.substring(3,packedHql.length()) + ") "; + System.out.println(packedHql); + } + + result.setWhereAppend(packedHql); - result.setWhereAppend(hqlString); // 通用数据拼接 WmsDataAuth wmsDataAuth = new WmsDataAuth(); wmsDataAuth.setOrganizeCode(organizeCode); @@ -1499,14 +1496,15 @@ public class WmsHqlPack { * @param columnName * @param packBean */ - private static void packMutilConditionHql(List mapList, String keyName, - String columnName, DdlPackBean packBean) { - Integer index = 1; - + private static void packMutilConditionHql(List mapList, String keyName,String columnName, DdlPackBean packBean) { + int index = 1; + String columnParam = null; for (Map item : mapList) { - packBean.addColumnQuery(columnName + index.toString()," or model." + - columnName + " = :m_" + columnName + index.toString(), + columnParam = columnName + String.valueOf(index); + packBean.addColumnQuery(columnParam, + " or model." + columnName + " = :m_" + columnParam, item.get(keyName).toString()); + index++; } } @@ -1542,9 +1540,14 @@ public class WmsHqlPack { } } - String hqlString = " and ( 1=1 " + packBean.getPackedHql() + ") "; + //转换封装后的hql + String packedHql = packBean.getPackedHql(); + if(packedHql.startsWith(" or")){ + packedHql = " and (" + packedHql.substring(3,packedHql.length()) + ") "; + System.out.println(packedHql); + } - packBean.setWhereAppend(hqlString); + packBean.setWhereAppend(packedHql); DdlPreparedPack.getInPackList(orderList, columnName, packBean); DdlPreparedPack.getStringRightLikerPack(bean.getOrderNo(), "orderNo", packBean); @@ -1864,7 +1867,7 @@ public class WmsHqlPack { DdlPreparedPack.getStringLikerPack(wmsProdCfgType.getProdCfgTypeName(), "prodCfgTypeName", result); DdlPreparedPack.getStringLikerPack(wmsProdCfgType.getProdCfgTypeCode(), "prodCfgTypeCode", result); DdlPreparedPack.getNumEqualPack(wmsProdCfgType.getIsValid(),"isValid",result); - DdlPreparedPack.getNumEqualPack(wmsProdCfgType.getIsDeleted(),"isDeleted",result); + DdlPreparedPack.getNumEqualPack(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),"isDeleted",result); // getStringBuilderPack(wmsProdCfgType, result); return result; }