From e42ea19f37c0d18eb72b2e752879c575ee7b288d Mon Sep 17 00:00:00 2001 From: Jason Date: Sun, 28 Jun 2020 10:54:35 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/i3plus-pojo-andon/pom.xml | 2 +- modules/i3plus-pojo-aps/pom.xml | 2 +- modules/i3plus-pojo-base/pom.xml | 2 +- modules/i3plus-pojo-form/pom.xml | 2 +- modules/i3plus-pojo-hardswitch/pom.xml | 2 +- modules/i3plus-pojo-ics/pom.xml | 2 +- modules/i3plus-pojo-jobflow/pom.xml | 2 +- modules/i3plus-pojo-lac/pom.xml | 2 +- modules/i3plus-pojo-mdm/pom.xml | 2 +- modules/i3plus-pojo-mes-pcn/pom.xml | 2 +- modules/i3plus-pojo-mes/pom.xml | 2 +- .../src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesCellFeed.java | 4 ---- .../main/java/cn/estsh/i3plus/pojo/mes/bean/MesCellFeedRecord.java | 6 ------ modules/i3plus-pojo-model/pom.xml | 2 +- modules/i3plus-pojo-platform/pom.xml | 2 +- modules/i3plus-pojo-ptl/pom.xml | 2 +- modules/i3plus-pojo-report/pom.xml | 2 +- modules/i3plus-pojo-softswitch/pom.xml | 2 +- modules/i3plus-pojo-sweb/pom.xml | 2 +- modules/i3plus-pojo-wms/pom.xml | 2 +- modules/i3plus-pojo-workflow/pom.xml | 2 +- pom.xml | 2 +- sonar-project.properties | 2 +- 23 files changed, 21 insertions(+), 31 deletions(-) diff --git a/modules/i3plus-pojo-andon/pom.xml b/modules/i3plus-pojo-andon/pom.xml index 11691be..bc7071b 100644 --- a/modules/i3plus-pojo-andon/pom.xml +++ b/modules/i3plus-pojo-andon/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-aps/pom.xml b/modules/i3plus-pojo-aps/pom.xml index 8ef99a3..f902a7c 100644 --- a/modules/i3plus-pojo-aps/pom.xml +++ b/modules/i3plus-pojo-aps/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-base/pom.xml b/modules/i3plus-pojo-base/pom.xml index 577686d..807bef5 100644 --- a/modules/i3plus-pojo-base/pom.xml +++ b/modules/i3plus-pojo-base/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-form/pom.xml b/modules/i3plus-pojo-form/pom.xml index f714b7d..b948580 100644 --- a/modules/i3plus-pojo-form/pom.xml +++ b/modules/i3plus-pojo-form/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-hardswitch/pom.xml b/modules/i3plus-pojo-hardswitch/pom.xml index b7991cc..e12eaee 100644 --- a/modules/i3plus-pojo-hardswitch/pom.xml +++ b/modules/i3plus-pojo-hardswitch/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-ics/pom.xml b/modules/i3plus-pojo-ics/pom.xml index 0648e9f..c338f71 100644 --- a/modules/i3plus-pojo-ics/pom.xml +++ b/modules/i3plus-pojo-ics/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-jobflow/pom.xml b/modules/i3plus-pojo-jobflow/pom.xml index f10cf39..1674a47 100644 --- a/modules/i3plus-pojo-jobflow/pom.xml +++ b/modules/i3plus-pojo-jobflow/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-lac/pom.xml b/modules/i3plus-pojo-lac/pom.xml index 3b9e57a..7637865 100644 --- a/modules/i3plus-pojo-lac/pom.xml +++ b/modules/i3plus-pojo-lac/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-mdm/pom.xml b/modules/i3plus-pojo-mdm/pom.xml index b1911ec..d98b7d8 100644 --- a/modules/i3plus-pojo-mdm/pom.xml +++ b/modules/i3plus-pojo-mdm/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-mes-pcn/pom.xml b/modules/i3plus-pojo-mes-pcn/pom.xml index 56d54cb..bf96e57 100644 --- a/modules/i3plus-pojo-mes-pcn/pom.xml +++ b/modules/i3plus-pojo-mes-pcn/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-mes/pom.xml b/modules/i3plus-pojo-mes/pom.xml index 830caa5..a758a6a 100644 --- a/modules/i3plus-pojo-mes/pom.xml +++ b/modules/i3plus-pojo-mes/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesCellFeed.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesCellFeed.java index 0b9d661..63a9ad3 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesCellFeed.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesCellFeed.java @@ -32,10 +32,6 @@ import java.io.Serializable; public class MesCellFeed extends BaseBean implements Serializable { private static final long serialVersionUID = 1947971369479107782L; - @Column(name = "ORDER_NO") - @ApiParam("工单号") - private String orderNo; - @Column(name = "WORK_CENTER_CODE") @ApiParam("工作中心") private String workCenterCode; diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesCellFeedRecord.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesCellFeedRecord.java index b2de6c4..aa1dc88 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesCellFeedRecord.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesCellFeedRecord.java @@ -71,12 +71,6 @@ public class MesCellFeedRecord extends BaseBean implements Serializable { @ApiParam("供应商代码") private String supplierCode; - @Column(name = "ORDER_NO") - @ApiParam("工单号") - private String orderNo; - - - public double getRawQtyVal() { return this.rawQty == null ? 0l : this.rawQty; } diff --git a/modules/i3plus-pojo-model/pom.xml b/modules/i3plus-pojo-model/pom.xml index fb51da0..efacfd2 100644 --- a/modules/i3plus-pojo-model/pom.xml +++ b/modules/i3plus-pojo-model/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-platform/pom.xml b/modules/i3plus-pojo-platform/pom.xml index 78bbdef..dba12cc 100644 --- a/modules/i3plus-pojo-platform/pom.xml +++ b/modules/i3plus-pojo-platform/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-ptl/pom.xml b/modules/i3plus-pojo-ptl/pom.xml index fb44d00..81670b2 100644 --- a/modules/i3plus-pojo-ptl/pom.xml +++ b/modules/i3plus-pojo-ptl/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-report/pom.xml b/modules/i3plus-pojo-report/pom.xml index dc4ea86..26a7311 100644 --- a/modules/i3plus-pojo-report/pom.xml +++ b/modules/i3plus-pojo-report/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-softswitch/pom.xml b/modules/i3plus-pojo-softswitch/pom.xml index 8571a5f..eaf2544 100644 --- a/modules/i3plus-pojo-softswitch/pom.xml +++ b/modules/i3plus-pojo-softswitch/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-sweb/pom.xml b/modules/i3plus-pojo-sweb/pom.xml index e36258d..0f615b6 100644 --- a/modules/i3plus-pojo-sweb/pom.xml +++ b/modules/i3plus-pojo-sweb/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-wms/pom.xml b/modules/i3plus-pojo-wms/pom.xml index 9915420..9e5f745 100644 --- a/modules/i3plus-pojo-wms/pom.xml +++ b/modules/i3plus-pojo-wms/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/modules/i3plus-pojo-workflow/pom.xml b/modules/i3plus-pojo-workflow/pom.xml index 61027b2..0fea52b 100644 --- a/modules/i3plus-pojo-workflow/pom.xml +++ b/modules/i3plus-pojo-workflow/pom.xml @@ -5,7 +5,7 @@ i3plus-pojo i3plus.pojo - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/pom.xml b/pom.xml index c2104bf..cc8fce6 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ i3plus.pojo i3plus-pojo pom - 1.0-PROD-SNAPSHOT + 1.0-TEST-SNAPSHOT modules/i3plus-pojo-base modules/i3plus-pojo-platform diff --git a/sonar-project.properties b/sonar-project.properties index 55e4e84..932bdd9 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -6,7 +6,7 @@ sonar.projectKey=i3plus.pojo:i3plus-pojo # defaults to project key sonar.projectName=i3plus-pojo # defaults to 'not provided' -sonar.projectVersion=1.0-DEV-SNAPSHOT +sonar.projectVersion=1.0-TEST-SNAPSHOT # Path is relative to the sonar-project.properties file. Defaults to . #sonar.sources=./ From 6cd70eb6953e8fedb74500b3515c9a0016ed48e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E5=BF=83=E6=B4=81?= Date: Sun, 28 Jun 2020 14:02:21 +0800 Subject: [PATCH 02/10] =?UTF-8?q?3D=E4=BB=93=E5=BA=93=E8=A7=84=E5=88=99?= =?UTF-8?q?=E5=BC=95=E6=93=8E=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/pojo/model/wms/WmsLocateListModel.java | 23 +++++ .../pojo/model/wms/engine/domain/LocateAssign.java | 61 +++++++++++ .../engine/domain/LocateStrengthComparator.java | 11 ++ .../engine/domain/LocationStrengthComparator.java | 11 ++ .../engine/domain/WmsThreeDimenLocateModel.java | 114 +++++++++++++++++++++ .../estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java | 3 +- 6 files changed, 221 insertions(+), 2 deletions(-) create mode 100644 modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsLocateListModel.java create mode 100644 modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/engine/domain/LocateAssign.java create mode 100644 modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/engine/domain/LocateStrengthComparator.java create mode 100644 modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/engine/domain/LocationStrengthComparator.java create mode 100644 modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/engine/domain/WmsThreeDimenLocateModel.java diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsLocateListModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsLocateListModel.java new file mode 100644 index 0000000..00439af --- /dev/null +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsLocateListModel.java @@ -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 unsolvedLocates; + + String organizeCode; +} diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/engine/domain/LocateAssign.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/engine/domain/LocateAssign.java new file mode 100644 index 0000000..32d4268 --- /dev/null +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/engine/domain/LocateAssign.java @@ -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 wmsThreeDimenLocateModelList; + private List locationList; + /** + * 平均进出库次数,用于分数计算 + */ + @Getter + private int avgLocateFrequence; + + private HardSoftScore score; + + @ValueRangeProvider(id = "locationRange") + @ProblemFactCollectionProperty + public List getLocationList() { + return this.locationList; + } + + public void setLocationList(List locationList) { + this.locationList = locationList; + } + + @PlanningEntityCollectionProperty + public List getWmsThreeDimenLocateModelList() { + return this.wmsThreeDimenLocateModelList; + } + + public void setWmsThreeDimenLocateModelList(List 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; + } +} diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/engine/domain/LocateStrengthComparator.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/engine/domain/LocateStrengthComparator.java new file mode 100644 index 0000000..c1d191f --- /dev/null +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/engine/domain/LocateStrengthComparator.java @@ -0,0 +1,11 @@ +package cn.estsh.i3plus.pojo.model.wms.engine.domain; + + +import java.util.Comparator; + +public class LocateStrengthComparator implements Comparator { + @Override + public int compare(WmsThreeDimenLocateModel o1, WmsThreeDimenLocateModel o2) { + return o1.getFrequency() - o2.getFrequency(); + } +} diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/engine/domain/LocationStrengthComparator.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/engine/domain/LocationStrengthComparator.java new file mode 100644 index 0000000..d097975 --- /dev/null +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/engine/domain/LocationStrengthComparator.java @@ -0,0 +1,11 @@ +package cn.estsh.i3plus.pojo.model.wms.engine.domain; + + +import java.util.Comparator; + +public class LocationStrengthComparator implements Comparator { + @Override + public int compare(Integer seq1, Integer seq2) { + return seq1 - seq2; + } +} diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/engine/domain/WmsThreeDimenLocateModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/engine/domain/WmsThreeDimenLocateModel.java new file mode 100644 index 0000000..8167e1f --- /dev/null +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/engine/domain/WmsThreeDimenLocateModel.java @@ -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; + } + +} 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 bb526fb..4a0f756 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 @@ -564,9 +564,8 @@ public class WmsHqlPack { DdlPreparedPack.getInPack(StringUtils.join(new ArrayList(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); From 472b2f1ee60be95bec10e2f5953aaee4ad833ec7 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Sun, 28 Jun 2020 14:48:56 +0800 Subject: [PATCH 03/10] bug 9149 --- .../java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java index b5b8273..d21cdeb 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java @@ -5804,6 +5804,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].value.equals(code)) { + tmp = values()[i].value; + } + } + return tmp; + } } /** From 9d79ed53764d4c149ebc48a2f2a18fc1f173b6c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E5=BF=83=E6=B4=81?= Date: Sun, 28 Jun 2020 20:33:38 +0800 Subject: [PATCH 04/10] =?UTF-8?q?3D=E4=BB=93=E5=BA=93=E8=A7=84=E5=88=99?= =?UTF-8?q?=E5=BC=95=E6=93=8E=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/i3plus-pojo-model/pom.xml | 13 +++++++++++++ modules/i3plus-pojo-wms/pom.xml | 14 ++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/modules/i3plus-pojo-model/pom.xml b/modules/i3plus-pojo-model/pom.xml index efacfd2..215b102 100644 --- a/modules/i3plus-pojo-model/pom.xml +++ b/modules/i3plus-pojo-model/pom.xml @@ -59,6 +59,19 @@ i3plus-pojo-lac + + + org.optaplanner + optaplanner-core + 7.36.0.Final + + + + org.optaplanner + optaplanner-persistence-jpa + 7.36.0.Final + + diff --git a/modules/i3plus-pojo-wms/pom.xml b/modules/i3plus-pojo-wms/pom.xml index 9e5f745..183a03c 100644 --- a/modules/i3plus-pojo-wms/pom.xml +++ b/modules/i3plus-pojo-wms/pom.xml @@ -22,6 +22,20 @@ + + + + org.optaplanner + optaplanner-core + 7.36.0.Final + + + + org.optaplanner + optaplanner-persistence-jpa + 7.36.0.Final + + From d44312c470b3a7c90c2b2c75d80bb948e4ee1f6f Mon Sep 17 00:00:00 2001 From: "joke.wang" Date: Sun, 28 Jun 2020 20:46:42 +0800 Subject: [PATCH 05/10] Fix Bug #9151 --- .../src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java | 3 ++- .../src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesKpData.java | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java index d21cdeb..51958b0 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java @@ -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; diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesKpData.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesKpData.java index 5dd8c97..752cdd2 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesKpData.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesKpData.java @@ -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; From aa09a31957c41861d14754b1b8406ca57fee8add Mon Sep 17 00:00:00 2001 From: "jimmy.zeng" Date: Mon, 29 Jun 2020 11:22:44 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E3=80=90=E6=99=BA=E8=83=BD=E5=8C=96?= =?UTF-8?q?=E5=BC=80=E5=8F=91-=E9=94=81=E5=AE=9A=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/pojo/wms/modelbean/WmsAutoTaskModel.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsAutoTaskModel.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsAutoTaskModel.java index 9ace250..13204cf 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsAutoTaskModel.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsAutoTaskModel.java @@ -47,8 +47,20 @@ public class WmsAutoTaskModel { private String lockCar; @ApiParam("物料对应的明细集合") - Map partNoDetailsList; + private Map partNoDetailsList; + + @ApiParam("锁定物料对应的条码") + private Map> stringListHashMap; @ApiParam("锁定条码") - HashMap> stringListHashMap; + private List lockStockSnList; + + @ApiParam("单据更新状态") + private Integer updateOrderStatus; + + @ApiParam("任务生成数量") + private Double taskQty; + + @ApiParam("返回错误信息") + public String errorMsg; } From 7dddac511318a92f40933bcb7929c17c6cd9d635 Mon Sep 17 00:00:00 2001 From: "jimmy.zeng" Date: Mon, 29 Jun 2020 23:03:59 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E3=80=90=E6=99=BA=E8=83=BD=E5=8C=96?= =?UTF-8?q?=E5=BC=80=E5=8F=91-=E9=94=81=E5=AE=9A=E5=BA=93=E4=BD=8D?= =?UTF-8?q?=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../estsh/i3plus/pojo/wms/bean/WmsAutoTaskLog.java | 8 ++++++++ .../pojo/wms/modelbean/WmsAutoTaskModel.java | 22 +++++++++++++++++----- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsAutoTaskLog.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsAutoTaskLog.java index 10ccc90..153e954 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsAutoTaskLog.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsAutoTaskLog.java @@ -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; diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsAutoTaskModel.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsAutoTaskModel.java index 13204cf..bbfaa61 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsAutoTaskModel.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/modelbean/WmsAutoTaskModel.java @@ -25,6 +25,9 @@ public class WmsAutoTaskModel { @ApiParam("存储区") private String zoneNo; + @ApiParam("单据号") + private String orderNo; + @ApiParam("物料集合") private List partList; @@ -37,6 +40,9 @@ public class WmsAutoTaskModel { @ApiParam("锁定库位") private String lockLocacte; + @ApiParam("锁定源库位") + private String srcLockLocacte; + @ApiParam("方向") private Integer direction; @@ -46,21 +52,27 @@ public class WmsAutoTaskModel { @ApiParam("锁定料车") private String lockCar; - @ApiParam("物料对应的明细集合") + @ApiParam("预存锁定料车") + private String prestoreLockCar; + + @ApiParam("物料对应的单据明细集合") private Map partNoDetailsList; @ApiParam("锁定物料对应的条码") - private Map> stringListHashMap; + private Map> partNoGroupListMap; @ApiParam("锁定条码") private List lockStockSnList; - @ApiParam("单据更新状态") - private Integer updateOrderStatus; - @ApiParam("任务生成数量") private Double taskQty; @ApiParam("返回错误信息") public String errorMsg; + + @ApiParam("策略代码") + public String strategyNo; + + @ApiParam("策略动作") + public String strategyAction; } From 5ccf659c941f5d841e7dfc46c8628425d8eba29a Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Tue, 30 Jun 2020 10:21:36 +0800 Subject: [PATCH 08/10] [bug:9149] --- .../src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java index 51958b0..32044db 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java @@ -5808,7 +5808,7 @@ public class MesEnumUtil { public static String codeOfValue(String code) { String tmp = null; for (int i = 0; i < values().length; i++) { - if (values()[i].value.equals(code)) { + if (values()[i].code.equals(code)) { tmp = values()[i].value; } } From 37fb285aa91c4a57c3002707d7a4ca26e4f6ba9d Mon Sep 17 00:00:00 2001 From: "puxiao.liao" Date: Tue, 30 Jun 2020 11:19:58 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E6=B5=B7=E7=BA=B3=E5=B7=9D=E6=99=BA?= =?UTF-8?q?=E8=83=BD=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/pojo/base/enumutil/WmsEnumUtil.java | 52 ++++++++++- .../pojo/wms/bean/WmsAutoForkCallBackDetails.java | 103 +++++++++++++++++++++ .../WmsAutoForkCallBackDetailsRepository.java | 17 ++++ 3 files changed, 170 insertions(+), 2 deletions(-) create mode 100644 modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsAutoForkCallBackDetails.java create mode 100644 modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsAutoForkCallBackDetailsRepository.java 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 c801a52..b911540 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 @@ -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; + } + } } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsAutoForkCallBackDetails.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsAutoForkCallBackDetails.java new file mode 100644 index 0000000..062d2eb --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsAutoForkCallBackDetails.java @@ -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; + +} diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsAutoForkCallBackDetailsRepository.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsAutoForkCallBackDetailsRepository.java new file mode 100644 index 0000000..0123583 --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsAutoForkCallBackDetailsRepository.java @@ -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 { +} From fff94902f7ad7d99b8fc24d6c748c15a7b324914 Mon Sep 17 00:00:00 2001 From: "joke.wang" Date: Tue, 30 Jun 2020 15:03:19 +0800 Subject: [PATCH 10/10] Fix Bug #9203 --- .../src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPartCheck.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPartCheck.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPartCheck.java index 76ee1d5..8cbe1c3 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPartCheck.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPartCheck.java @@ -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; }