Merge remote-tracking branch 'origin/dev' into dev

yun-zuoyi
汪云昊 5 years ago
commit 517eef8e66

@ -65,10 +65,10 @@ public class Material extends BaseAPS {
@FieldAnnotation(editType = ApsEnumUtil.EDIT_TYPE.DURATION)
private String purchaseLeadTime;
@Column(name="MANUF_LEAD_TIME")
@Column(name="PRODUCT_LEAD_TIME")
@ApiParam(value ="生产提前期")
@FieldAnnotation(editType = ApsEnumUtil.EDIT_TYPE.DURATION)
private String manufLeadTime;
private String productLeadTime;
@Column(name="SHIPMENT_LEAD_TIME")
@ApiParam(value ="配送提前期")
@ -79,9 +79,9 @@ public class Material extends BaseAPS {
@ApiParam(value ="单位采购量")
private Integer unitPurchase;
@Column(name="UNIT_MANUF")
@Column(name="UNIT_PRODUCT")
@ApiParam(value ="单位生产量")
private Integer unitManuf;
private Integer unitProduct;
@Column(name="UNIT_SHIPMENT")
@ApiParam(value ="单位配送量")
@ -109,7 +109,7 @@ public class Material extends BaseAPS {
@Column(name="UNIT_PRODUCT_BATCH", columnDefinition = "decimal(18,8)")
@ApiParam(value ="生产批量单位")
private Double UnitProductBatch;
private Double unitProductBatch;
@Column(name="MAX_PUR_BATCH", columnDefinition = "decimal(18,8)")
@ApiParam(value ="最大采购批量")

@ -84,7 +84,7 @@ public class Work extends BaseAPS {
private Long specifyResourceId;
@Column(name="SPECIFY_PRODUCE_TIME")
@ApiParam(value ="指定制造时间")
@ApiParam(value ="指定生产时间")
private String specifyProduceTime;
@Column(name="SPECIFY_PREV_TIME")

@ -1919,7 +1919,8 @@ public class MesEnumUtil {
NEW_SCATTER_BOM(460, "scatterBomCfgExcelService", "新散件BOM导入"),
ENCODE_RULE_MAP(470, "mesEncodeRuleMapExcelService", "编码规则映射导入"),
SCATTER_PART_PROD_CFG(480, "scatterPartProdCfgExcelService", "散件零件生产配置"),
MES_WORK_ORDER_PAINT_ZS(490, "planZSOrderExcelService", "生产工单-注塑");
MES_WORK_ORDER_PAINT_ZS(490, "planZSOrderExcelService", "生产工单-注塑"),
MES_KP_DATA(500, "kpDataExcelService", "物料关键数据关系");
private int value;
private String service;
@ -5805,6 +5806,15 @@ public class MesEnumUtil {
}
return tmp;
}
public static String codeOfValue(String code) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
if (values()[i].code.equals(code)) {
tmp = values()[i].value;
}
}
return tmp;
}
}
/**
@ -6428,4 +6438,40 @@ public class MesEnumUtil {
return tmp;
}
}
/**
* JIT
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum QUEUE_JIT_PLAN_STATUS {
CREATE(10, "创建"),
RELEASED(20, "已释放"),
ERROR(999, "异常");
private Integer value;
private String description;
QUEUE_JIT_PLAN_STATUS(Integer value, String description) {
this.value = value;
this.description = description;
}
public Integer getValue() {
return value;
}
public String getDescription() {
return description;
}
public static String valueOfDescription(Integer value) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
if (values()[i].value.equals(value)) {
tmp = values()[i].description;
}
}
return tmp;
}
}
}

@ -4266,8 +4266,8 @@ public class MesPcnEnumUtil {
public enum BAD_HANDLE_TYPE {
BACK_SPRAY(10, "BACK_SPRAY", "返喷"),
SCRAPPED(20, "SCRAPPED", "报废"),
POLISH(30, "POLISH", "抛光"),
DETERMINED(40, "DETERMINED", "待定");
POLISHING(30, "POLISHING", "抛光"),
DETERMIND(40, "DETERMIND", "待定");
private int value;
private String code;

@ -8274,11 +8274,12 @@ public class WmsEnumUtil {
/**
*
*
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum AUTO_FORK_TASK_TYPE {
MOVE(10, "W05", "W05");
START(10, "start", "start"),
END(20, "end", "end");
private int value;
private String code;
@ -8326,4 +8327,51 @@ public class WmsEnumUtil {
return valueOf(val);
}
}
/**
*
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum AUTO_FORK_TASK_STATUS {
CREATE(10, "新建"),
PROCESSING(20, "处理中"),
COMPLETE(30, "已完成"),
ERROR(40, "处理异常");
private int value;
private String description;
AUTO_FORK_TASK_STATUS(int value, String description) {
this.value = value;
this.description = description;
}
public int getValue() {
return value;
}
public String getDescription() {
return description;
}
public static AUTO_FORK_TASK_STATUS codeOf(int value) {
for (int i = 0; i < values().length; i++) {
if (values()[i].value == value) {
return values()[i];
}
}
return null;
}
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;
}
}
}

@ -55,6 +55,10 @@ public class MesKpData extends BaseBean implements Serializable {
@ApiParam("数据下限")
private Double lowerLimit;
@Column(name = "WORK_CENTER_CODE")
@ApiParam("工作中心代码")
private String workCenterCode;
@Column(name = "WORK_CELL_CODE")
@ApiParam("工位")
private String workCellCode;

@ -123,6 +123,11 @@ public class MesPackage extends BaseBean implements Serializable {
@ApiParam("包装标签模板")
private String packageLabelTemplate;
// 二维码
@Column(name = "QR_CODE")
@ApiParam("包装二维码")
private String qrCode;
public MesPackage() {
}

@ -65,7 +65,7 @@ public class MesPartCheck extends BaseBean implements Serializable {
@ApiParam("对象名称")
private String objectCodeName;
@Transient
@Column(name = "WORK_CENTER_CODE")
@ApiParam("产线")
private String workCenterCode;
}

@ -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;
import java.io.Serializable;
/**
@ -74,4 +75,40 @@ public class MesQueueJitPlan extends BaseBean implements Serializable {
@Column(name = "VERSION")
@ApiParam("版本号")
private String version;
@Column(name = "JIT_SEQ")
@ApiParam("JIT排序号")
private String jitSeq;
@Column(name = "PROD_CFG_TYPE_CODE")
@ApiParam("项目代码")
private String prodCfgTypeCode;
@Column(name = "MEMO")
@ApiParam("备注")
private String memo;
@Column(name = "SUPPLIER_CODE")
@ApiParam("供应商编号")
private String supplierCode;
@Column(name = "SUPPLIER_NAME")
@ApiParam("供应商名称")
private String supplierName;
@Column(name = "FILE_NAME")
@ApiParam("解析文件名")
private String fileName;
@Column(name = "FILE_URL")
@ApiParam("解析文件路径")
private String fileUrl;
@Transient
@ApiParam("计划上线开始时间")
private String planStartDate;
@Transient
@ApiParam("计划上线结束时间")
private String planEndDate;
}

@ -50,4 +50,8 @@ public class MesQueueJitPlanBom extends BaseBean implements Serializable {
@Column(name = "QTY")
@ApiParam("用量")
private Double qty;
@Column(name = "PRODUCE_CTGY_CODE")
@ApiParam("产品位置代码")
private String produceCtgyCode;
}

@ -46,4 +46,16 @@ public class MesQueueJitPlanDetail extends BaseBean implements Serializable {
@Column(name = "PART_NAME")
@ApiParam("产品名称")
private String partName;
@Column(name = "PRODUCE_CTGY_CODE")
@ApiParam("产品位置代码")
private String produceCtgyCode;
@Column(name = "CUST_PART_NO")
@ApiParam("客户物料号")
private String custPartNo;
@Column(name = "FORMULA_CONTENT")
@ApiParam("配方内容")
private String formulaContent;
}

@ -1,12 +1,12 @@
package cn.estsh.i3plus.pojo.mes.model;
import cn.estsh.i3plus.pojo.mes.bean.MesDefect;
import cn.estsh.i3plus.pojo.mes.bean.MesWindowModuleParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import javax.persistence.Column;
import java.util.List;
/**
@ -39,22 +39,18 @@ public class PaintCheckModel {
@ApiParam("界面编号")
private String windowNo;
@ApiParam("缺陷类型")
private String defectType;
@ApiParam("缺陷描述")
private String defectDesc;
@ApiParam("缺陷标识值")
private String defectFlagValue;
@ApiParam("不良品处理类型")
private Integer defectActionType;
@Column(name = "PROD_CFG_TYPE_CODE")
@ApiParam("项目代码")
private String prodCfgTypeCode;
@ApiParam("缺陷列表")
private List<MesDefect> defectList;
@ApiParam("界面组件参数数据")
List<MesWindowModuleParam> windowModuleParamList;
}

@ -3130,4 +3130,72 @@ public class MesHqlPack {
}
return packBean;
}
/**
* JIT
* @param queueJitPlan
* @param organizeCode
* @return
*/
public static DdlPackBean getMesQueueJitPlan(MesQueueJitPlan queueJitPlan, String organizeCode) {
DdlPackBean packBean = getAllBaseDataByNormalPro(queueJitPlan, organizeCode);
if (!StringUtils.isEmpty(queueJitPlan.getJisPlanNo())) {
DdlPreparedPack.getStringLikerPack(queueJitPlan.getJisPlanNo(), "jisPlanNo", packBean);
}
if (!StringUtils.isEmpty(queueJitPlan.getCustPlantCode())) {
DdlPreparedPack.getStringLikerPack(queueJitPlan.getCustPlantCode(), "custPlantCode", packBean);
}
if (!StringUtils.isEmpty(queueJitPlan.getCustFlagNo())) {
DdlPreparedPack.getStringLikerPack(queueJitPlan.getCustFlagNo(), "custFlagNo", packBean);
}
if (!StringUtils.isEmpty(queueJitPlan.getVinCode())) {
DdlPreparedPack.getStringLikerPack(queueJitPlan.getVinCode(), "vinCode", packBean);
}
if (queueJitPlan.getStatus() != null) {
DdlPreparedPack.getNumEqualPack(queueJitPlan.getStatus(), "status", packBean);
}
if (!StringUtils.isEmpty(queueJitPlan.getCreateDateTimeStart()) || !StringUtils.isEmpty(queueJitPlan.getCreateDateTimeEnd())) {
DdlPreparedPack.timeBuilder(queueJitPlan.getCreateDateTimeStart(), queueJitPlan.getCreateDateTimeEnd(),
"createDatetime", packBean, true);
}
if (!StringUtils.isEmpty(queueJitPlan.getCreateDateTimeStart()) || !StringUtils.isEmpty(queueJitPlan.getCreateDateTimeEnd())) {
DdlPreparedPack.timeBuilder(queueJitPlan.getCreateDateTimeStart(), queueJitPlan.getCreateDateTimeEnd(),
"createDatetime", packBean, true);
}
return packBean;
}
/**
* JIT
* @param queueJitPlanDetail
* @param organizeCode
* @return
*/
public static DdlPackBean getMesQueueJitPlanDetail(MesQueueJitPlanDetail queueJitPlanDetail, String organizeCode) {
DdlPackBean packBean = getAllBaseDataByNormalPro(queueJitPlanDetail, organizeCode);
if (!StringUtils.isEmpty(queueJitPlanDetail.getJisPlanNo())) {
DdlPreparedPack.getStringLikerPack(queueJitPlanDetail.getJisPlanNo(), "jisPlanNo", packBean);
}
if (!StringUtils.isEmpty(queueJitPlanDetail.getPartNo())) {
DdlPreparedPack.getStringLikerPack(queueJitPlanDetail.getPartNo(), "partNo", packBean);
}
return packBean;
}
/**
* JITBOM
* @param queueJitPlanBom
* @param organizeCode
* @return
*/
public static DdlPackBean getMesQueueJitPlanBom(MesQueueJitPlanBom queueJitPlanBom, String organizeCode) {
DdlPackBean packBean = getAllBaseDataByNormalPro(queueJitPlanBom, organizeCode);
if (!StringUtils.isEmpty(queueJitPlanBom.getJisPlanNo())) {
DdlPreparedPack.getStringLikerPack(queueJitPlanBom.getJisPlanNo(), "jisPlanNo", packBean);
}
if (!StringUtils.isEmpty(queueJitPlanBom.getPartNo())) {
DdlPreparedPack.getStringLikerPack(queueJitPlanBom.getPartNo(), "partNo", packBean);
}
return packBean;
}
}

