From 8c872302a3a419929989f45dca4fcdf6a457a2cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B1=AA=E4=BA=91=E6=98=8A?= Date: Wed, 4 Dec 2019 10:49:34 +0800 Subject: [PATCH 01/22] =?UTF-8?q?=E7=BB=86=E8=8A=82=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/estsh/i3plus/pojo/platform/platbean/SysLogTaskTime.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/platbean/SysLogTaskTime.java b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/platbean/SysLogTaskTime.java index b301b3e..a6a8dbb 100644 --- a/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/platbean/SysLogTaskTime.java +++ b/modules/i3plus-pojo-platform/src/main/java/cn/estsh/i3plus/pojo/platform/platbean/SysLogTaskTime.java @@ -49,7 +49,7 @@ public class SysLogTaskTime extends BaseBean { @ApiParam(value ="调度服务器端口") private String schedulerServerPort; - @Column(name="TaskThreadId") + @Column(name="TASK_THREAD_ID") @ApiParam(value ="任务线程id") @JsonSerialize(using = ToStringSerializer.class) private Long taskThreadId; From 93bc62b921dc5c16a9109ea41563071a447508b3 Mon Sep 17 00:00:00 2001 From: WYnneaoapc Date: Wed, 4 Dec 2019 13:43:32 +0800 Subject: [PATCH 02/22] =?UTF-8?q?task`1287`=20=E6=96=B0=E5=A2=9E=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E8=A1=A8=EF=BC=8C=E5=8E=9F=E6=9D=A5=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E4=B8=8E=E6=96=87=E4=BB=B6=E8=84=B1=E7=A6=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/estsh/i3plus/pojo/mes/pcn/bean/MesESOP.java | 33 ++---------- .../cn/estsh/i3plus/pojo/mes/pcn/bean/MesFile.java | 61 ++++++++++++++++++++++ .../cn/estsh/i3plus/pojo/mes/bean/MesESOP.java | 34 ++---------- .../cn/estsh/i3plus/pojo/mes/bean/MesFile.java | 61 ++++++++++++++++++++++ 4 files changed, 128 insertions(+), 61 deletions(-) create mode 100644 modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesFile.java create mode 100644 modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesFile.java diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesESOP.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesESOP.java index 02b19fc..548ed5d 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesESOP.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesESOP.java @@ -55,35 +55,8 @@ public class MesESOP extends BaseBean { @ApiParam("工步序号") private Integer stepSeq; - @Column(name = "SOP_NAME") - @ApiParam("SOP名称") - private String sopName; + @Column(name = "FILE_ID") + @ApiParam("文件id") + private Long fileId; - @Column(name = "SOP_URL") - @ApiParam("SOP_URL") - private String sopUrl; - - @Column(name = "GROUP_NAME") - @ApiParam("GROUP_NAME") - private String groupName; - - @Column(name = "FILE_ORIGIN_NAME") - @ApiParam("FILE_ORIGIN_NAME") - private String fileOriginName; - - @Column(name = "FILE_SIZE") - @ApiParam("FILE_SIZE") - private String fileSize; - - @Column(name = "FILE_TYPE_ID") - @ApiParam("FILE_TYPE_ID") - private String fileTypeId; - - @Column(name = "FILE_TYPE_NAME") - @ApiParam("FILE_TYPE_NAME") - private String fileTypeName; - - @Column(name = "SYNC_TAG") - @ApiParam("SYNC_TAG") - private Integer syncTag = 0; } diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesFile.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesFile.java new file mode 100644 index 0000000..582f0e1 --- /dev/null +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesFile.java @@ -0,0 +1,61 @@ +package cn.estsh.i3plus.pojo.mes.pcn.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; + +/** + * @Author: Wynne.Lu + * @CreateDate: 2019/12/4 1:28 下午 + * @Description: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "MES_FILE") +@Api("文件表") +public class MesFile extends BaseBean { + + @Column(name = "FILE_NAME") + @ApiParam("文件名称") + private String fileName; + + @Column(name = "FILE_URL") + @ApiParam("文件URL") + private String fileUrl; + + @Column(name = "GROUP_NAME") + @ApiParam("组名") + private String groupName; + + @Column(name = "FILE_ORIGIN_NAME") + @ApiParam("文件原名") + private String fileOriginName; + + @Column(name = "FILE_SIZE") + @ApiParam("文件大小") + private String fileSize; + + @Column(name = "FILE_TYPE_ID") + @ApiParam("文件类型id") + private String fileTypeId; + + @Column(name = "FILE_TYPE_NAME") + @ApiParam("文件类型名称") + private String fileTypeName; + + @Column(name = "SYNC_TAG") + @ApiParam("同步标记") + private Integer syncTag = 0; +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesESOP.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesESOP.java index 0f512b1..0ea3263 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesESOP.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesESOP.java @@ -55,36 +55,8 @@ public class MesESOP extends BaseBean { @ApiParam("工步序号") private Integer stepSeq; - @Column(name = "SOP_NAME") - @ApiParam("SOP名称") - private String sopName; - - @Column(name = "SOP_URL") - @ApiParam("SOP_URL") - private String sopUrl; - - @Column(name = "GROUP_NAME") - @ApiParam("GROUP_NAME") - private String groupName; - - @Column(name = "FILE_ORIGIN_NAME") - @ApiParam("FILE_ORIGIN_NAME") - private String fileOriginName; - - @Column(name = "FILE_SIZE") - @ApiParam("FILE_SIZE") - private String fileSize; - - @Column(name = "FILE_TYPE_ID") - @ApiParam("FILE_TYPE_ID") - private String fileTypeId; - - @Column(name = "FILE_TYPE_NAME") - @ApiParam("FILE_TYPE_NAME") - private String fileTypeName; - - @Column(name = "SYNC_TAG") - @ApiParam("SYNC_TAG") - private Integer syncTag = 0; + @Column(name = "FILE_ID") + @ApiParam("文件id") + private Long fileId; } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesFile.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesFile.java new file mode 100644 index 0000000..f9d0aba --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesFile.java @@ -0,0 +1,61 @@ +package cn.estsh.i3plus.pojo.mes.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; + +/** + * @Author: Wynne.Lu + * @CreateDate: 2019/12/4 1:28 下午 + * @Description: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "MES_FILE") +@Api("文件表") +public class MesFile extends BaseBean { + + @Column(name = "FILE_NAME") + @ApiParam("文件名称") + private String fileName; + + @Column(name = "FILE_URL") + @ApiParam("文件URL") + private String fileUrl; + + @Column(name = "GROUP_NAME") + @ApiParam("组名") + private String groupName; + + @Column(name = "FILE_ORIGIN_NAME") + @ApiParam("文件原名") + private String fileOriginName; + + @Column(name = "FILE_SIZE") + @ApiParam("文件大小") + private String fileSize; + + @Column(name = "FILE_TYPE_ID") + @ApiParam("文件类型id") + private String fileTypeId; + + @Column(name = "FILE_TYPE_NAME") + @ApiParam("文件类型名称") + private String fileTypeName; + + @Column(name = "SYNC_TAG") + @ApiParam("同步标记") + private Integer syncTag = 0; +} From 2d7558e1ba10053795503d3ea49cd15375f7ee85 Mon Sep 17 00:00:00 2001 From: WYnneaoapc Date: Wed, 4 Dec 2019 13:47:09 +0800 Subject: [PATCH 03/22] =?UTF-8?q?task`1287`2`=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E8=A1=A8=EF=BC=8C=E5=8E=9F=E6=9D=A5=E4=B8=9A?= =?UTF-8?q?=E5=8A=A1=E4=B8=8E=E6=96=87=E4=BB=B6=E8=84=B1=E7=A6=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesFile.java | 8 ++------ .../src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesFile.java | 8 ++------ 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesFile.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesFile.java index 582f0e1..eea9e56 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesFile.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesFile.java @@ -47,13 +47,9 @@ public class MesFile extends BaseBean { @ApiParam("文件大小") private String fileSize; - @Column(name = "FILE_TYPE_ID") - @ApiParam("文件类型id") - private String fileTypeId; - - @Column(name = "FILE_TYPE_NAME") + @Column(name = "FILE_TYPE") @ApiParam("文件类型名称") - private String fileTypeName; + private String fileType; @Column(name = "SYNC_TAG") @ApiParam("同步标记") diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesFile.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesFile.java index f9d0aba..c1d30dd2 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesFile.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesFile.java @@ -47,13 +47,9 @@ public class MesFile extends BaseBean { @ApiParam("文件大小") private String fileSize; - @Column(name = "FILE_TYPE_ID") - @ApiParam("文件类型id") - private String fileTypeId; - - @Column(name = "FILE_TYPE_NAME") + @Column(name = "FILE_TYPE") @ApiParam("文件类型名称") - private String fileTypeName; + private String fileType; @Column(name = "SYNC_TAG") @ApiParam("同步标记") From c42775389d3be90273f6852c28eb0b16b86e205f Mon Sep 17 00:00:00 2001 From: jokelone Date: Wed, 4 Dec 2019 13:50:18 +0800 Subject: [PATCH 04/22] =?UTF-8?q?=E3=80=90=E4=BB=BB=E5=8A=A1=EF=BC=9A1273?= =?UTF-8?q?=E8=B4=A8=E9=87=8F=E6=A3=80=E6=B5=8B=E5=A2=9E=E5=8A=A0=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MES_QC_CHECK_DATA_F.xlsx | Bin 0 -> 32878 bytes MES_QC_CHECK_DATA_F.xlsxs | Bin 0 -> 18605 bytes .../mes/pcn/repository/MesTypeCfgRepository.java | 14 +++++++++++++ .../i3plus/pojo/mes/pcn/sqlpack/MesHqlPack.java | 23 +++++++++++++++++++++ .../estsh/i3plus/pojo/mes/model/MesPlcModel.java | 6 +++++- .../estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java | 3 +++ 6 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 MES_QC_CHECK_DATA_F.xlsx create mode 100644 MES_QC_CHECK_DATA_F.xlsxs create mode 100644 modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesTypeCfgRepository.java diff --git a/MES_QC_CHECK_DATA_F.xlsx b/MES_QC_CHECK_DATA_F.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..552eab2710d2de985ae9bee6b4372493834837cb GIT binary patch literal 32878 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 literal 0 HcmV?d00001 diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesTypeCfgRepository.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesTypeCfgRepository.java new file mode 100644 index 0000000..02911ac --- /dev/null +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesTypeCfgRepository.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.pojo.mes.pcn.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.pcn.bean.MesTypeCfg; + +/** + * @Description: + * @Reference: + * @Author: joke.wang + * @CreateDate: 2019\12\4 10:34 + * @Modify: + **/ +public interface MesTypeCfgRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/sqlpack/MesHqlPack.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/sqlpack/MesHqlPack.java index 55f69b2..5b731c2 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/sqlpack/MesHqlPack.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/sqlpack/MesHqlPack.java @@ -378,4 +378,27 @@ public class MesHqlPack { DdlPreparedPack.getNumEqualPack(CommonEnumUtil.IS_VAILD.VAILD.getValue(), "isValid", packBean); return packBean; } + + + + /** + * 按条件分页查询类型信息数据 + * @param typeCfg + * @return + */ + public static DdlPackBean getTypeCfg(MesTypeCfg typeCfg) { + + DdlPackBean packBean = getAllBaseData(typeCfg.getOrganizeCode()); + if (!StringUtils.isEmpty(typeCfg.getBusinessTypeCode())) { + DdlPreparedPack.getStringLikerPack(typeCfg.getBusinessTypeCode(), "businessTypeCode", packBean); + } + if (!StringUtils.isEmpty(typeCfg.getBusinessTypeName())) { + DdlPreparedPack.getStringLikerPack(typeCfg.getBusinessTypeName(), "businessTypeName", packBean); + } + if (!StringUtils.isEmpty(typeCfg.getTypeCode())) { + DdlPreparedPack.getStringLikerPack(typeCfg.getTypeCode(), "typeCode", packBean); + } + + return packBean; + } } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/MesPlcModel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/MesPlcModel.java index 229352c..62cb029 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/MesPlcModel.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/MesPlcModel.java @@ -86,6 +86,9 @@ public class MesPlcModel implements Serializable { @ApiParam("是否解析") private String isAnalysis; + @ApiParam("驱动") + private String device; + public MesPlcModel() { } @@ -93,7 +96,7 @@ public class MesPlcModel implements Serializable { public MesPlcModel(Long id, String equipmentCode, String equipmentName, Integer isValid, Integer isDeleted, String createUser, String createDatetime, String modifyUser, String modifyDatetime, String organizeCode, String plcCode, String plcName, String plcModel, String plcIp, String channel, String tagName, String tagAddress, String dataType, String groupName, - String workCenterCode, String workCellCode, String plcCfg, String analysisRule, String isAnalysis) { + String workCenterCode, String workCellCode, String plcCfg, String analysisRule, String isAnalysis, String device) { this.id = id; this.equipmentCode = equipmentCode; this.equipmentName = equipmentName; @@ -118,5 +121,6 @@ public class MesPlcModel implements Serializable { this.plcCfg = plcCfg; this.analysisRule = analysisRule; this.isAnalysis = isAnalysis; + this.device = device; } } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java index 9f115b3..bb62ecd 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java @@ -1397,6 +1397,9 @@ public class MesHqlPack { if (!StringUtils.isEmpty(mesQcCheckStandard.getCheckItem())) { DdlPreparedPack.getStringLikerPack(mesQcCheckStandard.getCheckItem(), "checkItem", packBean); } + if (!StringUtils.isEmpty(mesQcCheckStandard.getCheckItemType())) { + DdlPreparedPack.getStringLikerPack(mesQcCheckStandard.getCheckItemType(), "checkItemType", packBean); + } return packBean; } From 464d598bd6a313889f21cb7373d6ba8b2f33c2ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=9E=97?= Date: Wed, 4 Dec 2019 13:55:10 +0800 Subject: [PATCH 05/22] =?UTF-8?q?=E5=88=A0=E9=99=A4=20'MES=5FQC=5FCHECK=5F?= =?UTF-8?q?DATA=5FF.xlsx'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MES_QC_CHECK_DATA_F.xlsx | Bin 32878 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 MES_QC_CHECK_DATA_F.xlsx diff --git a/MES_QC_CHECK_DATA_F.xlsx b/MES_QC_CHECK_DATA_F.xlsx deleted file mode 100644 index 552eab2710d2de985ae9bee6b4372493834837cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32878 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 Date: Wed, 4 Dec 2019 13:55:35 +0800 Subject: [PATCH 06/22] =?UTF-8?q?=E5=88=A0=E9=99=A4=20'MES=5FQC=5FCHECK=5F?= =?UTF-8?q?DATA=5FF.xlsxs'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MES_QC_CHECK_DATA_F.xlsxs | Bin 18605 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 MES_QC_CHECK_DATA_F.xlsxs diff --git a/MES_QC_CHECK_DATA_F.xlsxs b/MES_QC_CHECK_DATA_F.xlsxs deleted file mode 100644 index ae183145f956cbbd2aab9720fc877f6d4aa521ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18605 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 From 57b3b4242ea8cdc6ad489d4fe81d817b2f9f469a Mon Sep 17 00:00:00 2001 From: Jason Date: Wed, 4 Dec 2019 15:57:01 +0800 Subject: [PATCH 07/22] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=A1=A8=E8=BE=BE?= =?UTF-8?q?=E5=BC=8F=E5=BD=95=E5=85=A5=E7=95=8C=E9=9D=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/estsh/i3plus/pojo/aps/bean/DataLink.java | 2 +- .../src/main/java/cn/estsh/i3plus/pojo/aps/bean/ExpressionRecord.java | 4 ---- .../src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ApsEnumUtil.java | 2 +- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DataLink.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DataLink.java index 3935866..aa07354 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DataLink.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DataLink.java @@ -32,7 +32,7 @@ public class DataLink extends BaseAPS { @Column(name="TYPE") @ApiParam(value ="链接类型") - @FieldAnnotation(defaultValue = "CSV") + @FieldAnnotation(defaultValue = "EXCEL") private ApsEnumUtil.DATA_LINK_TYPE type; @Column(name="PATH") diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ExpressionRecord.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ExpressionRecord.java index 272f6d3..5ffa2de 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ExpressionRecord.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ExpressionRecord.java @@ -1,6 +1,5 @@ package cn.estsh.i3plus.pojo.aps.bean; -import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation; import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; @@ -26,17 +25,14 @@ import javax.persistence.Table; public class ExpressionRecord extends BaseAPS { @Column(name="BEAN_NAME") @ApiParam(value ="表名") - @FieldAnnotation(property = false) private String beanName; @Column(name="FIELD_NAME") @ApiParam(value ="字段名") - @FieldAnnotation(property = false) private String fieldName; @Column(name="NAME") @ApiParam(value ="名称") - @FieldAnnotation(notEmpty = true) private String name; @Column(name="EXPRESSION") diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ApsEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ApsEnumUtil.java index de9a06f..0d23467 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ApsEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ApsEnumUtil.java @@ -979,7 +979,7 @@ public class ApsEnumUtil { */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum DATA_LINK_TYPE { - EXCEL("EXCEL", "EXCEL文件"), + EXCEL("EXCEL", "EXCEL"), MYSQL("MYSQL", "MySql"), ORACLE("ORACLE", "Oracle"), SQLSERVER("SQLSERVER", "SqlServer"); From 2a10fd10216aecbb2effb3477c4e3748c50e7402 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Wed, 4 Dec 2019 16:06:37 +0800 Subject: [PATCH 08/22] =?UTF-8?q?=E3=80=90=E7=BB=84=E7=BB=87=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E5=B7=A5=E5=8E=82=E5=8A=A0id=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/estsh/i3plus/pojo/mes/model/SysOrganizeModel.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/SysOrganizeModel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/SysOrganizeModel.java index f5d38f5..6146fe6 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/SysOrganizeModel.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/SysOrganizeModel.java @@ -9,6 +9,10 @@ import java.util.List; public class SysOrganizeModel { @Transient + @ApiParam(value = "id") + private Long id; + + @Transient @ApiParam(value = "父节点") private Long parentId; @@ -43,4 +47,12 @@ public class SysOrganizeModel { public void setName(String name) { this.name = name; } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } } From 2ce2f17353fb4952366b5da51961a99ce3ca21d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E5=BF=83=E6=B4=81?= Date: Wed, 4 Dec 2019 18:19:13 +0800 Subject: [PATCH 09/22] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E7=AE=A1=E5=AE=B6?= =?UTF-8?q?=EF=BC=9A=E6=96=B0=E5=A2=9E=E2=80=9C=E6=98=AF=E5=90=A6=E8=BF=9E?= =?UTF-8?q?=E5=B8=A6=E6=8F=90=E4=BA=A4=E5=88=9B=E5=BB=BA=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E5=8D=95=E2=80=9D=E5=B1=9E=E6=80=A7=EF=BC=9B?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=87=8D=E7=BD=AE=E5=8A=9F=E8=83=BD+?= =?UTF-8?q?=E7=94=9F=E4=BA=A7=E6=89=A3=E5=87=8F=E4=BA=A4=E6=98=93=E5=A4=84?= =?UTF-8?q?=E7=90=86=E7=BB=84=E4=BB=B6+=E4=BA=A4=E6=98=93=E5=A4=84?= =?UTF-8?q?=E7=90=86=E6=88=90=E5=8A=9F=E7=A8=8B=E5=BA=8F+ESB=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=E7=A8=8B=E5=BA=8F=E5=A4=9A=E4=BD=99=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E8=BE=93=E5=87=BA=E5=8E=BB=E9=99=A4+=E8=B4=A8=E6=A3=80?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=8A=A0=E4=B8=8A=E6=98=AF=E5=90=A6=E5=85=81?= =?UTF-8?q?=E8=AE=B8=E5=A4=9A=E4=BA=BA=E6=93=8D=E4=BD=9C=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?+PDA=E5=8A=A8=E6=80=81=E8=8F=9C=E5=8D=95=E4=BA=A4=E6=98=93?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E6=8F=8F=E8=BF=B0=E5=9B=BD=E9=99=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/estsh/i3plus/pojo/wms/bean/WmsActionGroup.java | 5 +++++ .../java/cn/estsh/i3plus/pojo/wms/bean/WmsOperationBean.java | 12 +++--------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsActionGroup.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsActionGroup.java index 1ea54c2..336e497 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsActionGroup.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsActionGroup.java @@ -65,6 +65,11 @@ public class WmsActionGroup extends BaseBean { @ApiParam(value = "任务自动初始化", example = "0") private Integer autoInit; + // 1=true, 2 = false + @Column(name = "IS_COMMIT_REF_MOVE", columnDefinition = "int default 2", nullable = false) + @ApiParam(value = "是否连带提交创建状态移动单", example = "2") + private Integer isCommitRefMove; + @Lob @Column(name = "POSITION") @ApiParam(value = "GOJS位置") diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsOperationBean.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsOperationBean.java index 2a37527..382f210 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsOperationBean.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsOperationBean.java @@ -34,15 +34,9 @@ public class WmsOperationBean extends BaseBean { @ApiParam("任务单号") public String taskNo; - /** - * 触发源: - * 10=扫描枪, - * 20=提交按钮, - * 30=重置按钮, - * 40=查看明细, - * 50=明细(删除), - * 60=明细(清空) - */ + @ApiParam("业务单号") + public String refSrc; + @ApiParam("触发源") public int sourceOwner; From 4fd9ec76f4033aeceb84dfb1356c8289ccda3963 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E5=BF=83=E6=B4=81?= Date: Wed, 4 Dec 2019 18:23:12 +0800 Subject: [PATCH 10/22] =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E6=BC=8F=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/pojo/base/enumutil/WmsEnumUtil.java | 65 ++++++++++++++-------- 1 file changed, 43 insertions(+), 22 deletions(-) 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 3a5133e..06fbb8e 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 @@ -368,7 +368,7 @@ public class WmsEnumUtil { */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum PRODUCT_INSTOCK_STATUS { - CREATE(10, "创建"), FINISH(20, "已处理"), FAIL(30, "处理出错"),CREATE_DOCMOVE(40, "生成移库单"),PULL_FAIL(50, "拉动出错"); + CREATE(10, "创建"), FINISH(20, "已处理"), FAIL(30, "处理出错"), CREATE_DOCMOVE(40, "生成移库单"), PULL_FAIL(50, "拉动出错"); private int value; private String description; @@ -638,14 +638,14 @@ public class WmsEnumUtil { KT_REWORK(380, "KT_REWORK", "KT返工"), KT_MISCALCULATION(390, "KT_MISCALCULATION", "KT误判"), KT_SORTING(400, "KT_SORTING", "KT分选"), - VDA_STATIC_CS(410,"VDA_STATIC_CS", "静态盘点"), - VDA_CS_SEARCH(420,"VDA_CS_SEARCH", "VDA盘点查询"), - KT_DEFINITE(430,"KT_DEFINITE", "KT合格"), - VDA_PACKAGE_MANAGE(440,"VDA_PACKAGE_MANAGE", "VDA编组管理"), - KT_PURCHASE_RC(450,"KT_PURCHASE_RC", "采购收货"), - KT_PACK_RC(460,"KT_PACK_RC", "坤泰包装收货"), + VDA_STATIC_CS(410, "VDA_STATIC_CS", "静态盘点"), + VDA_CS_SEARCH(420, "VDA_CS_SEARCH", "VDA盘点查询"), + KT_DEFINITE(430, "KT_DEFINITE", "KT合格"), + VDA_PACKAGE_MANAGE(440, "VDA_PACKAGE_MANAGE", "VDA编组管理"), + KT_PURCHASE_RC(450, "KT_PURCHASE_RC", "采购收货"), + KT_PACK_RC(460, "KT_PACK_RC", "坤泰包装收货"), FINISH_PRODUCT_SHPING(470, "FINISH_PRODUCT_SHPING", "成品发运"), - KT_PICK_RC(480,"KT_PICK_RC", "坤泰拣货"); + KT_PICK_RC(480, "KT_PICK_RC", "坤泰拣货"); private int value; private String code; @@ -826,8 +826,8 @@ public class WmsEnumUtil { VDA_SN_SPLIT("VDA_SN_SPLIT", "VDA条码拆分"), VDA_SN_MERGE("VDA_SN_MERGE", "VDA条码合并"), VDA_SCAN_QUERY("VDA_SCAN_QUERY", "VDA扫描查询"), - VDA_TRANSACTION_QUERY("VDA_TRANSACTION_QUERY","VDA事务查询"), - VDA_STATIC_CS("VDA_STATIC_CS", "VDA静态盘点"), + VDA_TRANSACTION_QUERY("VDA_TRANSACTION_QUERY", "VDA事务查询"), + VDA_STATIC_CS("VDA_STATIC_CS", "VDA静态盘点"), VDA_PACKAGE_MANAGE("VDA_PACKAGE_MANAGE", "VDA编组管理"), KT_PICK_RC("KT_PICK_RC", "坤泰拣货"); private String value; @@ -904,14 +904,16 @@ public class WmsEnumUtil { */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum TASK_INFO_STATUS { - CREATE(10, "创建"), FINISH(20, "处理中"), FAIL(30, "已处理") - , CLOSE(40, "已关闭"); + CREATE(10, 10, "创建"), FINISH(20, 20, "处理中"), + FAIL(30, 30, "已处理"), CLOSE(40, 40, "已关闭"); private int value; + private int code; private String description; - TASK_INFO_STATUS(int value, String description) { + TASK_INFO_STATUS(int value, int code, String description) { this.value = value; + this.code = code; this.description = description; } @@ -919,6 +921,10 @@ public class WmsEnumUtil { return value; } + public int getCode() { + return code; + } + public String getDescription() { return description; } @@ -936,13 +942,24 @@ public class WmsEnumUtil { public static String valueOfDescription(int val) { return valueOf(val); } - } + public static TASK_INFO_STATUS codeOf(Integer value) { + if (value == null) { + return null; + } else { + for (int i = 0; i < values().length; i++) { + if (values()[i].value == value) { + return values()[i]; + } + } + } + return null; + } + } /** * 业务表:库存条码状态 - * 1=创建,10=质检中,20=待入库,30=入库,40=配料,50=出库,60=报废,70=在途 */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum STOCK_SN_STATUS { @@ -952,7 +969,7 @@ public class WmsEnumUtil { INSTOCKED(40, "入库"), PICKED(50, "配料"), OUT_STOCK(60, "出库"), - SCRAP(70, "报废"), + //SCRAP(70, "报废"), COMMING(80, "在途"); private int value; @@ -995,6 +1012,7 @@ public class WmsEnumUtil { return tmp; } } + /** * 单据是否生成任务状态 */ @@ -1052,12 +1070,14 @@ public class WmsEnumUtil { return valueOf(val); } } + /** * 业务表:库存条码质检状态 */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum STOCK_SN_QC_STATUS { - NORMAL(10, "NORMAL", "合格"), ABNORMAL(20, "ABNORMAL", "不合格"), ISOLATED(30, "ISOLATED", "隔离"), FRAZE(40, "FRAZE", "报废"); + NORMAL(10, "NORMAL", "合格"), ABNORMAL(20, "ABNORMAL", "不合格"), + ISOLATED(30, "ISOLATED", "隔离"), FRAZE(40, "FRAZE", "报废"); private int value; private String code; @@ -1363,7 +1383,6 @@ public class WmsEnumUtil { } - /** * 质检业务状态 */ @@ -1436,6 +1455,7 @@ public class WmsEnumUtil { return tmp; } } + /** * 质检业务类型 */ @@ -1476,6 +1496,7 @@ public class WmsEnumUtil { return valueOf(val); } } + /** * 作业记录参数状态 */ @@ -2339,13 +2360,14 @@ public class WmsEnumUtil { return tmp; } } + /** * NC处理 操作类型 */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum BUSI_OPERATION_TYPE { //收货改数 - GOODS_CHANGE_NUMBER(10, "GOODS_CHANGE_NUMBER", "收货改数") ; + GOODS_CHANGE_NUMBER(10, "GOODS_CHANGE_NUMBER", "收货改数"); private int value; private String code; @@ -2854,9 +2876,8 @@ public class WmsEnumUtil { } - public enum WMS_PART_TYPE_STR { - RAW_MATERIAL("10", "原材料"), PARTIALLY_PREPARED_PRODUCTS("20", "半成品"), FINISHED_PRODUCT("30", "成品"),CONTAINER_PRODUCT("40", "容器"); + RAW_MATERIAL("10", "原材料"), PARTIALLY_PREPARED_PRODUCTS("20", "半成品"), FINISHED_PRODUCT("30", "成品"), CONTAINER_PRODUCT("40", "容器"); private String value; private String description; @@ -4085,7 +4106,7 @@ public class WmsEnumUtil { */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum SPEC_LEVEL { - FIRST_LEVEL(10, "一层"), SECOND_LEVEL(20, "二层"), THIRD_LEVEL(30, "三层"), FOURTH_LEVEL(40, "四层"), FIFTH_LEVEL(50, "五层"); + FIRST_LEVEL(10, "一层"), SECOND_LEVEL(20, "二层"), THIRD_LEVEL(30, "三层"), FOURTH_LEVEL(40, "四层"), FIFTH_LEVEL(50, "五层"); private int value; private String description; From 7069bc5cbba4583cabf44e8918113ae1d473cd40 Mon Sep 17 00:00:00 2001 From: WYnneaoapc Date: Wed, 4 Dec 2019 20:13:19 +0800 Subject: [PATCH 11/22] =?UTF-8?q?task`1287`3`=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E8=A1=A8=EF=BC=8C=E5=8E=9F=E6=9D=A5=E4=B8=9A?= =?UTF-8?q?=E5=8A=A1=E4=B8=8E=E6=96=87=E4=BB=B6=E8=84=B1=E7=A6=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/pcn/bean/{MesESOP.java => MesEsop.java} | 31 +++++++++++++- .../i3plus/pojo/mes/pcn/model/EsopFileModel.java | 26 ++++++++++++ ...sESOPRepository.java => MesEsopRepository.java} | 4 +- .../pojo/mes/pcn/repository/MesFileRepository.java | 16 ++++++++ .../pojo/mes/bean/{MesESOP.java => MesEsop.java} | 31 +++++++++++++- .../estsh/i3plus/pojo/mes/model/EsopFileModel.java | 26 ++++++++++++ .../pojo/mes/model/FastDfsDownloadModel.java | 3 ++ ...sESOPRepository.java => MesEsopRepository.java} | 5 +-- .../pojo/mes/repository/MesFileRepository.java | 16 ++++++++ .../estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java | 47 ++++++++++------------ 10 files changed, 172 insertions(+), 33 deletions(-) rename modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/{MesESOP.java => MesEsop.java} (69%) create mode 100644 modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/EsopFileModel.java rename modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/{MesESOPRepository.java => MesEsopRepository.java} (68%) create mode 100644 modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesFileRepository.java rename modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/{MesESOP.java => MesEsop.java} (69%) create mode 100644 modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/EsopFileModel.java rename modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/{MesESOPRepository.java => MesEsopRepository.java} (60%) create mode 100644 modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesFileRepository.java diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesESOP.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesEsop.java similarity index 69% rename from modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesESOP.java rename to modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesEsop.java index 548ed5d..da30dc1 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesESOP.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesEsop.java @@ -12,6 +12,7 @@ import org.hibernate.annotations.DynamicUpdate; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; +import javax.persistence.Transient; /** * @Author: Wynne.Lu @@ -25,7 +26,7 @@ import javax.persistence.Table; @EqualsAndHashCode(callSuper = true) @Table(name = "MES_ESOP") @Api("作业指导书信息表(ODS)") -public class MesESOP extends BaseBean { +public class MesEsop extends BaseBean { @Column(name = "PART_NO") @ApiParam("零件号") @@ -59,4 +60,32 @@ public class MesESOP extends BaseBean { @ApiParam("文件id") private Long fileId; + @Transient + @ApiParam("文件名称") + private String fileName; + + @Transient + @ApiParam("文件URL") + private String fileUrl; + + @Transient + @ApiParam("组名") + private String groupName; + + @Transient + @ApiParam("文件原名") + private String fileOriginName; + + @Transient + @ApiParam("文件大小") + private String fileSize; + + @Transient + @ApiParam("文件类型名称") + private String fileType; + + @Transient + @ApiParam("同步标记") + private Integer syncTag = 0; + } diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/EsopFileModel.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/EsopFileModel.java new file mode 100644 index 0000000..ac086ba --- /dev/null +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/EsopFileModel.java @@ -0,0 +1,26 @@ +package cn.estsh.i3plus.pojo.mes.pcn.model; + + +import cn.estsh.i3plus.pojo.mes.pcn.bean.MesEsop; +import cn.estsh.i3plus.pojo.mes.pcn.bean.MesFile; +import io.swagger.annotations.Api; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author: Wynne.Lu + * @CreateDate: 2019/12/4 3:09 下午 + * @Description: + **/ +@Data +@NoArgsConstructor +@AllArgsConstructor +@Api("FastDfs文件model") +public class EsopFileModel { + + private MesEsop esop; + + private MesFile file; + +} diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesESOPRepository.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesEsopRepository.java similarity index 68% rename from modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesESOPRepository.java rename to modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesEsopRepository.java index 9f76128..103e176 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesESOPRepository.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesEsopRepository.java @@ -2,7 +2,7 @@ package cn.estsh.i3plus.pojo.mes.pcn.repository; import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; -import cn.estsh.i3plus.pojo.mes.pcn.bean.MesESOP; +import cn.estsh.i3plus.pojo.mes.pcn.bean.MesEsop; import org.springframework.stereotype.Repository; /** @@ -13,5 +13,5 @@ import org.springframework.stereotype.Repository; * @Modify: **/ @Repository -public interface MesESOPRepository extends BaseRepository { +public interface MesEsopRepository extends BaseRepository { } diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesFileRepository.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesFileRepository.java new file mode 100644 index 0000000..16383bc --- /dev/null +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/repository/MesFileRepository.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.pojo.mes.pcn.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.pcn.bean.MesFile; +import org.springframework.stereotype.Repository; + +/** + * @Description : + * @Reference : + * @Author : wynne.lu + * @CreateDate : 2019-07-30 + * @Modify: + **/ +@Repository +public interface MesFileRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesESOP.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesEsop.java similarity index 69% rename from modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesESOP.java rename to modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesEsop.java index 0ea3263..b7aa754 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesESOP.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesEsop.java @@ -12,6 +12,7 @@ import org.hibernate.annotations.DynamicUpdate; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; +import javax.persistence.Transient; /** * @Author: Wynne.Lu @@ -25,7 +26,7 @@ import javax.persistence.Table; @EqualsAndHashCode(callSuper = true) @Table(name = "MES_ESOP") @Api("作业指导书信息表(ODS)") -public class MesESOP extends BaseBean { +public class MesEsop extends BaseBean { @Column(name = "PART_NO") @ApiParam("零件号") @@ -59,4 +60,32 @@ public class MesESOP extends BaseBean { @ApiParam("文件id") private Long fileId; + @Transient + @ApiParam("文件名称") + private String fileName; + + @Transient + @ApiParam("文件URL") + private String fileUrl; + + @Transient + @ApiParam("组名") + private String groupName; + + @Transient + @ApiParam("文件原名") + private String fileOriginName; + + @Transient + @ApiParam("文件大小") + private String fileSize; + + @Transient + @ApiParam("文件类型名称") + private String fileType; + + @Transient + @ApiParam("同步标记") + private Integer syncTag = 0; + } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/EsopFileModel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/EsopFileModel.java new file mode 100644 index 0000000..bfe428f --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/EsopFileModel.java @@ -0,0 +1,26 @@ +package cn.estsh.i3plus.pojo.mes.model; + + +import cn.estsh.i3plus.pojo.mes.bean.MesEsop; +import cn.estsh.i3plus.pojo.mes.bean.MesFile; +import io.swagger.annotations.Api; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author: Wynne.Lu + * @CreateDate: 2019/12/4 3:09 下午 + * @Description: + **/ +@Data +@NoArgsConstructor +@AllArgsConstructor +@Api("FastDfs文件model") +public class EsopFileModel { + + private MesEsop esop; + + private MesFile file; + +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/FastDfsDownloadModel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/FastDfsDownloadModel.java index d58ea90..b676a59 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/FastDfsDownloadModel.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/FastDfsDownloadModel.java @@ -22,6 +22,9 @@ public class FastDfsDownloadModel { @ApiParam("部分相对路径") private String dirPath; + @ApiParam("fdfs文件路径") + private String fdfsPath; + @ApiParam("文件名称") private String fileName; diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesESOPRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesEsopRepository.java similarity index 60% rename from modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesESOPRepository.java rename to modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesEsopRepository.java index 367ef81..f255d1e 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesESOPRepository.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesEsopRepository.java @@ -1,8 +1,7 @@ package cn.estsh.i3plus.pojo.mes.repository; import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; -import cn.estsh.i3plus.pojo.mes.bean.MesActionMethod; -import cn.estsh.i3plus.pojo.mes.bean.MesESOP; +import cn.estsh.i3plus.pojo.mes.bean.MesEsop; import org.springframework.stereotype.Repository; /** @@ -13,5 +12,5 @@ import org.springframework.stereotype.Repository; * @Modify: **/ @Repository -public interface MesESOPRepository extends BaseRepository { +public interface MesEsopRepository extends BaseRepository { } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesFileRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesFileRepository.java new file mode 100644 index 0000000..d909e3f --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesFileRepository.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.pojo.mes.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.bean.MesFile; +import org.springframework.stereotype.Repository; + +/** + * @Description : + * @Reference : + * @Author : wynne.lu + * @CreateDate : 2019-07-30 + * @Modify: + **/ +@Repository +public interface MesFileRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java index 9f115b3..13c409e 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java @@ -416,14 +416,14 @@ public class MesHqlPack { * @param mesWcCheck * @return */ - public static DdlPackBean getMesWcCheck(MesWcCheck mesWcCheck, String organizeCode) { - DdlPackBean packBean = getAllBaseDataByNormalPro(mesWcCheck, organizeCode); + public static DdlPackBean getMesWcCheck(MesWcCheck wcCheck, String organizeCode) { + DdlPackBean packBean = getAllBaseDataByNormalPro(wcCheck, organizeCode); // DdlPreparedPack.getNumEqualPack(mesWcCheck.getIsValid(),"isValid",packBean); - DdlPreparedPack.getStringLikerPack(mesWcCheck.getWorkCenterCode(), "workCenterCode", packBean); - DdlPreparedPack.getStringLikerPack(mesWcCheck.getPartNo(), "partNo", packBean); - DdlPreparedPack.getStringEqualPack(mesWcCheck.getCheckType(), "checkType", packBean); - DdlPreparedPack.getStringLikerPack(mesWcCheck.getCheckObj(), "checkObj", packBean); - DdlPreparedPack.getStringLikerPack(mesWcCheck.getCheckItem(), "checkItem", packBean); + DdlPreparedPack.getStringLikerPack(wcCheck.getWorkCenterCode(), "workCenterCode", packBean); + DdlPreparedPack.getStringLikerPack(wcCheck.getPartNo(), "partNo", packBean); + DdlPreparedPack.getStringEqualPack(wcCheck.getCheckType(), "checkType", packBean); + DdlPreparedPack.getStringLikerPack(wcCheck.getCheckObj(), "checkObj", packBean); + DdlPreparedPack.getStringLikerPack(wcCheck.getCheckItem(), "checkItem", packBean); return packBean; } @@ -470,31 +470,26 @@ public class MesHqlPack { /** * MES 上传文件FastDfs封装 * - * @param mesESOP + * @param esop * @return */ - public static DdlPackBean getMesESOPExcludeById(MesESOP mesESOP, String org) { + public static DdlPackBean getEsopExcludeById(MesEsop esop, String org) { DdlPackBean packBean = getAllBaseData(org); - DdlPreparedPack.getStringEqualPack(mesESOP.getPartNo(), "partNo", packBean); - DdlPreparedPack.getStringEqualPack(mesESOP.getRouteCode(), "routeCode", packBean); - DdlPreparedPack.getStringEqualPack(mesESOP.getProcessCode(), "processCode", packBean); - DdlPreparedPack.getStringEqualPack(mesESOP.getStepCode(), "stepCode", packBean); - DdlPreparedPack.getNumEqualPack(mesESOP.getStepSeq(), "stepSeq", packBean); - DdlPreparedPack.getStringEqualPack(mesESOP.getWorkCenterCode(), "workCenterCode", packBean); - DdlPreparedPack.getStringEqualPack(mesESOP.getWorkCellCode(), "workCellCode", packBean); - DdlPreparedPack.getNumNOEqualPack(mesESOP.getId(), "id", packBean); + DdlPreparedPack.getStringEqualPack(esop.getPartNo(), "partNo", packBean); + DdlPreparedPack.getStringEqualPack(esop.getRouteCode(), "routeCode", packBean); + DdlPreparedPack.getStringEqualPack(esop.getProcessCode(), "processCode", packBean); + DdlPreparedPack.getStringEqualPack(esop.getStepCode(), "stepCode", packBean); + DdlPreparedPack.getNumEqualPack(esop.getStepSeq(), "stepSeq", packBean); + DdlPreparedPack.getStringEqualPack(esop.getWorkCenterCode(), "workCenterCode", packBean); + DdlPreparedPack.getStringEqualPack(esop.getWorkCellCode(), "workCellCode", packBean); + DdlPreparedPack.getNumNOEqualPack(esop.getId(), "id", packBean); return packBean; } - public static DdlPackBean getMesESOP(MesESOP mesESOP, String organizeCode) { - DdlPackBean packBean = getAllBaseDataByNormalPro(mesESOP, organizeCode); - if (!StringUtils.isEmpty(mesESOP.getWorkCenterCode())) { - DdlPreparedPack.getStringEqualPack(mesESOP.getWorkCenterCode(), "workCenterCode", packBean); - } - if (!StringUtils.isEmpty(mesESOP.getPartNo())) { - DdlPreparedPack.getStringLikerPack(mesESOP.getPartNo(), "partNo", packBean); - } - + public static DdlPackBean getEsop(MesEsop esop, String organizeCode) { + DdlPackBean packBean = getAllBaseDataByNormalPro(esop, organizeCode); + DdlPreparedPack.getStringEqualPack(esop.getWorkCenterCode(), "workCenterCode", packBean); + DdlPreparedPack.getStringLikerPack(esop.getPartNo(), "partNo", packBean); return packBean; } From a6730b0cd8d232d06a752cec67c84b6a36a811f9 Mon Sep 17 00:00:00 2001 From: jokelone Date: Wed, 4 Dec 2019 20:25:20 +0800 Subject: [PATCH 12/22] =?UTF-8?q?=E3=80=90=E4=BB=BB=E5=8A=A1=EF=BC=9A1287?= =?UTF-8?q?=E4=BA=A7=E5=93=81=E7=B1=BB=E5=9E=8B=E5=9B=BE=E7=89=87=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/pcn/model/ProduceCtgyPictureModel.java | 58 ++++++++++++++++++++++ .../pojo/mes/bean/MesProduceCtgyPicture.java | 27 +++------- 2 files changed, 66 insertions(+), 19 deletions(-) create mode 100644 modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/ProduceCtgyPictureModel.java diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/ProduceCtgyPictureModel.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/ProduceCtgyPictureModel.java new file mode 100644 index 0000000..277f367 --- /dev/null +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/ProduceCtgyPictureModel.java @@ -0,0 +1,58 @@ +package cn.estsh.i3plus.pojo.mes.pcn.model; + +import io.swagger.annotations.ApiParam; + +/** + * @Description: + * @Reference: + * @Author: joke.wang + * @CreateDate: 2019\12\4 17:10 + * @Modify: + **/ +public class ProduceCtgyPictureModel { + + private Long id; + private String createUser; + private String createDatetime; + private String modifyUser; + private String modifyDatetime; + private String organizeCode; + private Integer isValid; + private Integer isDeleted; + + @ApiParam("产品类型代码") + private String produceCategoryCode; + + @ApiParam("面位") + private String sideLocation; + + @ApiParam("文件id") + private Long fileId; + + @ApiParam("文件名称") + private String fileName; + @ApiParam("文件URL") + private String fileUrl; + @ApiParam("组名") + private String groupName; + + public ProduceCtgyPictureModel() { + } + + public ProduceCtgyPictureModel(Long id, String createUser, String createDatetime, String modifyUser, String modifyDatetime, String organizeCode, Integer isValid, Integer isDeleted, String produceCategoryCode, String sideLocation, Long fileId, String fileName, String fileUrl, String groupName) { + this.id = id; + this.createUser = createUser; + this.createDatetime = createDatetime; + this.modifyUser = modifyUser; + this.modifyDatetime = modifyDatetime; + this.organizeCode = organizeCode; + this.isValid = isValid; + this.isDeleted = isDeleted; + this.produceCategoryCode = produceCategoryCode; + this.sideLocation = sideLocation; + this.fileId = fileId; + this.fileName = fileName; + this.fileUrl = fileUrl; + this.groupName = groupName; + } +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProduceCtgyPicture.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProduceCtgyPicture.java index ae64067..5ebbca0 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProduceCtgyPicture.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProduceCtgyPicture.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: @@ -30,29 +31,17 @@ public class MesProduceCtgyPicture extends BaseBean { @Column(name = "PRODUCE_CTGY_CODE") @ApiParam("产品类型代码") - private String produceCategoryCode; + private String produceCtgyCode; @Column(name = "SIDE_LOCATION") @ApiParam("面位") private String sideLocation; - @Column(name = "PICTURE_URL") - @ApiParam("图片URL") - private String pictureUrl; + @Column(name = "FILE_ID") + @ApiParam("文件id") + private Long fileId; - @Column(name = "PICTURE_NAME") - @ApiParam("图片名称") - private String pictureName; - - @Column(name = "FILE_SIZE") - @ApiParam("FILE_SIZE") - private String fileSize; - - @Column(name = "FILE_TYPE_ID") - @ApiParam("FILE_TYPE_ID") - private String fileTypeId; - - @Column(name = "FILE_TYPE_NAME") - @ApiParam("FILE_TYPE_NAME") - private String fileTypeName; + @Transient + @ApiParam("文件名称") + private String fileName; } From cb6fe137d1f0022545fdf410fe33a56f90e73cad Mon Sep 17 00:00:00 2001 From: "jimmy.zeng" Date: Wed, 4 Dec 2019 20:32:37 +0800 Subject: [PATCH 13/22] =?UTF-8?q?=E3=80=90bug6863=20=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E6=97=B6-=E5=A6=82=E6=9E=9C=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E8=AF=A5=E6=9D=A1=E7=A0=81=E6=9C=AA=E6=8A=A5=E5=B7=A5?= =?UTF-8?q?=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 0fe51eb..01f93c4 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,7 +645,8 @@ public class WmsEnumUtil { KT_PURCHASE_RC(450,"KT_PURCHASE_RC", "采购收货"), KT_PACK_RC(460,"KT_PACK_RC", "坤泰包装收货"), FINISH_PRODUCT_SHPING(470, "FINISH_PRODUCT_SHPING", "成品发运"), - KT_PICK_RC(480,"KT_PICK_RC", "坤泰拣货"); + KT_PICK_RC(480,"KT_PICK_RC", "坤泰拣货"), + PRODUCE_INSTOCK(490,"PRODUCE_INSTOCK", "VDA生产入库"); private int value; private String code; From edcdeb3d4ffeebdd90ed42f3639c3c0b0dd92cb9 Mon Sep 17 00:00:00 2001 From: jokelone Date: Thu, 5 Dec 2019 09:54:36 +0800 Subject: [PATCH 14/22] =?UTF-8?q?=E3=80=90=E4=BB=BB=E5=8A=A1=EF=BC=9A1287?= =?UTF-8?q?=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/mes/pcn/bean/MesProduceCtgyPicture.java | 42 +++++++--------------- .../pojo/mes}/model/ProduceCtgyPictureModel.java | 18 +++++----- .../estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java | 22 ------------ 3 files changed, 23 insertions(+), 59 deletions(-) rename modules/{i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn => i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes}/model/ProduceCtgyPictureModel.java (76%) diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesProduceCtgyPicture.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesProduceCtgyPicture.java index b582621..984b9bf 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesProduceCtgyPicture.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesProduceCtgyPicture.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: @@ -30,41 +31,24 @@ public class MesProduceCtgyPicture extends BaseBean { @Column(name = "PRODUCE_CTGY_CODE") @ApiParam("产品类型代码") - private String produceCategoryCode; + private String produceCtgyCode; @Column(name = "SIDE_LOCATION") @ApiParam("面位") private String sideLocation; - @Column(name = "PICTURE_URL") - @ApiParam("图片URL") - private String pictureUrl; - - @Column(name = "PICTURE_NAME") - @ApiParam("图片名称") - private String pictureName; - - @Column(name = "FILE_SIZE") - @ApiParam("FILE_SIZE") - private String fileSize; + @Column(name = "FILE_ID") + @ApiParam("文件id") + private Long fileId; - @Column(name = "FILE_TYPE_ID") - @ApiParam("FILE_TYPE_ID") - private String fileTypeId; + @Transient + @ApiParam("文件名称") + private String fileName; - @Column(name = "FILE_TYPE_NAME") - @ApiParam("FILE_TYPE_NAME") - private String fileTypeName; + @Transient + @ApiParam("文件URL") + private String fileUrl; - @Column(name = "SOP_NAME") - @ApiParam("SOP名称") - private String sopName; - - @Column(name = "GROUP_NAME") - @ApiParam("GROUP_NAME") - private String groupName; - - @Column(name = "SYNC_TAG") - @ApiParam("SYNC_TAG") - private Integer syncTag = 0; + @ApiParam("图片URL") + private String pictureUrl; } diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/ProduceCtgyPictureModel.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/ProduceCtgyPictureModel.java similarity index 76% rename from modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/ProduceCtgyPictureModel.java rename to modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/ProduceCtgyPictureModel.java index 277f367..ae4142d 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/model/ProduceCtgyPictureModel.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/model/ProduceCtgyPictureModel.java @@ -1,14 +1,16 @@ -package cn.estsh.i3plus.pojo.mes.pcn.model; +package cn.estsh.i3plus.pojo.mes.model; import io.swagger.annotations.ApiParam; +import lombok.Data; /** * @Description: * @Reference: * @Author: joke.wang - * @CreateDate: 2019\12\4 17:10 + * @CreateDate: 2019\12\4 16:44 * @Modify: **/ +@Data public class ProduceCtgyPictureModel { private Long id; @@ -21,7 +23,7 @@ public class ProduceCtgyPictureModel { private Integer isDeleted; @ApiParam("产品类型代码") - private String produceCategoryCode; + private String produceCtgyCode; @ApiParam("面位") private String sideLocation; @@ -29,8 +31,8 @@ public class ProduceCtgyPictureModel { @ApiParam("文件id") private Long fileId; - @ApiParam("文件名称") - private String fileName; + @ApiParam("文件原名称") + private String fileOriginName; @ApiParam("文件URL") private String fileUrl; @ApiParam("组名") @@ -39,7 +41,7 @@ public class ProduceCtgyPictureModel { public ProduceCtgyPictureModel() { } - public ProduceCtgyPictureModel(Long id, String createUser, String createDatetime, String modifyUser, String modifyDatetime, String organizeCode, Integer isValid, Integer isDeleted, String produceCategoryCode, String sideLocation, Long fileId, String fileName, String fileUrl, String groupName) { + public ProduceCtgyPictureModel(Long id, String createUser, String createDatetime, String modifyUser, String modifyDatetime, String organizeCode, Integer isValid, Integer isDeleted, String produceCtgyCode, String sideLocation, Long fileId, String fileOriginName, String fileUrl, String groupName) { this.id = id; this.createUser = createUser; this.createDatetime = createDatetime; @@ -48,10 +50,10 @@ public class ProduceCtgyPictureModel { this.organizeCode = organizeCode; this.isValid = isValid; this.isDeleted = isDeleted; - this.produceCategoryCode = produceCategoryCode; + this.produceCtgyCode = produceCtgyCode; this.sideLocation = sideLocation; this.fileId = fileId; - this.fileName = fileName; + this.fileOriginName = fileOriginName; this.fileUrl = fileUrl; this.groupName = groupName; } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java index a79ca12..6f6a532 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java @@ -1421,28 +1421,6 @@ public class MesHqlPack { } /** - * MES 产品类型图片查询条件封装 - * - * @param mesProduceCtgyPicture - * @param organizeCode - * @return - */ - public static DdlPackBean getMesProduceCtgyPicture(MesProduceCtgyPicture mesProduceCtgyPicture, String organizeCode) { - DdlPackBean packBean = getAllBaseDataByNormalPro(mesProduceCtgyPicture, organizeCode); - if (!StringUtils.isEmpty(mesProduceCtgyPicture.getProduceCategoryCode())) { - DdlPreparedPack.getStringLikerPack(mesProduceCtgyPicture.getProduceCategoryCode(), "produceCtgyCode", packBean); - } - if (!StringUtils.isEmpty(mesProduceCtgyPicture.getPictureName())) { - DdlPreparedPack.getStringLikerPack(mesProduceCtgyPicture.getPictureName(), "pictureName", packBean); - } - if (!StringUtils.isEmpty(mesProduceCtgyPicture.getSideLocation())) { - DdlPreparedPack.getStringLikerPack(mesProduceCtgyPicture.getSideLocation(), "sideLocation", packBean); - } - return packBean; - } - - - /** * 设备通知对象配置 查询条件封装 * * @param mesEquNotifyObjectCfg From 61f3465255308d255eb0c63737d00510bef59650 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=80=9D=E6=B4=81?= Date: Thu, 5 Dec 2019 11:47:54 +0800 Subject: [PATCH 15/22] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=B7=A5=E4=BD=8D?= =?UTF-8?q?=E8=A1=A8=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/estsh/i3plus/pojo/wms/bean/WmsBom.java | 8 ++++ .../cn/estsh/i3plus/pojo/wms/bean/WmsPart.java | 16 ++++++++ .../cn/estsh/i3plus/pojo/wms/bean/WmsTerminal.java | 44 ++++++++++++++++++++++ .../pojo/wms/repository/WmsTerminalRepository.java | 17 +++++++++ .../estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java | 17 +++++++++ 5 files changed, 102 insertions(+) create mode 100644 modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsTerminal.java create mode 100644 modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsTerminalRepository.java 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 01b1fea..a6fc23c 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 @@ -97,6 +97,14 @@ public class WmsBom extends BaseBean { @Transient public String routingCode; + @Column(name = "LOCATE_NO") + @ApiParam(value = "线边库位代码") + private String locateNo; + + @Column(name = "TERMINAL_NO") + @ApiParam(value = "工位代码") + private String terminalnNo; + public Double getQty() { return this.qty == null ? 0 : this.qty.doubleValue(); } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPart.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPart.java index 3f08e96..1d2e6b8 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPart.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsPart.java @@ -191,10 +191,22 @@ public class WmsPart extends BaseBean { @ApiParam(value = "拉动方式", example = "0") private Integer pullWay = 0; + @Column(name = "CYCLE_RQUEST_PERIOD") + @ApiParam(value = "循环补货周期", example = "0") + private Integer cycleRquestPeriod = 0; + + @Column(name = "CYCLE_RQUEST_QTY") + @ApiParam(value = "循环补货数量", example = "0") + private Double cycleRquestQty = 0d; + public int getIqcValue(){ return this.iqc == null ? 0 : this.iqc.intValue(); } + public int getCycleRquestPeriod(){ + return this.cycleRquestPeriod == null ? 0 : this.cycleRquestPeriod.intValue(); + } + public WmsPart() { } @@ -210,6 +222,10 @@ public class WmsPart extends BaseBean { return max == null? 0:max; } + public Double getCycleRquestQty() { + return this.cycleRquestQty == null? 0d:this.cycleRquestQty.doubleValue(); + } + public WmsPart(String partNo, String partName, Double maxQty, Double minQty, Double cqty, String partType) { this.partNo = partNo; diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsTerminal.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsTerminal.java new file mode 100644 index 0000000..3531e8f --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsTerminal.java @@ -0,0 +1,44 @@ +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; +import javax.persistence.UniqueConstraint; + +/** + * @Description : 工位表 + * @Reference : + * @Author : jessica.chen + * @CreateDate : 2019-12-03 14:21 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name="WMS_TERMINAL") +@Api("工位信息") +public class WmsTerminal extends BaseBean{ + + private static final long serialVersionUID = 9214639813072592713L; + @Column(name="TERMINAL_NO") + @ApiParam("工位代码") + private String terminalNo; + + @Column(name="TERMINAL_NAME") + @ApiParam("工位名称") + private String terminalName; + + @Column(name="PDLINE_NO") + @ApiParam("产线代码") + private String pdlineNo; +} \ No newline at end of file diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsTerminalRepository.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsTerminalRepository.java new file mode 100644 index 0000000..e7deb3e --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsTerminalRepository.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.BasVendor; +import cn.estsh.i3plus.pojo.wms.bean.WmsTerminal; +import org.springframework.stereotype.Repository; + +/** + * @Description :工位信息 + * @Reference : + * @Author : jessica.chen + * @CreateDate : 2018-11-07 14:49 + * @Modify: + **/ +@Repository +public interface WmsTerminalRepository 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 d823254..a3d67fc 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 @@ -2515,4 +2515,21 @@ public class WmsHqlPack { return result; } + + /** + * 打印机管理信息分页查询条件 + * + * @param wmsTerminal + * @return + */ + public static DdlPackBean packHqlWmsTerminal(WmsTerminal wmsTerminal) { + DdlPackBean result = new DdlPackBean(); + + DdlPreparedPack.getStringLikerPack(wmsTerminal.getPdlineNo(), "pdlineNo", result); + DdlPreparedPack.getStringLikerPack(wmsTerminal.getTerminalNo(), "terminalNo", result); + + getStringBuilderPack(wmsTerminal, result); + + return result; + } } From 032260b9f2c213408533a80e5cb790048cdcc200 Mon Sep 17 00:00:00 2001 From: zcg Date: Thu, 5 Dec 2019 15:37:43 +0800 Subject: [PATCH 16/22] =?UTF-8?q?[=E9=9C=80=E6=B1=82=EF=BC=9A1290=EF=BC=8C?= =?UTF-8?q?=E5=AF=BC=E5=85=A5excel]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java | 6 +++++- 1 file changed, 5 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 18c9e29..caa2b5d 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 @@ -1333,7 +1333,11 @@ public class MesEnumUtil { MES_DATA_OBJECT(220, "数据对象"), MES_OBJECT_CFG(230, "对象结构"), MES_WC_CHECK(240, "开线检查"), - MES_QC_CHECK_STANDARD(250, "质量检测标准"); + MES_QC_CHECK_STANDARD(250, "质量检测标准"), + MES_FAULT_CAUSE(260,"设备故障原因"), + MES_FAULT_METHOD(270,"设备故障处理措施"), + MES_FAULT_PHENOMENON(280,"设备故障现象"); + private int value; private String description; From a0780669c335431579e39eab5f657cfe509ab0ee Mon Sep 17 00:00:00 2001 From: jokelone Date: Thu, 5 Dec 2019 15:59:58 +0800 Subject: [PATCH 17/22] =?UTF-8?q?=E3=80=90=E4=BB=BB=E5=8A=A1=EF=BC=9A1287?= =?UTF-8?q?=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../estsh/i3plus/pojo/mes/bean/MesProduceCtgyPicture.java | 4 ++-- .../java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java | 15 +++++++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProduceCtgyPicture.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProduceCtgyPicture.java index 5ebbca0..bd45841 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProduceCtgyPicture.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesProduceCtgyPicture.java @@ -42,6 +42,6 @@ public class MesProduceCtgyPicture extends BaseBean { private Long fileId; @Transient - @ApiParam("文件名称") - private String fileName; + @ApiParam("文件原名称") + private String fileOriginName; } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java index 6f6a532..368abef 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java @@ -5,6 +5,7 @@ import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.MesEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.base.util.StringUtil; import cn.estsh.i3plus.pojo.mes.bean.*; import org.springframework.util.StringUtils; @@ -1848,14 +1849,20 @@ public class MesHqlPack { if (mesProduceSn.getQcStatus() != null) { DdlPreparedPack.getNumEqualPack(mesProduceSn.getQcStatus(), "qcStatus", packBean); } + if (!StringUtil.isEmpty(mesProduceSn.getOutWorkCenterStartTime())) { + DdlPreparedPack.getStringSmallerPack(mesProduceSn.getOutWorkCenterStartTime(), "outWorkCenterTime", packBean); + } + if (!StringUtil.isEmpty(mesProduceSn.getOutWorkCenterEndTime())) { + DdlPreparedPack.getStringBiggerPack(mesProduceSn.getOutWorkCenterEndTime(), "outWorkCenterTime", packBean); +// DdlPreparedPack.timeBuilder( +// mesProduceSn.getOutWorkCenterStartTime(), +// mesProduceSn.getOutWorkCenterEndTime(), +// "outWorkCenterTime", packBean, true); + } DdlPreparedPack.timeBuilder( mesProduceSn.getCreateDateTimeStart(), mesProduceSn.getCreateDateTimeEnd(), "createDatetime", packBean, true); - DdlPreparedPack.timeBuilder( - mesProduceSn.getOutWorkCenterStartTime(), - mesProduceSn.getOutWorkCenterEndTime(), - "outWorkCenterTime", packBean, true); return packBean; } From f4b50200b2b7e5ff9ea176d48968f585863b1024 Mon Sep 17 00:00:00 2001 From: WYnneaoapc Date: Thu, 5 Dec 2019 16:04:17 +0800 Subject: [PATCH 18/22] =?UTF-8?q?bug`6866`=201=20=E6=89=93=E5=8D=B0?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/pojo/base/enumutil/MesPcnEnumUtil.java | 2 +- .../i3plus/pojo/mes/pcn/bean/MesPcnSyncCfg.java | 16 ++++++++------- .../estsh/i3plus/pojo/mes/bean/MesPcnSyncCfg.java | 23 +++++++++++++++------- 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesPcnEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesPcnEnumUtil.java index 2669422..bef1e71 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesPcnEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesPcnEnumUtil.java @@ -1180,7 +1180,7 @@ public class MesPcnEnumUtil { MATERIAL(30, "materials", "物料"), ROUTE(40, "routes", "工艺"), ONLINE_SIGNAL(50, "onlineSignal", "开线信号"), - MAKE_UP_SIGNAL(60, "makeUpSignal", "补偿信号"); + ENVIRONMENT(60, "environment", "环境"); private int value; diff --git a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesPcnSyncCfg.java b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesPcnSyncCfg.java index a715a1d..e3e82aa 100644 --- a/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesPcnSyncCfg.java +++ b/modules/i3plus-pojo-mes-pcn/src/main/java/cn/estsh/i3plus/pojo/mes/pcn/bean/MesPcnSyncCfg.java @@ -1,7 +1,7 @@ package cn.estsh.i3plus.pojo.mes.pcn.bean; import cn.estsh.i3plus.pojo.base.bean.BaseBean; -import com.fasterxml.jackson.annotation.JsonFormat; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; @@ -49,20 +49,18 @@ public class MesPcnSyncCfg extends BaseBean { private Integer syncFrequency; @Column(name = "SYNC_TIME") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiParam(value = "同步时间") private String syncTime; - @Column(name = "SYNC_PATTERN")//2.新增 1.修改 - @ApiParam("同步方式") + @Column(name = "SYNC_PATTERN") + @ApiParam("同步方式 2.新增 1.修改") private Integer syncPattern; - @Column(name = "SYNC_TYPE")//1.pcn获取mes数据 2.pcn推送数据至mes - @ApiParam("同步类型") + @Column(name = "SYNC_TYPE") + @ApiParam("同步类型 1.pcn获取mes数据 2.pcn推送数据至mes") private Integer syncType; @Column(name = "LAST_SYNC_TIME") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiParam(value = "上一同步时间") private String lastSyncTime; @@ -74,6 +72,10 @@ public class MesPcnSyncCfg extends BaseBean { @ApiParam(value = "从数据库抽取的条件限制") private String extractCondition; + @Column(name = "IS_IGNORE_ORG") + @ApiParam(value = "同步的时候是否区分工厂") + private Integer isIgnoreOrg = CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(); + public int getSyncFrequencyVal() { return this.syncFrequency == null ? 0 : this.syncFrequency; } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPcnSyncCfg.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPcnSyncCfg.java index 7501970..7543670 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPcnSyncCfg.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesPcnSyncCfg.java @@ -1,7 +1,7 @@ package cn.estsh.i3plus.pojo.mes.bean; import cn.estsh.i3plus.pojo.base.bean.BaseBean; -import com.fasterxml.jackson.annotation.JsonFormat; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; @@ -28,6 +28,9 @@ import javax.persistence.Table; @Table(name = "MES_PCN_SYNC_CFG") @Api("MES_PCN_同步配置") public class MesPcnSyncCfg extends BaseBean { + + private static final long serialVersionUID = 7270930330576127126L; + @Column(name = "PCN_CODE") @ApiParam("PCN代码") private String pcnCode; @@ -49,20 +52,18 @@ public class MesPcnSyncCfg extends BaseBean { private Integer syncFrequency; @Column(name = "SYNC_TIME") -// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiParam(value = "同步时间") private String syncTime; - @Column(name = "SYNC_PATTERN")//2、新增 1、修改 - @ApiParam("同步方式") + @Column(name = "SYNC_PATTERN") + @ApiParam("同步方式 2、新增 1、修改") private Integer syncPattern; - @Column(name = "SYNC_TYPE")//1.pcn获取mes数据 2.pcn推送数据至mes - @ApiParam("同步类型") + @Column(name = "SYNC_TYPE") + @ApiParam("同步类型 1.pcn获取mes数据 2.pcn推送数据至mes") private Integer syncType; @Column(name = "LAST_SYNC_TIME") -// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiParam(value = "上一同步时间") private String lastSyncTime; @@ -74,6 +75,14 @@ public class MesPcnSyncCfg extends BaseBean { @ApiParam(value = "从数据库抽取的条件限制") private String extractCondition; + @Column(name = "IS_IGNORE_ORG") + @ApiParam(value = "同步的时候是否区分工厂") + private Integer isIgnoreOrg = CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(); + + public int getIsIgnoreOrgVal() { + return this.isIgnoreOrg == null ? 0 : this.isIgnoreOrg; + } + public int getSyncFrequencyVal() { return this.syncFrequency == null ? 0 : this.syncFrequency; } From fcc2b09559a6f0039266a01f5b07eeb055aec414 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Thu, 5 Dec 2019 17:20:31 +0800 Subject: [PATCH 19/22] =?UTF-8?q?=E3=80=90=E5=AE=89=E7=81=AF=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=9E=9A=E4=B8=BE=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/estsh/i3plus/pojo/base/enumutil/AndonEnumUtil.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/AndonEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/AndonEnumUtil.java index afcbeff..f435f19 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/AndonEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/AndonEnumUtil.java @@ -947,12 +947,12 @@ public class AndonEnumUtil { */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum ALARM_TYPE { - PART("PART_ALARM", 111020005, "物料"), - QUALITY("QUALITY_ALARM", 111020006, "质量"), - EQUIP("EQUMENT_ALARM", 111020007, "设备"), - PROCESS("ROUTING_ALARM", 111020008, "工艺"), - CHECK("OTHER_ALARM", 111020009, "自处理"), - FIX_ERROR("FIX_ERROR", 111020010, "自动报警"); + PART("PART_ALARM", 110060205, "物料"), + QUALITY("QUALITY_ALARM", 110060206, "质量"), + EQUIP("EQUMENT_ALARM", 110060207, "设备"), + PROCESS("ROUTING_ALARM", 110060208, "工艺"), + CHECK("OTHER_ALARM", 110060209, "自处理"), + FIX_ERROR("FIX_ERROR", 110060210, "自动报警"); private String value; private Integer code; From 5797ec4b1b045c23c624fdb2d0a8e97402168ffe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=80=9D=E6=B4=81?= Date: Thu, 5 Dec 2019 17:31:17 +0800 Subject: [PATCH 20/22] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=B7=A5=E4=BD=8D?= =?UTF-8?q?=E8=A1=A8=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsBom.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 a6fc23c..27a400a 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 @@ -103,7 +103,7 @@ public class WmsBom extends BaseBean { @Column(name = "TERMINAL_NO") @ApiParam(value = "工位代码") - private String terminalnNo; + private String terminalNo; public Double getQty() { return this.qty == null ? 0 : this.qty.doubleValue(); From eb5f9610a8fc788652bc0c6c55cbeba7c14ab20d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=80=9D=E6=B4=81?= Date: Thu, 5 Dec 2019 18:24:34 +0800 Subject: [PATCH 21/22] =?UTF-8?q?=E3=80=90KT-1282=20=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E6=8B=89=E5=8A=A8-=E7=8F=AD=E6=AC=A1=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/estsh/i3plus/pojo/wms/bean/WmsShift.java | 48 ++++++++++++++++++++ .../estsh/i3plus/pojo/wms/bean/WmsShiftRest.java | 52 ++++++++++++++++++++++ .../pojo/wms/repository/WmsShiftRepository.java | 17 +++++++ .../wms/repository/WmsShiftRestRepository.java | 17 +++++++ .../estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java | 37 ++++++++++++++- 5 files changed, 170 insertions(+), 1 deletion(-) create mode 100644 modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsShift.java create mode 100644 modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsShiftRest.java create mode 100644 modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsShiftRepository.java create mode 100644 modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsShiftRestRepository.java diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsShift.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsShift.java new file mode 100644 index 0000000..b894c55 --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsShift.java @@ -0,0 +1,48 @@ +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 : jessica.chen + * @CreateDate : 2019-11-05 14:21 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name="WMS_SHIFT") +@Api("班次信息") +public class WmsShift extends BaseBean{ + + private static final long serialVersionUID = 9214639813072592714L; + + @Column(name="SHIFT_NO") + @ApiParam("班次编码") + private String shiftNo; + + @Column(name="SHIFT_NAME") + @ApiParam("班次名称") + private String shiftName; + + @Column(name="START_TIME") + @ApiParam("开始时间") + private String startTime; + + @Column(name="END_TIME") + @ApiParam("结束时间") + private String endTime; +} \ No newline at end of file diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsShiftRest.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsShiftRest.java new file mode 100644 index 0000000..103808a --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsShiftRest.java @@ -0,0 +1,52 @@ +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 : jessica.chen + * @CreateDate : 2019-11-05 14:21 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name="WMS_SHIFT_REST") +@Api("班休信息") +public class WmsShiftRest extends BaseBean{ + + private static final long serialVersionUID = 9214639813072592715L; + + @Column(name="REST_NO") + @ApiParam("班休代码") + private String restNo; + + @Column(name="REST_NAME") + @ApiParam("班休名称") + private String restName; + + @Column(name="SHIFT_NO") + @ApiParam("班次编码") + private String shiftNo; + + @Column(name="START_REST_TIME") + @ApiParam("开始休息时间") + private String startRestTime; + + @Column(name="END_REST_TIME") + @ApiParam("结束休息时间") + private String endRestTime; +} \ No newline at end of file diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsShiftRepository.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsShiftRepository.java new file mode 100644 index 0000000..7f04633 --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsShiftRepository.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.WmsShift; +import cn.estsh.i3plus.pojo.wms.bean.WmsTerminal; +import org.springframework.stereotype.Repository; + +/** + * @Description :班次信息 + * @Reference : + * @Author : jessica.chen + * @CreateDate : 2018-12-05 14:49 + * @Modify: + **/ +@Repository +public interface WmsShiftRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsShiftRestRepository.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsShiftRestRepository.java new file mode 100644 index 0000000..c7c87d0 --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsShiftRestRepository.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.WmsShift; +import cn.estsh.i3plus.pojo.wms.bean.WmsShiftRest; +import org.springframework.stereotype.Repository; + +/** + * @Description :班休信息 + * @Reference : + * @Author : jessica.chen + * @CreateDate : 2018-12-05 14:49 + * @Modify: + **/ +@Repository +public interface WmsShiftRestRepository 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 81642a2..d23756e 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 @@ -2519,7 +2519,7 @@ public class WmsHqlPack { } /** - * 打印机管理信息分页查询条件 + * 工位信息分页查询条件 * * @param wmsTerminal * @return @@ -2534,4 +2534,39 @@ public class WmsHqlPack { return result; } + + /** + * 班次信息分页查询条件 + * + * @param wmsShift + * @return + */ + public static DdlPackBean packHqlWmsShift(WmsShift wmsShift) { + DdlPackBean result = new DdlPackBean(); + + DdlPreparedPack.getStringLikerPack(wmsShift.getShiftNo(), "shiftNo", result); + DdlPreparedPack.getStringLikerPack(wmsShift.getShiftName(), "shiftName", result); + + getStringBuilderPack(wmsShift, result); + + return result; + } + + /** + * 班休信息分页查询条件 + * + * @param wmsShiftRest + * @return + */ + public static DdlPackBean packHqlWmsShiftRest(WmsShiftRest wmsShiftRest) { + DdlPackBean result = new DdlPackBean(); + + DdlPreparedPack.getStringLikerPack(wmsShiftRest.getShiftNo(), "shiftNo", result); + DdlPreparedPack.getStringLikerPack(wmsShiftRest.getRestNo(), "restNo", result); + DdlPreparedPack.getStringLikerPack(wmsShiftRest.getRestName(), "restName", result); + + getStringBuilderPack(wmsShiftRest, result); + + return result; + } } From ca952d5211bc5b6fe15399e2a1c8fe316e3b26b1 Mon Sep 17 00:00:00 2001 From: WYnneaoapc Date: Thu, 5 Dec 2019 21:13:22 +0800 Subject: [PATCH 22/22] =?UTF-8?q?bug`6866`=202=20=E6=89=93=E5=8D=B0?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/pojo/base/enumutil/MesEnumUtil.java | 36 +++++++++++++++++++++- 1 file changed, 35 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 18c9e29..ac5dd29 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 @@ -12,6 +12,38 @@ import com.fasterxml.jackson.annotation.JsonFormat; public class MesEnumUtil { + @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 valueOfDescription(int val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + tmp = values()[i].description; + } + } + return tmp; + } + } + /** * 包装规格-是否混包 MES_PACK_SPEC * 10. @@ -172,7 +204,9 @@ public class MesEnumUtil { this.description = description; } - public String getValue() { return value;} + public String getValue() { + return value; + } public String getDescription() { return description;