| | |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.apache.ibatis.annotations.Options; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.io.*; |
| | |
| | | } |
| | | //startPage(); |
| | | List<SpFinancialExpensesReimbursementOut> list = serviceReimbursementService.getListBypower(loginUser.getUsername(), 1, APPLICANT, APPLICATIONBEGTIME, APPLICATIONENDTIME, loginUser.getDeptId().toString(), CHECKFLAG, APPLYTYPE); |
| | | Collections.sort(list, new Comparator<SpFinancialExpensesReimbursementOut>() { |
| | | @Override |
| | | public int compare(SpFinancialExpensesReimbursementOut o1, SpFinancialExpensesReimbursementOut o2) { |
| | | return o2.getCreateTime().compareTo(o1.getCreateTime()); |
| | | } |
| | | }); |
| | | return getCustomDataTable(list, pageNum, pageSize); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 往service_reimbursement_share,往service_reimbursementdetail_share,往service_reimbursementpyee_share新增备份数据 |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @GetMapping("/addShareData/{id}") |
| | | public AjaxResult addSharedData(@PathVariable("id") Long id) { |
| | | |
| | | return AjaxResult.success(serviceReimbursementService.addSharedData(id)); |
| | | } |
| | | |
| | | /** |
| | | * 新增报销申请 |
| | | */ |
| | | @ApiOperation("新增报销申请") |
| | |
| | | return AjaxResult.success(id); |
| | | } |
| | | |
| | | public int addReiSharedDatd(ServiceReimbursement serviceReimbursement, int nType) { |
| | | //remShare = ; |
| | | ServiceReimbursementShared remShare = null; |
| | | if (nType == 1) { |
| | | remShare = new ServiceReimbursementShared(); |
| | | remShare.setReimid(serviceReimbursement.getId()); |
| | | } else //modify |
| | | { |
| | | List<ServiceReimbursementShared> remlist = serviceReimbursementServiceShare.getRemShareInfoByRemId(serviceReimbursement.getId()); |
| | | if (remlist != null) |
| | | remShare = remlist.get(0); |
| | | } |
| | | |
| | | remShare.setUserno(serviceReimbursement.getUserno()); |
| | | remShare.setUsername(serviceReimbursement.getUsername()); |
| | | remShare.setTravelers(serviceReimbursement.getTravelers()); |
| | | remShare.setIdcardtype(serviceReimbursement.getIdcardtype()); |
| | | remShare.setIdcardno(serviceReimbursement.getIdcardno()); |
| | | remShare.setPhone(serviceReimbursement.getPhone()); |
| | | remShare.setDepositbank(serviceReimbursement.getDepositbank()); |
| | | remShare.setBankcardno(serviceReimbursement.getBankcardno()); |
| | | remShare.setBranchbankname(serviceReimbursement.getBranchbankname()); |
| | | remShare.setAnnexbankcard(serviceReimbursement.getAnnexbankcard()); |
| | | remShare.setAnnexfiles(serviceReimbursement.getAnnexfiles()); |
| | | //remShare.setAnnexfiles(serviceReimbursement.getAnnexfiles()); |
| | | // remShare.setAmountrequested(BigDecimal.valueOf(serviceReimbursement.getAmountrequested())); |
| | | |
| | | Double nTemp = serviceReimbursement.getAmountrequested(); |
| | | if (nTemp == null) nTemp = 0d; |
| | | remShare.setAmountrequested(BigDecimal.valueOf(nTemp)); |
| | | |
| | | nTemp = serviceReimbursement.getPrepaidamount(); |
| | | if (nTemp == null) nTemp = 0.0; |
| | | remShare.setPrepaidamount(BigDecimal.valueOf(nTemp)); |
| | | |
| | | remShare.setInvoicecount(serviceReimbursement.getInvoicecount()); |
| | | remShare.setAttachcount(serviceReimbursement.getAttachcount()); |
| | | remShare.setManagerno(serviceReimbursement.getManagerno()); |
| | | remShare.setManagername(serviceReimbursement.getManagername()); |
| | | remShare.setDeptmentno(serviceReimbursement.getDeptmentno()); |
| | | remShare.setDeptmentname(serviceReimbursement.getDeptmentname()); |
| | | remShare.setOpochecker(serviceReimbursement.getOpochecker()); |
| | | remShare.setFinvicepresident(serviceReimbursement.getFinvicepresident()); |
| | | remShare.setBusvicepresident(serviceReimbursement.getBusvicepresident()); |
| | | remShare.setOfficedirector(serviceReimbursement.getOfficedirector()); |
| | | remShare.setFinancedirector(serviceReimbursement.getFinancedirector()); |
| | | remShare.setFinancechecher(serviceReimbursement.getFinancechecher()); |
| | | remShare.setInfoid(serviceReimbursement.getInfoid()); |
| | | remShare.setDonorno(serviceReimbursement.getDonorno()); |
| | | |
| | | remShare.setDonorname(serviceReimbursement.getDonorname()); |
| | | remShare.setReason(serviceReimbursement.getReason()); |
| | | remShare.setRecordstatus(serviceReimbursement.getRecordstatus()); |
| | | remShare.setUploadflag(serviceReimbursement.getUploadflag()); |
| | | remShare.setUploadtime(serviceReimbursement.getUploadtime()); |
| | | |
| | | nTemp = serviceReimbursement.getTotalamount(); |
| | | if (nTemp == null) nTemp = 0.0; |
| | | remShare.setTotalamount(BigDecimal.valueOf(nTemp)); |
| | | |
| | | remShare.setBigstrmoney(serviceReimbursement.getBigstrmoney()); |
| | | remShare.setFlowlevel(serviceReimbursement.getFlowlevel()); |
| | | remShare.setCosttype(serviceReimbursement.getCosttype()); |
| | | remShare.setCosttypename(serviceReimbursement.getCosttypename()); |
| | | remShare.setFileurl(serviceReimbursement.getAnnexfiles()); |
| | | remShare.setDonorbank(serviceReimbursement.getDonorbank()); |
| | | remShare.setDonorbankcard(serviceReimbursement.getDonorbankcard()); |
| | | remShare.setDonorremark(serviceReimbursement.getDonorremark()); |
| | | |
| | | nTemp = serviceReimbursement.getDonoramount(); |
| | | if (nTemp == null) nTemp = 0.0; |
| | | remShare.setDonoramount(nTemp); |
| | | remShare.setDonorrelatives(serviceReimbursement.getDonorrelatives()); |
| | | //remShare.setOaid(serviceReimbursement.getOaid()); |
| | | //remShare.setDonorno(serviceReimbursement.getDonorno()); |
| | | |
| | | boolean bRet = false; |
| | | if (nType == 1) { |
| | | bRet = serviceReimbursementServiceShare.save(remShare); |
| | | } else { |
| | | //remShare.setId(serviceReimbursement.); |
| | | bRet = serviceReimbursementServiceShare.updateById(remShare); |
| | | } |
| | | |
| | | //if(!bRet) return -1; |
| | | String strMutfileUrl = remShare.getFileurl(); |
| | | //有附件时才调用第三方进行上传 |
| | | 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(ServiceReimbursement serviceReimbursement, int nType) { |
| | | // //remShare = ; |
| | | // ServiceReimbursementShared remShare = new ServiceReimbursementShared(); |
| | | // if (nType == 1) { |
| | | // // remShare = new ServiceReimbursementShared(); |
| | | // remShare.setReimid(serviceReimbursement.getId()); |
| | | // } else //modify |
| | | // { |
| | | // List<ServiceReimbursementShared> remlist = serviceReimbursementServiceShare.getRemShareInfoByRemId(serviceReimbursement.getId()); |
| | | // if (!CollectionUtils.isEmpty(remlist)) remShare = remlist.get(0); |
| | | // } |
| | | // |
| | | // remShare.setUserno(serviceReimbursement.getUserno()); |
| | | // remShare.setUsername(serviceReimbursement.getUsername()); |
| | | // remShare.setTravelers(serviceReimbursement.getTravelers()); |
| | | // remShare.setIdcardtype(serviceReimbursement.getIdcardtype()); |
| | | // remShare.setIdcardno(serviceReimbursement.getIdcardno()); |
| | | // remShare.setPhone(serviceReimbursement.getPhone()); |
| | | // remShare.setDepositbank(serviceReimbursement.getDepositbank()); |
| | | // remShare.setBankcardno(serviceReimbursement.getBankcardno()); |
| | | // remShare.setBranchbankname(serviceReimbursement.getBranchbankname()); |
| | | // remShare.setAnnexbankcard(serviceReimbursement.getAnnexbankcard()); |
| | | // remShare.setAnnexfiles(serviceReimbursement.getAnnexfiles()); |
| | | // //remShare.setAnnexfiles(serviceReimbursement.getAnnexfiles()); |
| | | // // remShare.setAmountrequested(BigDecimal.valueOf(serviceReimbursement.getAmountrequested())); |
| | | // |
| | | // Double nTemp = serviceReimbursement.getAmountrequested(); |
| | | // if (nTemp == null) nTemp = 0d; |
| | | // remShare.setAmountrequested(BigDecimal.valueOf(nTemp)); |
| | | // |
| | | // nTemp = serviceReimbursement.getPrepaidamount(); |
| | | // if (nTemp == null) nTemp = 0.0; |
| | | // remShare.setPrepaidamount(BigDecimal.valueOf(nTemp)); |
| | | // |
| | | // remShare.setInvoicecount(serviceReimbursement.getInvoicecount()); |
| | | // remShare.setAttachcount(serviceReimbursement.getAttachcount()); |
| | | // remShare.setManagerno(serviceReimbursement.getManagerno()); |
| | | // remShare.setManagername(serviceReimbursement.getManagername()); |
| | | // remShare.setDeptmentno(serviceReimbursement.getDeptmentno()); |
| | | // remShare.setDeptmentname(serviceReimbursement.getDeptmentname()); |
| | | // remShare.setOpochecker(serviceReimbursement.getOpochecker()); |
| | | // remShare.setFinvicepresident(serviceReimbursement.getFinvicepresident()); |
| | | // remShare.setBusvicepresident(serviceReimbursement.getBusvicepresident()); |
| | | // remShare.setOfficedirector(serviceReimbursement.getOfficedirector()); |
| | | // remShare.setFinancedirector(serviceReimbursement.getFinancedirector()); |
| | | // remShare.setFinancechecher(serviceReimbursement.getFinancechecher()); |
| | | // remShare.setInfoid(serviceReimbursement.getInfoid()); |
| | | // remShare.setDonorno(serviceReimbursement.getDonorno()); |
| | | // |
| | | // remShare.setDonorname(serviceReimbursement.getDonorname()); |
| | | // remShare.setReason(serviceReimbursement.getReason()); |
| | | // remShare.setRecordstatus(serviceReimbursement.getRecordstatus()); |
| | | // remShare.setUploadflag(serviceReimbursement.getUploadflag()); |
| | | // remShare.setUploadtime(serviceReimbursement.getUploadtime()); |
| | | // |
| | | // nTemp = serviceReimbursement.getTotalamount(); |
| | | // if (nTemp == null) nTemp = 0.0; |
| | | // remShare.setTotalamount(BigDecimal.valueOf(nTemp)); |
| | | // |
| | | // remShare.setBigstrmoney(serviceReimbursement.getBigstrmoney()); |
| | | // remShare.setFlowlevel(serviceReimbursement.getFlowlevel()); |
| | | // remShare.setCosttype(serviceReimbursement.getCosttype()); |
| | | // remShare.setCosttypename(serviceReimbursement.getCosttypename()); |
| | | // remShare.setFileurl(serviceReimbursement.getAnnexfiles()); |
| | | // remShare.setDonorbank(serviceReimbursement.getDonorbank()); |
| | | // remShare.setDonorbankcard(serviceReimbursement.getDonorbankcard()); |
| | | // remShare.setDonorremark(serviceReimbursement.getDonorremark()); |
| | | // |
| | | // nTemp = serviceReimbursement.getDonoramount(); |
| | | // if (nTemp == null) nTemp = 0.0; |
| | | // remShare.setDonoramount(nTemp); |
| | | // remShare.setDonorrelatives(serviceReimbursement.getDonorrelatives()); |
| | | // //remShare.setOaid(serviceReimbursement.getOaid()); |
| | | // //remShare.setDonorno(serviceReimbursement.getDonorno()); |
| | | // |
| | | // boolean bRet = false; |
| | | // if (nType == 1) { |
| | | // bRet = serviceReimbursementServiceShare.save(remShare); |
| | | // } else { |
| | | // //remShare.setId(serviceReimbursement.); |
| | | // bRet = serviceReimbursementServiceShare.updateById(remShare); |
| | | // } |
| | | // |
| | | // //if(!bRet) return -1; |
| | | // String strMutfileUrl = remShare.getFileurl(); |
| | | // //有附件时才调用第三方进行上传 |
| | | // 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(ServiceReimbursementShared remShare) { |
| | |
| | | |
| | | } |
| | | |
| | | long nId = remShare.getId(); |
| | | remShare.setId(nId); |
| | | remShare.setFilename(filename); |
| | | remShare.setFileid(fileid); |
| | | boolean bRet = serviceReimbursementServiceShare.updateById(remShare); |
| | | if (!bRet) return -1; |
| | | // long nId = remShare.getId(); |
| | | // remShare.setId(nId); |
| | | // remShare.setFilename(filename); |
| | | // remShare.setFileid(fileid); |
| | | // boolean bRet = serviceReimbursementServiceShare.updateById(remShare); |
| | | // if (!bRet) return -1; |
| | | |
| | | return 0; |
| | | } |
| | |
| | | public AjaxResult checkFund(@RequestBody CheckFundVO checkFundVO) { |
| | | ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(checkFundVO.getFundid()); |
| | | if (serviceReimbursement != null) { |
| | | Integer TotalLevel = 0; |
| | | Integer totalLevel = 0; |
| | | LoginUser loginUser = getLoginUser(); |
| | | ServiceFundflowrule serviceFundflowrule = new ServiceFundflowrule(); |
| | | serviceFundflowrule.setFundtype(1); |
| | |
| | | } |
| | | |
| | | if (serviceFundflowrules != null && serviceFundflowrules.stream().count() > 0) { |
| | | TotalLevel = serviceFundflowrules.get(0).getTotallevel(); |
| | | totalLevel = serviceFundflowrules.get(0).getTotallevel(); |
| | | |
| | | |
| | | } |
| | | Integer CheckFlag = 0; |
| | | Integer RecordStatus = serviceReimbursement.getRecordstatus(); |
| | |
| | | Integer OriginalFlowLevel = FlowLevel; |
| | | if (checkFundVO.getFlowconclusion() == 1) { |
| | | CheckFlag = 1; |
| | | if (TotalLevel == 0) { |
| | | if (totalLevel == 0) { |
| | | //99 取消 |
| | | RecordStatus = 99; |
| | | } else { |
| | | if (TotalLevel == FlowLevel + 1) { |
| | | if (totalLevel == FlowLevel + 1) { |
| | | RecordStatus = 99; |
| | | } else { |
| | | RecordStatus = (FlowLevel + 1) * 2; |
| | |
| | | //通过 |
| | | serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "级审核通过"); |
| | | serviceSystemmessage.setMessagecontent("您" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceReimbursement.getCreateTime()) + "提交的关于捐献案例【" + serviceReimbursement.getDonorname() + "】的差旅费申请已通过" + (OriginalFlowLevel + 1) + "级审核"); |
| | | |
| | | if (totalLevel == OriginalFlowLevel + 1) { |
| | | //所有数据新增到备份表 |
| | | serviceReimbursementService.addSharedData(checkFundVO.getFundid()); |
| | | } |
| | | } else { |
| | | //驳回 |
| | | serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "级审核驳回"); |
| | |
| | | @RepeatSubmit |
| | | public AjaxResult edit(@RequestBody ServiceReimbursement serviceReimbursement) { |
| | | boolean b = serviceReimbursementService.updateById(serviceReimbursement); |
| | | if (b) { |
| | | addReiSharedDatd(serviceReimbursement, 2); |
| | | } |
| | | // if (b) { |
| | | // addReiSharedDatd(serviceReimbursement, 2); |
| | | // } |
| | | return toAjax(b); |
| | | } |
| | | |
| | |
| | | //获取报销支付信息 |
| | | List<ServiceReimbursementpayee> reimbursementpayeeInfo = reimbursementpayeeService.getReimbursementpayeeInfo(serviceReimbursementEo); |
| | | |
| | | Map<String, List<ServiceReimbursementEo>> listMap = rdInfoByItem.stream() |
| | | .collect(Collectors.groupingBy(ServiceReimbursementEo::getPersontype)); |
| | | Map<String, List<ServiceReimbursementEo>> listMap = rdInfoByItem.stream().collect(Collectors.groupingBy(ServiceReimbursementEo::getPersontype)); |
| | | List<Map<String, BigDecimal>> list = new ArrayList<>(); |
| | | StringBuffer FYXM1 = new StringBuffer(); |
| | | StringBuffer FYXM2 = new StringBuffer(); |
| | |
| | | BigDecimal keyOneMoney = new BigDecimal(0.00); |
| | | BigDecimal keyTwoMoney = new BigDecimal(0.00); |
| | | for (ServiceReimbursementEo serviceReimbursementEo1 : values) { |
| | | otherMoney = otherMoney.add(serviceReimbursementEo1.getTrafficexpense()).add(serviceReimbursementEo1.getHotelexpense()) |
| | | .add(serviceReimbursementEo1.getFoodexpenses()).add(serviceReimbursementEo1.getFoodallowance()) |
| | | .add(serviceReimbursementEo1.getOtherexpense()).add(serviceReimbursementEo1.getOtherfeeamount()); |
| | | otherMoney = otherMoney.add(serviceReimbursementEo1.getTrafficexpense()).add(serviceReimbursementEo1.getHotelexpense()).add(serviceReimbursementEo1.getFoodexpenses()).add(serviceReimbursementEo1.getFoodallowance()).add(serviceReimbursementEo1.getOtherexpense()).add(serviceReimbursementEo1.getOtherfeeamount()); |
| | | } |
| | | map.put(key, otherMoney); |
| | | list.add(map); |
| | |
| | | } else { |
| | | dataMap.put("FYXM3", ""); |
| | | } |
| | | // dataMap.put("JEXS", rdInfoByItem.get(0).getAmountrequested()); |
| | | dataMap.put("JEXS", allMoney); |
| | | //double temp = 0; |
| | | //temp = Math.round(serviceReimbursement.getAmountrequested() * 100) * 0.01d; |
| | | // dataMap.put("JEDS", convert(rdInfoByItem.get(0).getAmountrequested().doubleValue()) + "整"); |
| | | dataMap.put("JEDS", convert(allMoney.doubleValue()) + "整"); |
| | | |
| | | String remark = ""; |
| | | for (ServiceReimbursementpayee serviceReimbursementpayee : reimbursementpayeeInfo) { |
| | | remark += "<w:br/> "+PersonType.getInfoByCode(serviceReimbursementpayee.getPersontype())+ "(" + serviceReimbursementpayee.getPersonname() + " " + serviceReimbursementpayee.getAmount(); |
| | | remark += " 元; " + serviceReimbursementpayee.getBankname() + ": " + serviceReimbursementpayee.getBankcardno() + ") 备注: " + serviceReimbursementpayee.getRemark(); |
| | | remark += "<w:br/> " + serviceReimbursementpayee.getPersonname() + " " + serviceReimbursementpayee.getAmount(); |
| | | remark += " 元; "; |
| | | if (!StringUtils.isEmpty(serviceReimbursementpayee.getBankname())) { |
| | | remark += serviceReimbursementpayee.getBankname() + " ( " + serviceReimbursementpayee.getBankcardno() + ")"; |
| | | } |
| | | remark += " 备注: " + serviceReimbursementpayee.getPersontype(); |
| | | if (!StringUtils.isEmpty(serviceReimbursementpayee.getRemark())) { |
| | | remark += serviceReimbursementpayee.getRemark(); |
| | | } |
| | | } |
| | | dataMap.put("BXBZ", remark); |
| | | |
| | |
| | | map.put("DA", s.getDeparture() == null ? "" : s.getDeparture()); |
| | | |
| | | Date et = s.getEndtime(); |
| | | SimpleDateFormat formatter_et = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | String date_et = formatter_et.format(et); |
| | | String year_et = date_et.substring(0, 4); |
| | | String month_et = date_et.substring(5, 7); |
| | | String day_et = date_et.substring(8, 10); |
| | | String year_et = null; |
| | | String month_et = null; |
| | | String day_et = null; |
| | | if (et != null) { |
| | | SimpleDateFormat formatter_et = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | String date_et = formatter_et.format(et); |
| | | year_et = date_et.substring(0, 4); |
| | | month_et = date_et.substring(5, 7); |
| | | day_et = date_et.substring(8, 10); |
| | | } |
| | | |
| | | map.put("AY", year_et == null ? "" : year_et); |
| | | map.put("AM", month_et == null ? "" : month_et); |
| | |
| | | } |
| | | |
| | | result = result.replaceAll("零仟", "零").replaceAll("零佰", "零") //把单位'亿','万','元'放到最后替换。 |
| | | .replaceAll("零拾", "零").replaceAll("零零", "零") |
| | | .replaceAll("零零", "零").replaceAll("零亿", "亿") |
| | | .replaceAll("零万", "万").replaceAll("零元", "元"); |
| | | .replaceAll("零拾", "零").replaceAll("零零", "零").replaceAll("零零", "零").replaceAll("零亿", "亿").replaceAll("零万", "万").replaceAll("零元", "元"); |
| | | // result = result.replaceAll("零仟", "零"); |
| | | // result = result.replaceAll("零佰", "零"); |
| | | // result = result.replaceAll("零拾", "零"); |