diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockReportEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockReportEnumUtil.java index a003e66..cc02e4e 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockReportEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockReportEnumUtil.java @@ -439,7 +439,7 @@ public class BlockReportEnumUtil { }else if(type.equals(TEMPLATE_TYPE.ECHARTS_BAR)){ // 饼图 只需要名称 和值 return new String[]{"name","value"}; }else if(type.equals(TEMPLATE_TYPE.ECHARTS_LINE)){ // 饼图 只需要名称 和值 - return new String[]{"name","value","xAxis"}; + return new String[]{"xAxis","name","value"}; }else if(type.equals(TEMPLATE_TYPE.ECHARTS_TREEMAP)){ // 饼图 只需要名称 和值 return new String[]{"name","value"}; } diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/DataAuthEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/DataAuthEnumUtil.java new file mode 100644 index 0000000..6c4d4c3 --- /dev/null +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/DataAuthEnumUtil.java @@ -0,0 +1,45 @@ +package cn.estsh.i3plus.pojo.base.enumutil; + +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * @Description : wms数据权限枚举 + * @Reference : + * @Author : jack.lv + * @CreateDate : 2019-3-8 15:53 + * @Modify: + **/ +public class DataAuthEnumUtil { + + /** + * 数据对象枚举 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum DATA_OBJ_TYPE { + WAREHOUSE("10", "WAREHOUSE", "仓库对象"), + ZONE("20", "ZONE", "存储区对象"), + LOCATE("30", "LOCATE", "库位对象"); + + private String code; + private String description; + String value; + + DATA_OBJ_TYPE(String value, String code, String description) { + this.value = value; + this.code = code; + this.description = description; + } + + public String getValue() { + return value; + } + + public String getCode() { + return code; + } + + public String getDescription() { + return description; + } + } +} diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ImppEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ImppEnumUtil.java index 4d003e2..31dda7a 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ImppEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ImppEnumUtil.java @@ -1048,8 +1048,6 @@ public class ImppEnumUtil { } } - //messageReceiverType - @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum MESSAGE_RECEIVER_TYPE { INTERNAL(1, "内部人员接收"), 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 1d51123..822d2f7 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 @@ -645,14 +645,15 @@ public class WmsEnumUtil { ALLOCATION(40, "ALLOCATION", "调拨"), SCATTERED_OUT(50, "SCATTERED_OUT", "零星出库"), SCATTERED_IN(60, "SCATTERED_IN", "零星入库"), - NC_WAREHOSING(70, "NC_WAREHOSING", "NC入库"), + NC_WAREHOSING_IN(70, "NC_WAREHOSING", "NC入库"), SUPPLIER_RETURN(80, "SUPPLIER_RETURN", "供应商退货"), CUSTOMER_RETURN(90, "CUSTOMER_RETURN", "客户退货"), PRODUCT_RETURN(100, "PRODUCT_RETURN", "生产退料"), INSTRUCTION_MOVE(110, "INSTRUCTION_MOVE", "指令移库"), SCRAPPING_OUT(120, "SCRAPPING_OUT", "报废出库"), RECEIVING_IN(130, "RECEIVING_IN", "收货入库"), - OUTSOURCING_BACK(140, "OUTSOURCING_BACK", "委外退回"); + OUTSOURCING_BACK(140, "OUTSOURCING_BACK", "委外退回"), + NC_WAREHOSING_OUT(150, "NC_WAREHOSING_OUT", "NC出库"); private int value; private String code; diff --git a/modules/i3plus-pojo-report/src/main/java/cn/estsh/i3plus/pojo/report/bean/BrPojoAttr.java b/modules/i3plus-pojo-report/src/main/java/cn/estsh/i3plus/pojo/report/bean/BrPojoAttr.java index f23b1c1..49b0c09 100644 --- a/modules/i3plus-pojo-report/src/main/java/cn/estsh/i3plus/pojo/report/bean/BrPojoAttr.java +++ b/modules/i3plus-pojo-report/src/main/java/cn/estsh/i3plus/pojo/report/bean/BrPojoAttr.java @@ -89,6 +89,11 @@ public class BrPojoAttr extends BaseBean { @ApiParam(value ="聚合类型",example = "-1") private Integer aggregationType; + @Column(name="AGGREGATION_ID") + @ApiParam(value ="聚合类型",example = "-1") + @JsonSerialize(using = ToStringSerializer.class) + private Long aggregationId; + @Column(name="ATTR_SORT") @ApiParam(value ="字段排序") private Integer attrSort; diff --git a/modules/i3plus-pojo-report/src/main/java/cn/estsh/i3plus/pojo/report/sqlpack/ReportHqlPack.java b/modules/i3plus-pojo-report/src/main/java/cn/estsh/i3plus/pojo/report/sqlpack/ReportHqlPack.java index 6ffb2b2..bfa9604 100644 --- a/modules/i3plus-pojo-report/src/main/java/cn/estsh/i3plus/pojo/report/sqlpack/ReportHqlPack.java +++ b/modules/i3plus-pojo-report/src/main/java/cn/estsh/i3plus/pojo/report/sqlpack/ReportHqlPack.java @@ -78,10 +78,10 @@ public class ReportHqlPack { // 查询参数封装 HqlPack.getNumEqualPack(template.getTemplateType(),"templateType",result); if(template.getTemplateStatus() != null && - template.getTemplateStatus().intValue() == BlockReportEnumUtil.TEMPLATE_STATUS.SAVE_TEMPLATE_FULFIL.getValue()){ + template.getTemplateStatus().intValue() == BlockReportEnumUtil.TEMPLATE_STATUS.SAVE_TEMPLATE_ATTR_CONFIRM.getValue()){ HqlPack.getNumEqualPack(template.getTemplateStatus(),"templateStatus",result); }else { - HqlPack.getNumSmallerPack(BlockReportEnumUtil.TEMPLATE_STATUS.SAVE_TEMPLATE_FULFIL.getValue(),"templateStatus",result); + HqlPack.getNumSmallerPack(BlockReportEnumUtil.TEMPLATE_STATUS.SAVE_TEMPLATE_ATTR_CONFIRM.getValue(),"templateStatus",result); } HqlPack.getStringLikerPack(template.getName(),"name",result); diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsTaskDetails.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsTaskDetails.java index d71b02d..34ab3f6 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsTaskDetails.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsTaskDetails.java @@ -24,7 +24,7 @@ import javax.persistence.Table; @DynamicInsert @DynamicUpdate @EqualsAndHashCode(callSuper = true) -@Table(name="WMS_TASK_DETAILS") +@Table(name = "WMS_TASK_DETAILS") @Api("作业任务明细信息") public class WmsTaskDetails extends BaseBean { @@ -109,4 +109,12 @@ public class WmsTaskDetails extends BaseBean { @Column(name = "REF_SRC") @ApiParam(value = "关联单据编号") private String refSrc; + + @Column(name = "SRC_AREA_NO") + @ApiParam("源库存地代码") + public String srcAreaNo; + + @Column(name = "DEST_AREA_NO") + @ApiParam("目的库存地代码") + public String destAreaNo; } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsOrderDetailsModel.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsOrderDetailsModel.java index 755af50..d4da820 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsOrderDetailsModel.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsOrderDetailsModel.java @@ -26,6 +26,10 @@ import java.util.List; @javax.persistence.Inheritance(strategy= InheritanceType.TABLE_PER_CLASS) @JsonInclude(value = JsonInclude.Include.NON_EMPTY) @Api("单据明细Model") +@Entity +//以子类table为准 +@javax.persistence.Inheritance(strategy=InheritanceType.TABLE_PER_CLASS) +@JsonInclude(value = JsonInclude.Include.NON_EMPTY) //""或null属性不参加序列转换 public class WmsOrderDetailsModel extends BaseBean { @Column(name = "PART_NO") diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsDataAuthRepository.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsDataAuthRepository.java new file mode 100644 index 0000000..7064482 --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsDataAuthRepository.java @@ -0,0 +1,19 @@ +package cn.estsh.i3plus.pojo.wms.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.wms.bean.WareHouse; +import cn.estsh.i3plus.pojo.wms.bean.WmsDataAuth; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @Description : wms数据权限 + * @Reference : + * @Author : jack.lv + * @CreateDate : 2019-03-08 14:47 + * @Modify: + **/ +@Repository +public interface WmsDataAuthRepository 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 2f30f9b..69ed831 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 @@ -2,13 +2,18 @@ package cn.estsh.i3plus.pojo.wms.sqlpack; import cn.estsh.i3plus.pojo.base.bean.BaseBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.DataAuthEnumUtil; import cn.estsh.i3plus.pojo.base.tool.HqlPack; import cn.estsh.i3plus.pojo.base.tool.SqlPack; import cn.estsh.i3plus.pojo.wms.bean.*; +import com.google.common.base.Strings; import org.apache.commons.lang3.StringUtils; import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; /** * @Description : 仓库管理对象封装 @@ -83,7 +88,7 @@ public class WmsHqlPack { * @param orderNos * @return */ - public static String packHqlWmsDocMovementDetailsByOrderNos(List orderNos) { + public static String packWmsOrderDetailsByOrderNos(List orderNos) { StringBuffer result = new StringBuffer(); StringBuffer orderNoStr = new StringBuffer(); for (int i = 0; i < orderNos.size(); i++) { @@ -1313,8 +1318,8 @@ public class WmsHqlPack { public static String packHqlWmsStockSnLike(WmsStockSn wmsStockSn) { StringBuffer result = new StringBuffer(); HqlPack.getStringLikerPack(wmsStockSn.getSn(),"sn", result); - HqlPack.getOrderByPack(new Object[]{2}, new String[]{"createDatetime"}, result); getStringBuilderPack(wmsStockSn, result); + HqlPack.getOrderByPack(new Object[]{2}, new String[]{"createDatetime"}, result); return result.toString(); } @@ -1330,4 +1335,65 @@ public class WmsHqlPack { getStringBuilderPack(wmsStockQuan, result); return result.toString(); } + + /** + * 根据用户角色id列表查询数据权限信息 + * @param roleIds + * @return + */ + public static String packHqlWmsDataAuth(List roleIds) { + StringBuffer result = new StringBuffer(); + String data = String.join(",", roleIds); + // 参数数组 [1,2,3] -> "1,2,3" + HqlPack.getInPack(data,"roleCode",result); + getStringBuilderPack(new WmsDataAuth(), result); + return result.toString(); + } + + /** + * 根据权限数据拼查询任务详情sql + * @param groupDataAuth + * @return + */ + public static String packHqlWmsTaskDetail(Map> groupDataAuth) { + StringBuffer result = new StringBuffer(); + Set>> entries = groupDataAuth.entrySet(); + String warehouse = DataAuthEnumUtil.DATA_OBJ_TYPE.WAREHOUSE.getValue(); + String locate = DataAuthEnumUtil.DATA_OBJ_TYPE.LOCATE.getValue(); + String zone = DataAuthEnumUtil.DATA_OBJ_TYPE.ZONE.getValue(); + //拼sql + entries.stream().filter(o->!Strings.isNullOrEmpty(o.getKey())).forEach(o->{ + List value = o.getValue(); + List vList = value.stream().map(x -> x.getDataObjValue()).collect(Collectors.toList()); + String data = String.join(",", vList); + if(warehouse.equals(o.getKey())){ + // 参数数组 [1,2,3] -> "1,2,3" + HqlPack.getInPack(data,"destWhNo",result); + } + if(locate.equals(o.getKey())){ + // 参数数组 [1,2,3] -> "1,2,3" + HqlPack.getInPack(data,"destLocateNo",result); + } + if(zone.equals(o.getKey())){ + // 参数数组 [1,2,3] -> "1,2,3" + HqlPack.getInPack(data,"destZoneNo",result); + } + }); + getStringBuilderPack(new WmsDataAuth(), result); + return result.toString(); + } + + /** + * 给定字段动态in sql + * @param columnName + * @param vals + * @return + */ + public static String packHqlAndIn(BaseBean bean,String columnName,List vals) { + StringBuffer result = new StringBuffer(); + String data = String.join(",", vals); + HqlPack.getInPack(data,columnName,result); + getStringBuilderPack(bean, result); + return result.toString(); + } }