| | |
| | | import com.ruoyi.common.utils.HttpClientKit; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.bean.DtoConversionUtils; |
| | | import com.ruoyi.common.utils.uuid.IdUtils; |
| | | import com.ruoyi.project.common.IdGeneratorUtils; |
| | | import com.ruoyi.project.domain.*; |
| | | import com.ruoyi.project.domain.dto.ServiceReimbursementDto; |
| | | import com.ruoyi.project.domain.vo.CheckFundVO; |
| | |
| | | |
| | | @Autowired |
| | | IServiceReimbursementpayeeSharedService payeeSharedService; |
| | | |
| | | @Autowired |
| | | IServiceReimbursementpayeeService payeeService; |
| | | |
| | | @Autowired |
| | | IServiceFundflowruleService serviceFundflowruleService; |
| | |
| | | List<ServiceReimbursementShared> serviceReimbursementShareds = sharedService.queryList(reimbursementShared1); |
| | | log.info("serviceReimbursementShareds的查询结果 :{}", serviceReimbursementShareds.size()); |
| | | if (!CollectionUtils.isEmpty(serviceReimbursementShareds)) { |
| | | return true; |
| | | //如果不为空,则将分享表里的数据删除(因为接下去,老数据上传的附件,可能不是想要的了,还用老附件,是有问题的;所以需要将老的share数据删除,然后再新增,上传新附件) |
| | | for (ServiceReimbursementShared serviceReimbursementShared : serviceReimbursementShareds) { |
| | | sharedService.removeById(serviceReimbursementShared.getId()); |
| | | |
| | | ServiceReimbursementdetailShared srds = new ServiceReimbursementdetailShared(); |
| | | srds.setRbid(serviceReimbursementShared.getId()); |
| | | List<ServiceReimbursementdetailShared> serviceReimbursementdetailShareds = detailSharedService.queryList(srds); |
| | | for (ServiceReimbursementdetailShared serviceReimbursementdetailShared : serviceReimbursementdetailShareds) { |
| | | detailSharedService.removeById(serviceReimbursementdetailShared.getId()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //如果没有插入,则走下面的流程 |
| | |
| | | // //上传OA文件 |
| | | //将serviceReimbursementdetail表里的id赋值给Rdid; 将serviceReimbursementShared里的ID赋值给RBID,并将serviceReimbursementdetailShared表里的id置空,由数据库重新生成 |
| | | for (int i = 0; i < details.size(); i++) { |
| | | serviceReimbursementdetailShareds.get(i).setRdid(serviceReimbursementdetailShareds.get(i).getId()); |
| | | serviceReimbursementdetailShareds.get(i).setRdid(details.get(i).getId()); |
| | | serviceReimbursementdetailShareds.get(i).setRbid(serviceReimbursementShared.getId()); |
| | | serviceReimbursementdetailShareds.get(i).setId(null); |
| | | //上传OA文件 |
| | |
| | | // detailSharedService.saveBatch(serviceReimbursementdetailShareds); |
| | | for (ServiceReimbursementdetailShared serviceReimbursementdetailShared : serviceReimbursementdetailShareds) { |
| | | if (ObjectUtils.isNotEmpty(serviceReimbursementdetailShared)) { |
| | | log.info("更新serviceReimbursementdetail表里的值为:{}", serviceReimbursementdetailShared); |
| | | detailSharedService.save(serviceReimbursementdetailShared); |
| | | |
| | | log.info("更新serviceReimbursementdetail表里的附件字段:{},{}", serviceReimbursementdetailShared.getAnnexfiles(), serviceReimbursementdetailShared.getInvoicefiles()); |
| | | //更新serviceReimbursementdetail表里的附件字段 |
| | | ServiceReimbursementdetail serviceReimbursementdetail = new ServiceReimbursementdetail(); |
| | | serviceReimbursementdetail.setId(serviceReimbursementdetailShared.getRdid()); |
| | | serviceReimbursementdetail.setAnnexfiles(serviceReimbursementdetailShared.getAnnexfiles()); |
| | | serviceReimbursementdetail.setInvoicefiles(serviceReimbursementdetailShared.getInvoicefiles()); |
| | | serviceReimbursementdetailMapper.updateById(serviceReimbursementdetail); |
| | | } else { |
| | | log.info("serviceReimbursementdetailShared为空了"); |
| | | } |
| | |
| | | addSharedData(serviceReimbursement.getId()); |
| | | List<ServiceReimbursementShared> serviceReimbursementSharedList = sharedService.getRemShareInfoByRemId(serviceReimbursement.getId()); |
| | | if (org.springframework.util.CollectionUtils.isEmpty(serviceReimbursementSharedList)) return false; |
| | | |
| | | log.info("serviceReimbursementSharedList的数据量为:{}", serviceReimbursementSharedList.size()); |
| | | |
| | | //detail详情 |
| | | ServiceReimbursementdetailShared serviceReimbursementdetailShared = new ServiceReimbursementdetailShared(); |
| | | serviceReimbursementdetailShared.setRbid(serviceReimbursementSharedList.get(0).getId()); |
| | | List<ServiceReimbursementdetailShared> serviceReimbursementdetailShareds = detailSharedService.queryList(serviceReimbursementdetailShared); |
| | | List<ServiceReimbursementdetail> serviceReimbursementdetailList = serviceReimbursementdetailMapper.getAllDetailsByRBID(serviceReimbursement.getId()); |
| | | |
| | | //payee详情 |
| | | ServiceReimbursementpayeeShared serviceReimbursementpayeeShared = new ServiceReimbursementpayeeShared(); |
| | | serviceReimbursementpayeeShared.setRbid(serviceReimbursementSharedList.get(0).getId()); |
| | | List<ServiceReimbursementpayeeShared> serviceReimbursementpayeeShareds = payeeSharedService.queryList(serviceReimbursementpayeeShared); |
| | | ServiceReimbursementpayee serviceReimbursementpayee = new ServiceReimbursementpayee(); |
| | | serviceReimbursementpayee.setRbid(serviceReimbursement.getId()); |
| | | List<ServiceReimbursementpayee> serviceReimbursementpayees = payeeService.queryList(serviceReimbursementpayee); |
| | | |
| | | |
| | | // 数据的封装 |
| | |
| | | ServiceReimbursement sr = serviceReimbursementMapper.selectById(serviceReimbursement.getId()); |
| | | data2.put("formmain_1209", formmain_1209(sr)); |
| | | // 明细表字段数据,与附件的处理 |
| | | Map<String, List<Map<String, Object>>> map1 = formson_1210(serviceReimbursementdetailShareds); |
| | | Map<String, List<Map<String, Object>>> map1 = formson_1210(serviceReimbursementdetailList); |
| | | data2.put("formson_1210", map1.get("formson_1210")); |
| | | data2.put("thirdAttachments", map1.get("annexfilesList")); |
| | | data2.put("formson_1211", formson_1211(serviceReimbursementpayeeShareds)); |
| | | data2.put("formson_1211", formson_1211(serviceReimbursementpayees)); |
| | | data.put("data", data2); |
| | | //模板编号,由致远方提供,该参数决定发起协同系统中哪个流程 |
| | | data.put("templateCode", "cyfbxd_rzhc_ceshi"); |
| | |
| | | return true; |
| | | } |
| | | |
| | | private static final AtomicLong COUNTER = new AtomicLong(System.currentTimeMillis()); |
| | | |
| | | private Map<String, List<Map<String, Object>>> formson_1210(List<ServiceReimbursementdetailShared> serviceReimbursementdetailSharedList) { |
| | | private Map<String, List<Map<String, Object>>> formson_1210(List<ServiceReimbursementdetail> serviceReimbursementdetailList) { |
| | | Map<String, List<Map<String, Object>>> allMap = new HashMap<>(); |
| | | List<Map<String, Object>> list = new ArrayList<>(); |
| | | List<Map<String, Object>> annexfilesList = new ArrayList<>(); |
| | | for (ServiceReimbursementdetailShared reimbursementdetailShared : serviceReimbursementdetailSharedList) { |
| | | for (ServiceReimbursementdetail reimbursementdetail : serviceReimbursementdetailList) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("交通工具", reimbursementdetailShared.getTraffictype()); |
| | | map.put("交通费", reimbursementdetailShared.getTrafficexpense()); |
| | | map.put("市内交通", reimbursementdetailShared.getCityfee()); |
| | | map.put("住宿费", reimbursementdetailShared.getHotelexpense()); |
| | | map.put("杂费", reimbursementdetailShared.getOtherexpense()); |
| | | map.put("伙食费报销", reimbursementdetailShared.getFoodexpenses()); |
| | | map.put("伙食费补助", reimbursementdetailShared.getFoodallowance()); |
| | | map.put("其他费用", reimbursementdetailShared.getOtherfeeamount()); |
| | | map.put("其他费用说明", reimbursementdetailShared.getOtherfeedesc()); |
| | | map.put("交通工具", reimbursementdetail.getTraffictype()); |
| | | map.put("交通费", reimbursementdetail.getTrafficexpense()); |
| | | map.put("市内交通", reimbursementdetail.getCityfee()); |
| | | map.put("住宿费", reimbursementdetail.getHotelexpense()); |
| | | map.put("杂费", reimbursementdetail.getOtherexpense()); |
| | | map.put("伙食费报销", reimbursementdetail.getFoodexpenses()); |
| | | map.put("伙食费补助", reimbursementdetail.getFoodallowance()); |
| | | map.put("其他费用", reimbursementdetail.getOtherfeeamount()); |
| | | map.put("其他费用说明", reimbursementdetail.getOtherfeedesc()); |
| | | map.put("金额合计", ""); |
| | | map.put("出差时间起", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(reimbursementdetailShared.getStarttime())); |
| | | map.put("出发地点", reimbursementdetailShared.getDeparture()); |
| | | map.put("出差时间止", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(reimbursementdetailShared.getEndtime())); |
| | | map.put("出差目的地", reimbursementdetailShared.getDestination()); |
| | | map.put("天数", reimbursementdetailShared.getDays()); |
| | | BigDecimal total = safe(reimbursementdetailShared.getCityfee()).add(safe(reimbursementdetailShared.getTrafficexpense())).add(safe(reimbursementdetailShared.getHotelexpense())).add(safe(reimbursementdetailShared.getOtherexpense())).add(safe(reimbursementdetailShared.getFoodexpenses())).add(safe(reimbursementdetailShared.getFoodallowance())).add(safe(reimbursementdetailShared.getOtherfeeamount())); |
| | | map.put("出差时间起", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(reimbursementdetail.getStarttime())); |
| | | map.put("出发地点", reimbursementdetail.getDeparture()); |
| | | map.put("出差时间止", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(reimbursementdetail.getEndtime())); |
| | | map.put("出差目的地", reimbursementdetail.getDestination()); |
| | | map.put("天数", reimbursementdetail.getDays()); |
| | | BigDecimal total = safe(reimbursementdetail.getCityfee()).add(safe(reimbursementdetail.getTrafficexpense())).add(safe(reimbursementdetail.getHotelexpense())).add(safe(reimbursementdetail.getOtherexpense())).add(safe(reimbursementdetail.getFoodexpenses())).add(safe(reimbursementdetail.getFoodallowance())).add(safe(reimbursementdetail.getOtherfeeamount())); |
| | | map.put("实际报销金额", total); |
| | | map.put("财务备注", reimbursementdetailShared.getRemark()); |
| | | map.put("id", reimbursementdetailShared.getRdid()); |
| | | map.put("出差人", reimbursementdetailShared.getPersonname()); |
| | | map.put("财务备注", reimbursementdetail.getRemark()); |
| | | map.put("id", reimbursementdetail.getId()); |
| | | map.put("出差人", reimbursementdetail.getPersonname()); |
| | | map.put("回交通工具", ""); |
| | | map.put("人员类别", reimbursementdetailShared.getPersontype()); |
| | | map.put("人员类别", reimbursementdetail.getPersontype()); |
| | | map.put("住宿费标准", ""); |
| | | map.put("住宿费标准合计", reimbursementdetailShared.getHotelexpense()); |
| | | Long fpuuid = COUNTER.incrementAndGet(); |
| | | map.put("住宿费标准合计", reimbursementdetail.getHotelexpense()); |
| | | Long fpuuid = IdGeneratorUtils.nextId(); |
| | | map.put("发票附件", fpuuid); |
| | | map.put("票据识别", ""); |
| | | map.put("识别人", ""); |
| | | map.put("序号1", ""); |
| | | Long qtuuid = COUNTER.incrementAndGet(); |
| | | Long qtuuid = IdGeneratorUtils.nextId(); |
| | | map.put("其他附件", qtuuid); |
| | | map.put("个人票夹用户", ""); |
| | | map.put("识别票据", ""); |
| | |
| | | list.add(map); |
| | | |
| | | //附件处理 |
| | | String annexfiles = reimbursementdetailShared.getAnnexfiles(); |
| | | String invoicefiles = reimbursementdetailShared.getInvoicefiles(); |
| | | String annexfiles = reimbursementdetail.getAnnexfiles(); |
| | | String invoicefiles = reimbursementdetail.getInvoicefiles(); |
| | | |
| | | int i = 0; |
| | | if (StringUtils.isNotEmpty(annexfiles)) { |
| | |
| | | return val == null ? BigDecimal.ZERO : val; |
| | | } |
| | | |
| | | private List<Map<String, Object>> formson_1211(List<ServiceReimbursementpayeeShared> serviceReimbursementpayeeShareds) { |
| | | private List<Map<String, Object>> formson_1211(List<ServiceReimbursementpayee> serviceReimbursementpayees) { |
| | | Map<String, List<Map<String, Object>>> allMap = new HashMap<>(); |
| | | |
| | | List<Map<String, Object>> list = new ArrayList<>(); |
| | | for (ServiceReimbursementpayeeShared serviceReimbursementpayeeShared : serviceReimbursementpayeeShareds) { |
| | | for (ServiceReimbursementpayee serviceReimbursementpayee : serviceReimbursementpayees) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | |
| | | map.put("收款人", serviceReimbursementpayeeShared.getPersonname()); |
| | | map.put("卡号", serviceReimbursementpayeeShared.getBankcardno()); |
| | | map.put("开户银行", serviceReimbursementpayeeShared.getBankname()); |
| | | map.put("打款金额", serviceReimbursementpayeeShared.getAmount()); |
| | | map.put("人员类别打款", serviceReimbursementpayeeShared.getPersontype()); |
| | | map.put("收款人", serviceReimbursementpayee.getPersonname()); |
| | | map.put("卡号", serviceReimbursementpayee.getBankcardno()); |
| | | map.put("开户银行", serviceReimbursementpayee.getBankname()); |
| | | map.put("打款金额", serviceReimbursementpayee.getAmount()); |
| | | map.put("人员类别打款", serviceReimbursementpayee.getPersontype()); |
| | | map.put("核算项目", ""); |
| | | map.put("预算项目", ""); |
| | | map.put("借方摘要", ""); |
| | |
| | | |
| | | public int uploadOAFileAndUpdateDb(ServiceReimbursementdetailShared remShare) throws Exception { |
| | | log.info("uploadOAFileAndUpdate方法的入参:{}", remShare); |
| | | System.out.println("uploadOAFileAndUpdate方法的入参:" + remShare); |
| | | //上传OA文件 |
| | | String strRes = getToken(); |
| | | |