|
@@ -1,33 +1,30 @@
|
|
package com.ruoyi.ams.inv.service.impl;
|
|
package com.ruoyi.ams.inv.service.impl;
|
|
|
|
|
|
-import java.math.BigDecimal;
|
|
|
|
-import java.util.Date;
|
|
|
|
-import java.util.List;
|
|
|
|
-
|
|
|
|
-import com.ruoyi.ams.config.domain.dto.InWarehouseDTO;
|
|
|
|
|
|
+import com.ruoyi.ams.common.Constant;
|
|
import com.ruoyi.ams.config.domain.dto.LotattDTO;
|
|
import com.ruoyi.ams.config.domain.dto.LotattDTO;
|
|
import com.ruoyi.ams.inv.domain.InvLotAtt;
|
|
import com.ruoyi.ams.inv.domain.InvLotAtt;
|
|
|
|
+import com.ruoyi.ams.inv.domain.InvLotLocId;
|
|
import com.ruoyi.ams.inv.domain.form.InvLocIdSearchFrom;
|
|
import com.ruoyi.ams.inv.domain.form.InvLocIdSearchFrom;
|
|
|
|
+import com.ruoyi.ams.inv.domain.form.InvLotLocIdAdjForm;
|
|
|
|
+import com.ruoyi.ams.inv.domain.form.InvLotLocIdForm;
|
|
import com.ruoyi.ams.inv.domain.vo.InvLotLocIdLotattVO;
|
|
import com.ruoyi.ams.inv.domain.vo.InvLotLocIdLotattVO;
|
|
import com.ruoyi.ams.inv.mapper.InvLotAttMapper;
|
|
import com.ruoyi.ams.inv.mapper.InvLotAttMapper;
|
|
|
|
+import com.ruoyi.ams.inv.mapper.InvLotLocIdMapper;
|
|
|
|
+import com.ruoyi.ams.inv.service.IInvLotLocIdService;
|
|
import com.ruoyi.base.domain.BaseLocationInfo;
|
|
import com.ruoyi.base.domain.BaseLocationInfo;
|
|
-import com.ruoyi.base.domain.BaseSku;
|
|
|
|
-import com.ruoyi.base.domain.SysIdsequence;
|
|
|
|
-import com.ruoyi.base.domain.vo.BaseLocationLotattVO;
|
|
|
|
-import com.ruoyi.base.mapper.BaseLocationZoneMapper;
|
|
|
|
-import com.ruoyi.base.mapper.BaseSkuMapper;
|
|
|
|
import com.ruoyi.base.service.IBaseLocationInfoService;
|
|
import com.ruoyi.base.service.IBaseLocationInfoService;
|
|
-import com.ruoyi.base.service.IBaseSkuService;
|
|
|
|
import com.ruoyi.base.service.SysIdsequenceService;
|
|
import com.ruoyi.base.service.SysIdsequenceService;
|
|
|
|
+import com.ruoyi.common.core.domain.AjaxResult;
|
|
import com.ruoyi.common.utils.DateUtils;
|
|
import com.ruoyi.common.utils.DateUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
-import com.ruoyi.ams.inv.mapper.InvLotLocIdMapper;
|
|
|
|
-import com.ruoyi.ams.inv.domain.InvLotLocId;
|
|
|
|
-import com.ruoyi.ams.inv.service.IInvLotLocIdService;
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
|
+import java.util.Date;
|
|
|
|
+import java.util.List;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 库位库存信息Service业务层处理
|
|
* 库位库存信息Service业务层处理
|
|
*
|
|
*
|
|
@@ -89,6 +86,61 @@ public class InvLotLocIdServiceImpl implements IInvLotLocIdService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 库存调整
|
|
|
|
+ *
|
|
|
|
+ * @param invLotLocIdAdjForm
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Transactional
|
|
|
|
+ @Override
|
|
|
|
+ public AjaxResult adj(InvLotLocIdAdjForm invLotLocIdAdjForm) {
|
|
|
|
+ String lotnum = invLotLocIdAdjForm.getLotnum();
|
|
|
|
+ String locationNo = invLotLocIdAdjForm.getLocationNo();
|
|
|
|
+ String locationId = "";
|
|
|
|
+ String customerId = invLotLocIdAdjForm.getCustomerId();
|
|
|
|
+ String sku = invLotLocIdAdjForm.getSku();
|
|
|
|
+ String reason = invLotLocIdAdjForm.getReason(); // 原因描述
|
|
|
|
+
|
|
|
|
+ BaseLocationInfo baseLocationInfo = baseLocationInfoService.selectBaseLocationInfoByIdOrNo(locationNo
|
|
|
|
+ , Constant.WAREHOUSE_ID);
|
|
|
|
+ locationId = baseLocationInfo.getId().toString();
|
|
|
|
+
|
|
|
|
+ // 查询库存
|
|
|
|
+ InvLotLocId invLotLocId = invLotLocIdMapper.queryById(lotnum, sku, locationId, customerId);
|
|
|
|
+ if (invLotLocId == null) {
|
|
|
|
+ return AjaxResult.error("库存不存在!");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 修改库存
|
|
|
|
+ String qtyTo = invLotLocIdAdjForm.getQtyTo(); // 调整件数
|
|
|
|
+ InvLotLocId invLotLocIdUpdate = new InvLotLocId();
|
|
|
|
+ invLotLocIdUpdate.setLotnum(lotnum);
|
|
|
|
+ invLotLocIdUpdate.setLocationId(locationId);
|
|
|
|
+ invLotLocIdUpdate.setCustomerId(customerId);
|
|
|
|
+ invLotLocIdUpdate.setSku(sku);
|
|
|
|
+ invLotLocIdUpdate.setQty(new BigDecimal(qtyTo));
|
|
|
|
+ invLotLocIdUpdate.setUpdateBy(invLotLocIdAdjForm.getUpdateBy());
|
|
|
|
+ if (updateInvLotLocId(invLotLocIdUpdate) <= 0) {
|
|
|
|
+ return AjaxResult.error("修改库存失败!");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // todo 事务
|
|
|
|
+
|
|
|
|
+ return AjaxResult.success();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 库存移动
|
|
|
|
+ *
|
|
|
|
+ * @param invLotLocIdForm
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public AjaxResult move(InvLotLocIdForm invLotLocIdForm) {
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 新增库位库存信息
|
|
* 新增库位库存信息
|
|
*
|
|
*
|