@ -59,6 +59,19 @@
<artifactId>i3plus-pojo-lac</artifactId>
</dependency>
<!-- Optaplanner 规划引擎相关组件 -->
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-core</artifactId>
<version>7.36.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-persistence-jpa</artifactId>
<version>7.36.0.Final</version>
</dependency>
<!-- (End) Optaplanner 规划引擎相关组件 -->
</dependencies>
<profiles>
<profile>

@ -0,0 +1,23 @@
package cn.estsh.i3plus.pojo.model.wms;
import cn.estsh.i3plus.pojo.model.wms.engine.domain.WmsThreeDimenLocateModel;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 3D-
* @Reference
* @Author dragon
* @CreateDate 2020/6/1 14:22
* @Modify
*/
@Data
public class WmsLocateListModel implements Serializable {
private static final long serialVersionUID = -2672721389336190491L;
List<WmsThreeDimenLocateModel> unsolvedLocates;
String organizeCode;
}

@ -0,0 +1,61 @@
package cn.estsh.i3plus.pojo.model.wms.engine.domain;
import lombok.Getter;
import org.optaplanner.core.api.domain.solution.PlanningEntityCollectionProperty;
import org.optaplanner.core.api.domain.solution.PlanningScore;
import org.optaplanner.core.api.domain.solution.PlanningSolution;
import org.optaplanner.core.api.domain.solution.drools.ProblemFactCollectionProperty;
import org.optaplanner.core.api.domain.valuerange.ValueRangeProvider;
import org.optaplanner.core.api.score.buildin.hardsoft.HardSoftScore;
import java.util.List;
@PlanningSolution
public class LocateAssign {
private List<WmsThreeDimenLocateModel> wmsThreeDimenLocateModelList;
private List<Integer> locationList;
/**
*
*/
@Getter
private int avgLocateFrequence;
private HardSoftScore score;
@ValueRangeProvider(id = "locationRange")
@ProblemFactCollectionProperty
public List<Integer> getLocationList() {
return this.locationList;
}
public void setLocationList(List<Integer> locationList) {
this.locationList = locationList;
}
@PlanningEntityCollectionProperty
public List<WmsThreeDimenLocateModel> getWmsThreeDimenLocateModelList() {
return this.wmsThreeDimenLocateModelList;
}
public void setWmsThreeDimenLocateModelList(List<WmsThreeDimenLocateModel> wmsThreeDimenLocateModelList) {
this.wmsThreeDimenLocateModelList = wmsThreeDimenLocateModelList;
long totalFrequence = 0;
for (WmsThreeDimenLocateModel wmsThreeDimenLocateModel : wmsThreeDimenLocateModelList) {
totalFrequence += wmsThreeDimenLocateModel.getFrequency();
}
// 计算平均进出库次数
this.avgLocateFrequence = (int)(totalFrequence / wmsThreeDimenLocateModelList.size());
}
@PlanningScore
public HardSoftScore getScore() {
return this.score;
}
public void setScore(HardSoftScore score) {
this.score = score;
}
}

