liusheng
2023-08-10 c8707150e15be1425a096e40d44f043e9ecce5a2
修改上传文件名,医学成本的文件展示
已添加1个文件
已修改9个文件
638 ■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetail.java 188 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetailVO.java 342 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceFundVO.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFundService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFunddetailService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
@@ -168,10 +168,6 @@
//        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/ServiceFunddetailController.java
@@ -156,4 +156,10 @@
    public AjaxResult getTaxBeforeByAfterMoney(@RequestBody TaxMoneyVO taxMoneyVo) {
        return AjaxResult.success(serviceFunddetailService.getTaxBeforeByAfterMoney(taxMoneyVo));
    }
    @GetMapping("/getFundDetail/{id}")
    public AjaxResult getFundDetail(@PathVariable("id") Long id) {
        return AjaxResult.success(serviceFunddetailService.getFundDetail(id));
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
@@ -123,7 +123,9 @@
    {
        String fileName = file.getOriginalFilename();
        String extension = getExtension(file);
        fileName = DateUtils.datePath() + "/" + IdUtils.fastUUID() + "." + extension;
//        fileName = DateUtils.datePath() + "/" + IdUtils.fastUUID() + "." + extension;
        //之前的老代码将文件名改成了uuid,客户反应不好,现改回原文件名
        fileName = DateUtils.datePath() + "/" + fileName;
        return fileName;
    }
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetail.java
@@ -2,6 +2,8 @@
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
@@ -13,211 +15,292 @@
/**
 * è´¹ç”¨ç”³è¯·æ˜Žç»†å¯¹è±¡ service_funddetail
 *
 *
 * @author ruoyi
 * @date 2022-01-25
 */
@Data
@ApiModel("费用申请明细")
public class ServiceFunddetail extends BaseEntity
{
public class ServiceFunddetail extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /** ä¸»é”®ID */
    /**
     * ä¸»é”®ID
     */
    @ApiModelProperty("主键ID")
    //数据库自增改成@TableId(type = IdType.AUTO)
    @TableId(type = IdType.AUTO)
    private Long id;
    /** èµ„金申请主表ID */
    /**
     * èµ„金申请主表ID
     */
    @ApiModelProperty("资金申请主表ID")
    @Excel(name = "资金申请主表ID")
    private Long fundid;
    /** æ”¶ç›Šäººå§“名 å®¶å±žæˆ–专家 */
    /**
     * æ”¶ç›Šäººå§“名 å®¶å±žæˆ–专家
     */
    @ApiModelProperty("收益人姓名 å®¶å±žæˆ–专家")
    @Excel(name = "收益人姓名 å®¶å±žæˆ–专家")
    private String beneficiaryname;
    /** æ”¶ç›Šäººç¼–号 */
    /**
     * æ”¶ç›Šäººç¼–号
     */
    @ApiModelProperty("收益人编号")
    @Excel(name = "收益人编号")
    private String beneficiaryno;
    /** å·¥ä½œå•位 */
    /**
     * å·¥ä½œå•位
     */
    @ApiModelProperty("工作单位")
    @Excel(name = "工作单位")
    private String unitname;
    /** å·¥ä½œå•位编号 */
    /**
     * å·¥ä½œå•位编号
     */
    @ApiModelProperty("工作单位编号")
    @Excel(name = "工作单位编号")
    private String unitno;
    /** å·¥ä½œå•位用户编号 */
    /**
     * å·¥ä½œå•位用户编号
     */
    @ApiModelProperty("工作单位用户编号")
    @Excel(name = "工作单位用户编号")
    private String unituserno;
    /** èŒç§°,见字典sys_professionaltitle */
    /**
     * èŒç§°,见字典sys_professionaltitle
     */
    @ApiModelProperty("职称")
    @Excel(name = "职称")
    private String title;
    /** è¯ä»¶ç±»åž‹ æ ¹æ®å­—å…¸sys_IDType */
    /**
     * è¯ä»¶ç±»åž‹ æ ¹æ®å­—å…¸sys_IDType
     */
    @ApiModelProperty("证件类型")
    @Excel(name = "证件类型")
    private Long idcardtype;
    /** è¯ä»¶å·ç  */
    /**
     * è¯ä»¶å·ç 
     */
    @ApiModelProperty("证件号码")
    @Excel(name = "证件号码")
    private String idcardno;
    /** æ€§åˆ« æ ¹æ®å­—å…¸sys_user_sex */
    /**
     * æ€§åˆ« æ ¹æ®å­—å…¸sys_user_sex
     */
    @ApiModelProperty("性别")
    @Excel(name = "性别")
    private String sex;
    /** ä¸Žæèµ è€…关系 æ ¹æ®å­—å…¸sys_FamilyRelation */
    /**
     * ä¸Žæèµ è€…关系 æ ¹æ®å­—å…¸sys_FamilyRelation
     */
    @ApiModelProperty("与捐赠者关系")
    @Excel(name = "与捐赠者关系")
    private String familyrelations;
    /** è”系电话 */
    /**
     * è”系电话
     */
    @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 annexregistform;
    /** èµ„金类别 */
    /**
     * èµ„金类别
     */
    @ApiModelProperty("资金类别")
    @Excel(name = "资金类别")
    private String applytype;
    /** èµ„金类别名称 */
    /**
     * èµ„金类别名称
     */
    @ApiModelProperty("资金类别名称")
    @Excel(name = "资金类别名称")
    private String applytypename;
    /** é¡¹ç›®ID */
    /**
     * é¡¹ç›®ID
     */
    @ApiModelProperty("项目ID")
    @Excel(name = "项目ID")
    private Long itemid;
    /** é¡¹ç›®åç§° */
    /**
     * é¡¹ç›®åç§°
     */
    @ApiModelProperty("项目名称")
    @Excel(name = "项目名称")
    private String itemname;
    /** é¡¹ç›®ç±»åˆ« */
    /**
     * é¡¹ç›®ç±»åˆ«
     */
    @ApiModelProperty("项目类别")
    @Excel(name = "项目类别")
    private String itemtype;
    /** ç”³è¯·é‡‘额 */
    /**
     * ç”³è¯·é‡‘额
     */
    @ApiModelProperty("申请金额(税前金额)")
    @Excel(name = "申请金额")
    private Double amount;
    /** é¢„支金额 */
    /**
     * é¢„支金额
     */
    @ApiModelProperty("预支金额")
    @Excel(name = "预支金额")
    private Double prepaidamount;
    /** æ‰£ç¨Žé‡‘额 */
    /**
     * æ‰£ç¨Žé‡‘额
     */
    @ApiModelProperty("扣税金额")
    @Excel(name = "扣税金额")
    private Double taxamount;
    /** å‘票张数 */
    /**
     * å‘票张数
     */
    @ApiModelProperty("发票张数")
    @Excel(name = "发票张数")
    private Long invoicecount;
    /** ç¨ŽåŽé‡‘额 */
    /**
     * ç¨ŽåŽé‡‘额
     */
    @ApiModelProperty("税后金额")
    @Excel(name = "税后金额")
    private Double taxedamount;
    /** é™„ä»¶å¼ æ•° */
    /**
     * é™„ä»¶å¼ æ•°
     */
    @ApiModelProperty("附件张数")
    @Excel(name = "附件张数")
    private Long attachcount;
    /** è®°å½•状态 */
    /**
     * è®°å½•状态
     */
    @ApiModelProperty("记录状态")
    @Excel(name = "记录状态")
    private String 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")
    private Date uploadtime;
    /** æ•°é‡ */
    /**
     * æ•°é‡
     */
    @ApiModelProperty("数量")
    private Double quantity;
    /** ä»·æ ¼ */
    /**
     * ä»·æ ¼
     */
    @ApiModelProperty("ä»·æ ¼")
    private Double price;
    /** æçŒ®äººä¿¡æ¯id */
    /**
     * æçŒ®äººä¿¡æ¯id
     */
    @ApiModelProperty("捐献人信息id")
    private Long infoid;
    /** æçŒ®äººç¼–号 */
    /**
     * æçŒ®äººç¼–号
     */
    @ApiModelProperty("捐献人编号")
    private String donorno;
    /** æçŒ®äººå§“名 */
    /**
     * æçŒ®äººå§“名
     */
    @ApiModelProperty("捐献人姓名")
    private String donorname;
    /** æœåŠ¡èŒƒå›´ */
    /**
     * æœåŠ¡èŒƒå›´
     */
    @ApiModelProperty("服务范围")
    private String servicesscope;
    /** æœåŠ¡èŒƒå›´åç§° */
    /**
     * æœåŠ¡èŒƒå›´åç§°
     */
    @ApiModelProperty("服务范围名称")
    private String servicesscopename;
    /** æœåŠ¡å¯¹è±¡ */
    /**
     * æœåŠ¡å¯¹è±¡
     */
    @ApiModelProperty("服务对象")
    private String servicetype;
    /** æœåŠ¡å¯¹è±¡åç§° */
    /**
     * æœåŠ¡å¯¹è±¡åç§°
     */
    @ApiModelProperty("服务对象名称")
    private String servicetypename;
@@ -225,21 +308,28 @@
    private Integer orderno;
    /** äº‹ç”±å¤‡æ³¨ */
    /**
     * äº‹ç”±å¤‡æ³¨
     */
    @ApiModelProperty("事由备注")
    @Excel(name = "事由备注")
    private String remark;
    /** äº‹ç”±å¤‡æ³¨ */
    /**
     * äº‹ç”±å¤‡æ³¨
     */
    @ApiModelProperty("科目类型:成本收入")
    private String subjecttype;
    /** äº‹ç”±å¤‡æ³¨ */
    /**
     * äº‹ç”±å¤‡æ³¨
     */
    @ApiModelProperty("科目类型名称")
    private String subjecttypename;
    /** é™„件文件地址 */
    /**
     * é™„件文件地址
     */
    @ApiModelProperty("附件文件地址")
    private String annexfiles;
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetailVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,342 @@
package com.ruoyi.project.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
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;
import java.util.Date;
import java.util.List;
/**
 * è´¹ç”¨ç”³è¯·æ˜Žç»†å¯¹è±¡ service_funddetail
 *
 * @author ruoyi
 * @date 2022-01-25
 */
@Data
@ApiModel("费用申请明细")
public class ServiceFunddetailVO extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /**
     * ä¸»é”®ID
     */
    @ApiModelProperty("主键ID")
    //数据库自增改成@TableId(type = IdType.AUTO)
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * èµ„金申请主表ID
     */
    @ApiModelProperty("资金申请主表ID")
    @Excel(name = "资金申请主表ID")
    private Long fundid;
    /**
     * æ”¶ç›Šäººå§“名 å®¶å±žæˆ–专家
     */
    @ApiModelProperty("收益人姓名 å®¶å±žæˆ–专家")
    @Excel(name = "收益人姓名 å®¶å±žæˆ–专家")
    private String beneficiaryname;
    /**
     * æ”¶ç›Šäººç¼–号
     */
    @ApiModelProperty("收益人编号")
    @Excel(name = "收益人编号")
    private String beneficiaryno;
    /**
     * å·¥ä½œå•位
     */
    @ApiModelProperty("工作单位")
    @Excel(name = "工作单位")
    private String unitname;
    /**
     * å·¥ä½œå•位编号
     */
    @ApiModelProperty("工作单位编号")
    @Excel(name = "工作单位编号")
    private String unitno;
    /**
     * å·¥ä½œå•位用户编号
     */
    @ApiModelProperty("工作单位用户编号")
    @Excel(name = "工作单位用户编号")
    private String unituserno;
    /**
     * èŒç§°,见字典sys_professionaltitle
     */
    @ApiModelProperty("职称")
    @Excel(name = "职称")
    private String title;
    /**
     * è¯ä»¶ç±»åž‹ æ ¹æ®å­—å…¸sys_IDType
     */
    @ApiModelProperty("证件类型")
    @Excel(name = "证件类型")
    private Long idcardtype;
    /**
     * è¯ä»¶å·ç 
     */
    @ApiModelProperty("证件号码")
    @Excel(name = "证件号码")
    private String idcardno;
    /**
     * æ€§åˆ« æ ¹æ®å­—å…¸sys_user_sex
     */
    @ApiModelProperty("性别")
    @Excel(name = "性别")
    private String sex;
    /**
     * ä¸Žæèµ è€…关系 æ ¹æ®å­—å…¸sys_FamilyRelation
     */
    @ApiModelProperty("与捐赠者关系")
    @Excel(name = "与捐赠者关系")
    private String familyrelations;
    /**
     * è”系电话
     */
    @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 annexregistform;
    /**
     * èµ„金类别
     */
    @ApiModelProperty("资金类别")
    @Excel(name = "资金类别")
    private String applytype;
    /**
     * èµ„金类别名称
     */
    @ApiModelProperty("资金类别名称")
    @Excel(name = "资金类别名称")
    private String applytypename;
    /**
     * é¡¹ç›®ID
     */
    @ApiModelProperty("项目ID")
    @Excel(name = "项目ID")
    private Long itemid;
    /**
     * é¡¹ç›®åç§°
     */
    @ApiModelProperty("项目名称")
    @Excel(name = "项目名称")
    private String itemname;
    /**
     * é¡¹ç›®ç±»åˆ«
     */
    @ApiModelProperty("项目类别")
    @Excel(name = "项目类别")
    private String itemtype;
    /**
     * ç”³è¯·é‡‘额
     */
    @ApiModelProperty("申请金额(税前金额)")
    @Excel(name = "申请金额")
    private Double amount;
    /**
     * é¢„支金额
     */
    @ApiModelProperty("预支金额")
    @Excel(name = "预支金额")
    private Double prepaidamount;
    /**
     * æ‰£ç¨Žé‡‘额
     */
    @ApiModelProperty("扣税金额")
    @Excel(name = "扣税金额")
    private Double taxamount;
    /**
     * å‘票张数
     */
    @ApiModelProperty("发票张数")
    @Excel(name = "发票张数")
    private Long invoicecount;
    /**
     * ç¨ŽåŽé‡‘额
     */
    @ApiModelProperty("税后金额")
    @Excel(name = "税后金额")
    private Double taxedamount;
    /**
     * é™„ä»¶å¼ æ•°
     */
    @ApiModelProperty("附件张数")
    @Excel(name = "附件张数")
    private Long attachcount;
    /**
     * è®°å½•状态
     */
    @ApiModelProperty("记录状态")
    @Excel(name = "记录状态")
    private String 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")
    private Date uploadtime;
    /**
     * æ•°é‡
     */
    @ApiModelProperty("数量")
    private Double quantity;
    /**
     * ä»·æ ¼
     */
    @ApiModelProperty("ä»·æ ¼")
    private Double price;
    /**
     * æçŒ®äººä¿¡æ¯id
     */
    @ApiModelProperty("捐献人信息id")
    private Long infoid;
    /**
     * æçŒ®äººç¼–号
     */
    @ApiModelProperty("捐献人编号")
    private String donorno;
    /**
     * æçŒ®äººå§“名
     */
    @ApiModelProperty("捐献人姓名")
    private String donorname;
    /**
     * æœåŠ¡èŒƒå›´
     */
    @ApiModelProperty("服务范围")
    private String servicesscope;
    /**
     * æœåŠ¡èŒƒå›´åç§°
     */
    @ApiModelProperty("服务范围名称")
    private String servicesscopename;
    /**
     * æœåŠ¡å¯¹è±¡
     */
    @ApiModelProperty("服务对象")
    private String servicetype;
    /**
     * æœåŠ¡å¯¹è±¡åç§°
     */
    @ApiModelProperty("服务对象名称")
    private String servicetypename;
    private String itemcode;
    private Integer orderno;
    /**
     * äº‹ç”±å¤‡æ³¨
     */
    @ApiModelProperty("事由备注")
    @Excel(name = "事由备注")
    private String remark;
    /**
     * äº‹ç”±å¤‡æ³¨
     */
    @ApiModelProperty("科目类型:成本收入")
    private String subjecttype;
    /**
     * äº‹ç”±å¤‡æ³¨
     */
    @ApiModelProperty("科目类型名称")
    private String subjecttypename;
    /**
     * é™„件文件地址集合(用于接收前端传来的地址)
     */
    @ApiModelProperty("附件文件地址集合")
    private List annexfilesList;
    /**
     * é™„件文件地址
     */
    @ApiModelProperty("附件文件地址")
    private String annexfiles;
}
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/ServiceFundVO.java
@@ -1,26 +1,12 @@
package com.ruoyi.project.domain.vo;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.project.domain.ServiceFund;
import com.ruoyi.project.domain.ServiceFunddetail;
import com.ruoyi.project.domain.ServiceFundflow;
import com.ruoyi.project.domain.ServiceFunddetailVO;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excel.ColumnType;
import com.ruoyi.common.annotation.Excel.Type;
import com.ruoyi.common.annotation.Excels;
import com.ruoyi.common.core.domain.BaseEntity;
/**
 * è´¹ç”¨æ±‡æ€»å®žä½“ç±»
@@ -29,13 +15,13 @@
 */
@Data
@ApiModel("费用汇总实体类")
public class ServiceFundVO extends ServiceFund
{
    /** è´¹ç”¨æ˜Žç»† */
    private List<ServiceFunddetail> serviceFunddetails;
public class ServiceFundVO extends ServiceFund {
    /**
     * è´¹ç”¨æ˜Žç»†
     */
    private List<ServiceFunddetailVO> serviceFunddetails;
    public List<ServiceFunddetail> getServiceFunddetails()
    {
    public List<ServiceFunddetailVO> getServiceFunddetails() {
        return serviceFunddetails;
    }
}
ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFundService.java
@@ -41,7 +41,7 @@
    List<ServiceFund> selectServiceFundList(ServiceFund serviceFund);
    List<ServiceFunddetail> getFundDetail(Long id);
    List<FundVO> selectVOList(FundVO fundVO);
ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFunddetailService.java
@@ -6,6 +6,7 @@
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.project.domain.FunddetailReqVo;
import com.ruoyi.project.domain.ServiceFunddetail;
import com.ruoyi.project.domain.ServiceFunddetailVO;
import com.ruoyi.project.domain.vo.TaxMoneyVO;
import com.ruoyi.project.domain.vo.TaxedMoneyVO;
import org.springframework.web.bind.annotation.PathVariable;
@@ -57,4 +58,6 @@
    List<ServiceFunddetail> selectServiceFunddetailList(ServiceFunddetail serviceFunddetail);
    int deleteDetail(Long id);
    List<ServiceFunddetailVO> getFundDetail(Long id);
}
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
@@ -29,6 +29,7 @@
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.project.service.IServiceFundService;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
/**
 * è´¹ç”¨ç”³è¯·ä¸»Service业务层处理
@@ -159,11 +160,6 @@
    @Override
    public List<ServiceFund> selectServiceFundList(ServiceFund serviceFund) {
        return serviceFundMapper.selectServiceFundList(serviceFund);
    }
    @Override
    public List<ServiceFunddetail> getFundDetail(Long id) {
        return serviceFunddetailMapper.selectFundDetailListById(id);
    }
    @Override
@@ -680,43 +676,52 @@
            updateById(serviceFundVO);
            id = serviceFundVO.getId();
        }
        List<ServiceFunddetail> serviceFunddetails = serviceFundVO.getServiceFunddetails();
        List<ServiceFunddetailVO> serviceFunddetails = serviceFundVO.getServiceFunddetails();
        if (CollectionUtils.isEmpty(serviceFunddetails)) {
            System.out.println("serviceFunddetails为空喽");
            return null;
        }
        // ç”¨äºŽè®°å½•税前、税后的总和
        double taxBefore = 0.0;
        double taxAfter = 0.0;
        for (ServiceFunddetail serviceFunddetail : serviceFunddetails) {
            serviceFunddetail.setFundid(id);
            if (serviceFunddetail.getTaxedamount() != null && serviceFunddetail.getAmount() != null && serviceFunddetail.getTaxedamount() != 0.0 && serviceFunddetail.getAmount() != 0.0) {
        for (ServiceFunddetailVO serviceFunddetailVO : serviceFunddetails) {
            serviceFunddetailVO.setFundid(id);
            //將附件转成json
            if (!CollectionUtils.isEmpty(serviceFunddetailVO.getAnnexfilesList())) {
                serviceFunddetailVO.setAnnexfiles(JSON.toJSONString(serviceFunddetailVO.getAnnexfilesList()));
            }
            if (serviceFunddetailVO.getTaxedamount() != null && serviceFunddetailVO.getAmount() != null && serviceFunddetailVO.getTaxedamount() != 0.0 && serviceFunddetailVO.getAmount() != 0.0) {
                // ç¨Žå‰ç¨ŽåŽéƒ½ä¸ä¸ºç©º
                if (serviceFunddetail.getId() == null) {
                ServiceFunddetail serviceFunddetail = DtoConversionUtils.sourceToTarget(serviceFunddetailVO, ServiceFunddetail.class);
                if (serviceFunddetailVO.getId() == null) {
                    serviceFunddetailService.save(serviceFunddetail);
                } else {
                    serviceFunddetailService.updateById(serviceFunddetail);
                }
                continue;
            } else if (serviceFunddetail.getTaxedamount() != null && serviceFunddetail.getTaxedamount() != 0.0) {
            } else if (serviceFunddetailVO.getTaxedamount() != null && serviceFunddetailVO.getTaxedamount() != 0.0) {
                // ç¨ŽåŽæ±‚税前,如果是专家费申请  æˆ– ä¼¦ç†ä¸“家费申请   æ‰ä¼šè®¡ç®—税前税后
                if (StringUtils.isNotEmpty(serviceFundVO.getApplytype()) && serviceFundVO.getApplytype().equals("1") || serviceFundVO.getApplytype().equals("2")) {
                    Double taxationBefore = Double.valueOf(TaxtUtils.getTaxationBefore(BigDecimal.valueOf(serviceFunddetail.getTaxedamount())));
                    Double taxationBefore = Double.valueOf(TaxtUtils.getTaxationBefore(BigDecimal.valueOf(serviceFunddetailVO.getTaxedamount())));
                    // ç¨Žé‡‘
                    String taxation = TaxtUtils.getTaxation(BigDecimal.valueOf(taxationBefore));
                    serviceFunddetail.setAmount(Double.valueOf(taxationBefore));
                    serviceFunddetail.setTaxamount(Double.parseDouble(taxation));
                    serviceFunddetailVO.setAmount(Double.valueOf(taxationBefore));
                    serviceFunddetailVO.setTaxamount(Double.parseDouble(taxation));
                }
            } else if (serviceFunddetail.getAmount() != null && serviceFunddetail.getAmount() != 0.0) {
            } else if (serviceFunddetailVO.getAmount() != null && serviceFunddetailVO.getAmount() != 0.0) {
                // ç¨Žå‰æ±‚税后,如果是专家费申请  æˆ– ä¼¦ç†ä¸“家费申请   æ‰ä¼šè®¡ç®—税前税后
                if (StringUtils.isNotEmpty(serviceFundVO.getApplytype()) && serviceFundVO.getApplytype().equals("1") || serviceFundVO.getApplytype().equals("2")) {
                    double tax = Double.parseDouble(TaxtUtils.getTaxation(BigDecimal.valueOf(serviceFunddetail.getAmount())));
                    BigDecimal taxAfterMoney = BigDecimal.valueOf(serviceFunddetail.getAmount()).subtract(BigDecimal.valueOf(tax));
                    serviceFunddetail.setTaxamount(tax);
                    serviceFunddetail.setTaxedamount(taxAfterMoney.doubleValue());
                    double tax = Double.parseDouble(TaxtUtils.getTaxation(BigDecimal.valueOf(serviceFunddetailVO.getAmount())));
                    BigDecimal taxAfterMoney = BigDecimal.valueOf(serviceFunddetailVO.getAmount()).subtract(BigDecimal.valueOf(tax));
                    serviceFunddetailVO.setTaxamount(tax);
                    serviceFunddetailVO.setTaxedamount(taxAfterMoney.doubleValue());
                }
            }
            //根据id判断是新增还是修改
            if (serviceFunddetail.getId() == null) {
            ServiceFunddetail serviceFunddetail = DtoConversionUtils.sourceToTarget(serviceFunddetailVO, ServiceFunddetail.class);
            if (serviceFunddetailVO.getId() == null) {
                serviceFunddetailService.save(serviceFunddetail);
            } else {
                serviceFunddetailService.updateById(serviceFunddetail);
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
@@ -6,8 +6,10 @@
import java.util.Date;
import java.util.List;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.ruoyi.common.tax.TaxtUtils;
import com.ruoyi.common.utils.bean.DtoConversionUtils;
import com.ruoyi.project.domain.*;
import com.ruoyi.project.domain.vo.TaxMoneyVO;
import com.ruoyi.project.domain.vo.TaxedMoneyVO;
@@ -216,5 +218,17 @@
        return serviceFunddetailMapper.deleteById(id);
    }
    @Override
    public List<ServiceFunddetailVO> getFundDetail(Long id) {
        List<ServiceFunddetail> serviceFunddetails = serviceFunddetailMapper.selectFundDetailListById(id);
        List<ServiceFunddetailVO> serviceFunddetailVOS = DtoConversionUtils.sourceToTarget(serviceFunddetails, ServiceFunddetailVO.class);
        for (ServiceFunddetailVO serviceFunddetailVO : serviceFunddetailVOS) {
            if (!StringUtils.isEmpty(serviceFunddetailVO.getAnnexfiles())) {
                List<RbDetailFile> rbDetailFiles = JSONArray.parseArray(serviceFunddetailVO.getAnnexfiles(), RbDetailFile.class);
                serviceFunddetailVO.setAnnexfilesList(rbDetailFiles);
            }
        }
        return serviceFunddetailVOS;
    }
}