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 bd6cc87..5821577 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 @@ -629,6 +629,16 @@ public class MesEnumUtil { } return tmp; } + + public static Integer descriptionOfValue(String description) { + Integer tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].description.equals(description)) { + tmp = values()[i].value; + } + } + return tmp; + } } /** @@ -1285,7 +1295,10 @@ public class MesEnumUtil { MES_PCN_SYNC_CFG(50, "PCN同步配置"), MES_PART(60, "物料表"), MES_PRODUCE_CATEGORY(70, "产品类型"), - MES_PACK_SPEC(80, "包装规格"); + MES_PACK_SPEC(80, "包装规格"), + MES_PROD_PACK(90, "产品包装关系"), + MES_PRODUCT_ENCODE_CFG(100, "产品编码配置"), + MES_BOM(110, "物料清单"); private int value; private String description; diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/util/BeanMapUtils.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/util/BeanMapUtils.java index 387ed78..1504765 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/util/BeanMapUtils.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/util/BeanMapUtils.java @@ -1,8 +1,12 @@ package cn.estsh.i3plus.pojo.base.util; +import org.apache.commons.beanutils.BeanUtils; +import org.springframework.cglib.beans.BeanGenerator; import org.springframework.cglib.beans.BeanMap; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; public class BeanMapUtils { @@ -30,4 +34,31 @@ public class BeanMapUtils { return bean; } + + /** + * 键值对转换为对象 + * @param mapList + * @return + */ + public static List generateObjectByField(List> mapList) { + try { + List resultList = new ArrayList<>(); + for (Map propertyMap : mapList) { + BeanGenerator generator = new BeanGenerator(); + for (Map.Entry entry : propertyMap.entrySet()) { + generator.addProperty(entry.getKey(), String.class); + } + // 构建对象 + Object obj = generator.create(); + // 赋值 + for (Map.Entry en : propertyMap.entrySet()) { + BeanUtils.setProperty(obj, en.getKey(), en.getValue()); + } + resultList.add(obj); + } + return resultList; + } catch (Exception e) { + return null; + } + } } 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 a55e442..8b6ac75 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 @@ -350,4 +350,25 @@ public class MesHqlPack { } + /** + * MES班组信息查询条件封装 + * + * @param shiftGroup + * @param organizeCode + * @return + */ + public static DdlPackBean getMesShiftGroup(MesShiftGroup shiftGroup, String organizeCode) { + + DdlPackBean packBean = getAllBaseDataByNormalPro(shiftGroup, organizeCode); + if (!StringUtils.isEmpty(shiftGroup.getGroupCode())) { + DdlPreparedPack.getStringLikerPack(shiftGroup.getGroupCode(), "groupCode", packBean); + } + if (!StringUtils.isEmpty(shiftGroup.getGroupName())) { + DdlPreparedPack.getStringLikerPack(shiftGroup.getGroupName(), "groupName", packBean); + } + if (!StringUtils.isEmpty(shiftGroup.getWorkCenterCode())) { + DdlPreparedPack.getStringLikerPack(shiftGroup.getWorkCenterCode(), "workCenterCode", packBean); + } + return packBean; + } } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesDefectRecord.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesDefectRecord.java index 89540d9..9008e5e 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesDefectRecord.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesDefectRecord.java @@ -26,33 +26,49 @@ import java.util.Date; @DynamicUpdate @EqualsAndHashCode(callSuper = true) @Table(name = "MES_DEFECT_RECORD") -@Api("生产工单") +@Api("不良信息记录表") public class MesDefectRecord extends BaseBean { - @Column(name = "SERIAL_NUMBER") + @Column(name="SERIAL_NUMBER") @ApiParam("产品条码") private String serialNumber; - @Column(name = "PART_NO") + @Column(name="PART_NO") @ApiParam("物料号") private String partNo; - @Column(name = "DEFECT_CODE") - @ApiParam("不良代码") + @Column(name="PART_NAME") + @ApiParam("物料名称") + private String partName; + + @Column(name="DEFECT_CODE") + @ApiParam("缺陷代码") private String defectCode; - @Column(name = "REPAIR_STATUS") + @Column(name="DEFECT_NAME") + @ApiParam("缺陷名称") + private String defectName; + + @Column(name="DEFECT_LOCATION") + @ApiParam("缺陷位置") + private String defectLocation; + + @Column(name = "SIDE_LOCATION") + @ApiParam("面位") + private String sideLocation; + + @Column(name="REPAIR_STATUS") @ApiParam("维修状态") private Integer repairStatus; - @Column(name = "WORK_CENTER_CODE") + @Column(name="WORK_CENTER_CODE") @ApiParam("工作中心代码") private String workCenterCode; - @Column(name = "WORK_CELL_CODE") + @Column(name="WORK_CELL_CODE") @ApiParam("工作单元代码") private String workCellCode; - @Column(name = "MEMO") + @Column(name="MEMO") @ApiParam("备注") private String memo; diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesQcCheckData.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesQcCheckData.java new file mode 100644 index 0000000..495fec2 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesQcCheckData.java @@ -0,0 +1,97 @@ +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; +import javax.persistence.Transient; +import java.util.List; + +/** + * @Description: + * @Reference: + * @Author: joke.wang + * @CreateDate: 2019\10\12 16:33 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "MES_QC_CHECK_DATA") +@Api("质量过程检测数据") +public class MesQcCheckData extends BaseBean { + + @Column(name = "CHECK_ID") + @ApiParam("检测id") + private String checkId; + + @Column(name = "PART_NO") + @ApiParam("物料编码") + private String partNo; + + @Column(name = "WORK_CENTER_CODE") + @ApiParam("工作中心代码") + private String workCenterCode; + + @Column(name = "WORK_CELL_CODE") + @ApiParam("工作单元代码") + private String workCellCode; + + @Column(name = "CHECK_TYPE") + @ApiParam("检测类型") + private Integer checkType; + + @Column(name = "CHECK_ITEM") + @ApiParam("检测项") + private String checkItem; + + @Column(name = "CHECK_STANDARD") + @ApiParam("检测标准") + private String checkStandard; + + @Column(name = "CHECK_GUIDE") + @ApiParam("检测指导") + private String checkGuide; + + @Column(name = "CHECK_FREQUENCY") + @ApiParam("频率") + private String checkFrequency; + + @Column(name = "CHECK_VALUE") + @ApiParam("检测值") + private String checkValue; + + @Column(name = "CHECK_RESULT") + @ApiParam("判定结果") + private String checkResult; + + @Column(name = "SN") + @ApiParam("产品条码") + private String sn; + + @Column(name = "QTY") + @ApiParam("产品数量") + private Integer qty; + + @Column(name = "MEMO") + @ApiParam("备注") + private String memo; + + @Column(name = "ORDER_NO") + @ApiParam("工单号") + private String orderNo; + + @Column(name = "CUST_CODE") + @ApiParam("客户代码") + private String custCode; + +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/IMesPartObjectRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/IMesPartObjectRepository.java new file mode 100644 index 0000000..c26afa5 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/IMesPartObjectRepository.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.pojo.mes.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.bean.MesPartObject; + +/** + * @Description: + * @Reference: + * @Author: joke.wang + * @CreateDate: 2019\11\25 15:07 + * @Modify: + **/ +public interface IMesPartObjectRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesQcCheckDataRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesQcCheckDataRepository.java new file mode 100644 index 0000000..dba2f1c --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesQcCheckDataRepository.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.pojo.mes.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.bean.MesQcCheckData; + +/** + * @Description: + * @Reference: + * @Author: joke.wang + * @CreateDate: 2019\11\25 13:50 + * @Modify: + **/ +public interface MesQcCheckDataRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesRepairRecordRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesRepairRecordRepository.java new file mode 100644 index 0000000..ccead63 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesRepairRecordRepository.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.pojo.mes.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.bean.MesRepairRecord; + +/** + * @Description: + * @Reference: + * @Author: joke.wang + * @CreateDate: 2019\11\25 13:39 + * @Modify: + **/ +public interface MesRepairRecordRepository 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 70087fd..d125255 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 @@ -365,6 +365,9 @@ public class MesHqlPack { if (!StringUtils.isEmpty(shiftGroup.getGroupName())) { DdlPreparedPack.getStringLikerPack(shiftGroup.getGroupName(), "groupName", packBean); } + if (!StringUtils.isEmpty(shiftGroup.getWorkCenterCode())) { + DdlPreparedPack.getStringLikerPack(shiftGroup.getWorkCenterCode(), "workCenterCode", packBean); + } return packBean; } @@ -1923,4 +1926,70 @@ public class MesHqlPack { return packBean; } + /** + * 维修记录 + * @param mesRepairRecord + * @param organizeCode + * @return + */ + public static DdlPackBean getMesRepairRecord(MesRepairRecord mesRepairRecord, String organizeCode) { + DdlPackBean packBean = getAllBaseDataByNormalPro(mesRepairRecord, organizeCode); + if (!StringUtils.isEmpty(mesRepairRecord.getPartNo())) { + DdlPreparedPack.getStringLikerPack(mesRepairRecord.getPartNo(), "partNo", packBean); + } + if (!StringUtils.isEmpty(mesRepairRecord.getSerialNumber())) { + DdlPreparedPack.getStringLikerPack(mesRepairRecord.getSerialNumber(), "serialNumber", packBean); + } + if (!StringUtils.isEmpty(mesRepairRecord.getWorkCenterCode())) { + DdlPreparedPack.getStringLikerPack(mesRepairRecord.getWorkCenterCode(), "workCenterCode", packBean); + } + if (!StringUtils.isEmpty(mesRepairRecord.getWorkCellCode())) { + DdlPreparedPack.getStringLikerPack(mesRepairRecord.getWorkCellCode(), "workCellCode", packBean); + } + if (!StringUtils.isEmpty(mesRepairRecord.getDefectCode())) { + DdlPreparedPack.getStringLikerPack(mesRepairRecord.getDefectCode(), "defectCode", packBean); + } + if (!StringUtils.isEmpty(mesRepairRecord.getRepairCode())) { + DdlPreparedPack.getStringLikerPack(mesRepairRecord.getRepairCode(), "repairCode", packBean); + } + if (!StringUtils.isEmpty(mesRepairRecord.getDcCode())) { + DdlPreparedPack.getStringLikerPack(mesRepairRecord.getDcCode(), "dcCode", packBean); + } + DdlPreparedPack.timeBuilder( + mesRepairRecord.getCreateDateTimeStart(), + mesRepairRecord.getCreateDateTimeEnd(), + "createDatetime", packBean, true); + return packBean; + } + + /** + * 过程质量检测数据 + * @param mesQcCheckData + * @param organizeCode + * @return + */ + public static DdlPackBean getMesQcCheckData(MesQcCheckData mesQcCheckData, String organizeCode) { + DdlPackBean packBean = getAllBaseDataByNormalPro(mesQcCheckData, organizeCode); + if (!StringUtils.isEmpty(mesQcCheckData.getPartNo())) { + DdlPreparedPack.getStringLikerPack(mesQcCheckData.getPartNo(), "partNo", packBean); + } + if (!StringUtils.isEmpty(mesQcCheckData.getOrderNo())) { + DdlPreparedPack.getStringLikerPack(mesQcCheckData.getOrderNo(), "orderNo", packBean); + } + if (!StringUtils.isEmpty(mesQcCheckData.getSn())) { + DdlPreparedPack.getStringLikerPack(mesQcCheckData.getSn(), "sn", packBean); + } + if (!StringUtils.isEmpty(mesQcCheckData.getWorkCenterCode())) { + DdlPreparedPack.getStringLikerPack(mesQcCheckData.getWorkCenterCode(), "workCenterCode", packBean); + } + if (!StringUtils.isEmpty(mesQcCheckData.getWorkCellCode())) { + DdlPreparedPack.getStringLikerPack(mesQcCheckData.getWorkCellCode(), "workCellCode", packBean); + } + DdlPreparedPack.timeBuilder( + mesQcCheckData.getCreateDateTimeStart(), + mesQcCheckData.getCreateDateTimeEnd(), + "createDatetime", packBean, true); + return packBean; + } + } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementDetails.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementDetails.java index 591b77b..5703187 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementDetails.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementDetails.java @@ -147,6 +147,9 @@ public class WmsDocMovementDetails extends BaseBean { @ApiParam("目的库存地代码") public String destAreaNo; + @Column(name = "LOT_NO") + @ApiParam("批次") + public String lotNo; @Transient @ApiParam("实际批次") private String actualLot; diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsVendorPart.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsVendorPart.java index 3d90a3d..042c111 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsVendorPart.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsVendorPart.java @@ -42,6 +42,10 @@ public class WmsVendorPart extends BaseBean { @ApiParam(value = "供应商物料号") private String vendorPartNo; + @Column(name = "MAX_AMOUNT") + @ApiParam(value = "供应商月提供最大数量") + private Double maxAmount; + @Transient @ApiParam("物料名称") private String partName;