ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
@@ -156,6 +156,11 @@ return AjaxResult.success(serviceFundService.getFundId(infoid)); } @GetMapping("/addFundSharedInfo/{id}") public AjaxResult addFundSharedInfo(@PathVariable("id") Long id){ return AjaxResult.success(serviceFundService.addFundSharedInfo(id)); } @GetMapping("/getFundDetail/{id}") public AjaxResult getFundDetail(@PathVariable("id") Long id){ return AjaxResult.success(serviceFundService.getFundDetail(id)); ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
@@ -189,6 +189,7 @@ /** * 往service_reimbursement_share,往service_reimbursementdetail_share,往service_reimbursementpyee_share新增备份数据 * * @param id * @return */ @@ -210,9 +211,9 @@ public AjaxResult add(@RequestBody ServiceReimbursement serviceReimbursement) { boolean b = serviceReimbursementService.save(serviceReimbursement); if (b) { addReiSharedDatd(serviceReimbursement, 1); } // if (b) { // addReiSharedDatd(serviceReimbursement, 1); // } Long id = serviceReimbursement.getId(); return AjaxResult.success(id); } @@ -226,8 +227,7 @@ } else //modify { List<ServiceReimbursementShared> remlist = serviceReimbursementServiceShare.getRemShareInfoByRemId(serviceReimbursement.getId()); if (remlist != null) remShare = remlist.get(0); if (remlist != null) remShare = remlist.get(0); } remShare.setUserno(serviceReimbursement.getUserno()); @@ -629,9 +629,9 @@ @PostMapping("/editMoney") public AjaxResult editMoney(@RequestBody List<ReimbursementService> serviceReimbursement) { boolean b = serviceReimbursementService.updateById(null); if (b) { addReiSharedDatd(null, 2); } // if (b) { // addReiSharedDatd(null, 2); // } return toAjax(b); } @@ -713,8 +713,7 @@ //获取报销支付信息 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(); @@ -802,17 +801,20 @@ } 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); ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java
@@ -4,8 +4,6 @@ import java.util.Arrays; import java.util.List; import com.ruoyi.common.utils.bean.DtoConversionUtils; import com.ruoyi.project.domain.ServiceReimbursementdetailShared; import com.ruoyi.project.service.IServiceReimbursementdetailSharedService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -38,8 +36,7 @@ @Api("报销申请明细") @RestController @RequestMapping("/project/reimbursementdetail") public class ServiceReimbursementdetailController extends BaseController { public class ServiceReimbursementdetailController extends BaseController { @Autowired private IServiceReimbursementdetailService serviceReimbursementdetailService; @Autowired @@ -51,8 +48,7 @@ @ApiOperation("查询报销申请明细列表") //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:list')") @GetMapping("/list") public TableDataInfo list(ServiceReimbursementdetail serviceReimbursementdetail) { public TableDataInfo list(ServiceReimbursementdetail serviceReimbursementdetail) { startPage(); //List<ServiceReimbursementdetail> list = serviceReimbursementdetailService.queryList(serviceReimbursementdetail); List<ServiceReimbursementdetail> list = serviceReimbursementdetailService.selectServiceReimbursementdetailList(serviceReimbursementdetail); @@ -66,8 +62,7 @@ //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:export')") @Log(title = "报销申请明细", businessType = BusinessType.EXPORT) @GetMapping("/export") public AjaxResult export(ServiceReimbursementdetail serviceReimbursementdetail) { public AjaxResult export(ServiceReimbursementdetail serviceReimbursementdetail) { List<ServiceReimbursementdetail> list = serviceReimbursementdetailService.queryList(serviceReimbursementdetail); ExcelUtil<ServiceReimbursementdetail> util = new ExcelUtil<ServiceReimbursementdetail>(ServiceReimbursementdetail.class); return util.exportExcel(list, "报销申请明细数据"); @@ -88,8 +83,7 @@ @ApiOperation("获取报销申请明细详细信息") //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { public AjaxResult getInfo(@PathVariable("id") Long id) { return AjaxResult.success(serviceReimbursementdetailService.getById(id)); } @@ -101,8 +95,7 @@ @Log(title = "报销申请明细", businessType = BusinessType.INSERT) @PostMapping @RepeatSubmit public AjaxResult add(@RequestBody ServiceReimbursementdetail serviceReimbursementdetail) { public AjaxResult add(@RequestBody ServiceReimbursementdetail serviceReimbursementdetail) { return toAjax(serviceReimbursementdetailService.save(serviceReimbursementdetail)); } @@ -113,13 +106,10 @@ //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:edit')") @Log(title = "修改申请明细", businessType = BusinessType.UPDATE) @PostMapping("/updateRDlList") public AjaxResult updateRDlList(@RequestBody List<ServiceReimbursementdetail> serviceReimbursementdetails) { public AjaxResult updateRDlList(@RequestBody List<ServiceReimbursementdetail> serviceReimbursementdetails) { for (ServiceReimbursementdetail serviceReimbursementdetail:serviceReimbursementdetails) { serviceReimbursementdetailService.saveOrUpdate(serviceReimbursementdetail); //新增或修改报销申请明细分享表 ServiceReimbursementdetailShared serviceReimbursementdetailShared = DtoConversionUtils.sourceToTarget(serviceReimbursementdetail, ServiceReimbursementdetailShared.class); detailSharedService.saveOrUpdate(serviceReimbursementdetailShared); } return null; } @@ -132,8 +122,7 @@ @Log(title = "报销申请明细", businessType = BusinessType.UPDATE) @PutMapping //@RepeatSubmit public AjaxResult edit(@RequestBody ServiceReimbursementdetail serviceReimbursementdetail) { public AjaxResult edit(@RequestBody ServiceReimbursementdetail serviceReimbursementdetail) { return toAjax(serviceReimbursementdetailService.updateById(serviceReimbursementdetail)); } @@ -144,8 +133,7 @@ //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:remove')") @Log(title = "报销申请明细", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(serviceReimbursementdetailService.removeByIds(Arrays.asList(ids))); } @@ -156,8 +144,7 @@ @ApiOperation("删除报销申请明细并修改金额") @Log(title = "报销申请明细", businessType = BusinessType.DELETE) @DeleteMapping("/deleteDetail/{id}") public AjaxResult deleteDetail(@PathVariable Long id) { public AjaxResult deleteDetail(@PathVariable Long id) { return AjaxResult.success(serviceReimbursementdetailService.deleteDetail(id)); } ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetailShared.java
@@ -34,6 +34,11 @@ @Excel(name = "资金申请主表ID") private Long fundid; /** 对应的service_funddetail表的ID */ @ApiModelProperty("对应的service_funddetail表的ID") @Excel(name = "对应的service_funddetail表的ID") private Long fdid; /** 顺序号 */ @ApiModelProperty("顺序号") @Excel(name = "顺序号") ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementdetailShared.java
@@ -34,6 +34,11 @@ @Excel(name = "资金申请主表ID") private Long rbid; /** 差旅报销单明细ID */ @ApiModelProperty("差旅报销单明细ID") @Excel(name = "差旅报销单明细ID") private Long rdid; /** 人员类别 */ @ApiModelProperty("人员类别") @Excel(name = "人员类别") ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementpayeeShared.java
@@ -59,6 +59,11 @@ @Excel(name = "开户银行") private String bankname; /** 备注 */ @ApiModelProperty("备注") @Excel(name = "备注") private String remark; /** 卡号 */ @ApiModelProperty("卡号") @Excel(name = "卡号") ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFundService.java
@@ -5,6 +5,7 @@ import com.ruoyi.project.domain.ServiceFund; import com.ruoyi.project.domain.ServiceFunddetail; import com.ruoyi.project.domain.vo.*; import org.springframework.web.bind.annotation.PathVariable; /** * 费用申请主Service接口 @@ -29,6 +30,13 @@ Long getFundId(Long infoid); /** * 往分享表中添加数据 * @param id * @return */ Boolean addFundSharedInfo(Long id); List<ServiceFund> selectServiceFundList(ServiceFund serviceFund); List<ServiceFunddetail> getFundDetail(Long id); ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
@@ -1,24 +1,24 @@ package com.ruoyi.project.service.impl; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.ruoyi.project.domain.BaseExpertfeetype; import com.ruoyi.project.domain.ServiceFunddetail; import com.ruoyi.project.domain.ServiceReimbursement; import com.ruoyi.common.utils.bean.DtoConversionUtils; import com.ruoyi.project.domain.*; import com.ruoyi.project.domain.vo.*; import com.ruoyi.project.mapper.BaseExpertfeetypeMapper; import com.ruoyi.project.mapper.ServiceFunddetailMapper; import com.ruoyi.project.mapper.ServiceReimbursementMapper; import com.ruoyi.project.mapper.*; import com.ruoyi.project.service.IServiceFundSharedService; import com.ruoyi.project.service.IServiceFunddetailSharedService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.project.mapper.ServiceFundMapper; import com.ruoyi.project.domain.ServiceFund; import com.ruoyi.project.service.IServiceFundService; import org.springframework.transaction.annotation.Transactional; /** * 费用申请主Service业务层处理 @@ -27,8 +27,7 @@ * @date 2022-01-24 */ @Service public class ServiceFundServiceImpl extends ServiceImpl<ServiceFundMapper, ServiceFund> implements IServiceFundService { public class ServiceFundServiceImpl extends ServiceImpl<ServiceFundMapper, ServiceFund> implements IServiceFundService { @Autowired ServiceFundMapper serviceFundMapper; @@ -41,6 +40,17 @@ @Autowired ServiceReimbursementMapper serviceReimbursementMapper; @Autowired IServiceFundSharedService sharedService; @Autowired ServiceFundSharedMapper serviceFundSharedMapper; @Autowired ServiceFunddetailSharedMapper sharedMapper; @Autowired IServiceFunddetailSharedService detailSharedService; /** @@ -85,10 +95,34 @@ } @Override public Long getFundId(Long infoid) { return serviceFundMapper.getFundId(infoid); } @Override @Transactional public Boolean addFundSharedInfo(Long id) { ServiceFund serviceFund = serviceFundMapper.selectById(id); ServiceFundShared serviceFundShared = DtoConversionUtils.sourceToTarget(serviceFund, ServiceFundShared.class); serviceFundShared.setSerfunid(serviceFundShared.getId()); serviceFundShared.setId(null); sharedService.save(serviceFundShared); //fundId为主表的ID Map<String, Object> columnMap = new HashMap<>(); columnMap.put("fundid", id); List<ServiceFunddetail> serviceFunddetails = serviceFunddetailMapper.selectByMap(columnMap); //将查出的数据放到ServiceFunddetailShared中 List<ServiceFunddetailShared> serviceFunddetailShareds = DtoConversionUtils.sourceToTarget(serviceFunddetails, ServiceFunddetailShared.class); for (int i = 0; i < serviceFunddetails.size(); i++) { serviceFunddetailShareds.get(i).setFdid(serviceFunddetailShareds.get(i).getId()); //fundID为service_fund_shared表的主键ID serviceFunddetailShareds.get(i).setFundid(serviceFundShared.getId()); serviceFunddetailShareds.get(i).setId(null); } boolean result = detailSharedService.saveBatch(serviceFunddetailShareds); return result; } @Override @@ -465,11 +499,9 @@ } } hj = f1 + f2 + f3 + f4 + f5 + f6 + f7 + f8 + f9 + f10 + f11 + f12 + f13 + f14 + f15 + f16 + f17 + f18 + f19 + f20 + f21 + f22 + f23 + f24 + f25 + f26 + f27 + f28 + f29 + f30 + f31 + f32 + f33 + f34 + f35 + f36 + f37 + f38 + f39 + f40 + f41 + f42 + f43 + f44 + f45 + f46 + f47 + f48 + f49 + f50 + f51 + f52; hj = f1 + f2 + f3 + f4 + f5 + f6 + f7 + f8 + f9 + f10 + f11 + f12 + f13 + f14 + f15 + f16 + f17 + f18 + f19 + f20 + f21 + f22 + f23 + f24 + f25 + f26 + f27 + f28 + f29 + f30 + f31 + f32 + f33 + f34 + f35 + f36 + f37 + f38 + f39 + f40 + f41 + f42 + f43 + f44 + f45 + f46 + f47 + f48 + f49 + f50 + f51 + f52; shhj = sh1 + sh2 + sh3 + sh4 + sh5 + sh6 + sh7 + sh8 + sh9 + sh10 + sh11 + sh12 + sh13 + sh14 + sh15 + sh16 + sh17 + sh18 + sh19 + sh20 + sh21 + sh22 + sh23 + sh24 + sh25 + sh26 + sh27 + sh28 + sh29 + sh30 + sh31 + sh32 + sh33 + sh34 + sh35 + sh36 + sh37 + sh38 + sh39 + sh40 + sh41 + sh42 + sh43 + sh44 + sh45 + sh46 + sh47 + sh48 + sh49 + sh50 + sh51 + sh52; shhj = sh1 + sh2 + sh3 + sh4 + sh5 + sh6 + sh7 + sh8 + sh9 + sh10 + sh11 + sh12 + sh13 + sh14 + sh15 + sh16 + sh17 + sh18 + sh19 + sh20 + sh21 + sh22 + sh23 + sh24 + sh25 + sh26 + sh27 + sh28 + sh29 + sh30 + sh31 + sh32 + sh33 + sh34 + sh35 + sh36 + sh37 + sh38 + sh39 + sh40 + sh41 + sh42 + sh43 + sh44 + sh45 + sh46 + sh47 + sh48 + sh49 + sh50 + sh51 + sh52; fdvo.setFy1(f1); fdvo.setFy2(f2); ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
@@ -20,9 +20,11 @@ import java.util.ArrayList; import java.util.Map; import java.util.stream.Collectors; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.project.service.IServiceReimbursementService; import org.springframework.transaction.annotation.Transactional; /** * 报销申请Service业务层处理 @@ -112,6 +114,7 @@ } @Override @Transactional public Boolean addSharedData(Long id) { ServiceReimbursement serviceReimbursement = serviceReimbursementMapper.selectById(id); Map<String, Object> columnMap = new HashMap<>(); @@ -122,11 +125,27 @@ List<ServiceReimbursementpayee> serviceReimbursementpayees = reimbursementpayeeMapper.selectByMap(columnMap); //数据组装 ServiceReimbursementShared serviceReimbursementShared = DtoConversionUtils.sourceToTarget(serviceReimbursement, ServiceReimbursementShared.class); serviceReimbursementShared.setReimid(id); serviceReimbursementShared.setId(null); List<ServiceReimbursementdetailShared> serviceReimbursementdetailShareds = DtoConversionUtils.sourceToTarget(details, ServiceReimbursementdetailShared.class); List<ServiceReimbursementpayeeShared> serviceReimbursementpayeeShareds = DtoConversionUtils.sourceToTarget(serviceReimbursementpayees, ServiceReimbursementpayeeShared.class); //将组装好的数据插入到分享表中 sharedService.save(serviceReimbursementShared); //将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).setRbid(serviceReimbursementShared.getId()); serviceReimbursementdetailShareds.get(i).setId(null); } detailSharedService.saveBatch(serviceReimbursementdetailShareds); //将serviceReimbursementdetail表里的id赋值给Rpid; 将serviceReimbursementShared里的ID赋值给RBID,并将serviceReimbursementpayeeShared表里的id置空,由数据库重新生成 for (int i = 0; i < serviceReimbursementpayees.size(); i++) { serviceReimbursementpayeeShareds.get(i).setRpid(serviceReimbursementpayeeShareds.get(i).getId()); serviceReimbursementpayeeShareds.get(i).setRbid(serviceReimbursementShared.getId()); serviceReimbursementpayeeShareds.get(i).setId(null); } payeeSharedService.saveBatch(serviceReimbursementpayeeShareds); return true;