liusheng
2023-08-31 d51450c60f95c7e6fb7034451e9c1f7497b2b116
代码提交
已添加5个文件
已修改16个文件
591 ■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/template/专家劳务费发放申请单(1).ftl 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/template/伦理专家劳务费发放申请单.ftl 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/template/办公费用申请单.ftl 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/template/医学成本费用申请单.ftl 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/template/差旅费报销申请单.ftl 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFund.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursement.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementEo.java 167 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementShared.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceTasknum.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTasknumMapper.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceTasknumService.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTasknumServiceImpl.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/resources/mapper/project/ServiceFundMapper.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/resources/mapper/project/ServiceReimbursementMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/resources/mapper/project/ServiceTasknumMapper.xml 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
@@ -85,7 +85,7 @@
            log.info("url1的值old :{}", url1);
            if (url1.contains("8032")) {
                //这里的8032不是tomcat的,所以要转成tomcat的
                url1 = url1.replace("8032", "8099");
                url1 = url1.replace("8032", "8032/prod-api");
            }
            log.info("url1的值new :{}", url1);
            String url = url1 + fileName;
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
@@ -658,6 +658,7 @@
        String date = formatter.format(dt);
        String time = date.substring(0, 10);
        dataMap.put("XZBH", serviceFund.getBh() == null ? "" : serviceFund.getBh());
        dataMap.put("TBYYMMDD", time);
        dataMap.put("BXDFJ", serviceFund.getAttachcount() == 0 ? "   " : serviceFund.getAttachcount());
        dataMap.put("JXZXM", serviceFund.getDonorname() == null ? "" : serviceFund.getDonorname());
