liusheng
2024-05-08 39405c053391f29d2f2c0e2c3104bea111e0e460
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
@@ -100,8 +100,14 @@
        if (serviceReimbursement.getRecordstatus() != null) {
            wrappers.eq(ServiceReimbursement::getRecordstatus, serviceReimbursement.getRecordstatus());
        }
        if (serviceReimbursement.getUploadStates() != null) {
            wrappers.eq(ServiceReimbursement::getUploadStates, serviceReimbursement.getUploadStates());
        }
        if (StringUtils.isNotBlank(serviceReimbursement.getUploadflag())) {
            wrappers.eq(ServiceReimbursement::getUploadflag, serviceReimbursement.getUploadflag());
        }
        if (serviceReimbursement.getFlowlevel() != null) {
            wrappers.eq(ServiceReimbursement::getFlowlevel, serviceReimbursement.getFlowlevel());
        }
       /* if (serviceReimbursement.getStarttime()!=null && serviceReimbursement.getEndtime()!=null){
@@ -150,9 +156,20 @@
    }
    @Override
    @Transactional
    @Transactional(rollbackFor = Exception.class)
    public Boolean addSharedData(Long id) {
        log.info("addSharedData方法的入参id :{}", id);
        //先判断一下share表是否已经插入
        ServiceReimbursementShared reimbursementShared1 = new ServiceReimbursementShared();
        reimbursementShared1.setReimid(id);
        reimbursementShared1.setDelFlag(0L);
        List<ServiceReimbursementShared> serviceReimbursementShareds = sharedService.queryList(reimbursementShared1);
        log.info("serviceReimbursementShareds的查询结果 :{}", serviceReimbursementShareds.size());
        if (!CollectionUtils.isEmpty(serviceReimbursementShareds)) {
            return true;
        }
        //如果没有插入,则走下面的流程
        ServiceReimbursement serviceReimbursement = serviceReimbursementMapper.selectById(id);
        Map<String, Object> columnMap = new HashMap<>();
        columnMap.put("rbid", id);
@@ -179,7 +196,18 @@
            serviceReimbursementdetailShareds.get(i).setId(null);
            //上传OA文件
            log.info("上传OA文件方法的入参:{}", serviceReimbursementdetailShareds.get(i));
            uploadOAFileAndUpdateDb(serviceReimbursementdetailShareds.get(i));
            try {
                uploadOAFileAndUpdateDb(serviceReimbursementdetailShareds.get(i));
            } catch (Exception e) {
                log.error("Exception中reimShare的入参id为:{}", serviceReimbursementShared.getId());
                if (serviceReimbursementShared.getId() != null) {
                    Boolean aBoolean = sharedService.delResharedInfoById(serviceReimbursementShared.getId());
                    log.error("文件上传失败,将分享表数据回滚:{}", aBoolean);
                }
                e.getMessage();
                return false;
            }
        }
//        detailSharedService.saveBatch(serviceReimbursementdetailShareds);
@@ -214,8 +242,8 @@
    }
    @Override
    public List<SpFinancialExpensesReimbursementOut> getListBypower(String PAUSERNO, Integer PAFUNDTYPE, String PAAPPLICANT, String PAAPPLICATIONBEGTIME, String PAAPPLICATIONENDTIME, String PADEPARTMENT, Integer CHECKFLAG, Integer APPLYTYPE, Integer CHECKSTATUS,String donorname) {
        return serviceReimbursementMapper.getListBypower(PAUSERNO, PAFUNDTYPE, PAAPPLICANT, PAAPPLICATIONBEGTIME, PAAPPLICATIONENDTIME, PADEPARTMENT, CHECKFLAG, APPLYTYPE, CHECKSTATUS,donorname);
    public List<SpFinancialExpensesReimbursementOut> getListBypower(String PAUSERNO, Integer PAFUNDTYPE, String PAAPPLICANT, String PAAPPLICATIONBEGTIME, String PAAPPLICATIONENDTIME, String PADEPARTMENT, Integer CHECKFLAG, Integer APPLYTYPE, Integer CHECKSTATUS, String donorname) {
        return serviceReimbursementMapper.getListBypower(PAUSERNO, PAFUNDTYPE, PAAPPLICANT, PAAPPLICATIONBEGTIME, PAAPPLICATIONENDTIME, PADEPARTMENT, CHECKFLAG, APPLYTYPE, CHECKSTATUS, donorname);
    }
    @Override
@@ -234,7 +262,7 @@
    }
    public int uploadOAFileAndUpdateDb(ServiceReimbursementdetailShared remShare) {
    public int uploadOAFileAndUpdateDb(ServiceReimbursementdetailShared remShare) throws Exception {
        log.info("uploadOAFileAndUpdate方法的入参:{}", remShare);
        System.out.println("uploadOAFileAndUpdate方法的入参:" + remShare);
        //上传OA文件
@@ -268,13 +296,12 @@
        List<RbDetailFile> invoicefilesArray = JSON.parseArray(remShare.getInvoicefiles(), RbDetailFile.class);
        //普通附件
        uploadFile(filePath, strFUrl, parseArray2, parseArray, remShare, "1");
        //发票附件
        uploadFile(filePath, strFUrl, invoicefilesList, invoicefilesArray, remShare, "2");
        return 0;
    }
    private Integer uploadFile(String filePath, String strFUrl, List<RbDetailFile> parseArray2, List<RbDetailFile> parseArray, ServiceReimbursementdetailShared remShare, String flag) {
    private Integer uploadFile(String filePath, String strFUrl, List<RbDetailFile> parseArray2, List<RbDetailFile> parseArray, ServiceReimbursementdetailShared remShare, String flag) throws Exception {
        if (!CollectionUtils.isEmpty(parseArray)) {
            for (int i = 0; i < parseArray.size(); i++) {
                RbDetailFile rbDetailFile = parseArray.get(i);
@@ -286,26 +313,21 @@
                String strFile = rbDetailFile.getUrl().replace(filePath, "/profile/upload");
                System.out.println("reimbursement服务的filePath + substring是乱码吗: " + filePath + substring);
                File filetest = new File(filePath + substring);
                try {
                    log.info("请求第三方的入参strFile : {}, strFUrl : {}", strFile, filePath);
                    String struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl);
                    log.info("第三方传回的数据: {}", struploadResult);
                    if (StringUtils.isEmpty(struploadResult)) {
                        log.info("HttpClientKit.sendPostWithFile 请求为空了 filetest:{},  strFUrl:{} ", filetest, strFUrl);
                        return 0;
                    }
                log.info("请求第三方的入参strFile : {}, strFUrl : {}", strFile, filePath);
                String struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl);
                log.info("第三方传回的数据: {}", struploadResult);
                if (StringUtils.isEmpty(struploadResult)) {
                    log.info("HttpClientKit.sendPostWithFile 请求为空了 filetest:{},  strFUrl:{} ", filetest, strFUrl);
                    return 0;
                }
                    //获取fileid
                    JSONObject jsonR = JSONObject.parseObject(struploadResult);
                    JSONArray jsonArr = jsonR.getJSONArray("atts");
                    log.info("第三方传回的数据获取的atts : {}", jsonArr);
                    for (int j = 0; j < jsonArr.size(); j++) {
                        JSONObject jsonRet = jsonArr.getJSONObject(j);
                        rbDetailFile.setFileid(jsonRet.get("fileUrl").toString());
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                    log.error("HttpClientKit.sendPostWithFile 报错了 : " + e.getMessage());
                //获取fileid
                JSONObject jsonR = JSONObject.parseObject(struploadResult);
                JSONArray jsonArr = jsonR.getJSONArray("atts");
                log.info("第三方传回的数据获取的atts : {}", jsonArr);
                for (int j = 0; j < jsonArr.size(); j++) {
                    JSONObject jsonRet = jsonArr.getJSONObject(j);
                    rbDetailFile.setFileid(jsonRet.get("fileUrl").toString());
                }
                parseArray2.add(rbDetailFile);
            }