@ -0,0 +1,11 @@
package cn.estsh.i3plus.pojo.model.wms.engine.domain;
import java.util.Comparator;
public class LocateStrengthComparator implements Comparator<WmsThreeDimenLocateModel> {
@Override
public int compare(WmsThreeDimenLocateModel o1, WmsThreeDimenLocateModel o2) {
return o1.getFrequency() - o2.getFrequency();
}
}

@ -0,0 +1,11 @@
package cn.estsh.i3plus.pojo.model.wms.engine.domain;
import java.util.Comparator;
public class LocationStrengthComparator implements Comparator<Integer> {
@Override
public int compare(Integer seq1, Integer seq2) {
return seq1 - seq2;
}
}

@ -0,0 +1,114 @@
package cn.estsh.i3plus.pojo.model.wms.engine.domain;
import lombok.Getter;
import lombok.Setter;
import org.optaplanner.core.api.domain.entity.PlanningEntity;
import org.optaplanner.core.api.domain.lookup.PlanningId;
import org.optaplanner.core.api.domain.variable.PlanningVariable;
/**
*
*/
@PlanningEntity(difficultyComparatorClass = LocateStrengthComparator.class)
public class WmsThreeDimenLocateModel {
/**
*
*/
@Getter
@Setter
private String organizeCode;
/**
*
*/
@Getter
@Setter
private String whNo;
/**
*
*/
@Getter
@Setter
private String zoneNo;
/**
*
*/
@Getter
@Setter
private String furnitureNo;
/**
*
*/
@Getter
@Setter
@PlanningId
private String locateNo;
/**
* X
*/
@Getter
@Setter
private int x;
/**
* X
*/
@Getter
@Setter
private int y;
/**
* X
*/
@Getter
@Setter
private int z;
/*
*/
@Getter
@Setter
private int frequency;
/**
*
*/
@Getter
@Setter
private int originSeq;
/**
*
*/
private int destSeq;
public WmsThreeDimenLocateModel() {
}
//3D仓库-库位移动频率热力图
public WmsThreeDimenLocateModel(String organizeCode, String whNo, String zoneNo,
String locateNo, Integer seq, Long frequency, String furnitureNo,
Integer x, Integer y, Integer z) {
this.organizeCode = organizeCode;
this.whNo = whNo;
this.zoneNo = zoneNo;
this.locateNo = locateNo;
this.originSeq = seq;
this.destSeq = seq;
this.frequency = Integer.parseInt(frequency.toString());
this.furnitureNo = furnitureNo;
this.x = x;
this.y = y;
this.z = z;
}
@PlanningVariable(valueRangeProviderRefs = {"locationRange"},
strengthComparatorClass = LocationStrengthComparator.class)
public Integer getDestSeq() {
return this.destSeq;
}
public void setDestSeq(Integer destSeq) {
this.destSeq = destSeq;
}
}

