|
@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.ruoyi.basicData.domain.*;
|
|
|
import com.ruoyi.basicData.mapper.*;
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
+import com.ruoyi.common.core.domain.entity.SysDictData;
|
|
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
|
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
|
|
import com.ruoyi.common.utils.DateUtils;
|
|
@@ -13,6 +14,7 @@ import com.ruoyi.common.utils.StringUtils;
|
|
|
import com.ruoyi.reportManagement.domain.TWhgenleg;
|
|
|
import com.ruoyi.reportManagement.mapper.TWhgenlegMapper;
|
|
|
import com.ruoyi.system.mapper.SysDeptMapper;
|
|
|
+import com.ruoyi.system.mapper.SysDictDataMapper;
|
|
|
import com.ruoyi.system.mapper.SysUserMapper;
|
|
|
import com.ruoyi.warehouseBusiness.domain.*;
|
|
|
import com.ruoyi.warehouseBusiness.mapper.*;
|
|
@@ -59,6 +61,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
private TWarehouseMapper tWarehouseMapper;
|
|
|
|
|
|
@Autowired
|
|
|
+ private SysDictDataMapper sysDictDataMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private TWarehouseAreaMapper tWarehouseAreaMapper;
|
|
|
|
|
|
@Autowired
|
|
@@ -406,11 +411,11 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
wbItem.setfPid(fPid);
|
|
|
wbItem.setCreateBy(loginUser.getUser().getUserName());
|
|
|
wbItem.setCreateTime(new Date());
|
|
|
- wbItem.setfBillstatus("10");
|
|
|
+ wbItem.setfBillstatus(10L);
|
|
|
tWarehousebillsitemsMapper.insertTWarehousebillsitems(wbItem);
|
|
|
if(!billsType.equals("HQZY")){
|
|
|
// 添加状态log
|
|
|
- insertTWarehousebillsLog(wbItem, 10l,loginUser);
|
|
|
+ insertTWarehousebillsLog(wbItem, 10L,loginUser);
|
|
|
}
|
|
|
}
|
|
|
tWarehousebillsitemsList.add(wbItem);
|
|
@@ -514,12 +519,12 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
}
|
|
|
int num = 0;
|
|
|
if (StringUtils.isNotNull(item.getfId())) {
|
|
|
- item.setfBillstatus("40");
|
|
|
+ item.setfBillstatus(40L);
|
|
|
item.setUpdateBy(loginUser.getUser().getUserName());
|
|
|
item.setUpdateTime(new Date());
|
|
|
num = tWarehousebillsitemsMapper.updateTWarehousebillsitems(item);
|
|
|
// 添加状态log
|
|
|
- insertTWarehousebillsLog(item,40l,loginUser);
|
|
|
+ insertTWarehousebillsLog(item,40L,loginUser);
|
|
|
}
|
|
|
if (num <= 0) {
|
|
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
@@ -661,14 +666,14 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
i++;
|
|
|
int num = 0;
|
|
|
if (StringUtils.isNotNull(wbItem.getfId())) {
|
|
|
- wbItem.setfBillstatus("40");
|
|
|
+ wbItem.setfBillstatus(40L);
|
|
|
wbItem.setfBsdate(tWarehouseBills.getfBsdate());
|
|
|
wbItem.setUpdateBy(loginUser.getUser().getUserName());
|
|
|
wbItem.setUpdateTime(new Date());
|
|
|
num = tWarehousebillsitemsMapper.updateTWarehousebillsitems(wbItem);
|
|
|
if("SJCK".equals(billsType)){
|
|
|
// 添加状态log
|
|
|
- insertTWarehousebillsLog(wbItem,40l,loginUser);
|
|
|
+ insertTWarehousebillsLog(wbItem,40L,loginUser);
|
|
|
}
|
|
|
}
|
|
|
if (num <= 0) {
|
|
@@ -687,7 +692,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
|
|
|
|
|
|
@Override
|
|
|
- public AjaxResult waitWarehousing(String warehouseBills, String warehousebillsitems, LoginUser loginUser, String status,String billtystatus) {
|
|
|
+ public AjaxResult waitWarehousing(String warehouseBills, String warehousebillsitems, LoginUser loginUser, Long status,String billtystatus) {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
if (StringUtils.isNull(warehouseBills) || "[]".equals(warehouseBills)) {
|
|
|
return AjaxResult.error("未找到主表信息");
|
|
@@ -722,7 +727,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
item.setUpdateBy(loginUser.getUser().getUserName());
|
|
|
num = tWarehousebillsitemsMapper.updateTWarehousebillsitems(item);
|
|
|
// 添加状态log
|
|
|
- insertTWarehousebillsLog(item,Long.parseLong(status),loginUser);
|
|
|
+ insertTWarehousebillsLog(item,status,loginUser);
|
|
|
} else {
|
|
|
item.setfPid(tWarehouseBills.getfId());
|
|
|
item.setfBillno(tWarehouseBills.getfBillno());
|
|
@@ -732,7 +737,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
num = tWarehousebillsitemsMapper.insertTWarehousebillsitems(item);
|
|
|
// 添加状态log
|
|
|
insertTWarehousebillsLog(item,10L,loginUser);
|
|
|
- insertTWarehousebillsLog(item,Long.parseLong(status),loginUser);
|
|
|
+ insertTWarehousebillsLog(item,status,loginUser);
|
|
|
}
|
|
|
if (num <= 0) {
|
|
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
@@ -745,6 +750,302 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
return AjaxResult.success("成功", map);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 新增库存费计算
|
|
|
+ * @param tWarehouseBills 主表的查询条件
|
|
|
+ * @param loginUser 登录用户
|
|
|
+ * @param billsType 状态
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public AjaxResult calculateStorageFees(TWarehouseBills tWarehouseBills, LoginUser loginUser, String billsType) {
|
|
|
+ if (StringUtils.isNull(tWarehouseBills.getfCorpid())) {
|
|
|
+ return AjaxResult.error("请选择客户信息");
|
|
|
+ }
|
|
|
+ long fPid = 0L;
|
|
|
+ if (StringUtils.isNull(tWarehouseBills.getfId())) {
|
|
|
+ tWarehouseBills.setfBilltype(billsType);
|
|
|
+ tWarehouseBills.setfBillstatus(6L);
|
|
|
+ tWarehouseBills.setfBsdeptid(loginUser.getUser().getDeptId());
|
|
|
+ tWarehouseBills.setCreateBy(loginUser.getUser().getUserName());
|
|
|
+ tWarehouseBills.setCreateTime(new Date());
|
|
|
+ tWarehouseBillsMapper.insertTWarehousebills(tWarehouseBills);
|
|
|
+ fPid = tWarehouseBills.getfId();
|
|
|
+ } else {
|
|
|
+ fPid = tWarehouseBills.getfId();
|
|
|
+ tWarehouseBills.setUpdateBy(loginUser.getUser().getUserName());
|
|
|
+ tWarehouseBills.setUpdateTime(new Date());
|
|
|
+ tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
|
|
|
+ tWarehousebillsfeesMapper.deleteByFPid(fPid);
|
|
|
+ tWarehousebillsitemsMapper.deleteByFPid(fPid);
|
|
|
+ }
|
|
|
+ // 应收费用明细
|
|
|
+ List<TWarehousebillsfees> warehousebillsfeesList = new ArrayList<>();
|
|
|
+ // 计划物资明细
|
|
|
+ List<TWarehousebillsitems> itemsList = new ArrayList<>();
|
|
|
+ BigDecimal bigDecimal = new BigDecimal(0);
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ // 库存明细id
|
|
|
+ long itemFeeId = 0;
|
|
|
+ // 库存总账id
|
|
|
+ long whgenlegFeeId = 0;
|
|
|
+ // 计费单位
|
|
|
+ long feeUnitid = 1;
|
|
|
+ // 查询 出库 货转的库存明细
|
|
|
+ List<TWarehousebillsitems> warehousebillsitemsList = tWarehousebillsitemsMapper.selectStorageFeeItemList(tWarehouseBills);
|
|
|
+ if (StringUtils.isNotNull(warehousebillsitemsList)) {
|
|
|
+ // 出库货转的金额总和
|
|
|
+ BigDecimal sumAmt = new BigDecimal(0);
|
|
|
+ long fCorpid = tWarehouseBills.getfCorpid();
|
|
|
+ for (TWarehousebillsitems item : warehousebillsitemsList) {
|
|
|
+ if (StringUtils.isNull(item.getfBillingway())) {
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return AjaxResult.error("未找到库存总账的计费单位,请确认");
|
|
|
+ }
|
|
|
+ TGoods tGoods = tGoodsMapper.selectTGoodsById(item.getfGoodsid());
|
|
|
+ long fGoodsid = tGoods.getfTypeid();
|
|
|
+ long dateDay = DateUtils.getDateDay(tWarehouseBills.getfBillingDeadline(), item.getfChargedate());
|
|
|
+ long fInventoryDays = DateUtils.getDateDay(tWarehouseBills.getfBillingDeadline(), item.getfOriginalbilldate());
|
|
|
+ Long dictLabel = item.getfBillingway();
|
|
|
+ BigDecimal fQty = this.acquiredQuantity(item, dictLabel);
|
|
|
+ if (fQty.compareTo(bigDecimal) == 0) {
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return AjaxResult.error("未找到计费单位,请确认");
|
|
|
+ }
|
|
|
+ // 计算仓储费明细
|
|
|
+ Map<String, Object> objectMap = tWarehouseAgreementService.getCarryingCost(fCorpid, fGoodsid, dateDay, dictLabel, fQty , fInventoryDays);
|
|
|
+ itemFeeId = (long)objectMap.get("feeId");
|
|
|
+ BigDecimal amt = (BigDecimal) objectMap.get("amt");
|
|
|
+ sumAmt = sumAmt.add(amt);
|
|
|
+ item.setfAmt(amt);
|
|
|
+ item.setfBillingQty(fQty);
|
|
|
+ item.setfInventoryDays(fInventoryDays);
|
|
|
+ item.setfBillstatus(50L);
|
|
|
+ item.setfChargedate(tWarehouseBills.getfBillingDeadline());
|
|
|
+ item.setfBillingDeadline(tWarehouseBills.getfBillingDeadline());
|
|
|
+ item.setUpdateBy(loginUser.getUser().getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ item.setfId(null);
|
|
|
+ item.setfPid(fPid);
|
|
|
+ tWarehousebillsitemsMapper.insertTWarehousebillsitems(item);
|
|
|
+ itemsList.add(item);
|
|
|
+ }
|
|
|
+ TWarehousebillsfees fees = new TWarehousebillsfees();
|
|
|
+ fees.setfPid(fPid);
|
|
|
+ fees.setfFeeid(itemFeeId);
|
|
|
+ fees.setfCorpid(tWarehouseBills.getfCorpid());
|
|
|
+// fees.setfFeeUnitid(feeUnitid);
|
|
|
+ fees.setfQty(new BigDecimal(1));
|
|
|
+ fees.setfUnitprice(sumAmt);
|
|
|
+ fees.setfAmount(sumAmt);
|
|
|
+ fees.setfExrate(new BigDecimal(1));
|
|
|
+ fees.setfCurrency("RMB");
|
|
|
+ List<SysDictData> taxRate = sysDictDataMapper.selectDictDataByType("tax_rate");
|
|
|
+ fees.setfDc("D");
|
|
|
+ fees.setfTaxrate(new BigDecimal(taxRate.get(0).getDictValue()));
|
|
|
+ fees.setCreateBy(loginUser.getUser().getUserName());
|
|
|
+ fees.setCreateTime(new Date());
|
|
|
+ tWarehousebillsfeesMapper.insertTWarehousebillsfees(fees);
|
|
|
+ warehousebillsfeesList.add(fees);
|
|
|
+ }
|
|
|
+ List<TWhgenleg> tWhgenlegs = tWhgenlegMapper.selectStorageFeeItemList(tWarehouseBills);
|
|
|
+ if (StringUtils.isNotNull(tWhgenlegs)) {
|
|
|
+ // 出库货转的金额总和
|
|
|
+ BigDecimal sumAmt = new BigDecimal(0);
|
|
|
+ for (TWhgenleg wg : tWhgenlegs) {
|
|
|
+ TGoods tGoods = tGoodsMapper.selectTGoodsById(wg.getfGoodsid());
|
|
|
+ long fGoodsid = tGoods.getfTypeid();
|
|
|
+ long dateDay = DateUtils.getDateDay(tWarehouseBills.getfBillingDeadline(), wg.getfChargedate());
|
|
|
+ long fInventoryDays = DateUtils.getDateDay(tWarehouseBills.getfBillingDeadline(), wg.getfOriginalbilldate());
|
|
|
+ wg.setfChargedate(tWarehouseBills.getfBillingDeadline());
|
|
|
+ long dictLabel = wg.getfBillingway();
|
|
|
+ BigDecimal fQty = this.getInventoryQuantity(wg, dictLabel);
|
|
|
+ if (fQty.compareTo(bigDecimal) == 0) {
|
|
|
+ return AjaxResult.error("未找到计费单位,请确认");
|
|
|
+ }
|
|
|
+ // 计算仓储费明细
|
|
|
+ Map<String, Object> objectMap = tWarehouseAgreementService.getCarryingCost(wg.getfCorpid(), fGoodsid, dateDay, dictLabel, fQty , fInventoryDays);
|
|
|
+ whgenlegFeeId = (long)objectMap.get("feeId");
|
|
|
+ BigDecimal amt = (BigDecimal) objectMap.get("amt");
|
|
|
+ sumAmt = sumAmt.add(amt);
|
|
|
+ TWarehousebillsitems tWarehousebillsitems = new TWarehousebillsitems();
|
|
|
+ tWarehousebillsitems.setfPid(fPid);
|
|
|
+ // 仓库总账
|
|
|
+ tWarehousebillsitems.setfBilltype("CKZZ");
|
|
|
+ tWarehousebillsitems.setfBillno(wg.getfOriginalbillno());
|
|
|
+ tWarehousebillsitems.setfGoodsid(wg.getfGoodsid());
|
|
|
+ tWarehousebillsitems.setfOriginalbilldate(wg.getfOriginalbilldate());
|
|
|
+ tWarehousebillsitems.setfBillingway(wg.getfBillingway());
|
|
|
+ tWarehousebillsitems.setfBillingQty(fQty);
|
|
|
+ tWarehousebillsitems.setfChargedate(wg.getfChargedate());
|
|
|
+ tWarehousebillsitems.setfBillingDeadline(tWarehouseBills.getfBillingDeadline());
|
|
|
+ tWarehousebillsitems.setfBillingDays(dateDay);
|
|
|
+ tWarehousebillsitems.setfAmt(amt);
|
|
|
+ tWarehousebillsitems.setCreateBy(loginUser.getUser().getUserName());
|
|
|
+ tWarehousebillsitems.setCreateTime(new Date());
|
|
|
+ tWarehousebillsitems.setfBillstatus(50L);
|
|
|
+ tWarehousebillsitemsMapper.insertTWarehousebillsitems(tWarehousebillsitems);
|
|
|
+ itemsList.add(tWarehousebillsitems);
|
|
|
+ }
|
|
|
+ TWarehousebillsfees fees = new TWarehousebillsfees();
|
|
|
+ fees.setfPid(fPid);
|
|
|
+ fees.setfFeeid(whgenlegFeeId);
|
|
|
+ fees.setfCorpid(tWarehouseBills.getfCorpid());
|
|
|
+// fees.setfFeeUnitid(feeUnitid);
|
|
|
+ fees.setfQty(new BigDecimal(1));
|
|
|
+ fees.setfUnitprice(sumAmt);
|
|
|
+ fees.setfAmount(sumAmt);
|
|
|
+ fees.setfExrate(new BigDecimal(1));
|
|
|
+ fees.setfCurrency("RMB");
|
|
|
+ List<SysDictData> taxRate = sysDictDataMapper.selectDictDataByType("tax_rate");
|
|
|
+ fees.setfDc("D");
|
|
|
+ fees.setfTaxrate(new BigDecimal(taxRate.get(0).getDictValue()));
|
|
|
+ fees.setCreateBy(loginUser.getUser().getUserName());
|
|
|
+ fees.setCreateTime(new Date());
|
|
|
+ tWarehousebillsfeesMapper.insertTWarehousebillsfees(fees);
|
|
|
+ warehousebillsfeesList.add(fees);
|
|
|
+ }
|
|
|
+ TGoods tGoods = new TGoods();
|
|
|
+ tGoods.setfStatus("0");
|
|
|
+ tGoods.setDelFlag("0");
|
|
|
+ List<TGoods> goods = tGoodsMapper.selectTGoodsList(tGoods);
|
|
|
+ TFees tFees = new TFees();
|
|
|
+ tFees.setfStatus("0");
|
|
|
+ tFees.setDelFlag("0");
|
|
|
+ List<TFees> feesList = tFeesMapper.selectTFeesList(tFees);
|
|
|
+ map.put("goodsList", goods);
|
|
|
+ map.put("feesList", feesList);
|
|
|
+ map.put("warehouseItemList", itemsList);
|
|
|
+ map.put("warehouseFeesList", warehousebillsfeesList);
|
|
|
+ return AjaxResult.success(map);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 仓储费计算提交以及暂存
|
|
|
+ * @param warehouseBills
|
|
|
+ * @param warehouseItems
|
|
|
+ * @param warehouseFees
|
|
|
+ * @param loginUser
|
|
|
+ * @param billsType
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public AjaxResult insertStorageFee(String warehouseBills, String warehouseItems, String warehouseFees, LoginUser loginUser, String billsType) {
|
|
|
+ TWarehouseBills tWarehousebills = JSONArray.parseObject(warehouseBills, TWarehouseBills.class);
|
|
|
+ long fPid = 0L;
|
|
|
+ Long billstatus = tWarehousebills.getfBillstatus();
|
|
|
+ if (billstatus.equals(6L) && (StringUtils.isNull(warehouseItems) || "[]".equals(warehouseItems))) {
|
|
|
+ return AjaxResult.error("未找到计费物资明细无法提交");
|
|
|
+ }
|
|
|
+ if (billstatus.equals(6L) && (StringUtils.isNull(warehouseFees) || "[]".equals(warehouseFees))) {
|
|
|
+ return AjaxResult.error("未找到应收款明细无法提交");
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotNull(tWarehousebills.getfId())) {
|
|
|
+ fPid = tWarehousebills.getfId();
|
|
|
+ tWarehousebills.setUpdateTime(new Date());
|
|
|
+ tWarehousebills.setUpdateBy(loginUser.getUser().getUserName());
|
|
|
+ tWarehouseBillsMapper.updateTWarehousebills(tWarehousebills);
|
|
|
+ tWarehousebillsfeesMapper.deleteByFPid(fPid);
|
|
|
+ tWarehousebillsitemsMapper.deleteByFPid(fPid);
|
|
|
+ } else {
|
|
|
+ tWarehousebills.setCreateBy(loginUser.getUser().getUserName());
|
|
|
+ tWarehousebills.setCreateTime(new Date());
|
|
|
+ tWarehousebills.setfBilltype(billsType);
|
|
|
+ tWarehouseBillsMapper.insertTWarehousebills(tWarehousebills);
|
|
|
+ fPid = tWarehousebills.getfId();
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotNull(warehouseItems) && !"[]".equals(warehouseItems)) {
|
|
|
+ JSONArray warehouseJSON = JSONArray.parseArray(warehouseItems);
|
|
|
+ List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
|
|
|
+ for (TWarehousebillsitems item : warehousebillsitemsList) {
|
|
|
+ item.setfId(null);
|
|
|
+ item.setfPid(fPid);
|
|
|
+ item.setfBilltype(billsType);
|
|
|
+ item.setfBillstatus(billstatus);
|
|
|
+ tWarehousebillsitemsMapper.insertTWarehousebillsitems(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotNull(warehouseFees) && !"[]".equals(warehouseFees)) {
|
|
|
+ JSONArray feesJSON = JSONArray.parseArray(warehouseFees);
|
|
|
+ List<TWarehousebillsfees> warehousebillsfeesList = JSONObject.parseArray(feesJSON.toJSONString(), TWarehousebillsfees.class);
|
|
|
+ for (TWarehousebillsfees fees : warehousebillsfeesList) {
|
|
|
+ fees.setfId(null);
|
|
|
+ fees.setfPid(fPid);
|
|
|
+ fees.setfDc("D");
|
|
|
+ fees.setfBillstatus(billstatus);
|
|
|
+ tWarehousebillsfeesMapper.insertTWarehousebillsfees(fees);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据不同计费单位获取不同 计算库存明细数量
|
|
|
+ * @param item 库存明细
|
|
|
+ * @param dictLabel 计费单位
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ public BigDecimal acquiredQuantity (TWarehousebillsitems item, Long dictLabel) {
|
|
|
+ BigDecimal fQty = new BigDecimal(0);
|
|
|
+ // 件数
|
|
|
+ long boxNum = 1;
|
|
|
+ // 毛重
|
|
|
+ long grossWeight = 2;
|
|
|
+ // 净重
|
|
|
+ long netWeight = 3;
|
|
|
+ // 尺码
|
|
|
+ long size = 4;
|
|
|
+ // 尺码
|
|
|
+ long fixed = 5;
|
|
|
+ if (dictLabel.equals(boxNum)) {
|
|
|
+ fQty = new BigDecimal(item.getfQty());
|
|
|
+ } else if (dictLabel.equals(grossWeight)) {
|
|
|
+ fQty = item.getfGrossweight();
|
|
|
+ } else if (dictLabel.equals(netWeight)) {
|
|
|
+ fQty = item.getfNetweight();
|
|
|
+ } else if (dictLabel.equals(size)) {
|
|
|
+ fQty = item.getfVolumn();
|
|
|
+ } else if (dictLabel.equals(fixed)){
|
|
|
+ fQty = new BigDecimal(1);
|
|
|
+ }
|
|
|
+ return fQty;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据不同计费单位获取不同 计算库存总账数量
|
|
|
+ * @param whegen 库存总账
|
|
|
+ * @param dictLabel 计费单位
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ public BigDecimal getInventoryQuantity (TWhgenleg whegen, Long dictLabel) {
|
|
|
+ BigDecimal fQty = new BigDecimal(0);
|
|
|
+ // 件数
|
|
|
+ long boxNum = 1;
|
|
|
+ // 毛重
|
|
|
+ long grossWeight = 2;
|
|
|
+ // 净重
|
|
|
+ long netWeight = 3;
|
|
|
+ // 尺码
|
|
|
+ long size = 4;
|
|
|
+ // 尺码
|
|
|
+ long fixed = 5;
|
|
|
+ if (dictLabel.equals(boxNum)) {
|
|
|
+ fQty = new BigDecimal(whegen.getfQtyblc());
|
|
|
+ } else if (dictLabel.equals(grossWeight)) {
|
|
|
+ fQty = whegen.getfGrossweightblc();
|
|
|
+ } else if (dictLabel.equals(netWeight)) {
|
|
|
+ fQty = whegen.getfNetweightc();
|
|
|
+ } else if (dictLabel.equals(size)) {
|
|
|
+ fQty = whegen.getfVolumnblc();
|
|
|
+ } else if (dictLabel.equals(fixed)){
|
|
|
+ fQty = new BigDecimal(1);
|
|
|
+ }
|
|
|
+ return fQty;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
// 入库 收费明细 校验
|
|
|
public Long check(BigDecimal number, BigDecimal unitPrice) {
|
|
|
BigDecimal result1 = number.multiply(unitPrice);
|
|
@@ -818,7 +1119,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
// 修改主表信息
|
|
|
tWarehousebills.setUpdateBy(loginUser.getUser().getUserName());
|
|
|
tWarehousebills.setUpdateTime(new Date());
|
|
|
- tWarehousebills.setfBillstatus("3"); //撤销状态
|
|
|
+ tWarehousebills.setfBillstatus(3L); //撤销状态
|
|
|
tWarehouseBillsMapper.updateTWarehousebills(tWarehousebills);
|
|
|
// 查询库存明细从表数据
|
|
|
TWarehousebillsitems tWarehousebillsitems = new TWarehousebillsitems();
|
|
@@ -968,7 +1269,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
updateTWhgenlegData(wb, tWhgenle2.getfId(), "SJCKRevoke");
|
|
|
}
|
|
|
i++;
|
|
|
- wb.setfBillstatus("1");
|
|
|
+ wb.setfBillstatus(1L);
|
|
|
wb.setUpdateBy(loginUser.getUser().getUserName());
|
|
|
wb.setUpdateTime(new Date());
|
|
|
if (tWarehousebillsitemsMapper.updateTWarehousebillsitems(wb) <= 0) {
|
|
@@ -992,7 +1293,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
tWarehousebillsitems.setfPid(warehouseBill.getfId());
|
|
|
List<TWarehousebillsitems> warehousebillsitemsList1 = tWarehousebillsitemsMapper.selectTWarehousebillsitemsList(tWarehousebillsitems);
|
|
|
for (TWarehousebillsitems item : warehousebillsitemsList1) {
|
|
|
- if (item.getfBillstatus().equals("40") | item.getfBillstatus().equals("90")) {
|
|
|
+ if (item.getfBillstatus().equals(40L) | item.getfBillstatus().equals(90L)) {
|
|
|
Stored++;
|
|
|
} else {
|
|
|
notInStorage++;
|
|
@@ -1003,11 +1304,11 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
TWarehouseBills warehouseBill1 = new TWarehouseBills();
|
|
|
warehouseBill1.setfId(warehouseBill.getfId());
|
|
|
if (Objects.equals(Stored, 0)) { // 未入库
|
|
|
- warehouseBill1.setfItemsStatus("1");
|
|
|
+ warehouseBill1.setfItemsStatus(1L);
|
|
|
} else if (Objects.equals(notInStorage, 0)) { // 已入库
|
|
|
- warehouseBill1.setfItemsStatus("6");
|
|
|
+ warehouseBill1.setfItemsStatus(6L);
|
|
|
} else { // 有已入库、有未入库
|
|
|
- warehouseBill1.setfItemsStatus("2");
|
|
|
+ warehouseBill1.setfItemsStatus(2L);
|
|
|
}
|
|
|
tWarehouseBillsMapper.updateTWarehousebills(warehouseBill1);
|
|
|
}
|