liusheng
2023-06-06 160ed62b3eca5e6b57efd945c95fb5a719bea785
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
@@ -138,7 +138,12 @@
        //startPage();
        List<SpFinancialExpensesFundOut> list = serviceFundService.getListBypower(loginUser.getUsername(), 2, APPLICANT, APPLICATIONBEGTIME, APPLICATIONENDTIME, loginUser.getDeptId().toString(), CHECKFLAG, APPLYTYPE);
        //return getDataTable(list);
        Collections.sort(list, new Comparator<SpFinancialExpensesFundOut>() {
            @Override
            public int compare(SpFinancialExpensesFundOut o1, SpFinancialExpensesFundOut o2) {
                return o2.getCreateTime().compareTo(o1.getCreateTime());
            }
        });
        return getCustomDataTable(list, pageNum, pageSize);
    }
@@ -201,129 +206,129 @@
    public AjaxResult add(@RequestBody ServiceFund serviceFund) {
        boolean b = serviceFundService.save(serviceFund);
        Long id = serviceFund.getId();
        if (b) {
            addReiSharedDatd(serviceFund, 1);
        }
//        if (b) {
//            addReiSharedDatd(serviceFund, 1);
//        }
        return AjaxResult.success(id);
    }
    public int addReiSharedDatd(ServiceFund serviceFund, int nType) {
        //remShare = ;
        ServiceFundShared remShare = null;
        if (nType == 1) {
            remShare = new ServiceFundShared();
            remShare.setSerfunid(serviceFund.getId());
        } else //modify
        {
            List<ServiceFundShared> remlist = fundServiceShare.getFundShareInfoById(serviceFund.getId());
            if (remlist != null) remShare = remlist.get(0);
        }
        remShare.setDonorno(serviceFund.getDonorno());
        remShare.setDonorname(serviceFund.getDonorname());
        remShare.setUserno(serviceFund.getUserno());
        remShare.setUsername(serviceFund.getUsername());
        remShare.setUnitname(serviceFund.getUnitname());
        remShare.setUnitno(serviceFund.getUnitno());
        remShare.setUnituserno(serviceFund.getUnituserno());
        remShare.setPhone(serviceFund.getPhone());
        remShare.setAnnexbankcard(serviceFund.getAnnexbankcard());
        remShare.setAnnexregistform(serviceFund.getAnnexregistform());
        Double nTemp = serviceFund.getPretaxcost();
        if (nTemp == null) nTemp = 0d;
        remShare.setPretaxcost(BigDecimal.valueOf(nTemp));
        //remShare.setAnnexfiles(serviceReimbursement.getAnnexfiles());
        // remShare.setAmountrequested(BigDecimal.valueOf(serviceReimbursement.getAmountrequested()));
        nTemp = serviceFund.getTaxedcost();
        if (nTemp == null) nTemp = 0d;
        remShare.setTaxedcost(BigDecimal.valueOf(nTemp));
        nTemp = serviceFund.getTotalcost();
        if (nTemp == null) nTemp = 0d;
        remShare.setTotalcost(BigDecimal.valueOf(nTemp));
        nTemp = serviceFund.getExpertcost();
        if (nTemp == null) nTemp = 0.0;
        remShare.setExpertcost(BigDecimal.valueOf(nTemp));
        nTemp = serviceFund.getEthicscost();
        if (nTemp == null) nTemp = 0.0;
        remShare.setEthicscost(BigDecimal.valueOf(nTemp));
        nTemp = serviceFund.getMedicalcost();
        if (nTemp == null) nTemp = 0.0;
        remShare.setMedicalcost(BigDecimal.valueOf(nTemp));
        nTemp = serviceFund.getFamilycost();
        if (nTemp == null) nTemp = 0.0;
        remShare.setFamilycost(BigDecimal.valueOf(nTemp));
        nTemp = serviceFund.getAftercarecost();
        if (nTemp == null) nTemp = 0.0;
        remShare.setAftercarecost(BigDecimal.valueOf(nTemp));
        nTemp = serviceFund.getAmountrequested();
        if (nTemp == null) nTemp = 0.0;
        remShare.setAmountrequested(BigDecimal.valueOf(nTemp));
        remShare.setApplytype(serviceFund.getApplytype());
        nTemp = serviceFund.getPrepaidamount();
        if (nTemp == null) nTemp = 0.0;
        remShare.setPrepaidamount(BigDecimal.valueOf(nTemp));
        remShare.setInvoicecount(serviceFund.getInvoicecount());
        remShare.setAttachcount(serviceFund.getAttachcount());
        remShare.setManagerno(serviceFund.getManagerno());
        remShare.setManagername(serviceFund.getManagername());
        remShare.setDeptmentno(serviceFund.getDeptmentno());
        remShare.setDeptmentname(serviceFund.getDeptmentname());
        remShare.setOpochecker(serviceFund.getOpochecker());
        remShare.setFinvicepresident(serviceFund.getFinvicepresident());
        remShare.setBusvicepresident(serviceFund.getBusvicepresident());
        remShare.setOfficedirector(serviceFund.getOfficedirector());
        remShare.setFinancedirector(serviceFund.getFinancedirector());
        remShare.setFinancechecher(serviceFund.getFinancechecher());
        //remShare.setIsdistribute(serviceFund.getIsdistribute());
        remShare.setRecordstatus(serviceFund.getRecordstatus());
        remShare.setUploadflag(serviceFund.getUploadflag());
        remShare.setUploadtime(serviceFund.getUploadtime());
        long nLevel = serviceFund.getFlowlevel();
        remShare.setFlowlevel(nLevel);
        remShare.setInfoid(serviceFund.getInfoid());
        //remShare.setOaid(serviceReimbursement.getOaid());
        //remShare.setDonorno(serviceReimbursement.getDonorno());
        boolean bRet = false;
        if (nType == 1) {
            bRet = fundServiceShare.save(remShare);
        } else {
            //remShare.setId(serviceReimbursement.);
            bRet = fundServiceShare.updateById(remShare);
        }
        //if(!bRet) return -1;
        String strMutfileUrl = remShare.getAnnexbankcard();
        //有附件时才调用第三方进行上传
        if (strMutfileUrl == null) return 0;
        if (strMutfileUrl.isEmpty()) return 0;
        try {
            uploadOAFileAndUpdateDb(remShare);
        } catch (Exception e) {
            logger.error("调用第三方接口出错!");
            e.printStackTrace();
        }
        //此处保存成功后要上传OA,保存返回值
        return 0;
    }
