Commit 416f31fc0c38a2659ddc889c2da22bdcd0b66ce4

Authored by xqs
1 parent 4943dc26

调整单插入库存

src/main/java/com/huaheng/pc/inventory/adjustDetail/domain/AdjustDetail.java
... ... @@ -268,6 +268,48 @@ public class AdjustDetail implements Serializable {
268 268 @TableField(value = "lastUpdated")
269 269 @ApiModelProperty(value = "更新时间")
270 270 private Date lastUpdated;
  271 + /**
  272 + * 供应商
  273 + */
  274 + @TableField(value = "supplierCode")
  275 + @ApiModelProperty(value = "供应商")
  276 + private String supplierCode;
  277 + /**
  278 + * 批次
  279 + */
  280 + @TableField(value = "batch")
  281 + @ApiModelProperty(value = "批次")
  282 + private String batch;
  283 + /**
  284 + * 批号
  285 + */
  286 + @TableField(value = "lot")
  287 + @ApiModelProperty(value = "批号")
  288 + private String lot;
  289 + /**
  290 + * 项目号
  291 + */
  292 + @TableField(value = "projectNo")
  293 + @ApiModelProperty(value = "项目号")
  294 + private String projectNo;
  295 + /**
  296 + * 重量
  297 + */
  298 + @TableField(value = "weight")
  299 + @ApiModelProperty(value = "重量")
  300 + private String weight;
  301 + /**
  302 + * 生产日期
  303 + */
  304 + @TableField(value = "manufactureDate")
  305 + @ApiModelProperty(value = "生产日期")
  306 + private Date manufactureDate;
  307 + /**
  308 + * 失效日期
  309 + */
  310 + @TableField(value = "expirationDate")
  311 + @ApiModelProperty(value = "失效日期")
  312 + private Date expirationDate;
271 313  
272 314  
273 315 private static final long serialVersionUID = 1L;
... ...
src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java
... ... @@ -291,15 +291,71 @@ public class AdjustDetailServiceImpl extends ServiceImpl<AdjustDetailMapper, Adj
291 291 @Transactional
292 292 public void updateAdjustDetailInsert (AdjustDetail adjustDetail) {
293 293 /*当实际库存为0时,调整单触发插入新库存状态*/
294   - //判断是否存在库存头,没有需要生成,有库存头直接插入库存明细即可
295 294 //新生成库存头时,库位,容器都需要更新数据
296 295  
  296 + //判断是否存在库存头,没有需要生成,有库存头直接插入库存明细即可
  297 + InventoryHeader ih = new InventoryHeader();
  298 + ih.setWarehouseCode(adjustDetail.getWarehouseCode());
  299 + ih.setLocationCode(adjustDetail.getLocationCode());
  300 + ih.setContainerCode(adjustDetail.getContainerCode());
  301 + LambdaQueryWrapper<InventoryHeader> inventoryHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(ih);
  302 + InventoryHeader inventoryHeader = inventoryHeaderService.getOne(inventoryHeaderLambdaQueryWrapper);
  303 + if(inventoryHeader == null){
  304 + //库存头为空,生成库存头
  305 + inventoryHeader.setWarehouseCode(adjustDetail.getWarehouseCode());
  306 + inventoryHeader.setLocationCode(adjustDetail.getLocationCode());
  307 + inventoryHeader.setContainerCode(adjustDetail.getContainerCode());
  308 + inventoryHeader.setContainerStatus("");
  309 + inventoryHeader.setCompanyCode(adjustDetail.getCompanyCode());
  310 + inventoryHeader.setMaterialSkuQty("");
  311 + inventoryHeader.setTotalWeight("");
  312 + inventoryHeader.setCreated(new Date());
  313 + inventoryHeader.setCreatedBy(ShiroUtils.getLoginName());
  314 + inventoryHeader.setLastUpdated(new Date());
  315 + inventoryHeader.setLastUpdatedBy(ShiroUtils.getLoginName());
  316 + inventoryHeaderService.saveOrUpdate(inventoryHeader);
  317 + //更新库位和容器
  318 + locationService.updateContainerCodeAndStatus(inventoryHeader.getLocationCode(),inventoryHeader.getContainerCode(),"empty");
  319 + containerService.updateLocationCodeAndStatus(inventoryHeader.getContainerCode(),inventoryHeader.getLocationCode(),"empty");
297 320  
298   -
299   -
300   -
301   -
302   -
  321 + }
  322 + //生成库存明细
  323 + InventoryDetail inventoryDetail = new InventoryDetail();
  324 + inventoryDetail.setInventoryHeaderId(inventoryHeader.getId());
  325 + inventoryDetail.setWarehouseCode(adjustDetail.getWarehouseCode());
  326 + inventoryDetail.setCompanyCode(adjustDetail.getCompanyCode());
  327 + inventoryDetail.setLocationCode(adjustDetail.getLocationCode());
  328 + inventoryDetail.setContainerCode(adjustDetail.getContainerCode());
  329 + inventoryDetail.setMaterialCode(adjustDetail.getMaterialCode());
  330 + inventoryDetail.setMaterialName(adjustDetail.getMaterialName());
  331 + inventoryDetail.setMaterialSpec(adjustDetail.getMaterialSpec());
  332 + inventoryDetail.setMaterialUnit(adjustDetail.getMaterialUnit());
  333 + inventoryDetail.setQty(adjustDetail.getToQty());
  334 + inventoryDetail.setTaskQty(adjustDetail.getToQty());
  335 + inventoryDetail.setLockedQty(BigDecimal.ONE);
  336 + inventoryDetail.setInventorySts(adjustDetail.getFromInventorySts());
  337 + inventoryDetail.setSupplierCode(adjustDetail.getSupplierCode());
  338 + inventoryDetail.setReferCode(adjustDetail.getAdjustCode());
  339 + inventoryDetail.setReferDetailId(adjustDetail.getId().toString());
  340 + inventoryDetail.setBatch(adjustDetail.getBatch());
  341 + inventoryDetail.setLot(adjustDetail.getLot());
  342 + inventoryDetail.setProjectNo(adjustDetail.getProjectNo());
  343 + inventoryDetail.setWeight(adjustDetail.getWeight());
  344 + inventoryDetail.setManufactureDate(adjustDetail.getManufactureDate());
  345 + inventoryDetail.setExpirationDate(adjustDetail.getExpirationDate());
  346 +// inventoryDetail.setAttributeId();
  347 +// inventoryDetail.setAttribute1();
  348 +// inventoryDetail.setAttribute2();
  349 +// inventoryDetail.setAttribute3();
  350 +// inventoryDetail.setLockCode();
  351 +// inventoryDetail.setLastCycleCountDate();
  352 + inventoryDetail.setCreated(new Date());
  353 + inventoryDetail.setCreatedBy(ShiroUtils.getLoginName());
  354 + inventoryDetail.setLastUpdated(new Date());
  355 + inventoryDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
  356 + inventoryDetail.setReceiptCode("");
  357 + inventoryDetail.setReceiptDetailId(null);
  358 + inventoryDetailService.saveOrUpdate(inventoryDetail);
303 359  
304 360 }
305 361  
... ...
src/main/resources/mybatis/inventory/AdjustDetailMapper.xml
... ... @@ -28,6 +28,7 @@
28 28 <result column="toQty" jdbcType="INTEGER" property="toQty" />
29 29 <result column="gapQty" jdbcType="INTEGER" property="gapQty" />
30 30 <result column="status" jdbcType="INTEGER" property="status" />
  31 + <result column="supplierCode" jdbcType="VARCHAR" property="supplierCode" />
31 32 <result column="createdBy" jdbcType="VARCHAR" property="createdBy" />
32 33 <result column="created" jdbcType="TIMESTAMP" property="created" />
33 34 <result column="lastUpdatedBy" jdbcType="VARCHAR" property="lastUpdatedBy" />
... ... @@ -40,13 +41,27 @@
40 41 <result column="userDef2" jdbcType="VARCHAR" property="userDef2" />
41 42 <result column="userDef3" jdbcType="VARCHAR" property="userDef3" />
42 43 <result column="processStamp" jdbcType="VARCHAR" property="processStamp" />
  44 + <result column="batch" jdbcType="VARCHAR" property="batch" />
  45 + <result column="lot" jdbcType="VARCHAR" property="lot" />
  46 + <result column="projectNo" jdbcType="VARCHAR" property="projectNo" />
  47 + <result column="weight" jdbcType="VARCHAR" property="weight" />
  48 + <result column="manufactureDate" jdbcType="TIMESTAMP" property="manufactureDate" />
  49 + <result column="expirationDate" jdbcType="TIMESTAMP" property="expirationDate" />
  50 +
  51 +
  52 +
  53 +
  54 +
  55 +
  56 +
  57 +
43 58 </resultMap>
44 59 <sql id="Base_Column_List">
45 60 <!--@mbg.generated-->
46 61 id, adjustCode, cycleCountCode, inventoryDetailId, cycleDetailId, checkCode, checkDetailId, referCode,
47 62 referDetailId, warehouseCode, companyCode, containerCode, locationCode ,materialCode, materialName,
48 63 materialSpec, materialUnit, problemType, attributeId, fromInventorySts, toInventorySts,
49   - fromQty, toQty, gapQty, `status`, created, createdBy,lastUpdatedBy,lastUpdated, agreeTime, Remark,
50   - version, userDef1, userDef2, userDef3, processStamp
  64 + fromQty, toQty, gapQty, `status`,supplierCode, created, createdBy,lastUpdatedBy,lastUpdated, agreeTime, Remark,
  65 + version, userDef1, userDef2, userDef3, processStamp, batch, lot,projectNo,weight,manufactureDate,expirationDate
51 66 </sql>
52 67 </mapper>
53 68 \ No newline at end of file
... ...