liusheng
2023-10-18 a54e249f9fedf3633825dd7a6846621df7b110b9
代码提交
已添加1个文件
已修改19个文件
361 ■■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/OnlyValueCommon.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseOrganizationController.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceExternalpersonController.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/FunddetailReqVo.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetail.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetailVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/TaxMoneyVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFunddetailService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoServiceImpl.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/resources/mapper/project/BaseOnlyvalueMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/resources/mapper/project/ServiceFunddetailMapper.xml 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/resources/mapper/project/ServiceReimbursementdetailMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/OnlyValueCommon.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,72 @@
package com.ruoyi.web.controller.common;
import com.ruoyi.common.exception.job.TaskException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.project.domain.BaseOnlyvalue;
import com.ruoyi.project.service.IBaseOnlyvalueService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.Calendar;
import java.util.List;
@Component
public class OnlyValueCommon {
    @Autowired
    private IBaseOnlyvalueService baseOnlyvalueService;
    public String addOnlyValue(String businessType) {
        String currentValue = null;
        switch (businessType) {
            case "zj":
                //专家
                currentValue = saveOrUpdateOnlyVal("zj", null);
                break;
            case "donationwitness":
                //捐献
                currentValue = saveOrUpdateOnlyVal("donationwitness", String.valueOf(Calendar.getInstance().get(Calendar.YEAR)));
                break;
            case "organization":
                //机构
                currentValue = saveOrUpdateOnlyVal(" organization", null);
                break;
            default:
                break;
        }
        return currentValue;
    }
    private String saveOrUpdateOnlyVal(String businesstype, String year) {
        String currentValue = null;
        //判断该年份的数据是否存在
        BaseOnlyvalue baseOnlyvalue = new BaseOnlyvalue();
        //捐献。需要带年份查询
        if (!StringUtils.isEmpty(year)) {
            baseOnlyvalue.setAppentvalue(year);
        }
        baseOnlyvalue.setBusinesstype(businesstype);
        List<BaseOnlyvalue> baseOnlyvalues = baseOnlyvalueService.queryList(baseOnlyvalue);
        if (!CollectionUtils.isEmpty(baseOnlyvalues)) {
            //说明已经存在,则给currentValue加1即可
            BaseOnlyvalue baseOnlyvalue1 = baseOnlyvalues.get(0);
            baseOnlyvalue1.setCurrentvalue(baseOnlyvalue1.getCurrentvalue() + 1);
            currentValue = String.valueOf(baseOnlyvalue1.getCurrentvalue() + 1);
            baseOnlyvalueService.updateById(baseOnlyvalue1);
        } else {
            //不存在,则需要创建
            baseOnlyvalue.setCurrentvalue(1L);
            baseOnlyvalue.setBusinesstype(businesstype);
            baseOnlyvalue.setAppentvalue(year);
            baseOnlyvalueService.save(baseOnlyvalue);
            currentValue = "1";
        }
        return currentValue;
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/BaseOrganizationController.java
@@ -9,6 +9,7 @@
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.project.domain.BaseOrganization;
import com.ruoyi.project.service.IBaseOrganizationService;
import com.ruoyi.web.controller.common.OnlyValueCommon;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -27,10 +28,12 @@
@Api("机构信息管理")
@RestController
@RequestMapping("/project/organization")
public class BaseOrganizationController extends BaseController
{
public class BaseOrganizationController extends BaseController {
    @Autowired
    private IBaseOrganizationService baseOrganizationService;
    @Autowired
    private OnlyValueCommon onlyValueCommon;
    /**
     * æŸ¥è¯¢æœºæž„管理列表
@@ -38,8 +41,7 @@
    @ApiOperation("获取机构列表")
    //@PreAuthorize("@ss.hasPermi('project:organization:list')")
    @GetMapping("/list")
    public TableDataInfo list(BaseOrganization baseOrganization)
    {
    public TableDataInfo list(BaseOrganization baseOrganization) {
        startPage();
        List<BaseOrganization> list = baseOrganizationService.queryList(baseOrganization);
        return getDataTable(list);
@@ -52,8 +54,7 @@
    //@PreAuthorize("@ss.hasPermi('project:organization:export')")
    @Log(title = "机构管理", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(BaseOrganization baseOrganization)
    {
    public AjaxResult export(BaseOrganization baseOrganization) {
        List<BaseOrganization> list = baseOrganizationService.queryList(baseOrganization);
        ExcelUtil<BaseOrganization> util = new ExcelUtil<BaseOrganization>(BaseOrganization.class);
        return util.exportExcel(list, "机构管理数据");
@@ -65,8 +66,7 @@
    @ApiOperation("通过机构id获取机构信息")
    //@PreAuthorize("@ss.hasPermi('project:organization:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return AjaxResult.success(baseOrganizationService.getById(id));
    }
@@ -78,8 +78,10 @@
    @Log(title = "机构管理", businessType = BusinessType.INSERT)
    @PostMapping
    @RepeatSubmit
    public AjaxResult add(@RequestBody BaseOrganization baseOrganization)
    {
    public AjaxResult add(@RequestBody BaseOrganization baseOrganization) {
        String organization = onlyValueCommon.addOnlyValue("organization");
        //"0"+地市编码+医院类型+序号
        baseOrganization.setOrganizationid("0" + baseOrganization.getRegionallevel() + baseOrganization.getHospitalnature() + organization);
        return toAjax(baseOrganizationService.save(baseOrganization));
    }
@@ -91,8 +93,7 @@
    @Log(title = "机构管理", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    @RepeatSubmit    
    public AjaxResult edit(@RequestBody BaseOrganization baseOrganization)
    {
    public AjaxResult edit(@RequestBody BaseOrganization baseOrganization) {
        return toAjax(baseOrganizationService.updateById(baseOrganization));
    }
@@ -103,8 +104,7 @@
    //@PreAuthorize("@ss.hasPermi('project:organization:remove')")
    @Log(title = "机构管理", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(baseOrganizationService.removeByIds(Arrays.asList(ids)));
    }
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceDonationwitnessController.java
@@ -6,12 +6,18 @@
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.enums.OrganEnum;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.project.domain.BaseOnlyvalue;
import com.ruoyi.project.domain.ServiceDonatecompletioninfo;
import com.ruoyi.project.domain.ServiceDonateorgan;
import com.ruoyi.project.domain.vo.DonationWitnessVO;
import com.ruoyi.project.domain.vo.TimeVO;
import com.ruoyi.project.mapper.BaseOnlyvalueMapper;
import com.ruoyi.project.service.IBaseOnlyvalueService;
import com.ruoyi.project.service.IServiceDonatebaseinfoService;
import com.ruoyi.project.service.IServiceDonateorganService;
import com.ruoyi.project.service.impl.BaseOnlyvalueServiceImpl;
import com.ruoyi.web.controller.common.OnlyValueCommon;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
@@ -19,6 +25,7 @@
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
@@ -46,10 +53,12 @@
@Api("捐献见证管理")
@RestController
@RequestMapping("/project/donationwitness")
public class ServiceDonationwitnessController extends BaseController
{
public class ServiceDonationwitnessController extends BaseController {
    @Autowired
    private IServiceDonationwitnessService serviceDonationwitnessService;
    @Autowired
    private IBaseOnlyvalueService baseOnlyvalueService;
    @Autowired
    private IServiceDonateorganService serviceDonateorganService;
@@ -57,6 +66,8 @@
    @Autowired
    private IServiceDonatebaseinfoService serviceDonatebaseinfoService;
    @Autowired
    private OnlyValueCommon onlyValueCommon;
    private static Configuration configuration = null;
@@ -72,8 +83,7 @@
    @ApiOperation("获取捐献见证列表")
    //@PreAuthorize("@ss.hasPermi('project:donationwitness:list')")
    @GetMapping("/list")
    public TableDataInfo list(ServiceDonationwitness serviceDonationwitness)
    {
    public TableDataInfo list(ServiceDonationwitness serviceDonationwitness) {
        startPage();
        List<ServiceDonationwitness> list = serviceDonationwitnessService.queryList(serviceDonationwitness);
        return getDataTable(list);
@@ -81,8 +91,7 @@
    @ApiOperation("获取捐献见证列表-新")
    @GetMapping("/listnew")
    public TableDataInfo listnew(DonationWitnessVO donationWitnessVO)
    {
    public TableDataInfo listnew(DonationWitnessVO donationWitnessVO) {
        startPage();
        List<DonationWitnessVO> list = serviceDonationwitnessService.selectVOList(donationWitnessVO);
        return getDataTable(list);
@@ -96,8 +105,7 @@
    //@PreAuthorize("@ss.hasPermi('project:donationwitness:export')")
    @Log(title = "捐献见证", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(ServiceDonationwitness serviceDonationwitness)
    {
    public AjaxResult export(ServiceDonationwitness serviceDonationwitness) {
        List<ServiceDonationwitness> list = serviceDonationwitnessService.queryList(serviceDonationwitness);
        ExcelUtil<ServiceDonationwitness> util = new ExcelUtil<ServiceDonationwitness>(ServiceDonationwitness.class);
        return util.exportExcel(list, "捐献见证数据");
@@ -109,8 +117,7 @@
    @ApiOperation("通过id获取见证信息")
    //@PreAuthorize("@ss.hasPermi('project:donationwitness:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return AjaxResult.success(serviceDonationwitnessService.getById(id));
    }
@@ -122,8 +129,8 @@
    @Log(title = "捐献见证", businessType = BusinessType.INSERT)
    @PostMapping
    @RepeatSubmit
    public AjaxResult add(@RequestBody ServiceDonationwitness serviceDonationwitness)
    {
    public AjaxResult add(@RequestBody ServiceDonationwitness serviceDonationwitness) {
        return toAjax(serviceDonationwitnessService.save(serviceDonationwitness));
    }
@@ -135,8 +142,16 @@
    @Log(title = "捐献见证", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    @RepeatSubmit    
    public AjaxResult edit(@RequestBody ServiceDonationwitness serviceDonationwitness)
    {
    public AjaxResult edit(@RequestBody ServiceDonationwitness serviceDonationwitness) {
        int last = -1;
        if (StringUtils.isNotEmpty(serviceDonationwitness.getDonorno())) {
            last = serviceDonationwitness.getDonorno().lastIndexOf("*");
        }
        //捐献者编号最后一位是 * ,才可以往唯一里表加数据
        if (last == serviceDonationwitness.getDonorno().length()) {
            onlyValueCommon.addOnlyValue("donationwitness");
        }
        return toAjax(serviceDonationwitnessService.updateById(serviceDonationwitness));
    }
@@ -147,15 +162,13 @@
    //@PreAuthorize("@ss.hasPermi('project:donationwitness:remove')")
    @Log(title = "捐献见证", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(serviceDonationwitnessService.removeByIds(Arrays.asList(ids)));
    }
    @GetMapping(value = "/getByInfoId/{infoid}")
    public AjaxResult getByInfoId(@PathVariable("infoid") Long infoid)
    {
    public AjaxResult getByInfoId(@PathVariable("infoid") Long infoid) {
        return AjaxResult.success(serviceDonationwitnessService.getByInfoId(infoid));
    }
@@ -199,8 +212,10 @@
        map.put("downloadUrl","/profile/download/wordtemplate/"+name+".doc");
        return map;
    }
    /**
     * æ³¨æ„dataMap里存放的数据Key值要与模板中的参数相对应
     *
     * @param dataMap
     */
    private void getData(Map dataMap, Long id){
@@ -506,8 +521,7 @@
    @ApiOperation("数据大屏获取占比统计")
    @GetMapping(value = "/getStats")
    public AjaxResult getStats(TimeVO timeVO)
    {
    public AjaxResult getStats(TimeVO timeVO) {
        return AjaxResult.success(serviceDonationwitnessService.getStats(timeVO));
    }
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceExternalpersonController.java
@@ -1,9 +1,15 @@
package com.ruoyi.web.controller.project;
import java.util.Arrays;
import java.util.Calendar;
import java.util.List;
import com.ruoyi.project.domain.BaseOnlyvalue;
import com.ruoyi.project.service.IBaseOnlyvalueService;
import com.ruoyi.web.controller.common.OnlyValueCommon;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
@@ -30,18 +36,22 @@
 */
@RestController
@RequestMapping("/project/externalperson")
public class ServiceExternalpersonController extends BaseController
{
public class ServiceExternalpersonController extends BaseController {
    @Autowired
    private IServiceExternalpersonService serviceExternalpersonService;
    @Autowired
    private IBaseOnlyvalueService baseOnlyvalueService;
    @Autowired
    private OnlyValueCommon onlyValueCommon;
    /**
     * æŸ¥è¯¢å¤–围单位人员列表
     */
    //@PreAuthorize("@ss.hasPermi('project:externalperson:list')")
    @GetMapping("/list")
    public TableDataInfo list(ServiceExternalperson serviceExternalperson)
    {
    public TableDataInfo list(ServiceExternalperson serviceExternalperson) {
        startPage();
        List<ServiceExternalperson> list = serviceExternalpersonService.queryList(serviceExternalperson);
        return getDataTable(list);
@@ -53,8 +63,7 @@
    //@PreAuthorize("@ss.hasPermi('project:externalperson:export')")
    @Log(title = "外围单位人员", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(ServiceExternalperson serviceExternalperson)
    {
    public AjaxResult export(ServiceExternalperson serviceExternalperson) {
        List<ServiceExternalperson> list = serviceExternalpersonService.queryList(serviceExternalperson);
        ExcelUtil<ServiceExternalperson> util = new ExcelUtil<ServiceExternalperson>(ServiceExternalperson.class);
        return util.exportExcel(list, "外围单位人员数据");
@@ -65,8 +74,7 @@
     */
    //@PreAuthorize("@ss.hasPermi('project:externalperson:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return AjaxResult.success(serviceExternalpersonService.getById(id));
    }
@@ -77,8 +85,10 @@
    @Log(title = "外围单位人员", businessType = BusinessType.INSERT)
    @PostMapping
    @RepeatSubmit
    public AjaxResult add(@RequestBody ServiceExternalperson serviceExternalperson)
    {
    public AjaxResult add(@RequestBody ServiceExternalperson serviceExternalperson) {
        String zj = onlyValueCommon.addOnlyValue("zj");
        String formattedNumber = String.format("%05d", zj);
        serviceExternalperson.setUserno(formattedNumber);
        return toAjax(serviceExternalpersonService.save(serviceExternalperson));
    }
@@ -89,8 +99,7 @@
    @Log(title = "外围单位人员", businessType = BusinessType.UPDATE)
    @PostMapping("/editZJInfo")
    @RepeatSubmit    
    public AjaxResult edit(@RequestBody ServiceExternalperson serviceExternalperson)
    {
    public AjaxResult edit(@RequestBody ServiceExternalperson serviceExternalperson) {
        return toAjax(serviceExternalpersonService.updateById(serviceExternalperson));
    }
@@ -100,8 +109,7 @@
    //@PreAuthorize("@ss.hasPermi('project:externalperson:remove')")
    @Log(title = "外围单位人员", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(serviceExternalpersonService.removeByIds(Arrays.asList(ids)));
    }
@@ -111,8 +119,7 @@
     */
    @GetMapping(value = "/getInfoByUserNo/{userno}")
    public AjaxResult getInfoByUserNo(@PathVariable("userno") String userno)
    {
    public AjaxResult getInfoByUserNo(@PathVariable("userno") String userno) {
        return AjaxResult.success(serviceExternalpersonService.getInfoByUserNo(userno));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java
@@ -117,7 +117,7 @@
    /**
     * æ ¹æ®å—益人编号获取费用申请明细信息
     */
    @ApiOperation("根据受益人编号获取费用申请明细信息")
    @ApiOperation("根据受益人身份证号获取费用申请明细信息")
    @PostMapping("/getDataBybeneficiaryNo")
    public AjaxResult getDataBybeneficiaryNo(@RequestBody FunddetailReqVo funddetailReqVo) {
        List<ServiceFunddetail> dataBybeneficiaryNo = serviceFunddetailService.getDataBybeneficiaryNo(funddetailReqVo);
@@ -125,12 +125,12 @@
    }
    /**
     * æ ¹æ®å—益人编号获取税费金额
     * æ ¹æ®å—益人身份证编号获取税费金额
     *
     * @param taxMoneyVo å—益人编号
     * @param taxMoneyVo èº«ä»½è¯ç¼–号
     * @return
     */
    @ApiOperation("根据受益人编号获取税费金额")
    @ApiOperation("根据受益人身份证编号获取税费金额")
    @PostMapping("/getTaxByBeneFiciaryNo")
    public AjaxResult getTaxBeforeByBeneFiciaryNo(@RequestBody TaxMoneyVO taxMoneyVo) {
        return AjaxResult.success(serviceFunddetailService.getTaxByBeneFiciaryNo(taxMoneyVo));
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java
@@ -163,6 +163,10 @@
            //对前端传过来的数组,进行JSON序列化,并赋值给Annexfiles
            serviceReimbursementdetail.setAnnexfiles(JSON.toJSONString(serviceReimbursementdetailVO.getAnnexfilesList()));
        }
        if (!CollectionUtils.isEmpty(serviceReimbursementdetailVO.getInvoicefilesList())) {
            //对前端传过来的数组,进行JSON序列化,并赋值给Invoicefiles
            serviceReimbursementdetail.setInvoicefiles(JSON.toJSONString(serviceReimbursementdetailVO.getInvoicefilesList()));
        }
        return toAjax(serviceReimbursementdetailService.updateById(serviceReimbursementdetail));
    }
ruoyi-project/src/main/java/com/ruoyi/project/domain/FunddetailReqVo.java
@@ -25,8 +25,8 @@
    /**
     * æœåŠ¡å¯¹è±¡åç§°
     */
    @ApiModelProperty("受益人编号")
    private String beneficiaryNo;
    @ApiModelProperty("身份证编号")
    private String idcardno;
    /**
     * ç”³è¯·å¼€å§‹æ—¶é—´
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetail.java
@@ -214,6 +214,10 @@
    @Excel(name = "发票张数")
    private Long invoicecount;
    /** $column.columnComment */
    @ApiModelProperty("$column.columnComment")
    @Excel(name = "上传时间")
    private BigDecimal reimbursementamount;
    /**
     * ç¨ŽåŽé‡‘额
     */
@@ -336,7 +340,9 @@
    /**
     * é™„件文件地址
     */
    @ApiModelProperty("发票文件地址")
    /** å‘票附件 */
    @ApiModelProperty("发票附件")
    @Excel(name = "发票附件")
    private String invoicefiles;
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetailVO.java
@@ -342,13 +342,13 @@
     * å‘票文件地址集合(用于接收前端传来的地址)
     */
    @ApiModelProperty("发票文件地址集合")
    private List invoiceFilesList;
    private List invoicefilesList;
    /**
     * é™„件文件地址
     */
    @ApiModelProperty("发票文件地址")
    private String invoiceFiles;
    private String invoicefiles;
    /**
     * è®¡ç®—税费时间
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/TaxMoneyVO.java
@@ -7,9 +7,9 @@
public class TaxMoneyVO extends BaseEntity {
    /**
     * å—益人编号
     * èº«ä»½è¯å·
     */
    private String beneficiaryNo;
    private String idcardno;
    /**
     * å·¥èµ„
ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFunddetailService.java
@@ -35,7 +35,7 @@
    List<ServiceFunddetail> getDataBybeneficiaryNo(FunddetailReqVo funddetailReqVo);
    /**
     * æ ¹æ®å—益人编号获取税费金额
     * æ ¹æ®å—益人身份证编号获取税费金额
     *
     * @param taxMoneyVo
     * @return
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceDonatebaseinfoServiceImpl.java
@@ -1,27 +1,25 @@
package com.ruoyi.project.service.impl;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.*;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.project.domain.BaseOnlyvalue;
import com.ruoyi.project.domain.BaseOrganization;
import com.ruoyi.project.domain.ServiceDonationwitness;
import com.ruoyi.project.domain.vo.TimeVO;
import com.ruoyi.project.domain.vo.countByRecordStateVO;
import com.ruoyi.project.mapper.*;
import com.ruoyi.project.service.IBaseOnlyvalueService;
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 java.util.ArrayList;
import java.util.Map;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.project.domain.ServiceDonatebaseinfo;
@@ -48,6 +46,9 @@
    @Autowired
    ServiceDonationwitnessMapper serviceDonationwitnessMapper;
    @Autowired
    private IBaseOnlyvalueService baseOnlyvalueService;
    /**
@@ -141,22 +142,36 @@
        String number = "";
        if (completeDonation < 10) {
            number = "000" + completeDonation;
        } else if (completeDonation >= 10 && completeDonation < 100) {
            number = "00" + completeDonation;
        } else if (completeDonation >= 100 && completeDonation < 1000) {
            number = "0" + completeDonation;
        } else {
            number = "" + completeDonation;
//        if (completeDonation < 10) {
//            number = "000" + completeDonation;
//        } else if (completeDonation >= 10 && completeDonation < 100) {
//            number = "00" + completeDonation;
//        } else if (completeDonation >= 100 && completeDonation < 1000) {
//            number = "0" + completeDonation;
//        } else {
//            number = "" + completeDonation;
//        }
        Calendar calendar = Calendar.getInstance();
        int year = calendar.get(Calendar.YEAR);
        BaseOnlyvalue baseOnlyvalue = new BaseOnlyvalue();
        baseOnlyvalue.setAppentvalue(String.valueOf(year));
        baseOnlyvalue.setBusinesstype("donationwitness");
        List<BaseOnlyvalue> baseOnlyvalues = baseOnlyvalueService.queryList(baseOnlyvalue);
        Long currentvalue = baseOnlyvalues.get(0).getCurrentvalue();
        if (currentvalue == null) {
            log.error("唯一值为空了!");
            return null;
        }
        //如果currentvalue不满足4位,则在前面补0
        String formattedNumber = String.format("%04d", currentvalue);
        int last = oldDonateNumber.lastIndexOf("*");
        if (last == -1) {
            return oldDonateNumber;
        } else {
            StringBuilder newDonateNumber = new StringBuilder(oldDonateNumber);
            newDonateNumber.replace(last - 3, last + 1, number);
//            newDonateNumber.replace(last - 3, last + 1, number);
            newDonateNumber.replace(last - 3, last + 1, formattedNumber);
            String updateNumber = newDonateNumber.toString();
            int result = serviceDonatebaseinfoMapper.updateDonateNumber(id, updateNumber);
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
@@ -696,8 +696,8 @@
            if (!CollectionUtils.isEmpty(serviceFunddetailVO.getAnnexfilesList())) {
                serviceFunddetailVO.setAnnexfiles(JSON.toJSONString(serviceFunddetailVO.getAnnexfilesList()));
            }
            if (!CollectionUtils.isEmpty(serviceFunddetailVO.getInvoiceFilesList())) {
                serviceFunddetailVO.setInvoiceFiles(JSON.toJSONString(serviceFunddetailVO.getInvoiceFilesList()));
            if (!CollectionUtils.isEmpty(serviceFunddetailVO.getInvoicefilesList())) {
                serviceFunddetailVO.setInvoicefiles(JSON.toJSONString(serviceFunddetailVO.getInvoicefilesList()));
            }
            ServiceFunddetail serviceFunddetail = DtoConversionUtils.sourceToTarget(serviceFunddetailVO, ServiceFunddetail.class);
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
@@ -112,7 +112,7 @@
    }
    /**
     * æ ¹æ®å—益人编号获取税费金额
     * æ ¹æ®å—益人身份证编号获取税费金额
     *
     * @param taxMoneyVo
     * @return
@@ -241,6 +241,10 @@
                List<RbDetailFile> rbDetailFiles = JSONArray.parseArray(serviceFunddetailVO.getAnnexfiles(), RbDetailFile.class);
                serviceFunddetailVO.setAnnexfilesList(rbDetailFiles);
            }
            if (!StringUtils.isEmpty(serviceFunddetailVO.getInvoicefiles())) {
                List<RbDetailFile> rbDetailFiles = JSONArray.parseArray(serviceFunddetailVO.getInvoicefiles(), RbDetailFile.class);
                serviceFunddetailVO.setInvoicefilesList(rbDetailFiles);
            }
        }
        return serviceFunddetailVOS;
    }
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
@@ -125,6 +125,7 @@
        for (int j = 0; j < rbDetailList.size(); j++) {
            ServiceReimbursementdetail serviceReimbursementdetail = rbDetailList.get(j);
            String annexfiles = serviceReimbursementdetail.getAnnexfiles();
            String invoicefiles = serviceReimbursementdetail.getInvoicefiles();
            ServiceReimbursementdetailVO serviceReimbursementdetailVO = DtoConversionUtils.sourceToTarget(serviceReimbursementdetail, ServiceReimbursementdetailVO.class);
            if (StringUtils.isNotBlank(annexfiles)) {
                try {
@@ -135,6 +136,14 @@
                    }
                }
            }
            if (StringUtils.isNotBlank(invoicefiles)) {
                try {
                    serviceReimbursementdetailVO.setInvoicefilesList(JSON.parseArray(invoicefiles));
                } catch (Exception e) {
                    if (e.getMessage().equals("invalid comment")) {
                    }
                }
            }
            serviceReimbursementdetailVOS.add(serviceReimbursementdetailVO);
        }
        return serviceReimbursementdetailVOS;
ruoyi-project/src/main/resources/mapper/project/BaseOnlyvalueMapper.xml
@@ -2,7 +2,7 @@
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.BaseOnlyvalueMapper">
<mapper namespace="com.ruoyi.project.mapper.BaseOnlyvalueMapper">
    <resultMap type="com.ruoyi.project.domain.BaseOnlyvalue" id="BaseOnlyvalueResult">
        <result property="id" column="id"/>
ruoyi-project/src/main/resources/mapper/project/ServiceFunddetailMapper.xml
@@ -7,6 +7,14 @@
    <resultMap type="com.ruoyi.project.domain.ServiceFunddetail" id="ServiceFunddetailResult">
        <result property="id" column="ID"/>
        <result property="fundid" column="fundID"/>
        <result property="orderno"    column="OrderNo"    />
        <result property="itemid"    column="ItemID"    />
        <result property="itemcode"    column="ItemCode"    />
        <result property="itemname"    column="ItemName"    />
        <result property="itemdescribe"    column="ItemDescribe"    />
        <result property="itemtype"    column="ItemType"    />
        <result property="applytype"    column="ApplyType"    />
        <result property="applytypename"    column="ApplyTypeName"    />
        <result property="beneficiaryname" column="BeneficiaryName"/>
        <result property="beneficiaryno" column="BeneficiaryNo"/>
        <result property="unitname" column="UnitName"/>
@@ -23,21 +31,19 @@
        <result property="branchbankname" column="BranchBankName"/>
        <result property="annexbankcard" column="AnnexBankCard"/>
        <result property="annexregistform" column="AnnexRegistForm"/>
        <result property="applytype" column="ApplyType"/>
        <result property="applytypename" column="ApplyTypeName"/>
        <result property="itemid" column="ItemID"/>
        <result property="itemname" column="ItemName"/>
        <result property="itemtype" column="ItemType"/>
        <result property="quantity"    column="Quantity"    />
        <result property="price"    column="Price"    />
        <result property="amount" column="Amount"/>
        <result property="prepaidamount" column="PrepaidAmount"/>
        <result property="taxamount" column="TaxAmount"/>
        <result property="invoicecount" column="InvoiceCount"/>
        <result property="taxedamount" column="TaxedAmount"/>
        <result property="prepaidamount"    column="PrepaidAmount"    />
        <result property="invoicecount"    column="InvoiceCount"    />
        <result property="attachcount" column="AttachCount"/>
        <result property="remark" column="Remark"/>
        <result property="infoid"    column="InfoId"    />
        <result property="donorno"    column="DonorNo"    />
        <result property="donorname"    column="DonorName"    />
        <result property="recordstatus" column="RecordStatus"/>
        <result property="price" column="Price"/>
        <result property="quantity" column="Quantity"/>
        <result property="del_flag" column="del_flag"/>
        <result property="createBy" column="create_by"/>
        <result property="createTime" column="create_time"/>
@@ -45,23 +51,17 @@
        <result property="updateTime" column="update_time"/>
        <result property="uploadflag" column="uploadflag"/>
        <result property="uploadtime" column="uploadtime"/>
        <result property="infoid" column="InfoId"/>
        <result property="donorno" column="DonorNo"/>
        <result property="donorname" column="DonorName"/>
        <result property="servicesscope" column="SERVICESSCOPE"/>
        <result property="servicesscopename" column="SERVICESSCOPENAME"/>
        <result property="servicetype" column="SERVICETYPE"/>
        <result property="servicetypename" column="SERVICETYPENAME"/>
        <result property="orderno" column="OrderNo"/>
        <result property="itemcode" column="ItemCode"/>
        <result property="reimbursementamount"    column="REIMBURSEMENTAMOUNT"    />
        <result property="subjecttype" column="subjecttype"/>
        <result property="subjecttypename" column="subjecttypename"/>
        <result property="annexfiles" column="AnnexFiles"/>
        <result property="invoicefiles" column="InvoiceFiles"/>
        <result property="taxTime" column="tax_time"/>
        <result property="jxrq" column="jxrq"/>
        <result property="itemdescribe" column="ItemDescribe"/>
        <result property="invoicefiles"    column="InvoiceFiles"    />
    </resultMap>
    <sql id="selectServiceFunddetailVo">
@@ -240,7 +240,7 @@
        service_fund b
        where a.del_flag = '0'
        and a.fundID = b.id
        <if test="beneficiaryNo != null  and beneficiaryNo != '' ">and a.beneficiaryNo = #{beneficiaryNo}</if>
        <if test="idcardno != null  and idcardno != '' ">and a.IDCardNo = #{idcardno}</if>
        and b.create_time >= #{starttime}
        and b.create_time &lt;= #{endtime}
@@ -249,7 +249,7 @@
    <select id="getTaxBeforeByBeneFiciaryNo" parameterType="com.ruoyi.project.domain.vo.TaxMoneyVO"
            resultMap="ServiceFunddetailResult">
        <include refid="selectServiceFunddetailVo"/>
        where create_time like concat(#{startTime}, '%') and beneficiaryNo=#{beneficiaryNo}
        where create_time like concat(#{startTime}, '%') and IDCardNo=#{idcardno}
    </select>
ruoyi-project/src/main/resources/mapper/project/ServiceReimbursementdetailMapper.xml
@@ -42,7 +42,7 @@
    </resultMap>
    <sql id="selectServiceReimbursementdetailVo">
        select ID, RBID, StartTime, Departure, EndTime, Destination, Days, TrafficExpense, TrafficType,TrafficType2, CityFee, HotelExpense, InvoiceCount, AttachCount, OtherExpense, FoodExpenses, FoodAllowance, AnnexFiles, remark, del_flag, create_by, create_time, update_by, update_time, upload_flag, upload_time, travelprovince, travelprovincename, travelcity, travelcityname, traveltown, traveltownname, otherfeeamount, otherfeedesc, OrderNo,personname,persontype from service_reimbursementdetail
        select ID, RBID, StartTime, Departure, EndTime, Destination, Days, TrafficExpense, TrafficType,TrafficType2, CityFee, HotelExpense, InvoiceCount, AttachCount, OtherExpense, FoodExpenses, FoodAllowance, AnnexFiles,InvoiceFiles, remark, del_flag, create_by, create_time, update_by, update_time, upload_flag, upload_time, travelprovince, travelprovincename, travelcity, travelcityname, traveltown, traveltownname, otherfeeamount, otherfeedesc, OrderNo,personname,persontype from service_reimbursementdetail
    </sql>
    <select id="selectServiceReimbursementdetailList" parameterType="com.ruoyi.project.domain.ServiceReimbursementdetail" resultMap="ServiceReimbursementdetailResult">
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -277,10 +277,10 @@
                    }
                    serviceFundflow.setFlowcontent(spname + "审批通过");
                    serviceFundflow.setFlowconclusion(1);
                    serviceFundflow.setFundtype(1);
                    serviceFundflow.setFundtype(2);
                    // 999 é€šè¿‡
                    serviceFundflow.setFlowlevel(999);
                    serviceFundflow.setApplytype(null);
                    serviceFundflow.setApplytype(serviceFundShared.getApplytype());
                    serviceFundflow.setFundid(serviceFundShared.getSerfunid());
                    serviceFundShared.setSpjg(1);
                    fundflowService.save(serviceFundflow);
@@ -324,9 +324,9 @@
                            serviceFundflow.setCheckusername(serviceFundShared.getPresident().substring(0, serviceFundShared.getPresident().indexOf(" ")));
                            serviceFundflow.setFlowcontent(serviceFundShared.getPresident().substring(0, serviceFundShared.getPresident().indexOf(" ")) + "审批通过");
                            serviceFundflow.setFlowconclusion(1);
                            serviceFundflow.setFundtype(1);
                            serviceFundflow.setFundtype(2);
                            serviceFundflow.setFlowlevel(999);
                            serviceFundflow.setApplytype(null);
                            serviceFundflow.setApplytype(serviceFundShared.getApplytype());
                            serviceFundflow.setFundid(serviceFundShared.getSerfunid());
                            serviceFundflow.setCheckTime(parse);
                            fundflowService.save(serviceFundflow);
@@ -355,9 +355,9 @@
                            serviceFundflow.setCheckusername(serviceFundShared.getFinvicepresident().substring(0, serviceFundShared.getFinvicepresident().indexOf(" ")));
                            serviceFundflow.setFlowcontent(serviceFundShared.getFinvicepresident().substring(0, serviceFundShared.getFinvicepresident().indexOf(" ")) + "审批通过");
                            serviceFundflow.setFlowconclusion(1);
                            serviceFundflow.setFundtype(1);
                            serviceFundflow.setFundtype(2);
                            serviceFundflow.setFlowlevel(999);
                            serviceFundflow.setApplytype(null);
                            serviceFundflow.setApplytype(serviceFundShared.getApplytype());
                            serviceFundflow.setFundid(serviceFundShared.getSerfunid());
                            serviceFundflow.setCheckTime(parse);
                            fundflowService.save(serviceFundflow);
@@ -385,9 +385,9 @@
                            serviceFundflow.setCheckusername(serviceFundShared.getBusvicepresident().substring(0, serviceFundShared.getBusvicepresident().indexOf(" ")));
                            serviceFundflow.setFlowcontent(serviceFundShared.getBusvicepresident().substring(0, serviceFundShared.getBusvicepresident().indexOf(" ")) + "通过");
                            serviceFundflow.setFlowconclusion(1);
                            serviceFundflow.setFundtype(1);
                            serviceFundflow.setFundtype(2);
                            serviceFundflow.setFlowlevel(999);
                            serviceFundflow.setApplytype(null);
                            serviceFundflow.setApplytype(serviceFundShared.getApplytype());
                            serviceFundflow.setFundid(serviceFundShared.getSerfunid());
                            serviceFundflow.setCheckTime(parse);
                            fundflowService.save(serviceFundflow);
@@ -508,7 +508,7 @@
                    serviceFundflow.setFundtype(1);
                    // 999 é€šè¿‡
                    serviceFundflow.setFlowlevel(999);
                    serviceFundflow.setApplytype(null);
                    serviceFundflow.setApplytype("0");
                    serviceFundflow.setFundid(serviceReimbursementShared.getReimid());
                    serviceReimbursementShared.setSpjg(1);
@@ -553,7 +553,7 @@
                            serviceFundflow.setFlowconclusion(1);
                            serviceFundflow.setFundtype(1);
                            serviceFundflow.setFlowlevel(999);
                            serviceFundflow.setApplytype(null);
                            serviceFundflow.setApplytype("0");
                            serviceFundflow.setFundid(serviceReimbursementShared.getReimid());
                            serviceFundflow.setCheckTime(parse);
                            fundflowService.save(serviceFundflow);
@@ -584,7 +584,7 @@
                            serviceFundflow.setFlowconclusion(1);
                            serviceFundflow.setFundtype(1);
                            serviceFundflow.setFlowlevel(999);
                            serviceFundflow.setApplytype(null);
                            serviceFundflow.setApplytype("0");
                            serviceFundflow.setCheckTime(parse);
                            serviceFundflow.setFundid(serviceReimbursementShared.getReimid());
                            fundflowService.save(serviceFundflow);
@@ -614,7 +614,7 @@
                            serviceFundflow.setFlowconclusion(1);
                            serviceFundflow.setFundtype(1);
                            serviceFundflow.setFlowlevel(999);
                            serviceFundflow.setApplytype(null);
                            serviceFundflow.setApplytype("0");
                            serviceFundflow.setCheckTime(parse);
                            serviceFundflow.setFundid(serviceReimbursementShared.getReimid());
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysConfigMapper.java
@@ -1,15 +1,17 @@
package com.ruoyi.system.mapper;
import java.util.List;
import com.ruoyi.system.domain.SysConfig;
import org.apache.ibatis.annotations.Mapper;
/**
 * å‚数配置 æ•°æ®å±‚
 * 
 * @author ruoyi
 */
public interface SysConfigMapper
{
@Mapper
public interface SysConfigMapper {
    /**
     * æŸ¥è¯¢å‚数配置信息
     *