diff --git a/src/main/java/com/huaheng/pc/inventory/adjustDetail/domain/AdjustDetail.java b/src/main/java/com/huaheng/pc/inventory/adjustDetail/domain/AdjustDetail.java index 7302a6b..4abc807 100644 --- a/src/main/java/com/huaheng/pc/inventory/adjustDetail/domain/AdjustDetail.java +++ b/src/main/java/com/huaheng/pc/inventory/adjustDetail/domain/AdjustDetail.java @@ -268,6 +268,48 @@ public class AdjustDetail implements Serializable { @TableField(value = "lastUpdated") @ApiModelProperty(value = "更新时间") private Date lastUpdated; + /** + * 供应商 + */ + @TableField(value = "supplierCode") + @ApiModelProperty(value = "供应商") + private String supplierCode; + /** + * 批次 + */ + @TableField(value = "batch") + @ApiModelProperty(value = "批次") + private String batch; + /** + * 批号 + */ + @TableField(value = "lot") + @ApiModelProperty(value = "批号") + private String lot; + /** + * 项目号 + */ + @TableField(value = "projectNo") + @ApiModelProperty(value = "项目号") + private String projectNo; + /** + * 重量 + */ + @TableField(value = "weight") + @ApiModelProperty(value = "重量") + private String weight; + /** + * 生产日期 + */ + @TableField(value = "manufactureDate") + @ApiModelProperty(value = "生产日期") + private Date manufactureDate; + /** + * 失效日期 + */ + @TableField(value = "expirationDate") + @ApiModelProperty(value = "失效日期") + private Date expirationDate; private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java index 75086d4..7626542 100644 --- a/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java +++ b/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java @@ -291,15 +291,71 @@ public class AdjustDetailServiceImpl extends ServiceImpl<AdjustDetailMapper, Adj @Transactional public void updateAdjustDetailInsert (AdjustDetail adjustDetail) { /*当实际库存为0时,调整单触发插入新库存状态*/ - //判断是否存在库存头,没有需要生成,有库存头直接插入库存明细即可 //新生成库存头时,库位,容器都需要更新数据 + //判断是否存在库存头,没有需要生成,有库存头直接插入库存明细即可 + InventoryHeader ih = new InventoryHeader(); + ih.setWarehouseCode(adjustDetail.getWarehouseCode()); + ih.setLocationCode(adjustDetail.getLocationCode()); + ih.setContainerCode(adjustDetail.getContainerCode()); + LambdaQueryWrapper<InventoryHeader> inventoryHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(ih); + InventoryHeader inventoryHeader = inventoryHeaderService.getOne(inventoryHeaderLambdaQueryWrapper); + if(inventoryHeader == null){ + //库存头为空,生成库存头 + inventoryHeader.setWarehouseCode(adjustDetail.getWarehouseCode()); + inventoryHeader.setLocationCode(adjustDetail.getLocationCode()); + inventoryHeader.setContainerCode(adjustDetail.getContainerCode()); + inventoryHeader.setContainerStatus(""); + inventoryHeader.setCompanyCode(adjustDetail.getCompanyCode()); + inventoryHeader.setMaterialSkuQty(""); + inventoryHeader.setTotalWeight(""); + inventoryHeader.setCreated(new Date()); + inventoryHeader.setCreatedBy(ShiroUtils.getLoginName()); + inventoryHeader.setLastUpdated(new Date()); + inventoryHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); + inventoryHeaderService.saveOrUpdate(inventoryHeader); + //更新库位和容器 + locationService.updateContainerCodeAndStatus(inventoryHeader.getLocationCode(),inventoryHeader.getContainerCode(),"empty"); + containerService.updateLocationCodeAndStatus(inventoryHeader.getContainerCode(),inventoryHeader.getLocationCode(),"empty"); - - - - - + } + //生成库存明细 + InventoryDetail inventoryDetail = new InventoryDetail(); + inventoryDetail.setInventoryHeaderId(inventoryHeader.getId()); + inventoryDetail.setWarehouseCode(adjustDetail.getWarehouseCode()); + inventoryDetail.setCompanyCode(adjustDetail.getCompanyCode()); + inventoryDetail.setLocationCode(adjustDetail.getLocationCode()); + inventoryDetail.setContainerCode(adjustDetail.getContainerCode()); + inventoryDetail.setMaterialCode(adjustDetail.getMaterialCode()); + inventoryDetail.setMaterialName(adjustDetail.getMaterialName()); + inventoryDetail.setMaterialSpec(adjustDetail.getMaterialSpec()); + inventoryDetail.setMaterialUnit(adjustDetail.getMaterialUnit()); + inventoryDetail.setQty(adjustDetail.getToQty()); + inventoryDetail.setTaskQty(adjustDetail.getToQty()); + inventoryDetail.setLockedQty(BigDecimal.ONE); + inventoryDetail.setInventorySts(adjustDetail.getFromInventorySts()); + inventoryDetail.setSupplierCode(adjustDetail.getSupplierCode()); + inventoryDetail.setReferCode(adjustDetail.getAdjustCode()); + inventoryDetail.setReferDetailId(adjustDetail.getId().toString()); + inventoryDetail.setBatch(adjustDetail.getBatch()); + inventoryDetail.setLot(adjustDetail.getLot()); + inventoryDetail.setProjectNo(adjustDetail.getProjectNo()); + inventoryDetail.setWeight(adjustDetail.getWeight()); + inventoryDetail.setManufactureDate(adjustDetail.getManufactureDate()); + inventoryDetail.setExpirationDate(adjustDetail.getExpirationDate()); +// inventoryDetail.setAttributeId(); +// inventoryDetail.setAttribute1(); +// inventoryDetail.setAttribute2(); +// inventoryDetail.setAttribute3(); +// inventoryDetail.setLockCode(); +// inventoryDetail.setLastCycleCountDate(); + inventoryDetail.setCreated(new Date()); + inventoryDetail.setCreatedBy(ShiroUtils.getLoginName()); + inventoryDetail.setLastUpdated(new Date()); + inventoryDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); + inventoryDetail.setReceiptCode(""); + inventoryDetail.setReceiptDetailId(null); + inventoryDetailService.saveOrUpdate(inventoryDetail); } diff --git a/src/main/resources/mybatis/inventory/AdjustDetailMapper.xml b/src/main/resources/mybatis/inventory/AdjustDetailMapper.xml index 7215083..6db1ea3 100644 --- a/src/main/resources/mybatis/inventory/AdjustDetailMapper.xml +++ b/src/main/resources/mybatis/inventory/AdjustDetailMapper.xml @@ -28,6 +28,7 @@ <result column="toQty" jdbcType="INTEGER" property="toQty" /> <result column="gapQty" jdbcType="INTEGER" property="gapQty" /> <result column="status" jdbcType="INTEGER" property="status" /> + <result column="supplierCode" jdbcType="VARCHAR" property="supplierCode" /> <result column="createdBy" jdbcType="VARCHAR" property="createdBy" /> <result column="created" jdbcType="TIMESTAMP" property="created" /> <result column="lastUpdatedBy" jdbcType="VARCHAR" property="lastUpdatedBy" /> @@ -40,13 +41,27 @@ <result column="userDef2" jdbcType="VARCHAR" property="userDef2" /> <result column="userDef3" jdbcType="VARCHAR" property="userDef3" /> <result column="processStamp" jdbcType="VARCHAR" property="processStamp" /> + <result column="batch" jdbcType="VARCHAR" property="batch" /> + <result column="lot" jdbcType="VARCHAR" property="lot" /> + <result column="projectNo" jdbcType="VARCHAR" property="projectNo" /> + <result column="weight" jdbcType="VARCHAR" property="weight" /> + <result column="manufactureDate" jdbcType="TIMESTAMP" property="manufactureDate" /> + <result column="expirationDate" jdbcType="TIMESTAMP" property="expirationDate" /> + + + + + + + + </resultMap> <sql id="Base_Column_List"> <!--@mbg.generated--> id, adjustCode, cycleCountCode, inventoryDetailId, cycleDetailId, checkCode, checkDetailId, referCode, referDetailId, warehouseCode, companyCode, containerCode, locationCode ,materialCode, materialName, materialSpec, materialUnit, problemType, attributeId, fromInventorySts, toInventorySts, - fromQty, toQty, gapQty, `status`, created, createdBy,lastUpdatedBy,lastUpdated, agreeTime, Remark, - version, userDef1, userDef2, userDef3, processStamp + fromQty, toQty, gapQty, `status`,supplierCode, created, createdBy,lastUpdatedBy,lastUpdated, agreeTime, Remark, + version, userDef1, userDef2, userDef3, processStamp, batch, lot,projectNo,weight,manufactureDate,expirationDate </sql> </mapper> \ No newline at end of file