liusheng
2024-05-16 c678e5fe694f06b023369ca0fc5d2f1cf50f6599
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
@@ -32,8 +32,6 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Options;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
@@ -83,19 +81,11 @@
    private IServiceSystemmessageService ServiceSystemmessage;
    @Autowired
    private IBaseOnlyvalueService baseOnlyvalueService;
    @Autowired
    private IServiceExternalpersonService externalpersonService;
    @Autowired
    private ISysPostService postService;
    @Autowired
    private DataSourceTransactionManager transactionManager;
    @Autowired
    private TransactionDefinition transactionDefinition;
    @Autowired
    private DingTalkService dingTalkService;
@@ -112,7 +102,7 @@
     * 查询费用申请主列表
     */
    @ApiOperation("查询费用申请主列表")
    //@PreAuthorize("@ss.hasPermi('project:fund:list')")
    //// @PreAuthorize("@ss.hasPermi('project:fund:list')")
    @GetMapping("/list")
    public TableDataInfo list(ServiceFund serviceFund) {
        startPage();
@@ -188,7 +178,7 @@
        Collections.sort(list, new Comparator<SpFinancialExpensesFundOut>() {
            @Override
            public int compare(SpFinancialExpensesFundOut o1, SpFinancialExpensesFundOut o2) {
                return o1.getCreateTime().compareTo(o2.getCreateTime());
                return o1.getApplyTime().compareTo(o2.getApplyTime());
            }
        });
        return getCustomDataTable(list, pageNum, pageSize);
@@ -206,7 +196,7 @@
    }
    @ApiOperation("查询费用申请主列表")
    //@PreAuthorize("@ss.hasPermi('project:fund:list')")
    //// @PreAuthorize("@ss.hasPermi('project:fund:list')")
    @GetMapping(value = "/getInfo/{infoid}")
    public AjaxResult getInfoByInfoId(@PathVariable("infoid") Long infoid) {
        return AjaxResult.success(serviceFundService.getInfoByInfoId(infoid));
@@ -228,7 +218,7 @@
     * 导出费用申请主列表
     */
    @ApiOperation("导出费用申请主列表")
    //@PreAuthorize("@ss.hasPermi('project:fund:export')")
    //// @PreAuthorize("@ss.hasPermi('project:fund:export')")
    @Log(title = "费用申请主", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(ServiceFund serviceFund) {
@@ -242,7 +232,7 @@
     * 获取费用申请主详细信息
     */
    @ApiOperation("获取费用申请主详细信息")
    //@PreAuthorize("@ss.hasPermi('project:fund:query')")
    //// @PreAuthorize("@ss.hasPermi('project:fund:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return AjaxResult.success(serviceFundService.getById(id));
@@ -252,7 +242,7 @@
     * 新增费用申请主
     */
    @ApiOperation("新增费用申请主")
    //@PreAuthorize("@ss.hasPermi('project:fund:add')")
    //// @PreAuthorize("@ss.hasPermi('project:fund:add')")
    @Log(title = "费用申请主", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    @RepeatSubmit
@@ -266,216 +256,15 @@
        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;
//    }
//    int uploadOAFileAndUpdateDb(ServiceFundShared remShare) {
//        //上传OA文件
//        //String strUrl = "http://129.88.242.39:8899/seeyon/rest/token?userName=opo&password=127814f8-84e8-4304-84a5-a71573567efd&loginName=demo3";
//        String strUrl = "http://129.88.242.39:8899/seeyon/rest/token";
//        //String strUrl = "http://slb.hospitalstar.com:8899/seeyon/rest/token";
//        //上传文件成功后,去更新相关的数据库
//
//
//        Map<String, Object> map = new HashMap<String, Object>();
//        map.put("userName", "opo");
//        map.put("password", "4126407a-9821-4874-be41-6568abd6dbe5");
//        map.put("loginName", "demo3");
//
//        JSONObject jsonObj = new JSONObject(map);
//
//        System.out.println("uploadOAFileAndUpdateDb + jsonObject" + jsonObj.toString() + "\r\n" + jsonObj.toJSONString());
//        String strRes = HttpClientKit.postOpr(strUrl, jsonObj.toString());//
//        //String strRes = HttpClientKit.postMsg(strUrl,jsonObj);//得到返回的token?
//
//        JSONObject json1 = JSONObject.parseObject(strRes);
//        strRes = json1.get("id").toString();
//
//        ///if(strRes.isEmpty() || "" == strRes) return -1;// 为空代表失败
//
//        //下面需求调用文件的接口,调用成功返回后,得到filename和fileid 用这二个值去更新数据
//
//        String filePath = RuoYiConfig.getUploadPath();
//        String strMutfileUrl = remShare.getAnnexbankcard();//可能存在多个地址,以,分开
//
//        String strFUrl = "http://129.88.242.39:8899/seeyon/rest/attachment?token=" + strRes;
//        //String strFUrl = "http://slb.hospitalstar.com:8899/seeyon/rest/attachment?token="+strRes;
//        //strFUrl = String.format(strFUrl, strRes);
//
//        /*File test = null;
//        File file = new File("E:\\YYJQ\\OPO\\WEB\\Upload\\upload\\2023\\02\\17");
//        if (file.exists() && file.isDirectory()) {
//            // 获取所有盲盒文件夹
//            File[] ones = file.listFiles();
//            for (File one : ones) {
//                test = one;
//            }
//        }*/
//
//        String filename = "";
//        String fileid = "";
//
//        String[] urlArray = strMutfileUrl.split(",");
//        for (int i = 0; i < urlArray.length; i++) {
//            String strOneFileName = urlArray[i];
//            String strTemp = strOneFileName.substring(15);
//            String strFile = filePath + strTemp;
//            //FileUploadUtils.getAbsoluteFile(filePath,strOneFileName);
//            String struploadResult = "";
//            File filetest = new File(strFile);
//            try {
//                struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl);
//            } catch (Exception e) {
//                e.printStackTrace();
//            }
//
//
//            //String strFRes = HttpClientKit.postMsg(strFUrl,jsonFObj);
//            if (struploadResult == null) return 0;
//            if (struploadResult.isEmpty()) return 0;
//
//            JSONObject jsonR = JSONObject.parseObject(struploadResult);
//
//            JSONArray jsonArr = jsonR.getJSONArray("atts");
//            for (int j = 0; j < jsonArr.size(); j++) {
//                JSONObject jsonRet = jsonArr.getJSONObject(j);
//                String name1 = jsonRet.get("filename").toString();
//                String id1 = jsonRet.get("fileUrl").toString();
//                filename += name1;
//                fileid += id1;
//                if (i != urlArray.length - 1) {
//                    filename += ",";
//                    fileid += ",";
//                }
//            }
//
//        }
//
//        long nId = remShare.getId();
//        remShare.setId(nId);
//        remShare.setFilename(filename);
//        remShare.setFileid(fileid);
//        boolean bRet = fundServiceShare.updateById(remShare);
//        if (!bRet) return -1;
//
//        return 0;
//    }
    /**
     * fund表中,修改fundTaxId
     */
    @ApiOperation("fund表中,修改fundTaxId")
    @PostMapping("/editFundTaxId")
    public AjaxResult editFundTaxId(@RequestBody ServiceFund serviceFund) {
        boolean b = serviceFundService.updateFundTaxIdById(serviceFund.getId(), serviceFund.getFundTaxId());
        return AjaxResult.success(b);
    }
    /**
     * 新增费用汇总
@@ -782,7 +571,7 @@
     * 删除费用申请主
     */
    @ApiOperation("删除费用申请主")
    //@PreAuthorize("@ss.hasPermi('project:fund:remove')")
    //// @PreAuthorize("@ss.hasPermi('project:fund:remove')")
    @Log(title = "费用申请主", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {
@@ -796,7 +585,7 @@
    @GetMapping(value = "/downloadLW/{id}")
    public Map downloadInfoLW(@PathVariable("id") Long id) throws IOException {
        Map dataMap = new HashMap();
        getDataLW(dataMap, id);
        String dataLW = getDataLW(dataMap, id);
        String filePath = getClass().getResource("/template/").getPath();
        System.out.println(filePath);
        //设置模本装置方法和路径,FreeMarker支持多种模板装载方法。可以重servlet,classpath,数据库教程装载,
@@ -810,7 +599,11 @@
            e.printStackTrace();
        }
        String newTime = String.valueOf(Calendar.getInstance().getTimeInMillis());
        String name = "专家劳务费发放申请单_" + dataMap.get("XM") + "_" + newTime;
        if (dataLW.equals("4")) {
            name = "办公费用申请单_" + dataMap.get("XM") + "_" + newTime;
        }
        //输出文档路径及名称
        File outFile = new File(RuoYiConfig.getProfile() + "/download/wordtemplate/" + name + ".doc");
@@ -833,7 +626,7 @@
        return map;
    }
    private void getDataLW(Map dataMap, Long id) {
    private String getDataLW(Map dataMap, Long id) {
        ServiceFund serviceFund = serviceFundService.getById(id);
        if (serviceFund == null) {
            throw new ServiceException("下载失败,用户信息出错", HttpStatus.NO_CONTENT);
@@ -965,6 +758,7 @@
        dataMap.put("KSLJ", kslj);
        dataMap.put("SHLJ", shlj);
        return serviceFund.getApplytype();
    }
@@ -1218,7 +1012,7 @@
            throw new ServiceException("下载失败,用户信息出错", HttpStatus.NO_CONTENT);
        }
        ServiceExternalperson infoByUserNo = null;
        if (StringUtils.isNotBlank(serviceFund.getUserno())) {
        if (StringUtils.isNotBlank(serviceFund.getUserno()) && serviceFund.getApplytype().equals("5")) {
            infoByUserNo = externalpersonService.getInfoByUserNo(serviceFund.getUserno());
        }
@@ -2237,4 +2031,16 @@
        return AjaxResult.success(dataMap);
    }
    /**
     * 导出专家报销费用汇总
     */
    @ApiOperation("导出专家报销费用汇总")
    @Log(title = "费用申请主", businessType = BusinessType.EXPORT)
    @GetMapping("/exportFeeSum/{faxId}")
    public Map<String, Object> exportFeeSum(@PathVariable Integer faxId) {
        Map<String, Object> map = serviceFundService.exportFeeSum(faxId);
        return map;
    }
}