|  | @@ -135,6 +135,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                      tWhgenleg.setfWarehouseLocationid(((Integer) wb.get("fWarehouselocid")).longValue());
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  tWhgenleg.setfTrademodeid(tWarehousebills.getfTrademodeid());
 | 
	
		
			
				|  |  | +                tWhgenleg.setfMblno(tWarehousebills.getfMblno());
 | 
	
		
			
				|  |  |                  TWhgenleg whgenleg = tWhgenlegMapper.selectTWhgenleg(tWhgenleg);
 | 
	
		
			
				|  |  |                  if (StringUtils.isNotNull(whgenleg)) {
 | 
	
		
			
				|  |  |                      wb.put("fQtyblc", whgenleg.getfQtyblc());
 | 
	
	
		
			
				|  | @@ -559,6 +560,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |              tWarehouseBills.setUpdateTime(new Date());
 | 
	
		
			
				|  |  |              tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
 | 
	
		
			
				|  |  |              fPid = tWarehouseBills.getfId();
 | 
	
		
			
				|  |  | +            tWarehousebillsitemsMapper.deleteByFPid(fPid);
 | 
	
		
			
				|  |  |              tEnclosureMapper.deleteByFPid(fPid);
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |              // 业务编码
 | 
	
	
		
			
				|  | @@ -579,7 +581,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          JSONArray warehouseJSON = JSONArray.parseArray(warehousebillsitems);
 | 
	
		
			
				|  |  |          List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
 | 
	
		
			
				|  |  |          for (TWarehousebillsitems item : warehousebillsitemsList) {
 | 
	
		
			
				|  |  | -            if (!"7".equals(item.getfBillstatus())) {
 | 
	
		
			
				|  |  | +            if (!"6".equals(item.getfBillstatus())) {
 | 
	
		
			
				|  |  |                  TWhgenleg tWhgenle = queryTWhgenleg(tWarehouseBills, item);
 | 
	
		
			
				|  |  |                  if (StringUtils.isNotNull(tWhgenle)) {
 | 
	
		
			
				|  |  |                      updateTWhgenlegData(item, tWhgenle.getfId(), billsType);
 | 
	
	
		
			
				|  | @@ -591,7 +593,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  item.setfPid(fPid);
 | 
	
		
			
				|  |  | -                item.setfBillstatus("7");
 | 
	
		
			
				|  |  | +                item.setfBillstatus("6");
 | 
	
		
			
				|  |  |                  item.setCreateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  |                  item.setCreateTime(new Date());
 | 
	
		
			
				|  |  |                  if (tWarehousebillsitemsMapper.insertTWarehousebillsitems(item) <= 0) {
 | 
	
	
		
			
				|  | @@ -610,7 +612,128 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                  tEnclosureMapper.insertTEnclosure(tEnclosure);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        return AjaxResult.success();
 | 
	
		
			
				|  |  | +        // 添加成功 主键返回 前台
 | 
	
		
			
				|  |  | +        return AjaxResult.success("成功",fPid);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     *    出库、调拨、货转 确认
 | 
	
		
			
				|  |  | +     * @param warehouseBills
 | 
	
		
			
				|  |  | +     * @param warehousebillsitems
 | 
	
		
			
				|  |  | +     * @param loginUser
 | 
	
		
			
				|  |  | +     * @param billsType
 | 
	
		
			
				|  |  | +     * @return
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public AjaxResult updateCredit(String warehouseBills, String warehousebillsitems, LoginUser loginUser, String billsType) {
 | 
	
		
			
				|  |  | +        Long fPid = null;
 | 
	
		
			
				|  |  | +        if (StringUtils.isNull(warehouseBills) || "[]".equals(warehouseBills)) {
 | 
	
		
			
				|  |  | +            return AjaxResult.error("未找到主表信息");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (StringUtils.isNull(warehousebillsitems) || "[]".equals(warehousebillsitems)) {
 | 
	
		
			
				|  |  | +            return AjaxResult.error("未找到入账信息");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        TWarehouseBills tWarehouseBills = JSONArray.parseObject(warehouseBills, TWarehouseBills.class);
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotNull(tWarehouseBills.getfId())) {
 | 
	
		
			
				|  |  | +            tWarehouseBills.setUpdateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  | +            tWarehouseBills.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | +            tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
 | 
	
		
			
				|  |  | +            fPid = tWarehouseBills.getfId();
 | 
	
		
			
				|  |  | +            tEnclosureMapper.deleteByFPid(fPid);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            // 业务编码
 | 
	
		
			
				|  |  | +            String billNo = billnoSerialServiceImpl.getBillNo(billsType, tWarehouseBills.getfBsdate());
 | 
	
		
			
				|  |  | +            tWarehouseBills.setfBillno(billNo);
 | 
	
		
			
				|  |  | +            // 存货编码
 | 
	
		
			
				|  |  | +            Date time = new Date();
 | 
	
		
			
				|  |  | +            String bscorpno = billnoSerialServiceImpl.getCorpNo(tWarehouseBills.getfCorpid(), time);
 | 
	
		
			
				|  |  | +            tWarehouseBills.setfBscorpno(bscorpno);
 | 
	
		
			
				|  |  | +            tWarehouseBills.setCreateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  | +            tWarehouseBills.setCreateTime(new Date());
 | 
	
		
			
				|  |  | +            tWarehouseBills.setfBsdeptid(loginUser.getUser().getDeptId());
 | 
	
		
			
				|  |  | +            // 已入账
 | 
	
		
			
				|  |  | +            tWarehouseBills.setfBillstatus("7");
 | 
	
		
			
				|  |  | +            tWarehouseBills.setfBilltype(billsType);
 | 
	
		
			
				|  |  | +            tWarehouseBillsMapper.insertTWarehousebills(tWarehouseBills);
 | 
	
		
			
				|  |  | +            fPid = tWarehouseBills.getfId();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        JSONArray warehouseJSON = JSONArray.parseArray(warehousebillsitems);
 | 
	
		
			
				|  |  | +        List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
 | 
	
		
			
				|  |  | +        int i = 1;
 | 
	
		
			
				|  |  | +        for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
 | 
	
		
			
				|  |  | +            if (!"6".equals(wbItem.getfBillstatus())) {
 | 
	
		
			
				|  |  | +                // 查询总账是否存在
 | 
	
		
			
				|  |  | +                TWhgenleg tWhgenle = queryTWhgenleg(tWarehouseBills, wbItem);
 | 
	
		
			
				|  |  | +                //  入库数特殊不判断入账
 | 
	
		
			
				|  |  | +                if ("SJCK".equals(billsType)) { // 出库 查询
 | 
	
		
			
				|  |  | +                    if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
 | 
	
		
			
				|  |  | +                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                        return AjaxResult.error("库存明细第" + i + "行库存为空");
 | 
	
		
			
				|  |  | +                    } else { // 非空修改库存总账
 | 
	
		
			
				|  |  | +                            //  库存 <  出库件数  、
 | 
	
		
			
				|  |  | +                            if (tWhgenle.getfQtyblc() < wbItem.getfQty()
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                               ) {
 | 
	
		
			
				|  |  | +                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                                return AjaxResult.error("库存明细第" + i + "行库存不足");
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +                            updateTWhgenlegData(wbItem, tWhgenle.getfId(), billsType);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                } else if ("CKDB".equals(billsType)) { // 调拨查询
 | 
	
		
			
				|  |  | +                    if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
 | 
	
		
			
				|  |  | +                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                        return AjaxResult.error("库存明细第" + i + "行库存为空");
 | 
	
		
			
				|  |  | +                    } else { // 非空修改库存总账
 | 
	
		
			
				|  |  | +                            if (tWhgenle.getfQtyblc() < wbItem.getfQty()) {  //  1、  库存 <  调拨件数  提示库存不足
 | 
	
		
			
				|  |  | +                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                                return AjaxResult.error("库存明细第" + i + "行库存不足");
 | 
	
		
			
				|  |  | +                            } else {  // 2、 库存足够 先 进行出库操作
 | 
	
		
			
				|  |  | +                                updateTWhgenlegData(wbItem, tWhgenle.getfId(), "SJCK");
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +                            // 3、 进行入库操作 查询是否存在库存
 | 
	
		
			
				|  |  | +                            tWarehouseBills.setfCorpid(tWarehouseBills.getfTocorpid()); // 新货权方
 | 
	
		
			
				|  |  | +                            TWhgenleg tWhgenle1 = queryTWhgenleg(tWarehouseBills, wbItem);
 | 
	
		
			
				|  |  | +                            if (StringUtils.isNull(tWhgenle1)) {   // 5、 不存在 进行新增库存
 | 
	
		
			
				|  |  | +                                instalTWhgenleg(tWarehouseBills, wbItem, loginUser.getUser());
 | 
	
		
			
				|  |  | +                            } else { // 4、 存在 进行跟新库存
 | 
	
		
			
				|  |  | +                                    updateTWhgenlegData(wbItem, tWhgenle1.getfId(), "SJRK");
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                } else if ("HQZY".equals(billsType)) { // 货转
 | 
	
		
			
				|  |  | +                    if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
 | 
	
		
			
				|  |  | +                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                        return AjaxResult.error("库存明细第" + i + "行库存为空");
 | 
	
		
			
				|  |  | +                    } else { // 非空修改库存总账
 | 
	
		
			
				|  |  | +                            if (tWhgenle.getfQtyblc() < wbItem.getfQty()) {  //  1、  库存 <  调拨件数  提示库存不足
 | 
	
		
			
				|  |  | +                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                                return AjaxResult.error("库存明细第" + i + "行库存不足");
 | 
	
		
			
				|  |  | +                            } else {  // 2、 库存足够 先 进行出库操作
 | 
	
		
			
				|  |  | +                                updateTWhgenlegData(wbItem, tWhgenle.getfId(), "SJCK");
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +                            // 3、 进行入库操作 查询是否存在库存
 | 
	
		
			
				|  |  | +                            tWarehouseBills.setfCorpid(tWarehouseBills.getfTocorpid()); // 新货权方
 | 
	
		
			
				|  |  | +                            TWhgenleg tWhgenle1 = queryTWhgenleg(tWarehouseBills, wbItem);
 | 
	
		
			
				|  |  | +                            if (StringUtils.isNull(tWhgenle1)) {   // 5、 不存在 进行新增库存
 | 
	
		
			
				|  |  | +                                instalTWhgenleg(tWarehouseBills, wbItem, loginUser.getUser());
 | 
	
		
			
				|  |  | +                            } else { // 4、 存在 进行跟新库存
 | 
	
		
			
				|  |  | +                                updateTWhgenlegData(wbItem, tWhgenle1.getfId(), "SJRK");
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                i++;
 | 
	
		
			
				|  |  | +                wbItem.setfPid(fPid);
 | 
	
		
			
				|  |  | +                wbItem.setfBillstatus("6");
 | 
	
		
			
				|  |  | +                wbItem.setCreateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  | +                wbItem.setCreateTime(new Date());
 | 
	
		
			
				|  |  | +                if (tWarehousebillsitemsMapper.insertTWarehousebillsitems(wbItem) <= 0) {
 | 
	
		
			
				|  |  | +                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                    return AjaxResult.error("库存明细更新失败");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        // 添加成功 主键返回 前台
 | 
	
		
			
				|  |  | +        return AjaxResult.success("成功",fPid);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      // 入库 收费明细 校验
 |