//    public int addReiSharedDatd(ServiceFund serviceFund, int nType) {
//        //remShare = ;
//        ServiceFundShared remShare = null;
//        if (nType == 1) {
//            remShare = new ServiceFundShared();
//            remShare.setSerfunid(serviceFund.getId());
//        } else //modify
//        {
//            List<ServiceFundShared> remlist = fundServiceShare.getFundShareInfoById(serviceFund.getId());
//            if (remlist != null) remShare = remlist.get(0);
//        }
//
//        remShare.setDonorno(serviceFund.getDonorno());
//        remShare.setDonorname(serviceFund.getDonorname());
//        remShare.setUserno(serviceFund.getUserno());
//        remShare.setUsername(serviceFund.getUsername());
//        remShare.setUnitname(serviceFund.getUnitname());
//        remShare.setUnitno(serviceFund.getUnitno());
//        remShare.setUnituserno(serviceFund.getUnituserno());
//        remShare.setPhone(serviceFund.getPhone());
//        remShare.setAnnexbankcard(serviceFund.getAnnexbankcard());
//        remShare.setAnnexregistform(serviceFund.getAnnexregistform());
//        Double nTemp = serviceFund.getPretaxcost();
//        if (nTemp == null) nTemp = 0d;
//        remShare.setPretaxcost(BigDecimal.valueOf(nTemp));
//        //remShare.setAnnexfiles(serviceReimbursement.getAnnexfiles());
//        // remShare.setAmountrequested(BigDecimal.valueOf(serviceReimbursement.getAmountrequested()));
//
//        nTemp = serviceFund.getTaxedcost();
//        if (nTemp == null) nTemp = 0d;
//        remShare.setTaxedcost(BigDecimal.valueOf(nTemp));
//
//        nTemp = serviceFund.getTotalcost();
//        if (nTemp == null) nTemp = 0d;
//        remShare.setTotalcost(BigDecimal.valueOf(nTemp));
//
//        nTemp = serviceFund.getExpertcost();
//        if (nTemp == null) nTemp = 0.0;
//        remShare.setExpertcost(BigDecimal.valueOf(nTemp));
//
//        nTemp = serviceFund.getEthicscost();
//        if (nTemp == null) nTemp = 0.0;
//        remShare.setEthicscost(BigDecimal.valueOf(nTemp));
//
//        nTemp = serviceFund.getMedicalcost();
//        if (nTemp == null) nTemp = 0.0;
//        remShare.setMedicalcost(BigDecimal.valueOf(nTemp));
//
//        nTemp = serviceFund.getFamilycost();
//        if (nTemp == null) nTemp = 0.0;
//        remShare.setFamilycost(BigDecimal.valueOf(nTemp));
//
//        nTemp = serviceFund.getAftercarecost();
//        if (nTemp == null) nTemp = 0.0;
//        remShare.setAftercarecost(BigDecimal.valueOf(nTemp));
//
//        nTemp = serviceFund.getAmountrequested();
//        if (nTemp == null) nTemp = 0.0;
//        remShare.setAmountrequested(BigDecimal.valueOf(nTemp));
//
//
//        remShare.setApplytype(serviceFund.getApplytype());
//
//        nTemp = serviceFund.getPrepaidamount();
//        if (nTemp == null) nTemp = 0.0;
//        remShare.setPrepaidamount(BigDecimal.valueOf(nTemp));
//
//        remShare.setInvoicecount(serviceFund.getInvoicecount());
//        remShare.setAttachcount(serviceFund.getAttachcount());
//        remShare.setManagerno(serviceFund.getManagerno());
//        remShare.setManagername(serviceFund.getManagername());
//        remShare.setDeptmentno(serviceFund.getDeptmentno());
//        remShare.setDeptmentname(serviceFund.getDeptmentname());
//        remShare.setOpochecker(serviceFund.getOpochecker());
//        remShare.setFinvicepresident(serviceFund.getFinvicepresident());
//        remShare.setBusvicepresident(serviceFund.getBusvicepresident());
//        remShare.setOfficedirector(serviceFund.getOfficedirector());
//        remShare.setFinancedirector(serviceFund.getFinancedirector());
//        remShare.setFinancechecher(serviceFund.getFinancechecher());
//        //remShare.setIsdistribute(serviceFund.getIsdistribute());
//        remShare.setRecordstatus(serviceFund.getRecordstatus());
//        remShare.setUploadflag(serviceFund.getUploadflag());
//        remShare.setUploadtime(serviceFund.getUploadtime());
//        long nLevel = serviceFund.getFlowlevel();
//        remShare.setFlowlevel(nLevel);
//
//        remShare.setInfoid(serviceFund.getInfoid());
//
//        //remShare.setOaid(serviceReimbursement.getOaid());
//        //remShare.setDonorno(serviceReimbursement.getDonorno());
//
//        boolean bRet = false;
//        if (nType == 1) {
//            bRet = fundServiceShare.save(remShare);
//        } else {
//            //remShare.setId(serviceReimbursement.);
//            bRet = fundServiceShare.updateById(remShare);
//        }
//
//        //if(!bRet) return -1;
//        String strMutfileUrl = remShare.getAnnexbankcard();
//        //有附件时才调用第三方进行上传
//        if (strMutfileUrl == null) return 0;
//        if (strMutfileUrl.isEmpty()) return 0;
//
//        try {
//            uploadOAFileAndUpdateDb(remShare);
//        } catch (Exception e) {
//            logger.error("调用第三方接口出错!");
//            e.printStackTrace();
//        }
//
//        //此处保存成功后要上传OA,保存返回值
//
//        return 0;
//    }
    int uploadOAFileAndUpdateDb(ServiceFundShared remShare) {
@@ -429,9 +434,9 @@
    public AjaxResult addnew(@RequestBody ServiceFundVO serviceFundVO) {
        boolean b = serviceFundService.save(serviceFundVO);
        Long id = serviceFundVO.getId();
        if (b) {
            addReiSharedDatd(serviceFundVO, 1);
        }
//        if (b) {
//            addReiSharedDatd(serviceFundVO, 1);
//        }
        List<ServiceFunddetail> serviceFunddetails = serviceFundVO.getServiceFunddetails();
        serviceFunddetails.forEach(item -> item.setFundid(id));
        serviceFunddetailService.saveBatch(serviceFunddetails);
@@ -445,6 +450,7 @@
    @Log(title = "审核费用", businessType = BusinessType.OTHER)
    @PostMapping("/checkfund")
    public AjaxResult checkFund(@RequestBody CheckFundVO checkFundVO) {
        logger.info("serviceFundController---checkFund的入参值checkFundVO :{}",checkFundVO);
        ServiceFund serviceFund = serviceFundService.getById(checkFundVO.getFundid());
        if (serviceFund != null) {
            Integer TotalLevel = 0;
@@ -453,6 +459,8 @@
            serviceFundflowrule.setFundtype(2);
            serviceFundflowrule.setApplytype(serviceFund.getApplytype());
            serviceFundflowrule.setCheckuserno(loginUser.getUsername());
            logger.info("serviceFundController---checkFund---queryList的入参值serviceFundflowrule:{}",serviceFundflowrule);
            List<ServiceFundflowrule> serviceFundflowrules = serviceFundflowruleService.queryList(serviceFundflowrule);
            if (serviceFundflowrules == null || serviceFundflowrules.stream().count() == 0) {
@@ -542,6 +550,7 @@
                    columnMap.put("fundID", checkFundVO.getFundid());
                    //获取详情数据
                    List<ServiceFunddetail> serviceFunddetails = serviceFunddetailMapper.selectByMap(columnMap);
                    logger.info("serviceFundController---checkFund的返回值serviceFunddetails :{}",serviceFunddetails);
                    List<ServiceFunddetailShared> serviceFunddetailShareds = DtoConversionUtils.sourceToTarget(serviceFunddetails, ServiceFunddetailShared.class);
                    for (int i = 0; i < serviceFunddetails.size(); i++) {
                        serviceFunddetailShareds.get(i).setFundid(serviceFundShared.getId());
@@ -581,9 +590,9 @@
    @RepeatSubmit
    public AjaxResult edit(@RequestBody ServiceFund serviceFund) {
        boolean bret = serviceFundService.updateById(serviceFund);
        if (bret) {
            addReiSharedDatd(serviceFund, 2);
        }
//        if (bret) {
//            addReiSharedDatd(serviceFund, 2);
//        }
        return toAjax(bret);
    }