@ -22,6 +22,20 @@
<!--<groupId>i3plus.platform</groupId>-->
<!--<artifactId>i3plus-platform-common</artifactId>-->
<!--</dependency>-->
<!-- Optaplanner 规划引擎相关组件 -->
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-core</artifactId>
<version>7.36.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-persistence-jpa</artifactId>
<version>7.36.0.Final</version>
</dependency>
<!-- (End) Optaplanner 规划引擎相关组件 -->
</dependencies>
<profiles>
<profile>

@ -0,0 +1,103 @@
package cn.estsh.i3plus.pojo.wms.bean;
import cn.estsh.i3plus.pojo.base.annotation.DynamicField;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
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.Index;
import javax.persistence.Table;
/**
* @Description :
* @Reference :
* @Author : puxiao.liao
* @CreateDate : 2018-11-17 14:50
* @Modify:
**/
@Data
@Entity
@Table(name = "WMS_AUTO_FORK_CALL_BACK_DETAILS", indexes = {
@Index(columnList = "TASK_CODE")
})
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Api(value = "无人叉车任务明细", description = "喜德无人叉车任务明细")
public class WmsAutoForkCallBackDetails extends BaseBean {
private static final long serialVersionUID = -8103992000562208799L;
@Column(name = "REQ_CODE")
@ApiParam(value = "请求编号")
@DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT)
private String reqCode;
@Column(name = "REQ_TIME")
@ApiParam(value = "请求时间")
@DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT)
private String reqTime;
@Column(name = "CLIENT_CODE")
@ApiParam(value = "客服端编号")
@DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT)
private String clientCode;
@Column(name = "TOKEN_CODE")
@ApiParam(value = "令牌号")
@DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT)
private String tokenCode;
@Column(name = "INTERFACE_NAME")
@ApiParam(value = "接口名称")
@DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT)
private String interfaceName;
@Column(name = "METHOD")
@ApiParam(value = "方法名称")
@DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT)
private String method;
@Column(name = "TASK_CODE")
@ApiParam(value = "任务单号")
@DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT)
private String taskCode;
@Column(name = "WB_CODE")
@ApiParam(value = "工作为")
@DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT)
private String wbCode;
@Column(name = "POD_CODE")
@ApiParam(value = "货架编号")
@DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT)
private String podCode;
@Column(name = "CURRENT_POSITION_CODE")
@ApiParam(value = "子任务的位置编号")
@DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT)
private String currentPositionCode;
@Column(name = "ROBOT_CODE")
@ApiParam(value = "执行任务的VGA编号")
@DynamicField(webFieldType = CommonEnumUtil.FIELD_TYPE.TEXT)
private String robotCode;
//10=新建,20=已处理,30=处理出错
@Column(name = "STATUS", nullable = false)
@ApiParam("处理标准")
public Integer status;
@Column(name = "REMARK", nullable = false)
@ApiParam("备注")
public String remark;
}

