diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsCSAdjustRange.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsCSAdjustRange.java index dfa6a4b..e383d9e 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsCSAdjustRange.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsCSAdjustRange.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 : 盘点调差范围信息 @@ -39,4 +40,24 @@ public class WmsCSAdjustRange extends BaseBean { @Column(name="IS_ADJUST") @ApiParam(value = "调整标识", example = "1") public Integer isAdjust; + + @Transient + @ApiParam("物料编码") + public String partNo; + + @Transient + @ApiParam("物料名称") + public String partNameRdd; + + @Transient + @ApiParam("存储区编号") + public String zoneNo; + + @Transient + @ApiParam("库位编号") + public String locateNo; + + @Transient + @ApiParam("单位") + public String unit; } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMoveToERP.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMoveToERP.java new file mode 100644 index 0000000..db6b159 --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMoveToERP.java @@ -0,0 +1,162 @@ +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.*; + +/** + * @Description : 库存移动单处理成功后的记录,通过监听交易成功队列写入 + * @Reference : + * @Author : Rock.Yu + * @CreateDate : 2019-06-20 14:09 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "WMS_MOVE_TO_ERP", indexes = { + @Index(columnList = "TRANS_TYPE_CODE"), + @Index(columnList = "ORDER_NO"), + @Index(columnList = "ORGANIZE_CODE"), + @Index(columnList = "PART_NO") +}) +@Api("库存移动单主表信息") +public class WmsMoveToERP extends BaseBean { + + @Column(name = "ORDER_NO") + @ApiParam("单号") + public String orderNo; + + /** + * 状态:1=创建,10=待处理,20=已处理 + */ + @Column(name = "ORDER_STATUS") + @ApiParam(value = "状态", example = "0") + public Integer orderStatus; + + @Column(name = "REMARK") + @ApiParam("备注") + public String remark; + + @Column(name = "TRANS_TYPE_CODE") + @ApiParam(value = "交易类型代码") + private String transTypeCode; + + @Column(name = "ERROR_MESSAGE") + @ApiParam(value = "错误信息") + private String errorMessage; + + @Column(name="IS_URGENT") + @ApiParam(value = "是否紧急", example = "0") + public Integer isUrgent; + + @Column(name = "CAR_NO") + @ApiParam(value = "车牌号") + private String carNo; + + @Column(name="ITEM") + @ApiParam(value = "行号", example = "0") + public Integer item; + + @Column(name="PART_NO") + @ApiParam("物料编码") + public String partNo; + + @Column(name="PART_NAME_RDD") + @ApiParam("物料名称") + public String partNameRdd; + + @Column(name="VENDOR_NO") + @ApiParam("供应商编号") + public String vendorNo; + + @Column(name="CUST_NO") + @ApiParam("客户编号") + public String custNo; + + @Column(name="TRANS_QTY") + @ApiParam(value = "处理数量", example = "0") + public Double transQty; + + @Column(name="REJECT_QTY") + @ApiParam(value = "不合格处理数量", example = "0") + public Double rejectQty; + + @Column(name="UNIT") + @ApiParam("单位") + public String unit; + + @Column(name="SRC_WH_NO") + @ApiParam("源仓库代码") + public String srcWhNo; + + @Column(name="SRC_ZONE_NO") + @ApiParam("源存储区代码") + public String srcZoneNo; + + @Column(name="SRC_LOCATE_NO") + @ApiParam("源库位代码") + public String srcLocateNo; + + @Column(name="DEST_WH_NO") + @ApiParam("目标仓库代码") + public String destWhNo; + + @Column(name="DEST_ZONE_NO") + @ApiParam("目标存储区代码") + public String destZoneNo; + + @Column(name="DEST_LOCATE_NO") + @ApiParam("目标库位代码") + public String destLocateNo; + + /** + * 状态:1=创建,10=待处理,20=已处理 + */ + @Column(name="ITEM_STATUS") + @ApiParam(value = "状态", example = "0") + public Integer itemStatus; + + /** + * ASN,PO,SO + */ + @Column(name="REF_TYPE") + @ApiParam("关联单据类型") + public String refType; + + @Column(name="REF_SRC") + @ApiParam("关联单号") + public String refSrc; + + @ApiParam(value = "待出库数量", example = "0") + @Transient + private Long waitingCounts; + + @ApiParam(value = "已出库数量", example = "0") + @Transient + private Long finishedCounts; + + public Double getRejectQty(){ + return this.rejectQty == null ? 0 : this.rejectQty.doubleValue(); + } + + public Double getTransQty(){ + return this.transQty == null ? 0 : this.transQty.doubleValue(); + } + + public Long getWaitingCounts() { + return waitingCounts == null ? 0L : this.waitingCounts; + } + + public Long getFinishedCounts() { + return finishedCounts == null ? 0L : this.finishedCounts; + } +} diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsMoveDetailsRepository.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsMoveDetailsRepository.java index f7728db..f8d0991 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsMoveDetailsRepository.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsMoveDetailsRepository.java @@ -17,6 +17,14 @@ import java.util.List; public interface WmsMoveDetailsRepository extends BaseRepository { /** + * 根据工厂代码和单据编号查询库存移动单明细表 + * @param organizeCode 工厂代码 + * @param orderNo 单据编号 + * @return 库存移动单明细表 + */ + List findByOrganizeCodeAndOrderNo(String organizeCode, String orderNo); + + /** * 获取item最大值 * @param organizeCode * @param isValid diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsMoveMasterRepository.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsMoveMasterRepository.java index 51c61fe..2d0d1bb 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsMoveMasterRepository.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsMoveMasterRepository.java @@ -13,4 +13,12 @@ import org.springframework.stereotype.Repository; **/ @Repository public interface WmsMoveMasterRepository extends BaseRepository { + + /** + * 根据工厂代码和单据编号查询库存移动单主表数据 + * @param organizeCode 工厂代码 + * @param orderNo 单据编号 + * @return 库存移动单主表 + */ + WmsMoveMaster getFirstByOrganizeCodeAndOrderNo(String organizeCode, String orderNo); } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsMoveSnRepository.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsMoveSnRepository.java index ab104be..dcfeb93 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsMoveSnRepository.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsMoveSnRepository.java @@ -6,6 +6,8 @@ import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; +import java.util.List; + /** * @Description : 库存移动单条码信息 * @Reference : @@ -15,4 +17,13 @@ import org.springframework.stereotype.Repository; **/ @Repository public interface WmsMoveSnRepository extends BaseRepository { + + /** + * 根据工厂代码、单据编号、物料编号查询库存移动单条码表 + * @param organizeCode 工厂代码 + * @param orderNo 单据编号 + * @param partNo 物料编号 + * @return 库存移动单条码表 + */ + List findByOrganizeCodeAndOrderNoAndPartNo(String organizeCode, String orderNo, String partNo); } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsMoveToERPRepository.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsMoveToERPRepository.java new file mode 100644 index 0000000..12d7cb8 --- /dev/null +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsMoveToERPRepository.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.pojo.wms.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.wms.bean.WmsMoveToERP; +import org.springframework.stereotype.Repository; + +/** + * @Description : WMS 同步给 ERP 的交易信息 + * @Reference : + * @Author : Rock.Yu + * @CreateDate : 2019-06-20 14:14 + * @Modify: + **/ +@Repository +public interface WmsMoveToERPRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsStockSnRepository.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsStockSnRepository.java index 75d02d3..a00ba2d 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsStockSnRepository.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/repository/WmsStockSnRepository.java @@ -2,6 +2,7 @@ package cn.estsh.i3plus.pojo.wms.repository; import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; import cn.estsh.i3plus.pojo.wms.bean.WmsStockSn; +import org.springframework.data.jpa.repository.Query; /** * @Description : 库存条码dao层 @@ -17,4 +18,16 @@ public interface WmsStockSnRepository extends BaseRepository { * @return 库存条码实体 */ WmsStockSn findFirstBySn(String sn); + + + /** + * 按照存储区代码查询最早批次的物料条码 + * 按照 特殊批次、生产日期、收货日期 优先级从高到低依次排序 + * @return 最早批次的条码 + */ + @Query(value = "select sn from WmsStockSn " + + "where organizeCode=?1 and isValid=?2 and isDeleted=?3 " + + "and zoneNo=?4 and partNo=?5 " + + "order by fixLotNo, dateCode, lotNo") + WmsStockSn findFirstFifoSNByZoneNo(String organizeCode, int isValid, int isDeleted, String zoneNo, String partNo); } 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 cfa2e2c..2413009 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 @@ -1435,7 +1435,7 @@ public class WmsHqlPack { DdlPreparedPack.getStringEqualPack(dataAuth.getOrganizeCode(),"organizeCode",result); // String data = String.join(",", roleIds); DdlPreparedPack.getInPackList(roleIds, "roleCode", result); - getStringBuilderPack(new WmsDataAuth(), result); + getStringBuilderPack(dataAuth, result); return result; }