@@ -971,7 +972,7 @@
    @GetMapping(value = "/downloadYX/{id}")
    public Map downloadInfoYX(@PathVariable("id") Long id) throws IOException {
        Map dataMap = new HashMap();
        getDataYX(dataMap, id);
        String dataYX = getDataYX(dataMap, id);
        String filePath = getClass().getResource("/template/").getPath();
        System.out.println(filePath);
        //设置模本装置方法和路径,FreeMarker支持多种模板装载方法。可以重servlet,classpath,数据库教程装载,
@@ -980,15 +981,22 @@
        Template t = null;
        try {
            //捐献表.ftl为要装载的模板
//            t = configuration.getTemplate("医学成本费用申请单.ftl");
            t = configuration.getTemplate("办公费用申请单.ftl");
            //专家劳务费申请 1    ä¼¦ç†è¯„估劳务费申请 2    åŒ»å­¦æˆæœ¬è´¹ç”¨ç”³è¯· 3     åŠžå…¬è´¹ç”¨æŠ¥é”€ç”³è¯· 4
            if (dataYX.equals("3")) {
                t = configuration.getTemplate("医学成本费用申请单.ftl");
            } else if (dataYX.equals("4")) {
                t = configuration.getTemplate("办公费用申请单.ftl");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        String newTime = String.valueOf(Calendar.getInstance().getTimeInMillis());
//        String name = "医学成本费用申请单_" + dataMap.get("XM") + "_" + newTime;
        String name = "办公费用申请单_" + dataMap.get("XM") + "_" + newTime;
        String name = null;
        if (dataYX.equals("3")) {
            name = "医学成本费用申请单_" + dataMap.get("XM") + "_" + newTime;
        } else if (dataYX.equals("4")) {
            name = "办公费用申请单_" + dataMap.get("XM") + "_" + newTime;
        }
        //输出文档路径及名称
        File outFile = new File(RuoYiConfig.getProfile() + "/download/wordtemplate/" + name + ".doc");
        Writer out = null;
@@ -1009,7 +1017,7 @@
        return map;
    }
    private void getDataYX(Map dataMap, Long id) {
    private String getDataYX(Map dataMap, Long id) {
        ServiceFund serviceFund = serviceFundService.getById(id);
        if (serviceFund == null) {
            throw new ServiceException("下载失败,用户信息出错", HttpStatus.NO_CONTENT);
@@ -1032,6 +1040,7 @@
        List<Map<String, Object>> newList = new ArrayList<Map<String, Object>>();
        int seqno = 0;
        dataMap.put("XZBH", serviceFund.getBh() == null ? "" : serviceFund.getBh());
        dataMap.put("TBYYMMDD", time);
        dataMap.put("BXDFJ", serviceFund.getAttachcount() == 0 ? "   " : serviceFund.getAttachcount());
        dataMap.put("JXZXM", serviceFund.getDonorname() == null ? "" : serviceFund.getDonorname());
@@ -1103,6 +1112,7 @@
        dataMap.put("CWBZR2", serviceFund.getFinancedirector() == null ? "" : serviceFund.getFinancedirector());
        dataMap.put("CWSH2", serviceFund.getFinancechecher() == null ? "" : serviceFund.getFinancechecher());
        return serviceFund.getApplytype();
    }
    public List<Map<String, Object>> checkList(List<Map<String, Object>> list) {
@@ -1737,6 +1747,7 @@
        String date = formatter.format(dt);
        String time = date.substring(0, 10);
        dataMap.put("XZBH", serviceFund.getBh() == null ? "" : serviceFund.getBh());
        dataMap.put("YYMMDD", time);
        dataMap.put("XM", serviceFund.getDonorname() == null ? "" : serviceFund.getDonorname());
        dataMap.put("GZRY", serviceFund.getUsername() == null ? "" : serviceFund.getUsername());
@@ -1823,6 +1834,7 @@
        String date = formatter.format(dt);
        String time = date.substring(0, 10);
        dataMap.put("XZBH", serviceFund.getBh() == null ? "" : serviceFund.getBh());
        dataMap.put("TBYYMMDD", time);
        dataMap.put("BXDFJ", serviceFund.getAttachcount() == 0 ? "   " : serviceFund.getAttachcount());
        dataMap.put("JXZXM", serviceFund.getDonorname() == null ? "" : serviceFund.getDonorname());
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
@@ -690,8 +690,8 @@
     */
    @ApiOperation("删除报销申请")
    //@PreAuthorize("@ss.hasPermi('project:reimbursement:remove')")
    @Log(title = "报销申请", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    @Log(title = "报销申请")
    @GetMapping("/remove/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(serviceReimbursementService.removeByIds(Arrays.asList(ids)));
    }
@@ -878,6 +878,7 @@
        String date = formatter.format(dt);
        String time = date.substring(0, 10);
        dataMap.put("XZBH", rdInfoByItem.get(0).getBh() == null ? "" : rdInfoByItem.get(0).getBh());
        dataMap.put("TBYYMMDD", time);
        dataMap.put("BXDFJ", rdInfoByItem.get(0).getAttachcount() == null ? "   " : "" + rdInfoByItem.get(0).getAttachcount());
        dataMap.put("JXZXM", rdInfoByItem.get(0).getDonorname() == null ? "" : rdInfoByItem.get(0).getDonorname());
ruoyi-admin/src/main/resources/template/ר¼ÒÀÍÎñ·Ñ·¢·ÅÉêÇëµ¥(1).ftl
@@ -178,7 +178,7 @@
                                <w:sz w:val="24"/>
                                <w:szCs w:val="24"/>
                            </w:rPr>
                            <w:t>填表日期:${TBYYMMDD}</w:t>
                            <w:t>编号:${XZBH}</w:t>
                        </w:r>
                        <w:r w:rsidR="00A72865" w:rsidRPr="0039783B">
                            <w:rPr>
@@ -188,8 +188,28 @@
                                <w:sz w:val="24"/>
                                <w:szCs w:val="24"/>
                            </w:rPr>
                            <w:t xml:space="preserve">      </w:t>
                            <w:t xml:space="preserve">                            </w:t>
                        </w:r>
                        <w:r w:rsidRPr="0039783B">
                            <w:rPr>
                                <w:rFonts w:ascii="宋体" w:eastAsia="宋体" w:hAnsi="宋体" w:cs="宋体" w:hint="eastAsia"/>
                                <w:color w:val="000000"/>
                                <w:kern w:val="0"/>
                                <w:sz w:val="24"/>
                                <w:szCs w:val="24"/>
                            </w:rPr>
                            <w:t>填表日期:${TBYYMMDD}</w:t>
                        </w:r>
<#--                        <w:r w:rsidR="00A72865" w:rsidRPr="0039783B">-->
<#--                            <w:rPr>-->
<#--                                <w:rFonts w:ascii="宋体" w:eastAsia="宋体" w:hAnsi="宋体" w:cs="宋体"/>-->
<#--                                <w:color w:val="000000"/>-->
<#--                                <w:kern w:val="0"/>-->
<#--                                <w:sz w:val="24"/>-->
<#--                                <w:szCs w:val="24"/>-->
<#--                            </w:rPr>-->
<#--                            <w:t xml:space="preserve">      </w:t>-->
<#--                        </w:r>-->
                        <w:r w:rsidR="004A1007" w:rsidRPr="0039783B">
                            <w:rPr>
                                <w:rFonts w:ascii="宋体" w:eastAsia="宋体" w:hAnsi="宋体" w:cs="宋体"/>
ruoyi-admin/src/main/resources/template/Â×Àíר¼ÒÀÍÎñ·Ñ·¢·ÅÉêÇëµ¥.ftl
@@ -192,7 +192,7 @@
                                <w:sz w:val="24"/>
                                <w:szCs w:val="24"/>
                            </w:rPr>
                            <w:t>填表日期:${TBYYMMDD}</w:t>
                            <w:t>编号:${XZBH}</w:t>
                        </w:r>
                        <w:r w:rsidR="00A72865">
                            <w:rPr>
@@ -202,8 +202,28 @@
                                <w:sz w:val="24"/>
                                <w:szCs w:val="24"/>
                            </w:rPr>
                            <w:t xml:space="preserve">      </w:t>
                            <w:t xml:space="preserve">                        </w:t>
                        </w:r>
                        <w:r w:rsidRPr="00D61E43">
                            <w:rPr>
                                <w:rFonts w:ascii="宋体" w:eastAsia="宋体" w:hAnsi="宋体" w:cs="宋体" w:hint="eastAsia"/>
                                <w:color w:val="000000"/>
                                <w:kern w:val="0"/>
                                <w:sz w:val="24"/>
                                <w:szCs w:val="24"/>
                            </w:rPr>
                            <w:t>填表日期:${TBYYMMDD}</w:t>
                        </w:r>
<#--                        <w:r w:rsidR="00A72865">-->
<#--                            <w:rPr>-->
<#--                                <w:rFonts w:ascii="宋体" w:eastAsia="宋体" w:hAnsi="宋体" w:cs="宋体"/>-->
<#--                                <w:color w:val="000000"/>-->
<#--                                <w:kern w:val="0"/>-->
<#--                                <w:sz w:val="24"/>-->
<#--                                <w:szCs w:val="24"/>-->
<#--                            </w:rPr>-->
<#--                            <w:t xml:space="preserve">      </w:t>-->
<#--                        </w:r>-->
                        <w:r w:rsidR="004A1007">
                            <w:rPr>
                                <w:rFonts w:ascii="宋体" w:eastAsia="宋体" w:hAnsi="宋体" w:cs="宋体"/>
ruoyi-admin/src/main/resources/template/°ì¹«·ÑÓÃÉêÇëµ¥.ftl
@@ -245,7 +245,7 @@
                                <w:sz w:val="24"/>
                                <w:szCs w:val="24"/>
                            </w:rPr>
                            <w:t>填表日期:2023-08-03</w:t>
                            <w:t>编号:${XZBH}</w:t>
                        </w:r>
                        <w:r w:rsidR="00A72865">
                            <w:rPr>
@@ -255,8 +255,28 @@
                                <w:sz w:val="24"/>
                                <w:szCs w:val="24"/>
                            </w:rPr>
                            <w:t xml:space="preserve">      </w:t>
                            <w:t xml:space="preserve">                          </w:t>
                        </w:r>
                        <w:r w:rsidRPr="00D61E43">
                            <w:rPr>
                                <w:rFonts w:ascii="宋体" w:eastAsia="宋体" w:hAnsi="宋体" w:cs="宋体" w:hint="eastAsia"/>
                                <w:color w:val="000000"/>
                                <w:kern w:val="0"/>
                                <w:sz w:val="24"/>
                                <w:szCs w:val="24"/>
                            </w:rPr>
                            <w:t>填表日期:${TBYYMMDD}</w:t>
                        </w:r>
<#--                        <w:r w:rsidR="00A72865">-->
<#--                            <w:rPr>-->
<#--                                <w:rFonts w:ascii="宋体" w:eastAsia="宋体" w:hAnsi="宋体" w:cs="宋体"/>-->
<#--                                <w:color w:val="000000"/>-->
<#--                                <w:kern w:val="0"/>-->
<#--                                <w:sz w:val="24"/>-->
<#--                                <w:szCs w:val="24"/>-->
<#--                            </w:rPr>-->
<#--                            <w:t xml:space="preserve">      </w:t>-->
<#--                        </w:r>-->
                        <w:r w:rsidR="004A1007">
                            <w:rPr>
                                <w:rFonts w:ascii="宋体" w:eastAsia="宋体" w:hAnsi="宋体" w:cs="宋体"/>
ruoyi-admin/src/main/resources/template/ҽѧ³É±¾·ÑÓÃÉêÇëµ¥.ftl
@@ -191,7 +191,7 @@
                                <w:sz w:val="24"/>
                                <w:szCs w:val="24"/>
                            </w:rPr>
                            <w:t>填表日期:${TBYYMMDD}</w:t>
                            <w:t>编号:${XZBH}</w:t>
                        </w:r>
                        <w:r w:rsidR="00A72865">
                            <w:rPr>
@@ -201,8 +201,28 @@
                                <w:sz w:val="24"/>
                                <w:szCs w:val="24"/>
                            </w:rPr>
                            <w:t xml:space="preserve">      </w:t>
                            <w:t xml:space="preserve">                        </w:t>
                        </w:r>
                        <w:r w:rsidRPr="00D61E43">
                            <w:rPr>
                                <w:rFonts w:ascii="宋体" w:eastAsia="宋体" w:hAnsi="宋体" w:cs="宋体" w:hint="eastAsia"/>
                                <w:color w:val="000000"/>
                                <w:kern w:val="0"/>
                                <w:sz w:val="24"/>
                                <w:szCs w:val="24"/>
                            </w:rPr>
                            <w:t>填表日期:${TBYYMMDD}</w:t>
                        </w:r>
<#--                        <w:r w:rsidR="00A72865">-->
<#--                            <w:rPr>-->
<#--                                <w:rFonts w:ascii="宋体" w:eastAsia="宋体" w:hAnsi="宋体" w:cs="宋体"/>-->
<#--                                <w:color w:val="000000"/>-->
<#--                                <w:kern w:val="0"/>-->
<#--                                <w:sz w:val="24"/>-->
<#--                                <w:szCs w:val="24"/>-->
<#--                            </w:rPr>-->
<#--                            <w:t xml:space="preserve">      </w:t>-->
<#--                        </w:r>-->
                        <w:r w:rsidR="004A1007">
                            <w:rPr>
                                <w:rFonts w:ascii="宋体" w:eastAsia="宋体" w:hAnsi="宋体" w:cs="宋体"/>
ruoyi-admin/src/main/resources/template/²îÂ÷ѱ¨ÏúÉêÇëµ¥.ftl
@@ -227,7 +227,7 @@
                                <w:sz w:val="24"/>
                                <w:szCs w:val="24"/>
                            </w:rPr>
                            <w:t>填表日期:${TBYYMMDD}</w:t>
                            <w:t>编号:${XZBH}</w:t>
                        </w:r>
                        <w:r w:rsidR="00A72865">
                            <w:rPr>
@@ -237,8 +237,28 @@
                                <w:sz w:val="24"/>
                                <w:szCs w:val="24"/>
                            </w:rPr>
                            <w:t xml:space="preserve">      </w:t>
                            <w:t xml:space="preserve">                               </w:t>
                        </w:r>
                        <w:r w:rsidRPr="00D61E43">
                            <w:rPr>
                                <w:rFonts w:ascii="宋体" w:eastAsia="宋体" w:hAnsi="宋体" w:cs="宋体" w:hint="eastAsia"/>
                                <w:color w:val="000000"/>
                                <w:kern w:val="0"/>
                                <w:sz w:val="24"/>
                                <w:szCs w:val="24"/>
                            </w:rPr>
                            <w:t>填表日期:${TBYYMMDD}</w:t>
                        </w:r>
<#--                        <w:r w:rsidR="00A72865">-->
<#--                            <w:rPr>-->
<#--                                <w:rFonts w:ascii="宋体" w:eastAsia="宋体" w:hAnsi="宋体" w:cs="宋体"/>-->
<#--                                <w:color w:val="000000"/>-->
<#--                                <w:kern w:val="0"/>-->
<#--                                <w:sz w:val="24"/>-->
<#--                                <w:szCs w:val="24"/>-->
<#--                            </w:rPr>-->
<#--                            <w:t xml:space="preserve">      </w:t>-->
<#--                        </w:r>-->
                        <w:r w:rsidR="004A1007">
                            <w:rPr>
                                <w:rFonts w:ascii="宋体" w:eastAsia="宋体" w:hAnsi="宋体" w:cs="宋体"/>
@@ -247,7 +267,7 @@
                                <w:sz w:val="24"/>
                                <w:szCs w:val="24"/>
                            </w:rPr>
                            <w:t xml:space="preserve">                               </w:t>
                            <w:t xml:space="preserve">                           </w:t>
                        </w:r>
                        <w:r w:rsidRPr="00D61E43">
                            <w:rPr>
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFund.java
@@ -237,5 +237,9 @@
    @ApiModelProperty("付款日期")
    private String riqi;
    /** ç¼–号(打印的时候,在文档上显示) */
    @ApiModelProperty("编号(打印的时候,在文档上显示)")
    @Excel(name = "编号")
    private String bh;
}
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursement.java
@@ -317,6 +317,12 @@
    @ApiModelProperty("付款日期")
    private String riqi;
    /** ç¼–号(打印的时候,在文档上显示) */
    @ApiModelProperty("编号(打印的时候,在文档上显示)")
    @Excel(name = "编号")
    private String bh;
//    @ApiModelProperty("开始时间")
//    private Date starttime;
//
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementEo.java
@@ -14,193 +14,264 @@
/**
 * æŠ¥é”€ç”³è¯·å¯¹è±¡å…¥å‚对象
 *
 *
 * @author åˆ˜çœ
 * @date 2023-04-28
 */
@Data
@ApiModel("报销申请入参EO")
public class ServiceReimbursementEo extends BaseEntity
{
public class ServiceReimbursementEo extends BaseEntity {
    /** $column.columnComment */
    /**
     * $column.columnComment
     */
    @ApiModelProperty("$column.columnComment")
    //数据库自增改成@TableId(type = IdType.AUTO)
    @TableId(type = IdType.AUTO)
    private Long id;
    /** æŠ¥é”€äººç¼–号 */
    /**
     * æŠ¥é”€äººç¼–号
     */
    @ApiModelProperty("报销人编号")
    @Excel(name = "报销人编号")
    private String userno;
    /** æŠ¥é”€äººå§“名 */
    /**
     * æŠ¥é”€äººå§“名
     */
    @ApiModelProperty("报销人姓名")
    @Excel(name = "报销人姓名")
    private String username;
    /** è¯ä»¶ç±»åž‹ æ ¹æ®å­—å…¸sys_IDType */
    /**
     * è¯ä»¶ç±»åž‹ æ ¹æ®å­—å…¸sys_IDType
     */
    @ApiModelProperty("证件类型 æ ¹æ®å­—å…¸sys_IDType")
    @Excel(name = "证件类型 æ ¹æ®å­—å…¸sys_IDType")
    private String idcardtype;
    /** è¯ä»¶å·ç  */
    /**
     * è¯ä»¶å·ç 
     */
    @ApiModelProperty("证件号码")
    @Excel(name = "证件号码")
    private String idcardno;
    /** è”系电话 */
    /**
     * è”系电话
     */
    @ApiModelProperty("联系电话")
    @Excel(name = "联系电话")
    private String phone;
    /** å¼€æˆ·é“¶è¡Œ */
    /**
     * å¼€æˆ·é“¶è¡Œ
     */
    @ApiModelProperty("开户银行")
    @Excel(name = "开户银行")
    private String depositbank;
    /** å¡å· */
    /**
     * å¡å·
     */
    @ApiModelProperty("卡号")
    @Excel(name = "卡号")
    private String bankcardno;
    /** åˆ†è¡Œåç§° */
    /**
     * åˆ†è¡Œåç§°
     */
    @ApiModelProperty("分行名称")
    @Excel(name = "分行名称")
    private String branchbankname;
    /** é“¶è¡Œå¡ç…§ç‰‡è·¯å¾„ å¤šä¸ªç”¨;分开 */
    /**
     * é“¶è¡Œå¡ç…§ç‰‡è·¯å¾„ å¤šä¸ªç”¨;分开
     */
    @ApiModelProperty("银行卡照片路径 å¤šä¸ªç”¨;分开")
    @Excel(name = "银行卡照片路径 å¤šä¸ªç”¨;分开")
    private String annexbankcard;
    /** é™„件路径 å¤šä¸ªç”¨;分开 */
    /**
     * é™„件路径 å¤šä¸ªç”¨;分开
     */
    @ApiModelProperty("附件路径 å¤šä¸ªç”¨;分开")
    @Excel(name = "附件路径 å¤šä¸ªç”¨;分开")
    private String annexfiles;
    /** ç”³è¯·é‡‘额 */
    /**
     * ç”³è¯·é‡‘额
     */
    @ApiModelProperty("申请金额")
    @Excel(name = "申请金额")
    private BigDecimal amountrequested;
    /** äº¤é€šè´¹ */
    /**
     * äº¤é€šè´¹
     */
    @ApiModelProperty("交通费")
    @Excel(name = "交通费")
    private BigDecimal trafficexpense;
    /** ä½å®¿è´¹ */
    /**
     * ä½å®¿è´¹
     */
    @ApiModelProperty("住宿费")
    @Excel(name = "住宿费")
    private BigDecimal hotelexpense;
    /** ä¼™é£Ÿè´¹ */
    /**
     * ä¼™é£Ÿè´¹
     */
    @ApiModelProperty("伙食费")
    @Excel(name = "伙食费")
    private BigDecimal foodexpenses;
    /** ä¼™é£Ÿè´¹è¡¥åŠ© */
    /**
     * ä¼™é£Ÿè´¹è¡¥åŠ©
     */
    @ApiModelProperty("伙食费补助")
    @Excel(name = "伙食费补助")
    private BigDecimal foodallowance;
    /** æ‚è´¹ */
    /**
     * æ‚è´¹
     */
    @ApiModelProperty("杂费")
    @Excel(name = "杂费")
    private BigDecimal otherexpense;
    /** å…¶ä»–费用金额 */
    /**
     * å…¶ä»–费用金额
     */
    @ApiModelProperty("其他费用金额")
    @Excel(name = "其他费用金额")
    private BigDecimal otherfeeamount;
    /** é¢„支费用 */
    /**
     * é¢„支费用
     */
    @ApiModelProperty("预支费用")
    @Excel(name = "预支费用")
    private Double prepaidamount;
    /** å‘票张数 */
    /**
     * å‘票张数
     */
    @ApiModelProperty("发票张数")
    @Excel(name = "发票张数")
    private Long invoicecount;
    /** é™„ä»¶æ•° */
    /**
     * é™„ä»¶æ•°
     */
    @ApiModelProperty("附件数")
    @Excel(name = "附件数")
    private Long attachcount;
    /** éƒ¨é—¨ä¸»ç®¡å·¥å· */
    /**
     * éƒ¨é—¨ä¸»ç®¡å·¥å·
     */
    @ApiModelProperty("部门主管工号")
    @Excel(name = "部门主管工号")
    private String managerno;
    /** éƒ¨é—¨ä¸»ç®¡åå­— */
    /**
     * éƒ¨é—¨ä¸»ç®¡åå­—
     */
    @ApiModelProperty("部门主管名字")
    @Excel(name = "部门主管名字")
    private String managername;
    /** éƒ¨é—¨ç¼–号 */
    /**
     * éƒ¨é—¨ç¼–号
     */
    @ApiModelProperty("部门编号")
    @Excel(name = "部门编号")
    private String deptmentno;
    /** éƒ¨é—¨åç§° */
    /**
     * éƒ¨é—¨åç§°
     */
    @ApiModelProperty("部门名称")
    @Excel(name = "部门名称")
    private String deptmentname;
    /** ä¸­å¿ƒç­¾å­— */
    /**
     * ä¸­å¿ƒç­¾å­—
     */
    @ApiModelProperty("中心签字")
    @Excel(name = "中心签字")
    private String opochecker;
    /** è´¢åŠ¡å‰¯é™¢é•¿ç­¾å­— */
    /**
     * è´¢åŠ¡å‰¯é™¢é•¿ç­¾å­—
     */
    @ApiModelProperty("财务副院长签字")
    @Excel(name = "财务副院长签字")
    private String finvicepresident;
    /** ä¸šåŠ¡å‰¯é™¢é•¿ç­¾å­— */
    /**
     * ä¸šåŠ¡å‰¯é™¢é•¿ç­¾å­—
     */
    @ApiModelProperty("业务副院长签字")
    @Excel(name = "业务副院长签字")
    private String busvicepresident;
    /** åŠžå…¬å®¤ä¸»ä»»ç­¾å­— */
    /**
     * åŠžå…¬å®¤ä¸»ä»»ç­¾å­—
     */
    @ApiModelProperty("办公室主任签字")
    @Excel(name = "办公室主任签字")
    private String officedirector;
    /** è´¢åŠ¡å®¤ä¸»ä»»ç­¾å­— */
    /**
     * è´¢åŠ¡å®¤ä¸»ä»»ç­¾å­—
     */
    @ApiModelProperty("财务室主任签字")
    @Excel(name = "财务室主任签字")
    private String financedirector;
    /** è´¢åŠ¡å®¡æ ¸ */
    /**
     * è´¢åŠ¡å®¡æ ¸
     */
    @ApiModelProperty("财务审核")
    @Excel(name = "财务审核")
    private String financechecher;
    /** å…³è”service_donatebaseinfo表的ID */
    /**
     * å…³è”service_donatebaseinfo表的ID
     */
    @ApiModelProperty("关联service_donatebaseinfo表的ID")
    @Excel(name = "关联service_donatebaseinfo表的ID")
    private Long infoid;
    /** æçŒ®è€…编号 */
    /**
     * æçŒ®è€…编号
     */
    @ApiModelProperty("捐献者编号")
    @Excel(name = "捐献者编号")
    private String donorno;
    /** è®°å½•状态 */
    /**
     * è®°å½•状态
     */
    @ApiModelProperty("记录状态")
    @Excel(name = "记录状态")
    private Integer recordstatus;
    /** ä¸Šä¼ æ ‡å¿— */
    /**
     * ä¸Šä¼ æ ‡å¿—
     */
    @ApiModelProperty("上传标志")
    @Excel(name = "上传标志")
    private String uploadflag;
    /** ä¸Šä¼ æ—¶é—´ */
    /**
     * ä¸Šä¼ æ—¶é—´
     */
    @ApiModelProperty("上传时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "上传时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
@@ -222,22 +293,30 @@
    @ApiModelProperty("总金额的大写")
    private String bigstrmoney;
    /** é™„件地址,add by yangjb 20221124 */
    /**
     * é™„件地址,add by yangjb 20221124
     */
    @ApiModelProperty("附件地址")
    private String fileurl;
    private String remark;
    /** å½“前审核级别 å¤„于哪个阶段 0:申请;1:一级审核;2:二级审核;3:三级审核等 */
    /**
     * å½“前审核级别 å¤„于哪个阶段 0:申请;1:一级审核;2:二级审核;3:三级审核等
     */
    @ApiModelProperty("当前审核级别")
    private Long flowlevel;
    /** è´¹ç”¨å½’属:0:其他人员;1:专职人员;2:协调员;3:专家;4:捐献者家属 */
    /**
     * è´¹ç”¨å½’属:0:其他人员;1:专职人员;2:协调员;3:专家;4:捐献者家属
     */
    @ApiModelProperty("费用归属")
    private String persontype;
    /** è´¹ç”¨å½’属描述 */
    /**
     * è´¹ç”¨å½’属描述
     */
    @ApiModelProperty("费用归属描述")
    private String costtypename;
@@ -266,5 +345,7 @@
    @ApiModelProperty("申请时间")
    private Date endtime;
    @ApiModelProperty("下载编号")
    private String bh;
}
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementShared.java
@@ -10,7 +10,6 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
@@ -114,14 +113,14 @@
     */
    @ApiModelProperty("申请金额")
    @Excel(name = "申请金额")
    private BigDecimal amountrequested;
    private Double amountrequested;
    /**
     * é¢„支费用
     */
    @ApiModelProperty("预支费用")
    @Excel(name = "预支费用")
    private BigDecimal prepaidamount;
    private Double prepaidamount;
    /**
     * å‘票张数
@@ -179,7 +178,9 @@
    @Excel(name = "财务副院长签字")
    private String finvicepresident;
    /** é™¢é•¿ç­¾å­— */
    /**
     * é™¢é•¿ç­¾å­—
     */
    @ApiModelProperty("院长签字")
    @Excel(name = "院长签字")
    private String president;
@@ -267,7 +268,7 @@
     */
    @ApiModelProperty("总金额")
    @Excel(name = "总金额")
    private BigDecimal totalamount;
    private Double totalamount;
    /**
     * æ€»é‡‘额的大写
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceTasknum.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
package com.ruoyi.project.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * å·®æ—…,专家,办公,医学,伦理 ......   ä»»åŠ¡ç¼–å·å¯¹è±¡ service_tasknum
 *
 * @author ruoyi
 * @date 2023-08-31
 */
@Data
@ApiModel("差旅,专家,办公,医学,伦理 ......   ä»»åŠ¡ç¼–å·")
public class ServiceTasknum
{
    private static final long serialVersionUID = 1L;
    /** $column.columnComment */
    @ApiModelProperty("$column.columnComment")
    //数据库自增改成@TableId(type = IdType.AUTO)
    @TableId(type = IdType.AUTO)
    private Long id;
    /** ç±»åž‹ */
    @ApiModelProperty("类型")
    @Excel(name = "类型")
    private String apptype;
    /** å¹´æœˆ */
    @ApiModelProperty("年月")
    @Excel(name = "年月")
    private String yearmonth;
    /** å”¯ä¸€å€¼ */
    @ApiModelProperty("唯一值")
    @Excel(name = "唯一值")
    private Long serialnumber;
}
ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceTasknumMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
package com.ruoyi.project.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
import com.ruoyi.project.domain.ServiceTasknum;
/**
 * å·®æ—…,专家,办公,医学,伦理 ......   ä»»åŠ¡ç¼–å·Mapper接口
 *
 * @author ruoyi
 * @date 2023-08-31
 */
public interface ServiceTasknumMapper extends BaseMapper<ServiceTasknum>
{
    /**
     * æŸ¥è¯¢å·®æ—…,专家,办公,医学,伦理 ......   ä»»åŠ¡ç¼–å·åˆ—è¡¨
     *
     * @param serviceTasknum å·®æ—…,专家,办公,医学,伦理 ......   ä»»åŠ¡ç¼–å·
     * @return å·®æ—…,专家,办公,医学,伦理 ......   ä»»åŠ¡ç¼–å·é›†åˆ
     */
    public List<ServiceTasknum> selectServiceTasknumList(ServiceTasknum serviceTasknum);
}
ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceTasknumService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
package com.ruoyi.project.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.project.domain.ServiceTasknum;
import java.util.List;
/**
 * å·®æ—…,专家,办公,医学,伦理 ......   ä»»åŠ¡ç¼–å·Service接口
 *
 * @author ruoyi
 * @date 2023-08-31
 */
public interface IServiceTasknumService extends IService<ServiceTasknum>
{
    /**
     * æŸ¥è¯¢å·®æ—…,专家,办公,医学,伦理 ......   ä»»åŠ¡ç¼–å·åˆ—è¡¨
     *
     * @param serviceTasknum å·®æ—…,专家,办公,医学,伦理 ......   ä»»åŠ¡ç¼–å·
     * @return å·®æ—…,专家,办公,医学,伦理 ......   ä»»åŠ¡ç¼–å·é›†åˆ
     */
    public List<ServiceTasknum> queryList(ServiceTasknum serviceTasknum);
}
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
@@ -695,6 +695,8 @@
            if (serviceFunddetailVO.getTaxedamount() != null && serviceFunddetailVO.getAmount() != null && serviceFunddetailVO.getTaxedamount() != 0.0 && serviceFunddetailVO.getAmount() != 0.0) {
                // ç¨Žå‰ç¨ŽåŽéƒ½ä¸ä¸ºç©º
                ServiceFunddetail serviceFunddetail = DtoConversionUtils.sourceToTarget(serviceFunddetailVO, ServiceFunddetail.class);
                if (serviceFunddetailVO.getId() == null) {
                    serviceFunddetailService.save(serviceFunddetail);
                } else {
@@ -746,6 +748,15 @@
        //将税前、税后金额更新到fund表中
        serviceFundVO.setPretaxcost(taxBefore);
        serviceFundVO.setTaxedcost(taxAfter);
        //申请金额为含税金额
        if (serviceFundVO.getApplytype().equals("1") || serviceFundVO.getApplytype().equals("2")) {
            //个税   ç¨Žå‰ï¼ˆæœ‰ç¨Žï¼‰ - ç¨Ž = ç¨ŽåŽ
            serviceFundVO.setAmountrequested(taxBefore);
        } else {
            //采购   ç¨Žå‰ï¼ˆæ— ç¨Žï¼‰ + ç¨Ž = ç¨ŽåŽï¼ˆå«ç¨Žé‡‘额)
            serviceFundVO.setAmountrequested(taxAfter);
        }
        updateById(serviceFundVO);
        return id;
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTasknumServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
package com.ruoyi.project.service.impl;
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.domain.ServiceTasknum;
import com.ruoyi.project.mapper.ServiceTasknumMapper;
import com.ruoyi.project.service.IServiceTasknumService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * å·®æ—…,专家,办公,医学,伦理 ......   ä»»åŠ¡ç¼–å·Service业务层处理
 *
 * @author ruoyi
 * @date 2023-08-31
 */
@Service
public class ServiceTasknumServiceImpl extends ServiceImpl<ServiceTasknumMapper, ServiceTasknum> implements IServiceTasknumService
{
    /**
     * æŸ¥è¯¢å·®æ—…,专家,办公,医学,伦理 ......   ä»»åŠ¡ç¼–å·åˆ—è¡¨
     *
     * @param serviceTasknum å·®æ—…,专家,办公,医学,伦理 ......   ä»»åŠ¡ç¼–å·
     * @return å·®æ—…,专家,办公,医学,伦理 ......   ä»»åŠ¡ç¼–å·
     */
    @Override
    public List<ServiceTasknum> queryList(ServiceTasknum serviceTasknum) {
        LambdaQueryWrapper<ServiceTasknum> wrappers = Wrappers.lambdaQuery();
        if (StringUtils.isNotBlank(serviceTasknum.getApptype())){
            wrappers.eq(ServiceTasknum::getApptype ,serviceTasknum.getApptype());
        }
        if (StringUtils.isNotBlank(serviceTasknum.getYearmonth())){
            wrappers.eq(ServiceTasknum::getYearmonth ,serviceTasknum.getYearmonth());
        }
        if (serviceTasknum.getSerialnumber() != null){
            wrappers.eq(ServiceTasknum::getSerialnumber ,serviceTasknum.getSerialnumber());
        }
        return this.list(wrappers);
    }
}
ruoyi-project/src/main/resources/mapper/project/ServiceFundMapper.xml
@@ -54,6 +54,7 @@
        <result property="backflowlevel" column="backFlowLevel"/>
        <result property="zffs" column="zffs"/>
        <result property="riqi" column="riqi"/>
        <result property="bh" column="bh"/>
    </resultMap>
@@ -107,7 +108,8 @@
               backflowlevel,
               FlowLevel,
               zffs,
               riqi
               riqi,
               bh
        from service_fund
    </sql>
ruoyi-project/src/main/resources/mapper/project/ServiceReimbursementMapper.xml
@@ -59,6 +59,7 @@
        <result property="backflowlevel" column="backFlowLevel"/>
        <result property="zffs" column="zffs"/>
        <result property="riqi" column="riqi"/>
        <result property="bh" column="bh"/>
    </resultMap>
    <sql id="selectServiceReimbursementVo">
@@ -113,7 +114,8 @@
               donorrelatives,
               backFlowLevel,
               zffs,
               riqi
               riqi,
               bh
        from service_reimbursement
    </sql>
@@ -165,7 +167,7 @@
    <select id="getRDInfoByItem" resultType="com.ruoyi.project.domain.ServiceReimbursementEo">
        SELECT a.id as id,a.UserNo as userno,a.FlowLevel as recordstatus,b.persontype as persontype,a.create_time as
        createTime,a.managername as managername,
        createTime,a.managername as managername,a.bh as bh,
        a.UserName as username,b.personname as travelers,a.AmountRequested as amountrequested,a.Reason as reason,a.Phone
        as phone,a.DepositBank as depositbank,a.BankCardNo as bankcardno,a.DonorName as donorname,b.trafficexpense as
        trafficexpense,b.hotelexpense as hotelexpense,b.FoodExpenses as foodexpenses, b.foodallowance as foodallowance,
ruoyi-project/src/main/resources/mapper/project/ServiceTasknumMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.project.mapper.ServiceTasknumMapper">
    <resultMap type="com.ruoyi.project.domain.ServiceTasknum" id="ServiceTasknumResult">
        <result property="id" column="id"/>
        <result property="apptype" column="apptype"/>
        <result property="yearmonth" column="yearmonth"/>
        <result property="serialnumber" column="serialnumber"/>
    </resultMap>
    <sql id="selectServiceTasknumVo">
        select id, apptype, yearmonth, serialnumber
        from service_tasknum
    </sql>
    <select id="selectServiceTasknumList" parameterType="com.ruoyi.project.domain.ServiceTasknum"
            resultMap="ServiceTasknumResult">
        <include refid="selectServiceTasknumVo"/>
        <where>
            <if test="apptype != null  and apptype != ''">and apptype = #{apptype}</if>
            <if test="yearmonth != null  and yearmonth != ''">and yearmonth = #{yearmonth}</if>
            <if test="serialnumber != null ">and serialnumber = #{serialnumber}</if>
        </where>
    </select>
</mapper>
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -1,21 +1,17 @@
package com.ruoyi.quartz.task;
import com.ruoyi.project.domain.*;
import com.ruoyi.project.domain.vo.DingTalkReqVo;
import com.ruoyi.project.service.*;
import com.ruoyi.project.service.impl.DingTalkServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.util.CollectionUtils;
import java.lang.reflect.Array;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.locks.ReentrantLock;
/**
 * å®šæ—¶ä»»åŠ¡è°ƒåº¦æµ‹è¯•
@@ -27,6 +23,9 @@
public class RyTask {
    @Autowired
    private DingTalkService dingTalkService;
    @Autowired
    private IServiceTasknumService ServiceTasknumService;
    @Autowired
    private IServiceReimbursementSharedService serviceReimbursementSharedService;
@@ -83,8 +82,10 @@
            } else {
                //不是退回的操作
                if (StringUtils.isNotBlank(serviceFundShared.getZffs()) && serviceFundShared.getSpjg() == 0) {
                    String bh = myMethod();
                    //钱已经到帐,并且审批结果为0,说明审批结束,但数据还没有同步到fund表和fundflow表;对fund表和fundflow表进行更新,并将0改成1
                    ServiceFund serviceFund = new ServiceFund();
                    serviceFund.setBh(bh);
                    serviceFund.setId(serviceFundShared.getSerfunid());
                    serviceFund.setZffs(serviceFundShared.getZffs());
                    if (StringUtils.isNotBlank(serviceFundShared.getPresident())) {
@@ -308,12 +309,13 @@
                //不是退回的操作
                if (StringUtils.isNotBlank(serviceReimbursementShared.getZffs()) && serviceReimbursementShared.getSpjg() == 0) {
                    //钱已经到帐,并且审批结果为0,说明审批结束,但数据还没有同步到fund表和fundflow表;对fund表和fundflow表进行更新,并将0改成1
                    String bh = myMethod();
                    //钱已经到帐,并且审批结果为0(0为审批中),说明审批结束,但数据还没有同步到fund表和fundflow表;对fund表和fundflow表进行更新,并将0改成1(1审批结束)
                    ServiceReimbursement serviceReimbursement = new ServiceReimbursement();
                    serviceReimbursement.setId(serviceReimbursementShared.getReimid());
                    serviceReimbursement.setZffs(serviceReimbursementShared.getZffs());
                    serviceReimbursement.setRiqi(serviceReimbursementShared.getRiqi());
                    serviceReimbursement.setBh(bh);
                    if (StringUtils.isNotBlank(serviceReimbursementShared.getPresident())) {
                        serviceReimbursement.setPresident(serviceReimbursementShared.getPresident());
                    }
@@ -537,4 +539,48 @@
//        dingTalkService.sendNotification(dingTalkReqVo);
    }
    private ReentrantLock lock = new ReentrantLock();
    public String myMethod() {
        lock.lock();
        String bh = null;
        try {
            // ä»£ç å—
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMM");
            String format = simpleDateFormat.format(new Date());
            ServiceTasknum serviceTasknum = new ServiceTasknum();
            serviceTasknum.setYearmonth(format);
            //CW  è´¢åŠ¡
            serviceTasknum.setApptype("CW");
            List<ServiceTasknum> serviceTasknums = ServiceTasknumService.queryList(serviceTasknum);
            long nums = 1;
            if (CollectionUtils.isEmpty(serviceTasknums)) {
                //进行插入操作
                serviceTasknum.setSerialnumber(nums);
                ServiceTasknumService.save(serviceTasknum);
                bh = serviceTasknum.getYearmonth() + "0" + nums;
            } else {
                //获取唯一值的最大值
                nums = serviceTasknums.stream().mapToLong(ServiceTasknum::getSerialnumber).max().getAsLong() + 1;
                ServiceTasknum serviceTasknum1 = serviceTasknums.get(0);
                serviceTasknum1.setSerialnumber(nums);
                //对该条数据的唯一值加1
                ServiceTasknumService.updateById(serviceTasknum1);
                //将生成的编号返回
                if (nums < 10) {
                    bh = serviceTasknums.get(0).getYearmonth() + "0" + nums;
                } else {
                    bh = serviceTasknums.get(0).getYearmonth() + nums;
                }
            }
        } catch (Exception e) {
            log.error("获取编号失败了{}", e.getStackTrace());
        } finally {
            lock.unlock();
        }
        return bh;
    }
}