@ -37,6 +37,14 @@ public class WmsAutoTaskLog extends BaseBean {
@ApiParam("业务类型")
public String busiType;
@Column(name = "STRATEGY_NO")
@ApiParam("策略代码")
public String strategyNo;
@Column(name = "STRATEGY_ACTION")
@ApiParam("策略动作")
public String strategyAction;
@Column(name = "ERROR_MSG")
@ApiParam("错误信息")
public String errorMsg;

@ -25,6 +25,9 @@ public class WmsAutoTaskModel {
@ApiParam("存储区")
private String zoneNo;
@ApiParam("单据号")
private String orderNo;
@ApiParam("物料集合")
private List<String> partList;
@ -37,6 +40,9 @@ public class WmsAutoTaskModel {
@ApiParam("锁定库位")
private String lockLocacte;
@ApiParam("锁定源库位")
private String srcLockLocacte;
@ApiParam("方向")
private Integer direction;
@ -46,9 +52,27 @@ public class WmsAutoTaskModel {
@ApiParam("锁定料车")
private String lockCar;
@ApiParam("物料对应的明细集合")
Map<String, WmsDocMovementDetails> partNoDetailsList;
@ApiParam("预存锁定料车")
private String prestoreLockCar;
@ApiParam("物料对应的单据明细集合")
private Map<String, WmsDocMovementDetails> partNoDetailsList;
@ApiParam("锁定物料对应的条码")
private Map<String,List<WmsStockSn>> partNoGroupListMap;
@ApiParam("锁定条码")
HashMap<String,List<WmsStockSn>> stringListHashMap;
private List<WmsStockSn> lockStockSnList;
@ApiParam("任务生成数量")
private Double taskQty;
@ApiParam("返回错误信息")
public String errorMsg;
@ApiParam("策略代码")
public String strategyNo;
@ApiParam("策略动作")
public String strategyAction;
}

@ -0,0 +1,17 @@
package cn.estsh.i3plus.pojo.wms.repository;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.wms.bean.WmsAutoForkCallBackDetails;
import org.springframework.stereotype.Repository;
/**
* @Description :
* @Reference :
* @Author : puxiao.lioa
* @CreateDate : 2018-11-13 10:19
* @Modify:
**/
@Repository
public interface WmsAutoForkCallBackDetailsRepository extends BaseRepository<WmsAutoForkCallBackDetails, Long> {
}

@ -564,9 +564,8 @@ public class WmsHqlPack {
DdlPreparedPack.getInPack(StringUtils.join(new ArrayList<String>(Arrays.asList(wmsLocate.getZoneNo().split(","))), ","), "zoneNo", result);
}
if (wmsLocate.getLocateNoArr() != null) {
DdlPreparedPack.getInPack(StringUtils.join(wmsLocate.getLocateNoArr()), "locateNo", result);
DdlPreparedPack.getInPackArray(wmsLocate.getLocateNoArr(), "locateNo", result);
}
// DdlPreparedPack.getStringEqualPack(wmsLocate.getZoneNo(), "zoneNo", result);
DdlPreparedPack.getNumEqualPack(wmsLocate.getStatus(), "status", result);

Loading…
Cancel
Save