|  | @@ -389,22 +389,22 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |              tWarehousebillsfeesMapper.deleteByFPid(fPid);
 | 
	
		
			
				|  |  |              tEnclosureMapper.deleteByFPid(fPid);
 | 
	
		
			
				|  |  |              // 删除  从表中 未打印账单的数据
 | 
	
		
			
				|  |  | -            deleteBillsitems(fPid,tWarehousebillsitems);
 | 
	
		
			
				|  |  | +            deleteBillsitems(fPid, tWarehousebillsitems);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          // 库存明细添加
 | 
	
		
			
				|  |  | -        List<TWarehousebillsitems> tWarehousebillsitemsList=new ArrayList<>();
 | 
	
		
			
				|  |  | -        if (tWarehousebillsitems != null ) {
 | 
	
		
			
				|  |  | +        List<TWarehousebillsitems> tWarehousebillsitemsList = new ArrayList<>();
 | 
	
		
			
				|  |  | +        if (tWarehousebillsitems != null) {
 | 
	
		
			
				|  |  |              JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
 | 
	
		
			
				|  |  |              List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
 | 
	
		
			
				|  |  |              for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
 | 
	
		
			
				|  |  |                  // 仓储计费日期
 | 
	
		
			
				|  |  |                  wbItem.setfChargedate(warehouseBills.getfChargedate());
 | 
	
		
			
				|  |  |                  wbItem.setfBilltype(billsType);
 | 
	
		
			
				|  |  | -                if(null!=wbItem.getfId()){
 | 
	
		
			
				|  |  | +                if (null != wbItem.getfId()) {
 | 
	
		
			
				|  |  |                      wbItem.setUpdateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  |                      wbItem.setUpdateTime(new Date());
 | 
	
		
			
				|  |  |                      tWarehousebillsitemsMapper.updateTWarehousebillsitems(wbItem);
 | 
	
		
			
				|  |  | -                }else{
 | 
	
		
			
				|  |  | +                } else {
 | 
	
		
			
				|  |  |                      // 添加主表 业务单号
 | 
	
		
			
				|  |  |                      wbItem.setfBillno(warehouseBills.getfBillno());
 | 
	
		
			
				|  |  |                      wbItem.setfMblno(warehouseBills.getfMblno());
 | 
	
	
		
			
				|  | @@ -413,9 +413,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                      wbItem.setCreateTime(new Date());
 | 
	
		
			
				|  |  |                      wbItem.setfBillstatus(10L);
 | 
	
		
			
				|  |  |                      tWarehousebillsitemsMapper.insertTWarehousebillsitems(wbItem);
 | 
	
		
			
				|  |  | -                    if(!billsType.equals("HQZY")){
 | 
	
		
			
				|  |  | +                    if (!billsType.equals("HQZY")) {
 | 
	
		
			
				|  |  |                          // 添加状态log
 | 
	
		
			
				|  |  | -                        insertTWarehousebillsLog(wbItem, 10L,loginUser);
 | 
	
		
			
				|  |  | +                        insertTWarehousebillsLog(wbItem, 10L, loginUser);
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  tWarehousebillsitemsList.add(wbItem);
 | 
	
	
		
			
				|  | @@ -478,7 +478,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      @Transactional
 | 
	
		
			
				|  |  | -    public AjaxResult addCredit(String warehouseBills, String warehousebillsitems,  LoginUser loginUser, String billsType) {
 | 
	
		
			
				|  |  | +    public AjaxResult addCredit(String warehouseBills, String warehousebillsitems, LoginUser loginUser, String billsType) {
 | 
	
		
			
				|  |  |          Long fPid = null;
 | 
	
		
			
				|  |  |          Map<String, Object> map = new HashMap<>();
 | 
	
		
			
				|  |  |          if (StringUtils.isNull(warehouseBills) || "[]".equals(warehouseBills)) {
 | 
	
	
		
			
				|  | @@ -497,8 +497,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
 | 
	
		
			
				|  |  |          for (TWarehousebillsitems item : warehousebillsitemsList) {
 | 
	
		
			
				|  |  |              // 查询库容量  是否可入库
 | 
	
		
			
				|  |  | -            int m=calculation(tWarehouseBills.getfWarehouseid(),item.getfGrossweight());
 | 
	
		
			
				|  |  | -            if(m == 0){
 | 
	
		
			
				|  |  | +            int m = calculation(tWarehouseBills.getfWarehouseid(), item.getfGrossweight());
 | 
	
		
			
				|  |  | +            if (m == 0) {
 | 
	
		
			
				|  |  |                  TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  |                  return AjaxResult.error("更新库存总账失败-->入库毛重大于库容");
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -524,7 +524,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                  item.setUpdateTime(new Date());
 | 
	
		
			
				|  |  |                  num = tWarehousebillsitemsMapper.updateTWarehousebillsitems(item);
 | 
	
		
			
				|  |  |                  // 添加状态log
 | 
	
		
			
				|  |  | -                insertTWarehousebillsLog(item,40L,loginUser);
 | 
	
		
			
				|  |  | +                insertTWarehousebillsLog(item, 40L, loginUser);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              if (num <= 0) {
 | 
	
		
			
				|  |  |                  TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
	
		
			
				|  | @@ -671,9 +671,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                  wbItem.setUpdateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  |                  wbItem.setUpdateTime(new Date());
 | 
	
		
			
				|  |  |                  num = tWarehousebillsitemsMapper.updateTWarehousebillsitems(wbItem);
 | 
	
		
			
				|  |  | -                if("SJCK".equals(billsType)){
 | 
	
		
			
				|  |  | +                if ("SJCK".equals(billsType)) {
 | 
	
		
			
				|  |  |                      // 添加状态log
 | 
	
		
			
				|  |  | -                    insertTWarehousebillsLog(wbItem,40L,loginUser);
 | 
	
		
			
				|  |  | +                    insertTWarehousebillsLog(wbItem, 40L, loginUser);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              if (num <= 0) {
 | 
	
	
		
			
				|  | @@ -692,7 +692,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  | -    public AjaxResult waitWarehousing(String warehouseBills, String warehousebillsitems, LoginUser loginUser, Long 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("未找到主表信息");
 | 
	
	
		
			
				|  | @@ -706,19 +706,19 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |              tWarehouseBills.setUpdateTime(new Date());
 | 
	
		
			
				|  |  |              tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        List<TWarehousebillsitems> tWarehousebillsitemsList=new ArrayList<>();
 | 
	
		
			
				|  |  | +        List<TWarehousebillsitems> tWarehousebillsitemsList = new ArrayList<>();
 | 
	
		
			
				|  |  |          JSONArray warehouseJSON = JSONArray.parseArray(warehousebillsitems);
 | 
	
		
			
				|  |  |          List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
 | 
	
		
			
				|  |  |          for (TWarehousebillsitems item : warehousebillsitemsList) {
 | 
	
		
			
				|  |  |              // 生成流水号
 | 
	
		
			
				|  |  |              Date time = new Date();
 | 
	
		
			
				|  |  |              String serialNumber;
 | 
	
		
			
				|  |  | -            if(billtystatus.equals("20")){ // 生成 入库 流水号
 | 
	
		
			
				|  |  | -                 serialNumber = billnoSerialServiceImpl.getSerialNumber("RK", time);
 | 
	
		
			
				|  |  | -                 item.setfSerialNumber(serialNumber);
 | 
	
		
			
				|  |  | -            } else if (billtystatus.equals("70")){ //生成 出库 流水号
 | 
	
		
			
				|  |  | -                 serialNumber = billnoSerialServiceImpl.getSerialNumber("CK", time);
 | 
	
		
			
				|  |  | -                 item.setfSerialNumber(serialNumber);
 | 
	
		
			
				|  |  | +            if (billtystatus.equals("20")) { // 生成 入库 流水号
 | 
	
		
			
				|  |  | +                serialNumber = billnoSerialServiceImpl.getSerialNumber("RK", time);
 | 
	
		
			
				|  |  | +                item.setfSerialNumber(serialNumber);
 | 
	
		
			
				|  |  | +            } else if (billtystatus.equals("70")) { //生成 出库 流水号
 | 
	
		
			
				|  |  | +                serialNumber = billnoSerialServiceImpl.getSerialNumber("CK", time);
 | 
	
		
			
				|  |  | +                item.setfSerialNumber(serialNumber);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              int num = 0;
 | 
	
		
			
				|  |  |              if (StringUtils.isNotNull(item.getfId())) {
 | 
	
	
		
			
				|  | @@ -727,7 +727,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                  item.setUpdateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  |                  num = tWarehousebillsitemsMapper.updateTWarehousebillsitems(item);
 | 
	
		
			
				|  |  |                  // 添加状态log
 | 
	
		
			
				|  |  | -                insertTWarehousebillsLog(item,status,loginUser);
 | 
	
		
			
				|  |  | +                insertTWarehousebillsLog(item, status, loginUser);
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                  item.setfPid(tWarehouseBills.getfId());
 | 
	
		
			
				|  |  |                  item.setfBillno(tWarehouseBills.getfBillno());
 | 
	
	
		
			
				|  | @@ -736,8 +736,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                  item.setCreateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  |                  num = tWarehousebillsitemsMapper.insertTWarehousebillsitems(item);
 | 
	
		
			
				|  |  |                  // 添加状态log
 | 
	
		
			
				|  |  | -                insertTWarehousebillsLog(item,10L,loginUser);
 | 
	
		
			
				|  |  | -                insertTWarehousebillsLog(item,status,loginUser);
 | 
	
		
			
				|  |  | +                insertTWarehousebillsLog(item, 10L, loginUser);
 | 
	
		
			
				|  |  | +                insertTWarehousebillsLog(item, status, loginUser);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              if (num <= 0) {
 | 
	
		
			
				|  |  |                  TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
	
		
			
				|  | @@ -750,12 +750,86 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          return AjaxResult.success("成功", map);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    public Map<String, Object> getWarehouseItems(TWarehouseBills warehouseBills, List<Map<String, Object>> mapItem, LoginUser loginUser) {
 | 
	
		
			
				|  |  | +        Map<String, Object> map = new HashMap<>();
 | 
	
		
			
				|  |  | +        long feeId = 0L;
 | 
	
		
			
				|  |  | +        BigDecimal sumAmt = new BigDecimal(0);
 | 
	
		
			
				|  |  | +        List<TWarehousebillsitems> itemsList = new ArrayList<>();
 | 
	
		
			
				|  |  | +        for (Map<String, Object> item : mapItem) {
 | 
	
		
			
				|  |  | +            if (StringUtils.isNull(item.get("fBillingway"))) {
 | 
	
		
			
				|  |  | +                map.put("error", "单号:" + item.get("fBillno") + ",业务日期:" + item.get("fBsdate") + "未找到库存总账的计费单位,请确认");
 | 
	
		
			
				|  |  | +                return map;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            long fGoodsid = Long.parseLong((String) item.get("fTypeid"));
 | 
	
		
			
				|  |  | +            long fCorpid = warehouseBills.getfCorpid();
 | 
	
		
			
				|  |  | +            long dateDay = DateUtils.getDateDay(warehouseBills.getfBillingDeadline(), (Date) item.get("fChargedate"));
 | 
	
		
			
				|  |  | +            long fInventoryDays = DateUtils.getDateDay(warehouseBills.getfBillingDeadline(), (Date) item.get("fOriginalbilldate"));
 | 
	
		
			
				|  |  | +            Long dictLabel = Long.valueOf(String.valueOf(item.get("fBillingway")));
 | 
	
		
			
				|  |  | +            BigDecimal fQty = this.acquiredQuantity(item, dictLabel);
 | 
	
		
			
				|  |  | +            if (fQty.equals(BigDecimal.ZERO)) {
 | 
	
		
			
				|  |  | +                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                return AjaxResult.error("单号:" + item.get("fBillno") + ",业务日期:" + item.get("fBsdate") + "未找到计费单位,请确认");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            // 计算仓储费明细
 | 
	
		
			
				|  |  | +            Map<String, Object> objectMap = tWarehouseAgreementService.getCarryingCost(fCorpid, fGoodsid, dateDay, dictLabel, fQty, fInventoryDays);
 | 
	
		
			
				|  |  | +            if (StringUtils.isNull(objectMap)) {
 | 
	
		
			
				|  |  | +                map.put("error", "单号:" + item.get("fBillno") + ",业务日期:" + item.get("fBsdate") + "未找到仓储费协议,请确认");
 | 
	
		
			
				|  |  | +                return map;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            String fBilltype = (String) objectMap.get("fBilltype");
 | 
	
		
			
				|  |  | +            feeId = Long.valueOf(String.valueOf(objectMap.get("feeId"))).longValue();
 | 
	
		
			
				|  |  | +            BigDecimal amt = (BigDecimal) objectMap.get("amt");
 | 
	
		
			
				|  |  | +            map.put("feeId", feeId);
 | 
	
		
			
				|  |  | +            map.put("itemFeeId", objectMap.get("feeId"));
 | 
	
		
			
				|  |  | +            sumAmt = sumAmt.add(amt);
 | 
	
		
			
				|  |  | +            TWarehousebillsitems tWarehousebillsitems = new TWarehousebillsitems();
 | 
	
		
			
				|  |  | +            tWarehousebillsitems.setfAmt(amt);
 | 
	
		
			
				|  |  | +            tWarehousebillsitems.setfBillstatus(50L);
 | 
	
		
			
				|  |  | +            tWarehousebillsitems.setfBillingQty(fQty);
 | 
	
		
			
				|  |  | +            tWarehousebillsitems.setfBilltype(fBilltype);
 | 
	
		
			
				|  |  | +            tWarehousebillsitems.setfBillingDays(dateDay);
 | 
	
		
			
				|  |  | +            tWarehousebillsitems.setCreateTime(new Date());
 | 
	
		
			
				|  |  | +            tWarehousebillsitems.setfPid(warehouseBills.getfId());
 | 
	
		
			
				|  |  | +            tWarehousebillsitems.setfInventoryDays(fInventoryDays);
 | 
	
		
			
				|  |  | +            tWarehousebillsitems.setfBsdate((Date) item.get("fBsdate"));
 | 
	
		
			
				|  |  | +            tWarehousebillsitems.setfBillno((String) item.get("fBillno"));
 | 
	
		
			
				|  |  | +            tWarehousebillsitems.setfGoodsid(Long.valueOf(String.valueOf(item.get("fGoodsid"))).longValue());
 | 
	
		
			
				|  |  | +            tWarehousebillsitems.setCreateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  | +            tWarehousebillsitems.setfBillingway(Long.valueOf(String.valueOf(item.get("fBillingway"))).longValue());
 | 
	
		
			
				|  |  | +            tWarehousebillsitems.setfChargedate((Date) item.get("fChargedate"));
 | 
	
		
			
				|  |  | +            tWarehousebillsitems.setfOriginalbilldate((Date) item.get("fOriginalbilldate"));
 | 
	
		
			
				|  |  | +            tWarehousebillsitems.setfBillingDeadline(warehouseBills.getfBillingDeadline());
 | 
	
		
			
				|  |  | +            tWarehousebillsitemsMapper.insertTWarehousebillsitems(tWarehousebillsitems);
 | 
	
		
			
				|  |  | +            itemsList.add(tWarehousebillsitems);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        TWarehousebillsfees fees = new TWarehousebillsfees();
 | 
	
		
			
				|  |  | +        fees.setfPid(warehouseBills.getfId());
 | 
	
		
			
				|  |  | +        fees.setfFeeid(feeId);
 | 
	
		
			
				|  |  | +        fees.setfCorpid(warehouseBills.getfCorpid());
 | 
	
		
			
				|  |  | +        fees.setfFeeunitid(2L);
 | 
	
		
			
				|  |  | +        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());
 | 
	
		
			
				|  |  | +        map.put("fees", fees);
 | 
	
		
			
				|  |  | +        map.put("sumAmt", sumAmt);
 | 
	
		
			
				|  |  | +        map.put("itemsList", itemsList);
 | 
	
		
			
				|  |  | +        return map;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * 新增库存费计算
 | 
	
		
			
				|  |  | -     * @param tWarehouseBills   主表的查询条件
 | 
	
		
			
				|  |  | -     * @param loginUser         登录用户
 | 
	
		
			
				|  |  | -     * @param billsType         状态
 | 
	
		
			
				|  |  | -     * @return  结果
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  | +     * @param tWarehouseBills 主表的查询条件
 | 
	
		
			
				|  |  | +     * @param loginUser       登录用户
 | 
	
		
			
				|  |  | +     * @param billsType       状态
 | 
	
		
			
				|  |  | +     * @return 结果
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      @Transactional
 | 
	
	
		
			
				|  | @@ -773,12 +847,12 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |              tWarehouseBillsMapper.insertTWarehousebills(tWarehouseBills);
 | 
	
		
			
				|  |  |              fPid = tWarehouseBills.getfId();
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  | -            fPid = tWarehouseBills.getfId();
 | 
	
		
			
				|  |  | +            tWarehousebillsfeesMapper.deleteByFPid(tWarehouseBills.getfId());
 | 
	
		
			
				|  |  | +            tWarehousebillsitemsMapper.deleteByFPid(tWarehouseBills.getfId());
 | 
	
		
			
				|  |  |              tWarehouseBills.setUpdateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  |              tWarehouseBills.setUpdateTime(new Date());
 | 
	
		
			
				|  |  |              tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
 | 
	
		
			
				|  |  | -            tWarehousebillsfeesMapper.deleteByFPid(fPid);
 | 
	
		
			
				|  |  | -            tWarehousebillsitemsMapper.deleteByFPid(fPid);
 | 
	
		
			
				|  |  | +            fPid = tWarehouseBills.getfId();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          // 应收费用明细
 | 
	
		
			
				|  |  |          List<TWarehousebillsfees> warehousebillsfeesList = new ArrayList<>();
 | 
	
	
		
			
				|  | @@ -786,124 +860,39 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          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);
 | 
	
		
			
				|  |  | +        List<Map<String, Object>> 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);
 | 
	
		
			
				|  |  | +            Map<String, Object> mapItem = getWarehouseItems(tWarehouseBills, warehousebillsitemsList, loginUser);
 | 
	
		
			
				|  |  | +            if (mapItem.containsKey("error")) {
 | 
	
		
			
				|  |  | +                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                return AjaxResult.error((String) mapItem.get("error"));
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            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());
 | 
	
		
			
				|  |  | +            TWarehousebillsfees fees = (TWarehousebillsfees) mapItem.get("fees");
 | 
	
		
			
				|  |  |              tWarehousebillsfeesMapper.insertTWarehousebillsfees(fees);
 | 
	
		
			
				|  |  | +            itemsList = (List<TWarehousebillsitems>) mapItem.get("itemsList");
 | 
	
		
			
				|  |  |              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);
 | 
	
		
			
				|  |  | +        List<Map<String, Object>> tWhgenlegs = tWhgenlegMapper.selectStorageFeeItemList(tWarehouseBills);
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotNull(tWhgenlegs) && "[]".equals(tWhgenlegs)) {
 | 
	
		
			
				|  |  | +            System.out.println(tWhgenlegs);
 | 
	
		
			
				|  |  | +            Map<String, Object> mapItem = getWarehouseItems(tWarehouseBills, tWhgenlegs, loginUser);
 | 
	
		
			
				|  |  | +            if (mapItem.containsKey("error")) {
 | 
	
		
			
				|  |  | +                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                return AjaxResult.error((String) mapItem.get("error"));
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            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());
 | 
	
		
			
				|  |  | +            TWarehousebillsfees fees = (TWarehousebillsfees) mapItem.get("fees");
 | 
	
		
			
				|  |  |              tWarehousebillsfeesMapper.insertTWarehousebillsfees(fees);
 | 
	
		
			
				|  |  | +            List<TWarehousebillsitems> itemList = (List<TWarehousebillsitems>) mapItem.get("itemsList");
 | 
	
		
			
				|  |  | +            if (itemList.size() != 0) {
 | 
	
		
			
				|  |  | +                for (TWarehousebillsitems ite : itemList) {
 | 
	
		
			
				|  |  | +                    itemsList.add(ite);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |              warehousebillsfeesList.add(fees);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          TGoods tGoods = new TGoods();
 | 
	
	
		
			
				|  | @@ -911,11 +900,12 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          tGoods.setDelFlag("0");
 | 
	
		
			
				|  |  |          List<TGoods> goods = tGoodsMapper.selectTGoodsList(tGoods);
 | 
	
		
			
				|  |  |          TFees tFees = new TFees();
 | 
	
		
			
				|  |  | -        tFees.setfStatus("0");
 | 
	
		
			
				|  |  | +        tFees.setfStatus("2");
 | 
	
		
			
				|  |  |          tFees.setDelFlag("0");
 | 
	
		
			
				|  |  |          List<TFees> feesList = tFeesMapper.selectTFeesList(tFees);
 | 
	
		
			
				|  |  |          map.put("goodsList", goods);
 | 
	
		
			
				|  |  |          map.put("feesList", feesList);
 | 
	
		
			
				|  |  | +        map.put("warehouseBills", tWarehouseBills);
 | 
	
		
			
				|  |  |          map.put("warehouseItemList", itemsList);
 | 
	
		
			
				|  |  |          map.put("warehouseFeesList", warehousebillsfeesList);
 | 
	
		
			
				|  |  |          return AjaxResult.success(map);
 | 
	
	
		
			
				|  | @@ -923,6 +913,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * 仓储费计算提交以及暂存
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  |       * @param warehouseBills
 | 
	
		
			
				|  |  |       * @param warehouseItems
 | 
	
		
			
				|  |  |       * @param warehouseFees
 | 
	
	
		
			
				|  | @@ -982,44 +973,56 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  | -     *  根据不同计费单位获取不同 计算库存明细数量
 | 
	
		
			
				|  |  | -     * @param item      库存明细
 | 
	
		
			
				|  |  | -     * @param dictLabel 计费单位
 | 
	
		
			
				|  |  | -     * @return 结果
 | 
	
		
			
				|  |  | +     *  根据id查询仓储费计算信息
 | 
	
		
			
				|  |  | +     * @param fId
 | 
	
		
			
				|  |  | +     * @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);
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public AjaxResult selectStorageFeeById(Long fId) {
 | 
	
		
			
				|  |  | +        TWarehouseBills tWarehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
 | 
	
		
			
				|  |  | +        if (StringUtils.isNull(tWarehouseBills)) {
 | 
	
		
			
				|  |  | +            return AjaxResult.error("未找到信息,请刷新页面重试");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        return fQty;
 | 
	
		
			
				|  |  | +        Map<String, Object> map = new HashMap<>();
 | 
	
		
			
				|  |  | +        TWarehousebillsitems tWarehousebillsitems = new TWarehousebillsitems();
 | 
	
		
			
				|  |  | +        tWarehousebillsitems.setfPid(fId);
 | 
	
		
			
				|  |  | +        List<TWarehousebillsitems> warehouseItemsList = tWarehousebillsitemsMapper.selectTWarehousebillsitemsList(tWarehousebillsitems);
 | 
	
		
			
				|  |  | +        TWarehousebillsfees warehousebillsfees = new TWarehousebillsfees();
 | 
	
		
			
				|  |  | +        warehousebillsfees.setfPid(fId);
 | 
	
		
			
				|  |  | +        List<TWarehousebillsfees> warehouseFeesList = tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(warehousebillsfees);
 | 
	
		
			
				|  |  | +        TGoods tGoods = new TGoods();
 | 
	
		
			
				|  |  | +        tGoods.setfStatus("0");
 | 
	
		
			
				|  |  | +        tGoods.setDelFlag("0");
 | 
	
		
			
				|  |  | +        List<TGoods> goods = tGoodsMapper.selectTGoodsList(tGoods);
 | 
	
		
			
				|  |  | +        TFees tFees = new TFees();
 | 
	
		
			
				|  |  | +        tFees.setfStatus("2");
 | 
	
		
			
				|  |  | +        tFees.setDelFlag("0");
 | 
	
		
			
				|  |  | +        List<TFees> feesList = tFeesMapper.selectTFeesList(tFees);
 | 
	
		
			
				|  |  | +        // 查询联系人
 | 
	
		
			
				|  |  | +        List<SysUser> sysUserList = new ArrayList<>();
 | 
	
		
			
				|  |  | +        SysUser sysUser = sysUserMapper.selectUserByUserName(tWarehouseBills.getCreateBy());
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotNull(sysUser)) {
 | 
	
		
			
				|  |  | +            sysUserList.add(sysUser);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        TCorps corps = tCorpsMapper.selectTCorpsById(tWarehouseBills.getfCorpid());
 | 
	
		
			
				|  |  | +        map.put("corps", corps);
 | 
	
		
			
				|  |  | +        map.put("goodsList", goods);
 | 
	
		
			
				|  |  | +        map.put("feesList", feesList);
 | 
	
		
			
				|  |  | +        map.put("sysUser", sysUserList);
 | 
	
		
			
				|  |  | +        map.put("warehouse", tWarehouseBills);
 | 
	
		
			
				|  |  | +        map.put("warehouseFeesList", warehouseFeesList);
 | 
	
		
			
				|  |  | +        map.put("warehouseItemsList", warehouseItemsList);
 | 
	
		
			
				|  |  | +        return AjaxResult.success(map);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  | -     *  根据不同计费单位获取不同 计算库存总账数量
 | 
	
		
			
				|  |  | -     * @param whegen    库存总账
 | 
	
		
			
				|  |  | +     * 根据不同计费单位获取不同 计算库存明细数量
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  | +     * @param item      库存明细
 | 
	
		
			
				|  |  |       * @param dictLabel 计费单位
 | 
	
		
			
				|  |  |       * @return 结果
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    public BigDecimal getInventoryQuantity (TWhgenleg whegen, Long dictLabel) {
 | 
	
		
			
				|  |  | +    public BigDecimal acquiredQuantity(Map<String, Object> item, Long dictLabel) {
 | 
	
		
			
				|  |  |          BigDecimal fQty = new BigDecimal(0);
 | 
	
		
			
				|  |  |          // 件数
 | 
	
		
			
				|  |  |          long boxNum = 1;
 | 
	
	
		
			
				|  | @@ -1029,23 +1032,22 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          long netWeight = 3;
 | 
	
		
			
				|  |  |          // 尺码
 | 
	
		
			
				|  |  |          long size = 4;
 | 
	
		
			
				|  |  | -        // 尺码
 | 
	
		
			
				|  |  | +        // 统一
 | 
	
		
			
				|  |  |          long fixed = 5;
 | 
	
		
			
				|  |  |          if (dictLabel.equals(boxNum)) {
 | 
	
		
			
				|  |  | -            fQty = new BigDecimal(whegen.getfQtyblc());
 | 
	
		
			
				|  |  | +            fQty = new BigDecimal(((Number) item.get("fQty")).doubleValue());
 | 
	
		
			
				|  |  |          } else if (dictLabel.equals(grossWeight)) {
 | 
	
		
			
				|  |  | -            fQty = whegen.getfGrossweightblc();
 | 
	
		
			
				|  |  | +            fQty = new BigDecimal(((Number) item.get("fGrossweight")).doubleValue());
 | 
	
		
			
				|  |  |          } else if (dictLabel.equals(netWeight)) {
 | 
	
		
			
				|  |  | -            fQty = whegen.getfNetweightc();
 | 
	
		
			
				|  |  | +            fQty = new BigDecimal(((Number) item.get("fNetweight")).doubleValue());
 | 
	
		
			
				|  |  |          } else if (dictLabel.equals(size)) {
 | 
	
		
			
				|  |  | -            fQty = whegen.getfVolumnblc();
 | 
	
		
			
				|  |  | -        } else if (dictLabel.equals(fixed)){
 | 
	
		
			
				|  |  | +            fQty = new BigDecimal(((Number) item.get("fVolumn")).doubleValue());
 | 
	
		
			
				|  |  | +        } else if (dictLabel.equals(fixed)) {
 | 
	
		
			
				|  |  |              fQty = new BigDecimal(1);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return fQty;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      // 入库 收费明细 校验
 | 
	
		
			
				|  |  |      public Long check(BigDecimal number, BigDecimal unitPrice) {
 | 
	
		
			
				|  |  |          BigDecimal result1 = number.multiply(unitPrice);
 | 
	
	
		
			
				|  | @@ -1283,9 +1285,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  | -     *   主表、库存明细表 更新 入账状态
 | 
	
		
			
				|  |  | +     * 主表、库存明细表 更新 入账状态
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    public  void  updateWarehousebillsItemsStatus(TWarehouseBills warehouseBill){
 | 
	
		
			
				|  |  | +    public void updateWarehousebillsItemsStatus(TWarehouseBills warehouseBill) {
 | 
	
		
			
				|  |  |          // 查询所有库存明细 修改仓库主表状态
 | 
	
		
			
				|  |  |          int notInStorage = 0;
 | 
	
		
			
				|  |  |          int Stored = 0;
 | 
	
	
		
			
				|  | @@ -1293,7 +1295,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          tWarehousebillsitems.setfPid(warehouseBill.getfId());
 | 
	
		
			
				|  |  |          List<TWarehousebillsitems> warehousebillsitemsList1 = tWarehousebillsitemsMapper.selectTWarehousebillsitemsList(tWarehousebillsitems);
 | 
	
		
			
				|  |  |          for (TWarehousebillsitems item : warehousebillsitemsList1) {
 | 
	
		
			
				|  |  | -             if (item.getfBillstatus().equals(40L) | item.getfBillstatus().equals(90L)) {
 | 
	
		
			
				|  |  | +            if (item.getfBillstatus().equals(40L) | item.getfBillstatus().equals(90L)) {
 | 
	
		
			
				|  |  |                  Stored++;
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                  notInStorage++;
 | 
	
	
		
			
				|  | @@ -1314,14 +1316,15 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  | -     *  添加 库存明细状态
 | 
	
		
			
				|  |  | +     * 添加 库存明细状态
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  |       * @param wbItem
 | 
	
		
			
				|  |  |       * @param status
 | 
	
		
			
				|  |  |       * @param loginUser
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    public  void  insertTWarehousebillsLog(TWarehousebillsitems wbItem,Long status,LoginUser loginUser){
 | 
	
		
			
				|  |  | +    public void insertTWarehousebillsLog(TWarehousebillsitems wbItem, Long status, LoginUser loginUser) {
 | 
	
		
			
				|  |  |          // 添加状态log
 | 
	
		
			
				|  |  | -        TWarehousebillsLog tWarehousebillsLog =new TWarehousebillsLog();
 | 
	
		
			
				|  |  | +        TWarehousebillsLog tWarehousebillsLog = new TWarehousebillsLog();
 | 
	
		
			
				|  |  |          tWarehousebillsLog.setfPid(wbItem.getfPid());
 | 
	
		
			
				|  |  |          tWarehousebillsLog.setfItmeid(wbItem.getfId());
 | 
	
		
			
				|  |  |          tWarehousebillsLog.setfItmestatus(status);
 | 
	
	
		
			
				|  | @@ -1331,11 +1334,12 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  | -     *   删除 库存明细
 | 
	
		
			
				|  |  | +     * 删除 库存明细
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  |       * @param fid
 | 
	
		
			
				|  |  |       * @param tWarehousebillsitems
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    public  void  deleteBillsitems(Long fid,String tWarehousebillsitems){
 | 
	
		
			
				|  |  | +    public void deleteBillsitems(Long fid, String tWarehousebillsitems) {
 | 
	
		
			
				|  |  |          List<Long> oldList = new ArrayList<Long>();
 | 
	
		
			
				|  |  |          List<Long> newList = new ArrayList<Long>();
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1348,10 +1352,10 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          );
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // 获取提交从表数据ID
 | 
	
		
			
				|  |  | -        if (tWarehousebillsitems != null ) {
 | 
	
		
			
				|  |  | +        if (tWarehousebillsitems != null) {
 | 
	
		
			
				|  |  |              JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
 | 
	
		
			
				|  |  |              List<TWarehousebillsitems> warehousebillsitemsLists = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
 | 
	
		
			
				|  |  | -            warehousebillsitemsLists.forEach(wb->
 | 
	
		
			
				|  |  | +            warehousebillsitemsLists.forEach(wb ->
 | 
	
		
			
				|  |  |                      newList.add(wb.getfId())
 | 
	
		
			
				|  |  |              );
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -1364,51 +1368,53 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  | -     *   库容-结余毛重
 | 
	
		
			
				|  |  | +     * 库容-结余毛重
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  |       * @param fTotalgross
 | 
	
		
			
				|  |  |       * @param fGrossweightblc
 | 
	
		
			
				|  |  |       * @return
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    public static BigDecimal  calculation1(String  fTotalgross, String fGrossweightblc){
 | 
	
		
			
				|  |  | +    public static BigDecimal calculation1(String fTotalgross, String fGrossweightblc) {
 | 
	
		
			
				|  |  |          BigDecimal num1 = new BigDecimal(fTotalgross);
 | 
	
		
			
				|  |  |          BigDecimal num2 = new BigDecimal(fGrossweightblc);
 | 
	
		
			
				|  |  |          BigDecimal result = num1.subtract(num2);
 | 
	
		
			
				|  |  | -        return result.setScale(2,BigDecimal.ROUND_HALF_UP);
 | 
	
		
			
				|  |  | +        return result.setScale(2, BigDecimal.ROUND_HALF_UP);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  | -     *   判断  是否允许 入库
 | 
	
		
			
				|  |  | +     * 判断  是否允许 入库
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  |       * @param fId
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    public  int  calculation (Long fId,BigDecimal fGrossweight){
 | 
	
		
			
				|  |  | +    public int calculation(Long fId, BigDecimal fGrossweight) {
 | 
	
		
			
				|  |  |          // 仓库库容
 | 
	
		
			
				|  |  |          TWarehouse tWarehouse = tWarehouseMapper.selectTWarehouseById(fId);
 | 
	
		
			
				|  |  |          // 总账使用
 | 
	
		
			
				|  |  | -        List<Map<String, Object>> whouseList= tWhgenlegMapper.selectWareHouseListWhouse(fId);
 | 
	
		
			
				|  |  | -        if(whouseList!=null && whouseList.size()>0){
 | 
	
		
			
				|  |  | -            String  fTotalgross = null;
 | 
	
		
			
				|  |  | +        List<Map<String, Object>> whouseList = tWhgenlegMapper.selectWareHouseListWhouse(fId);
 | 
	
		
			
				|  |  | +        if (whouseList != null && whouseList.size() > 0) {
 | 
	
		
			
				|  |  | +            String fTotalgross = null;
 | 
	
		
			
				|  |  |              String fGrossweightblc = null;
 | 
	
		
			
				|  |  | -            for (Map<String, Object> m : whouseList){
 | 
	
		
			
				|  |  | -                for (String k : m.keySet()){
 | 
	
		
			
				|  |  | +            for (Map<String, Object> m : whouseList) {
 | 
	
		
			
				|  |  | +                for (String k : m.keySet()) {
 | 
	
		
			
				|  |  |                      // 获取毛重库容
 | 
	
		
			
				|  |  | -                    if(k.equals("fTotalgross")){
 | 
	
		
			
				|  |  | -                        fTotalgross= m.get(k).toString();
 | 
	
		
			
				|  |  | +                    if (k.equals("fTotalgross")) {
 | 
	
		
			
				|  |  | +                        fTotalgross = m.get(k).toString();
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  | -                    if(k.equals("fGrossweightD")){
 | 
	
		
			
				|  |  | -                        fGrossweightblc=  m.get(k).toString();
 | 
	
		
			
				|  |  | +                    if (k.equals("fGrossweightD")) {
 | 
	
		
			
				|  |  | +                        fGrossweightblc = m.get(k).toString();
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            BigDecimal result = calculation1(fTotalgross,fGrossweightblc);
 | 
	
		
			
				|  |  | -            if(result.compareTo(fGrossweight) == -1){
 | 
	
		
			
				|  |  | +            BigDecimal result = calculation1(fTotalgross, fGrossweightblc);
 | 
	
		
			
				|  |  | +            if (result.compareTo(fGrossweight) == -1) {
 | 
	
		
			
				|  |  |                  return 0;// 结余库容小于入库数
 | 
	
		
			
				|  |  | -            }else{
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  |                  return 1;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -        }else{
 | 
	
		
			
				|  |  | -            if(tWarehouse.getfTotalgross().compareTo(fGrossweight) == -1){
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            if (tWarehouse.getfTotalgross().compareTo(fGrossweight) == -1) {
 | 
	
		
			
				|  |  |                  return 0;// 库容小于入库数
 | 
	
		
			
				|  |  | -            }else{
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  |                  return 1;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 |