|  | @@ -656,7 +656,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          TWarehousebillsitems warehousebillsitems = new TWarehousebillsitems();
 | 
	
		
			
				|  |  |          warehousebillsitems.setfPid(fPid);
 | 
	
		
			
				|  |  | -        map.put("warehouseBills", warehouseBills);
 | 
	
		
			
				|  |  | +        map.put("warehouseBills", tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId()));
 | 
	
		
			
				|  |  |          map.put("warehousebillsitems", tWarehousebillsitemsMapper.selectGoodsTransferitemsList(warehousebillsitems));
 | 
	
		
			
				|  |  |          return AjaxResult.success("成功", map);
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -1011,22 +1011,17 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                                            String tWarehousebillsitems, String tEnclosure, LoginUser loginUser, String tCntr, String billsType) {
 | 
	
		
			
				|  |  |          Long fPid = null;
 | 
	
		
			
				|  |  |          boolean isApprove = false;
 | 
	
		
			
				|  |  | +        Long actId = queryWarehouseActId(billsType);
 | 
	
		
			
				|  |  |          String key = "";
 | 
	
		
			
				|  |  | -        long actId = 0L;
 | 
	
		
			
				|  |  |          if ("SJRK".equals(billsType)) {
 | 
	
		
			
				|  |  | -            actId = 110L;
 | 
	
		
			
				|  |  |              key = "warehouse.inStock.ApprovalFlow";
 | 
	
		
			
				|  |  |          } else if ("SJCK".equals(billsType)) {
 | 
	
		
			
				|  |  | -            actId = 120L;
 | 
	
		
			
				|  |  |              key = "warehouse.outStock.ApprovalFlow";
 | 
	
		
			
				|  |  |          } else if ("CKDB".equals(billsType)) {
 | 
	
		
			
				|  |  | -            actId = 140L;
 | 
	
		
			
				|  |  |              key = "warehouse.stockTransfer.ApprovalFlow";
 | 
	
		
			
				|  |  |          } else if ("HQZY".equals(billsType)) {
 | 
	
		
			
				|  |  | -            actId = 130L;
 | 
	
		
			
				|  |  |              key = "warehouse.transfer.ApprovalFlow";
 | 
	
		
			
				|  |  |          } else if ("HWTG".equals(billsType)) {
 | 
	
		
			
				|  |  | -            actId = 160L;
 | 
	
		
			
				|  |  |              key = "warehouse.cargoClearance.ApprovalFlow";
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique(key);
 | 
	
	
		
			
				|  | @@ -1057,6 +1052,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |              Date time = new Date();
 | 
	
		
			
				|  |  |              String bscorpno = billnoSerialServiceImpl.getCorpNo(warehouseBills.getfCorpid(), time);
 | 
	
		
			
				|  |  |              warehouseBills.setfBscorpno(bscorpno);
 | 
	
		
			
				|  |  | +            warehouseBills.setfTimes(1L);
 | 
	
		
			
				|  |  |              tWarehouseBillsMapper.insertTWarehousebills(warehouseBills);
 | 
	
		
			
				|  |  |              fPid = warehouseBills.getfId();
 | 
	
		
			
				|  |  |          } else {
 | 
	
	
		
			
				|  | @@ -1067,6 +1063,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                  warehouseBills.setfBillstatus(6L);
 | 
	
		
			
				|  |  |                  warehouseBills.setfReviewDate(new Date());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | +            warehouseBills.setfTimes(warehouseBills.getfTimes() + 1);
 | 
	
		
			
				|  |  |              warehouseBills.setUpdateTime(new Date());
 | 
	
		
			
				|  |  |              if (!"SJRK".equals(billsType)) {
 | 
	
		
			
				|  |  |                  warehouseBills.setfChargedate(warehouseBills.getfBsdate());
 | 
	
	
		
			
				|  | @@ -1213,6 +1210,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |              auditItems.setAuditOpTime(new Date());
 | 
	
		
			
				|  |  |              auditItems.setAuditMsg("提交");
 | 
	
		
			
				|  |  |              auditItems.setAuditStatus("O");
 | 
	
		
			
				|  |  | +            auditItems.setFidStatus("f_billstatus");
 | 
	
		
			
				|  |  | +            auditItems.setTimes(warehouseBills.getfTimes());
 | 
	
		
			
				|  |  |              AjaxResult approvalFlow = auditItemsService.createApprovalFlow(auditItems);
 | 
	
		
			
				|  |  |  //            Long code = Long.valueOf(String.valueOf(approvalFlow.get("code"))).longValue();
 | 
	
		
			
				|  |  |              String code = approvalFlow.get("code").toString();
 | 
	
	
		
			
				|  | @@ -1722,6 +1721,196 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  | +     * 提交仓库主表审批
 | 
	
		
			
				|  |  | +     * @param tWarehouseBills       主表信息
 | 
	
		
			
				|  |  | +     * @param tWarehousebillsfeesCr 付款信息
 | 
	
		
			
				|  |  | +     * @param tWarehousebillsfeesDr 收款信息
 | 
	
		
			
				|  |  | +     * @param tWarehousebillsitems  仓储明细
 | 
	
		
			
				|  |  | +     * @param tEnclosure            附件信息
 | 
	
		
			
				|  |  | +     * @param tCntr                 箱型箱量
 | 
	
		
			
				|  |  | +     * @param billsType             类型
 | 
	
		
			
				|  |  | +     * @return  结果
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    @Transactional
 | 
	
		
			
				|  |  | +    public AjaxResult submitWarehousingApproval(String tWarehouseBills, String tWarehousebillsfeesCr, String tWarehousebillsfeesDr,
 | 
	
		
			
				|  |  | +                                                String tWarehousebillsitems, String tEnclosure, String tCntr, String billsType) {
 | 
	
		
			
				|  |  | +        Long fPid = null;
 | 
	
		
			
				|  |  | +        boolean isApprove = false;
 | 
	
		
			
				|  |  | +        SysUser user = SecurityUtils.getLoginUser().getUser();
 | 
	
		
			
				|  |  | +        Long actId = queryWarehouseActId(billsType);
 | 
	
		
			
				|  |  | +        SysConfig sysConfig = queryWarehouseConfig(billsType);
 | 
	
		
			
				|  |  | +        if (StringUtils.isNull(sysConfig)) {
 | 
	
		
			
				|  |  | +            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +            return AjaxResult.error("系统参数异常,未找到开启审批流参数");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if ("0".equals(sysConfig.getConfigValue())) {
 | 
	
		
			
				|  |  | +            isApprove = true;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehouseBills, TWarehouseBills.class);
 | 
	
		
			
				|  |  | +        if (isApprove) {
 | 
	
		
			
				|  |  | +            warehouseBills.setWarehouseStatus(4L);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            warehouseBills.setWarehouseStatus(6L);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        // 仓库主表
 | 
	
		
			
				|  |  | +        if (StringUtils.isNull(warehouseBills.getfId())) {
 | 
	
		
			
				|  |  | +            return AjaxResult.error("请确认仓库信息是否保存");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        fPid = warehouseBills.getfId();
 | 
	
		
			
				|  |  | +        if (!"SJRK".equals(billsType)) {
 | 
	
		
			
				|  |  | +            warehouseBills.setfChargedate(warehouseBills.getfBsdate());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        warehouseBills.setfTimes(warehouseBills.getfTimes() + 1);
 | 
	
		
			
				|  |  | +        warehouseBills.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | +        warehouseBills.setUpdateBy(user.getUserName());
 | 
	
		
			
				|  |  | +        tEnclosureMapper.deleteByFPid(fPid);
 | 
	
		
			
				|  |  | +        tWarehousebillsfeesMapper.deleteByFPid(fPid);
 | 
	
		
			
				|  |  | +        tWarehousebillsitemsMapper.deleteByFPid(fPid);
 | 
	
		
			
				|  |  | +        tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
 | 
	
		
			
				|  |  | +        tWarehousebillsCntrMapper.deleteTWarehousebillsCntrfPid(fPid);
 | 
	
		
			
				|  |  | +        // 仓储明细
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotEmpty(tWarehousebillsitems) && "[]".equals(tWarehousebillsitems)) {
 | 
	
		
			
				|  |  | +            JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
 | 
	
		
			
				|  |  | +            List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
 | 
	
		
			
				|  |  | +            int line = 0;
 | 
	
		
			
				|  |  | +            for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
 | 
	
		
			
				|  |  | +                line++;
 | 
	
		
			
				|  |  | +                if ("SJRK".equals(billsType) || "SJCK".equals(billsType) || "CKDB".equals(billsType) || "HWTG".equals(billsType)) {
 | 
	
		
			
				|  |  | +                    if (StringUtils.isNull(wbItem.getfChargedate())) {
 | 
	
		
			
				|  |  | +                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                        return AjaxResult.error("库存明细第" + line + "行未找到仓储费计费日期,请确认");
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    if (StringUtils.isNull(wbItem.getfBillingway())) {
 | 
	
		
			
				|  |  | +                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                        return AjaxResult.error("库存明细第" + line + "行未找到计费方式,请确认");
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    if (StringUtils.isNull(wbItem.getfOriginalbilldate())) {
 | 
	
		
			
				|  |  | +                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                        return AjaxResult.error("库存明细第" + line + "行未找到原始入库日期,请确认");
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    // 除了入库其他模块不需要更新主表的 仓储费计费日期到明细表,其他模块 应从库存总账把仓储费计费日期 赋给明细表
 | 
	
		
			
				|  |  | +                    if ("SJRK".equals(billsType)) {
 | 
	
		
			
				|  |  | +                        wbItem.setfMblno(warehouseBills.getfMblno());
 | 
	
		
			
				|  |  | +                        wbItem.setfBillingway(warehouseBills.getfBillingway());
 | 
	
		
			
				|  |  | +                        wbItem.setfChargedate(warehouseBills.getfChargedate());
 | 
	
		
			
				|  |  | +                        wbItem.setfOriginalbilldate(warehouseBills.getfBsdate());
 | 
	
		
			
				|  |  | +                        wbItem.setfMblno(warehouseBills.getfMblno());// 入库更新库存前执行update更新明细的提单号等于主表的提单号
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                wbItem.setfPid(fPid);
 | 
	
		
			
				|  |  | +                wbItem.setfBilltype(billsType);
 | 
	
		
			
				|  |  | +                wbItem.setCreateTime(new Date());
 | 
	
		
			
				|  |  | +                wbItem.setfBillno(warehouseBills.getfBillno());
 | 
	
		
			
				|  |  | +                wbItem.setCreateBy(user.getUserName());
 | 
	
		
			
				|  |  | +                tWarehousebillsitemsMapper.insertTWarehousebillsitems(wbItem);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        //  箱型数据
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotNull(tCntr) && !"[]".equals(tCntr)) {
 | 
	
		
			
				|  |  | +            JSONArray jsonDrArray = JSONArray.parseArray(tCntr);
 | 
	
		
			
				|  |  | +            List<TWarehousebillsCntr> tWarehousebillsCntrs = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsCntr.class);
 | 
	
		
			
				|  |  | +            int cntrLine = 0;
 | 
	
		
			
				|  |  | +            for (TWarehousebillsCntr cntr : tWarehousebillsCntrs) {
 | 
	
		
			
				|  |  | +                cntrLine++;
 | 
	
		
			
				|  |  | +                if (StringUtils.isNull(cntr.getfCntrid()) || StringUtils.isNull(cntr.getfCntrcount()) || cntr.getfCntrcount() == 0) {
 | 
	
		
			
				|  |  | +                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                    return AjaxResult.error("箱型数据第" + cntrLine + "行数据缺少必填数据");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                cntr.setfPid(fPid);
 | 
	
		
			
				|  |  | +                cntr.setfGoodsid(0L);
 | 
	
		
			
				|  |  | +                cntr.setfPackageid("0");
 | 
	
		
			
				|  |  | +                cntr.setCreateTime(new Date());
 | 
	
		
			
				|  |  | +                cntr.setCreateBy(user.getUserName());
 | 
	
		
			
				|  |  | +                cntr.setfCntrweight(new BigDecimal(0));
 | 
	
		
			
				|  |  | +                tWarehousebillsCntrMapper.insertTWarehousebillsCntr(cntr);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotNull(tWarehousebillsfeesCr) && !"[]".equals(tWarehousebillsfeesCr)) {
 | 
	
		
			
				|  |  | +            JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfeesCr);
 | 
	
		
			
				|  |  | +            List<TWarehousebillsfees> warehousebillsfeesCrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
 | 
	
		
			
				|  |  | +            for (TWarehousebillsfees wbCr : warehousebillsfeesCrList) {
 | 
	
		
			
				|  |  | +                wbCr.setfPid(fPid);
 | 
	
		
			
				|  |  | +                wbCr.setfDc("C");
 | 
	
		
			
				|  |  | +                wbCr.setfBilltype(billsType);
 | 
	
		
			
				|  |  | +                wbCr.setCreateTime(new Date());
 | 
	
		
			
				|  |  | +                wbCr.setSrcBillNo(warehouseBills.getfBillno());
 | 
	
		
			
				|  |  | +                wbCr.setCreateBy(user.getUserName());
 | 
	
		
			
				|  |  | +                wbCr.setfChargedate(warehouseBills.getfChargedate());
 | 
	
		
			
				|  |  | +                wbCr.setfBillingDeadline(warehouseBills.getfChargedate());
 | 
	
		
			
				|  |  | +                if (StringUtils.isNotNull(warehouseBills.getfBsdate())) {
 | 
	
		
			
				|  |  | +                    wbCr.setfBsdate(warehouseBills.getfBsdate());
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotNull(tWarehousebillsfeesDr) && !"[]".equals(tWarehousebillsfeesDr)) {
 | 
	
		
			
				|  |  | +            JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfeesDr);
 | 
	
		
			
				|  |  | +            List<TWarehousebillsfees> warehousebillsfeesDrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
 | 
	
		
			
				|  |  | +            for (TWarehousebillsfees wbDr : warehousebillsfeesDrList) {
 | 
	
		
			
				|  |  | +                wbDr.setfPid(fPid);
 | 
	
		
			
				|  |  | +                wbDr.setfDc("D");
 | 
	
		
			
				|  |  | +                wbDr.setfBillstatus(4L);
 | 
	
		
			
				|  |  | +                wbDr.setfBilltype(billsType);
 | 
	
		
			
				|  |  | +                wbDr.setCreateTime(new Date());
 | 
	
		
			
				|  |  | +                wbDr.setSrcBillNo(warehouseBills.getfBillno());
 | 
	
		
			
				|  |  | +                wbDr.setCreateBy(user.getUserName());
 | 
	
		
			
				|  |  | +                wbDr.setfChargedate(warehouseBills.getfChargedate());
 | 
	
		
			
				|  |  | +                wbDr.setfBillingDeadline(warehouseBills.getfChargedate());
 | 
	
		
			
				|  |  | +                if (StringUtils.isNotNull(warehouseBills.getfBsdate())) {
 | 
	
		
			
				|  |  | +                    wbDr.setfBsdate(warehouseBills.getfBsdate());
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbDr);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotNull(tEnclosure) && !"[]".equals(tEnclosure)) {
 | 
	
		
			
				|  |  | +            JSONArray jsonEnclosureArray = JSONArray.parseArray(tEnclosure);
 | 
	
		
			
				|  |  | +            List<TEnclosure> enclosuresList = JSONObject.parseArray(jsonEnclosureArray.toJSONString(), TEnclosure.class);
 | 
	
		
			
				|  |  | +            long lineNo = 0L;
 | 
	
		
			
				|  |  | +            for (TEnclosure enclosure : enclosuresList) {
 | 
	
		
			
				|  |  | +                lineNo++;
 | 
	
		
			
				|  |  | +                enclosure.setfPid(fPid);
 | 
	
		
			
				|  |  | +                enclosure.setfLineno(lineNo);
 | 
	
		
			
				|  |  | +                enclosure.setCreateTime(new Date());
 | 
	
		
			
				|  |  | +                enclosure.setCreateBy(user.getUserName());
 | 
	
		
			
				|  |  | +                tEnclosureMapper.insertTEnclosure(enclosure);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        // 这里加个判断取系统参数来确定是否需要启用审批流
 | 
	
		
			
				|  |  | +        if (isApprove) {
 | 
	
		
			
				|  |  | +            AuditItems auditItems = new AuditItems();
 | 
	
		
			
				|  |  | +            auditItems.setLevelId(0L);
 | 
	
		
			
				|  |  | +            auditItems.setBillId(fPid);
 | 
	
		
			
				|  |  | +            auditItems.setActId(actId);
 | 
	
		
			
				|  |  | +            auditItems.setIffinalItem("F");
 | 
	
		
			
				|  |  | +            auditItems.setBillNo(warehouseBills.getfBillno());
 | 
	
		
			
				|  |  | +            // 存储委托方(货权方)
 | 
	
		
			
				|  |  | +            auditItems.setRefno1(warehouseBills.getfCorpid() + "");
 | 
	
		
			
				|  |  | +            // 存储业务类型(业务类型)
 | 
	
		
			
				|  |  | +            auditItems.setRefno2(warehouseBills.getfBilltype());
 | 
	
		
			
				|  |  | +            // 存储提单号(提单号)
 | 
	
		
			
				|  |  | +            auditItems.setRefno3(warehouseBills.getfMblno());
 | 
	
		
			
				|  |  | +            auditItems.setSendUserId(user.getUserId());
 | 
	
		
			
				|  |  | +            auditItems.setSendName(user.getUserName());
 | 
	
		
			
				|  |  | +            auditItems.setSendTime(new Date());
 | 
	
		
			
				|  |  | +            auditItems.setAuditUserId(user.getUserId());
 | 
	
		
			
				|  |  | +            auditItems.setAuditItem(new Date());
 | 
	
		
			
				|  |  | +            auditItems.setAuditOpTime(new Date());
 | 
	
		
			
				|  |  | +            auditItems.setAuditMsg("提交");
 | 
	
		
			
				|  |  | +            auditItems.setAuditStatus("O");
 | 
	
		
			
				|  |  | +            auditItems.setFidStatus("warehouse_status");
 | 
	
		
			
				|  |  | +            auditItems.setTimes(warehouseBills.getfTimes() + 1);
 | 
	
		
			
				|  |  | +            AjaxResult approvalFlow = auditItemsService.createApprovalFlow(auditItems);
 | 
	
		
			
				|  |  | +            String code = approvalFlow.get("code").toString();
 | 
	
		
			
				|  |  | +            if ("500".equals(code)) {
 | 
	
		
			
				|  |  | +                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return approvalFlow;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return AjaxResult.success();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  |       * app仓储新行提交业务
 | 
	
		
			
				|  |  |       *
 | 
	
		
			
				|  |  |       * @param item    仓库明细数据
 | 
	
	
		
			
				|  | @@ -3687,6 +3876,26 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  | +     * 撤销已审核通过的接单入库信息
 | 
	
		
			
				|  |  | +     * @param fId
 | 
	
		
			
				|  |  | +     * @return
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    @Transactional
 | 
	
		
			
				|  |  | +    public AjaxResult withdrawOrdersById(Long fId) {
 | 
	
		
			
				|  |  | +        // 查询 仓库主表信息、库存明细信息
 | 
	
		
			
				|  |  | +        TWarehouseBills tWarehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
 | 
	
		
			
				|  |  | +        if (tWarehousebills.getWarehouseStatus() != 6L) {
 | 
	
		
			
				|  |  | +            return AjaxResult.error("主单据状态异常,请确认单据状态是否已审核通过");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        tWarehousebills.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | +        tWarehousebills.setWarehouseStatus(2L); //撤销状态
 | 
	
		
			
				|  |  | +        tWarehousebills.setUpdateBy(SecurityUtils.getUsername());
 | 
	
		
			
				|  |  | +        tWarehouseBillsMapper.updateTWarehousebills(tWarehousebills);
 | 
	
		
			
				|  |  | +        return AjaxResult.success();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  |       * 撤销入账
 | 
	
		
			
				|  |  |       *
 | 
	
		
			
				|  |  |       * @param warehouseBills      主表
 | 
	
	
		
			
				|  | @@ -4048,4 +4257,92 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          return tWarehouseBillsMapper.selectTWarehousebillsById(fid);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     *  查询是否开启审批流
 | 
	
		
			
				|  |  | +     * @param billsType
 | 
	
		
			
				|  |  | +     * @return
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    public SysConfig queryWarehouseConfig (String billsType) {
 | 
	
		
			
				|  |  | +        String key = "";
 | 
	
		
			
				|  |  | +        if ("SJRK".equals(billsType)) {
 | 
	
		
			
				|  |  | +            key = "instock.orders.approval";
 | 
	
		
			
				|  |  | +        } else if ("SJCK".equals(billsType)) {
 | 
	
		
			
				|  |  | +            key = "outStock.orders.approvalFlow";
 | 
	
		
			
				|  |  | +        } else if ("CKDB".equals(billsType)) {
 | 
	
		
			
				|  |  | +            key = "stockTransfer.orders.approvalFlow";
 | 
	
		
			
				|  |  | +        } else if ("HQZY".equals(billsType)) {
 | 
	
		
			
				|  |  | +            key = "transfer.orders.approvalFlow";
 | 
	
		
			
				|  |  | +        } else if ("HWTG".equals(billsType)) {
 | 
	
		
			
				|  |  | +            key = "cargoClearance.orders.approvalFlow";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return sysConfigMapper.checkConfigKeyUnique(key);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     *  查询是对应仓储类型活动号
 | 
	
		
			
				|  |  | +     * @param billsType
 | 
	
		
			
				|  |  | +     * @return
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    public Long queryWarehouseActId (String billsType) {
 | 
	
		
			
				|  |  | +        long actId = 0L;
 | 
	
		
			
				|  |  | +        if ("SJRK".equals(billsType)) {
 | 
	
		
			
				|  |  | +            actId = 110L;
 | 
	
		
			
				|  |  | +        } else if ("SJCK".equals(billsType)) {
 | 
	
		
			
				|  |  | +            actId = 120L;
 | 
	
		
			
				|  |  | +        } else if ("CKDB".equals(billsType)) {
 | 
	
		
			
				|  |  | +            actId = 140L;
 | 
	
		
			
				|  |  | +        } else if ("HQZY".equals(billsType)) {
 | 
	
		
			
				|  |  | +            actId = 130L;
 | 
	
		
			
				|  |  | +        } else if ("HWTG".equals(billsType)) {
 | 
	
		
			
				|  |  | +            actId = 160L;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return actId;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     *  校验仓储主表字段是否为空
 | 
	
		
			
				|  |  | +     *  后续优化进入系统
 | 
	
		
			
				|  |  | +     * @param warehousebill
 | 
	
		
			
				|  |  | +     * @return
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    public String checkWarehouse (TWarehouseBills warehousebill) {
 | 
	
		
			
				|  |  | +        if (StringUtils.isNull(warehousebill.getfCorpid())) {
 | 
	
		
			
				|  |  | +            return "请维护主表客户信息";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (StringUtils.isNull(warehousebill.getfBsdate())) {
 | 
	
		
			
				|  |  | +            return "请维护主表业务日期";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (StringUtils.isNull(warehousebill.getfWarehouseid())) {
 | 
	
		
			
				|  |  | +            return "请维护主表仓库信息";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (("SJRK".equals(warehousebill.getfBilltype()) || "SJCK".equals(warehousebill.getfBilltype()))
 | 
	
		
			
				|  |  | +                && StringUtils.isNull(warehousebill.getfFeetunit())) {
 | 
	
		
			
				|  |  | +            return "请维护主表业务计费单位";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (("SJRK".equals(warehousebill.getfBilltype()) || "HQZY".equals(warehousebill.getfBilltype()))
 | 
	
		
			
				|  |  | +                && StringUtils.isNull(warehousebill.getfChargedate())) {
 | 
	
		
			
				|  |  | +            return "请维护主表仓储费计费日期";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if ("SJRK".equals(warehousebill.getfBilltype()) && StringUtils.isNull(warehousebill.getfGoodsid())) {
 | 
	
		
			
				|  |  | +            return "请维护主表商品信息";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (!"HQZY".equals(warehousebill.getfBilltype()) && StringUtils.isNull(warehousebill.getfStorekeeper())) {
 | 
	
		
			
				|  |  | +            return "请维护主表仓管员信息";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if ("SJRK".equals(warehousebill.getfBilltype()) && StringUtils.isEmpty(warehousebill.getfMblno())) {
 | 
	
		
			
				|  |  | +            return "请维护主表提单号";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if ("CKDB".equals(warehousebill.getfBilltype()) && StringUtils.isEmpty(warehousebill.getfBusinessType())) {
 | 
	
		
			
				|  |  | +            return "请维护主表作业类型";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (("HQZY".equals(warehousebill.getfBilltype()) || "HWTG".equals(warehousebill.getfBilltype()))
 | 
	
		
			
				|  |  | +                && StringUtils.isNull(warehousebill.getfTrademodeid())) {
 | 
	
		
			
				|  |  | +            return "请维护主表贸易方式";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if ("HWTG".equals(warehousebill.getfBilltype()) && StringUtils.isNull(warehousebill.getfNewTrademodeid())) {
 | 
	
		
			
				|  |  | +            return "请维护主表新贸易方式";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return null;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  }
 |