Browse Source

完善费用申请、付款申请、出纳付款列表、出纳付款更新

zhanglei
dimengzhe 3 years ago
parent
commit
5573238793
  1. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java
  2. 12
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/utils/Rule.java
  3. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java
  4. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincostapply/FinCostapplyDetailsVo.java
  5. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincostapply/FinCostapplyDto.java
  6. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincostapply/FinCostapplyVo.java
  7. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapply.java
  8. 44
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapplyDetailsVo.java
  9. 14
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapplyDto.java
  10. 44
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapplyVo.java
  11. 32
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecord.java
  12. 9
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordDetailsVo.java
  13. 47
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordDto.java
  14. 21
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordFeign.java
  15. 33
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordFeignFallback.java
  16. 47
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordQuery.java
  17. 43
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordUpdateDto.java
  18. 54
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordVo.java
  19. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincostapply/FinCostapplyMapper.java
  20. 17
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincostapply/FinCostapplyMapper.xml
  21. 29
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincostapply/FinCostapplyService.java
  22. 29
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyMapper.java
  23. 64
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyMapper.xml
  24. 25
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyRest.java
  25. 76
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyService.java
  26. 20
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordMapper.java
  27. 50
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordMapper.xml
  28. 57
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordRest.java
  29. 129
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java
  30. 4
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java

@ -13,6 +13,8 @@ public enum BillTypeEnum {
RZSQ("RZSQ", "入账申请"), RZSQ("RZSQ", "入账申请"),
NGSQ("NGSQ", "内购申请"), NGSQ("NGSQ", "内购申请"),
CJTKSQ("CJTKSQ", "厂家退库申请"), CJTKSQ("CJTKSQ", "厂家退库申请"),
FYSQ("FYSQ","费用申请"),
FKSQ("FKSQ","付款申请"),
; ;
private String billType; private String billType;

12
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/utils/Rule.java

@ -12,21 +12,17 @@ import org.springframework.util.StringUtils;
public class Rule { public class Rule {
/** /**
* 单据编号规则单据名称大写首字母+品牌编码+分公司编码+年份+月份+4位顺序号 * 单据编号规则单据名称大写首字母+分公司编码+年份+月份+4位顺序号
* 单据名称大写首字母+品牌编码+分公司编码+年份+月份 * 单据名称大写首字母+分公司编码+年份+月份
* 注意品牌编码暂不用 * 注意品牌编码暂不用
* *
* @return * @return
*/ */
public static String getBill(BillNo b) { public static String getBill(BillNo b) {
String billType = b.getBillType(); String billType = b.getBillType();
// String brandCode = b.getBrandCode();
String orgCode = b.getOrgCode(); String orgCode = b.getOrgCode();
String date = DateUtil.format(DateUtil.date(), "yyyyMM"); String date = DateUtil.format(DateUtil.date(), "yyyyMM");
String bill = billType; String bill = billType;
// if (!StringUtils.isEmpty(brandCode)) {
// bill = bill + brandCode;
// }
if (!StringUtils.isEmpty(orgCode)) { if (!StringUtils.isEmpty(orgCode)) {
bill = bill + orgCode; bill = bill + orgCode;
} }
@ -37,8 +33,8 @@ public class Rule {
/** /**
* 生成单据编号规则 * 生成单据编号规则
* *
* @param bill 单据名称大写首字母+品牌编码+分公司编码+年份+月份 * @param bill 单据名称大写首字母+分公司编码+年份+月份
* @param i 根据单据编号包含单据名称大写首字母+品牌编码+分公司编码+年份+月份查询出来的单据的个数 * @param i 根据单据编号包含单据名称大写首字母+分公司编码+年份+月份查询出来的单据的个数
* @return * @return
*/ */
public static String getBillNo(String bill, int i) { public static String getBillNo(String bill, int i) {

6
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java

@ -135,7 +135,7 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
} }
busVehicleApplyDetailService.deleteByApplySid(sids); busVehicleApplyDetailService.deleteByApplySid(sids);
delBySids(sids); delBySids(sids);
return rb.success().setMsg("删除失败"); return rb.success().setMsg("删除成功");
} }
/** /**
@ -174,8 +174,8 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
if (StringUtils.isBlank(sid)) {//新增 if (StringUtils.isBlank(sid)) {//新增
BusVehicleApply entity = new BusVehicleApply(); BusVehicleApply entity = new BusVehicleApply();
BeanUtil.copyProperties(dto, entity, "sid"); BeanUtil.copyProperties(dto, entity, "sid");
//申请编号规则:单据名称大写首字母+品牌编码+分公司编码+年份+月份+4位顺序号 //申请编号规则:单据名称大写首字母+分公司编码+年份+月份+4位顺序号
//获取单据名称大写首字母+品牌编码+分公司编码+年份+月份 //获取单据名称大写首字母+分公司编码+年份+月份
String billNo = getApplyCode(dto); String billNo = getApplyCode(dto);
entity.setApplicationCode(billNo); entity.setApplicationCode(billNo);
entity.setApplicationDate(DateUtil.today()); entity.setApplicationDate(DateUtil.today());

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincostapply/FinCostapplyDetailsVo.java

@ -83,5 +83,7 @@ public class FinCostapplyDetailsVo implements Vo {
private String procInstId; private String procInstId;
@ApiModelProperty(value = "车架号") @ApiModelProperty(value = "车架号")
private List<String> vinNoList = new ArrayList<>(); private List<String> vinNoList = new ArrayList<>();
@ApiModelProperty(value = "备注")
private String remarks;
} }

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincostapply/FinCostapplyDto.java

@ -66,6 +66,7 @@ public class FinCostapplyDto implements Dto {
@ApiModelProperty("费用名称Value") @ApiModelProperty("费用名称Value")
private String costTitleValue; private String costTitleValue;
@ApiModelProperty("申请费用元") @ApiModelProperty("申请费用元")
@NotNull(message = "费用不能为空")
private Integer cost; private Integer cost;
@ApiModelProperty("使用方式key,先预支/先垫付,先预支的需要生成财务待支付记录。先垫付的,等报销时,在生成待支付记录。") @ApiModelProperty("使用方式key,先预支/先垫付,先预支的需要生成财务待支付记录。先垫付的,等报销时,在生成待支付记录。")
private String useTypeKey; private String useTypeKey;
@ -80,5 +81,7 @@ public class FinCostapplyDto implements Dto {
private List<String> vinNoList; private List<String> vinNoList;
@ApiModelProperty(value = "业务sid", required = false) @ApiModelProperty(value = "业务sid", required = false)
private String busSid; private String busSid;
@ApiModelProperty(value = "备注")
private String remarks;
} }

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincostapply/FinCostapplyVo.java

@ -65,5 +65,7 @@ public class FinCostapplyVo implements Vo {
private String useTypeValue; private String useTypeValue;
@ApiModelProperty(value = "报销状态:2已报销,1未报销") @ApiModelProperty(value = "报销状态:2已报销,1未报销")
private String state; private String state;
@ApiModelProperty(value = "备注")
private String remarks;
} }

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapply.java

@ -72,6 +72,8 @@ public class FinPaymentapply extends BaseEntity {
private String payCompany; private String payCompany;
@ApiModelProperty("收款单位名称") @ApiModelProperty("收款单位名称")
private String receiveCompany; private String receiveCompany;
@ApiModelProperty(value = "收款单位sid")
private String receiveCompanySid;
@ApiModelProperty("收款银行") @ApiModelProperty("收款银行")
private String receiveBank; private String receiveBank;
@ApiModelProperty("收款银行账号") @ApiModelProperty("收款银行账号")

44
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapplyDetailsVo.java

@ -49,39 +49,41 @@ import lombok.Data;
@ApiModel(value = "fin_paymentapply 视图数据详情", description = "fin_paymentapply 视图数据详情") @ApiModel(value = "fin_paymentapply 视图数据详情", description = "fin_paymentapply 视图数据详情")
public class FinPaymentapplyDetailsVo implements Vo { public class FinPaymentapplyDetailsVo implements Vo {
private static final long serialVersionUID = -8871445202381139857L;
private String sid; private String sid;
@ApiModelProperty(value = "创建人sid")
@ApiModelProperty("创建人接口") private String createBySid;
private String createByName; @ApiModelProperty("申请编号")
@ApiModelProperty("申请编号")
private String billNo; private String billNo;
@ApiModelProperty("申请人姓名") @ApiModelProperty("申请人姓名")
private String name; private String name;
@ApiModelProperty("款项类别,数据字典") @ApiModelProperty("款项类别,数据字典")
private String costTypeKey; private String costTypeKey;
@ApiModelProperty("款项类别") @ApiModelProperty("款项类别")
private String costTypeValue; private String costTypeValue;
@ApiModelProperty("款项名称,数据字典") @ApiModelProperty("款项名称,数据字典")
private String costTitleKey; private String costTitleKey;
@ApiModelProperty("款项名称") @ApiModelProperty("款项名称")
private String costTitleValue; private String costTitleValue;
@ApiModelProperty("金额,小数点2位") @ApiModelProperty("金额,小数点2位")
private Integer cost; private Integer cost;
@ApiModelProperty("付款单位sid") @ApiModelProperty("付款单位sid")
private String payCompanySid; private String payCompanySid;
@ApiModelProperty("付款单位名称") @ApiModelProperty("付款单位名称")
private String payCompany; private String payCompany;
@ApiModelProperty("收款单位名称") @ApiModelProperty("收款单位名称")
private String receiveCompany; private String receiveCompany;
@ApiModelProperty("收款银行") @ApiModelProperty(value = "收款单位sid")
private String receiveCompanySid;
@ApiModelProperty("收款银行")
private String receiveBank; private String receiveBank;
@ApiModelProperty("收款银行账号") @ApiModelProperty("收款银行账号")
private String receiveBankAccount; private String receiveBankAccount;
@ApiModelProperty("关联业务sid") @ApiModelProperty(value = "任务id")
private String busSid; private String taskId;
@ApiModelProperty("创建组织") @ApiModelProperty(value = "实例id")
private String createOrgSid; private String procInstId;
@ApiModelProperty("使用组织") @ApiModelProperty(value = "备注")
private String useOrgSid; private String remarks;
} }

14
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapplyDto.java

@ -53,8 +53,6 @@ public class FinPaymentapplyDto implements Dto {
private String sid; private String sid;
@ApiModelProperty(value = "用户sid") @ApiModelProperty(value = "用户sid")
private String createBySid; private String createBySid;
@ApiModelProperty("申请编号")
private String billNo;
@ApiModelProperty("申请人姓名") @ApiModelProperty("申请人姓名")
private String name; private String name;
@ApiModelProperty("款项类别,数据字典") @ApiModelProperty("款项类别,数据字典")
@ -65,19 +63,21 @@ public class FinPaymentapplyDto implements Dto {
private String costTitleKey; private String costTitleKey;
@ApiModelProperty("款项名称") @ApiModelProperty("款项名称")
private String costTitleValue; private String costTitleValue;
@ApiModelProperty("金额,小数点2位") @ApiModelProperty("金额")
private String cost; private Integer cost;
@ApiModelProperty("付款单位sid") @ApiModelProperty("付款单位sid")
private String payCompanySid; private String payCompanySid;
@ApiModelProperty("付款单位名称") @ApiModelProperty("付款单位名称")
private String payCompany; private String payCompany;
@ApiModelProperty("收款单位名称") @ApiModelProperty("收款单位名称")
private String receiveCompany; private String receiveCompany;
@ApiModelProperty("收款银行") @ApiModelProperty(value = "收款单位sid")
private String receiveCompanySid;
@ApiModelProperty("收款银行?")
private String receiveBank; private String receiveBank;
@ApiModelProperty("收款银行账号") @ApiModelProperty("收款银行账号")
private String receiveBankAccount; private String receiveBankAccount;
@ApiModelProperty("关联业务sid") @ApiModelProperty(value = "备注")
private String busSid; private String remarks;
} }

44
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapply/FinPaymentapplyVo.java

@ -48,40 +48,26 @@ import lombok.Data;
@Data @Data
@ApiModel(value = "fin_paymentapply 视图数据对象", description = "fin_paymentapply 视图数据对象") @ApiModel(value = "fin_paymentapply 视图数据对象", description = "fin_paymentapply 视图数据对象")
public class FinPaymentapplyVo implements Vo { public class FinPaymentapplyVo implements Vo {
private static final long serialVersionUID = -8036935793441999543L;
@ApiModelProperty(value = "sid")
private String sid; private String sid;
@ApiModelProperty(value = "状态")
@ApiModelProperty("创建人接口") private String nodeState;
private String createByName; @ApiModelProperty("申请编号")
@ApiModelProperty("申请编号")
private String billNo; private String billNo;
@ApiModelProperty("申请人姓名") @ApiModelProperty("款项类别")
private String name;
@ApiModelProperty("款项类别,数据字典")
private String costTypeKey;
@ApiModelProperty("款项类别")
private String costTypeValue; private String costTypeValue;
@ApiModelProperty("款项名称,数据字典") @ApiModelProperty("款项名称")
private String costTitleKey;
@ApiModelProperty("款项名称")
private String costTitleValue; private String costTitleValue;
@ApiModelProperty("金额,小数点2位") @ApiModelProperty("收款单位名称")
private Integer cost;
@ApiModelProperty("付款单位sid")
private String payCompanySid;
@ApiModelProperty("付款单位名称")
private String payCompany;
@ApiModelProperty("收款单位名称")
private String receiveCompany; private String receiveCompany;
@ApiModelProperty("收款银行") @ApiModelProperty("收款银行账号")
private String receiveBank;
@ApiModelProperty("收款银行账号")
private String receiveBankAccount; private String receiveBankAccount;
@ApiModelProperty("关联业务sid") @ApiModelProperty("金额")
private String busSid; private Integer cost;
@ApiModelProperty("创建组织") @ApiModelProperty(value = "付款状态")
private String createOrgSid; private String state;
@ApiModelProperty("使用组织") @ApiModelProperty(value = "备注")
private String useOrgSid; private String remarks;
} }

32
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecord.java

@ -52,37 +52,33 @@ import java.util.Date;
@TableName("fin_paymentrecord") @TableName("fin_paymentrecord")
public class FinPaymentrecord extends BaseEntity { public class FinPaymentrecord extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty("付款申请sid")
@ApiModelProperty("创建人接口")
private String createByName;
@ApiModelProperty("付款申请sid")
private String applySid; private String applySid;
@ApiModelProperty("付款单位sid") @ApiModelProperty("付款单位sid")
private String payCompanySid; private String payCompanySid;
@ApiModelProperty("付款银行") @ApiModelProperty("付款银行")
private String payBank; private String payBank;
@ApiModelProperty("付款账号") @ApiModelProperty("付款账号")
private String payBankAccount; private String payBankAccount;
@ApiModelProperty("付款人sid") @ApiModelProperty("付款人sid")
private String userSid; private String userSid;
@ApiModelProperty("付款人姓名") @ApiModelProperty("付款人姓名")
private String name; private String name;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @ApiModelProperty("付款日期")
@ApiModelProperty("付款日期")
private Date payDate; private Date payDate;
@ApiModelProperty("付款备注") @ApiModelProperty("付款备注")
private String payRemark; private String payRemark;
@ApiModelProperty("付款方式Key,支票/转账") @ApiModelProperty("付款方式Key,支票/转账")
private String payWayKey; private String payWayKey;
@ApiModelProperty("付款方式Value") @ApiModelProperty("付款方式Value")
private String payWayValue; private String payWayValue;
@ApiModelProperty("付款凭证,上传图片") @ApiModelProperty("付款凭证,上传图片")
private String payFile; private String payFile;
@ApiModelProperty("付款类别,1付款/2退款") @ApiModelProperty("付款类别,1付款/2退款")
private Integer payType; private Integer payType;
@ApiModelProperty("创建组织sid") @ApiModelProperty("创建组织sid")
private String createOrgSid; private String createOrgSid;
@ApiModelProperty("使用组织sid") @ApiModelProperty("使用组织sid")
private String useOrgSid; private String useOrgSid;
} }

9
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordDetailsVo.java

@ -26,14 +26,14 @@
package com.yxt.anrui.fin.api.finpaymentrecord; package com.yxt.anrui.fin.api.finpaymentrecord;
import com.yxt.common.core.vo.Vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date; import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.Date;
/** /**
* Project: anrui-fin(财务) <br/> * Project: anrui-fin(财务) <br/>
* File: FinPaymentrecordVo.java <br/> * File: FinPaymentrecordVo.java <br/>
@ -52,9 +52,6 @@ import lombok.Data;
public class FinPaymentrecordDetailsVo implements Vo { public class FinPaymentrecordDetailsVo implements Vo {
private String sid; private String sid;
@ApiModelProperty("创建人接口")
private String createByName;
@ApiModelProperty("付款申请sid") @ApiModelProperty("付款申请sid")
private String applySid; private String applySid;
@ApiModelProperty("付款单位sid") @ApiModelProperty("付款单位sid")

47
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordDto.java

@ -27,9 +27,6 @@ package com.yxt.anrui.fin.api.finpaymentrecord;
import com.yxt.common.core.dto.Dto; import com.yxt.common.core.dto.Dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -51,38 +48,16 @@ import lombok.Data;
@ApiModel(value = "fin_paymentrecord 数据传输对象", description = "fin_paymentrecord 数据传输对象") @ApiModel(value = "fin_paymentrecord 数据传输对象", description = "fin_paymentrecord 数据传输对象")
public class FinPaymentrecordDto implements Dto { public class FinPaymentrecordDto implements Dto {
private String sid; private static final long serialVersionUID = 2284439309409491707L;
@ApiModelProperty("付款申请sid")
@ApiModelProperty("创建人接口") private String applySid;
private String createByName; @ApiModelProperty("付款单位sid")
@ApiModelProperty("付款申请sid") private String payCompanySid;
private String applySid; @ApiModelProperty("付款类别,1付款/2退款")
@ApiModelProperty("付款单位sid") private Integer payType;
private String payCompanySid; @ApiModelProperty("创建组织sid")
@ApiModelProperty("付款银行") private String createOrgSid;
private String payBank; @ApiModelProperty("使用组织sid")
@ApiModelProperty("付款账号") private String useOrgSid;
private String payBankAccount;
@ApiModelProperty("付款人sid")
private String userSid;
@ApiModelProperty("付款人姓名")
private String name;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("付款日期")
private Date payDate;
@ApiModelProperty("付款备注")
private String payRemark;
@ApiModelProperty("付款方式Key,支票/转账")
private String payWayKey;
@ApiModelProperty("付款方式Value")
private String payWayValue;
@ApiModelProperty("付款凭证,上传图片")
private String payFile;
@ApiModelProperty("付款类别,1付款/2退款")
private Integer payType;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
} }

21
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordFeign.java

@ -25,16 +25,14 @@
*********************************************************/ *********************************************************/
package com.yxt.anrui.fin.api.finpaymentrecord; package com.yxt.anrui.fin.api.finpaymentrecord;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* Project: anrui-fin(财务) <br/> * Project: anrui-fin(财务) <br/>
* File: FinPaymentrecordFeign.java <br/> * File: FinPaymentrecordFeign.java <br/>
@ -61,18 +59,13 @@ public interface FinPaymentrecordFeign {
@ResponseBody @ResponseBody
public ResultBean<PagerVo<FinPaymentrecordVo>> listPage(@RequestBody PagerQuery<FinPaymentrecordQuery> pq); public ResultBean<PagerVo<FinPaymentrecordVo>> listPage(@RequestBody PagerQuery<FinPaymentrecordQuery> pq);
@ApiOperation("新增或修改") @ApiOperation("新增")
@PostMapping("/save") @PostMapping("/save")
@ResponseBody @ResponseBody
public ResultBean save(@RequestBody FinPaymentrecordDto dto); public ResultBean save(@RequestBody FinPaymentrecordDto dto);
@ApiOperation("根据sid删除记录") @ApiOperation("修改")
@DeleteMapping("/delBySids") @PostMapping("/update")
@ResponseBody
public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody @ResponseBody
public ResultBean<FinPaymentrecordDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid); ResultBean update(@RequestBody FinPaymentrecordUpdateDto dto);
} }

33
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordFeignFallback.java

@ -29,6 +29,7 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List; import java.util.List;
@ -48,25 +49,19 @@ import java.util.List;
@Component @Component
public class FinPaymentrecordFeignFallback implements FinPaymentrecordFeign { public class FinPaymentrecordFeignFallback implements FinPaymentrecordFeign {
@Override @Override
public ResultBean<PagerVo<FinPaymentrecordVo>> listPage(PagerQuery<FinPaymentrecordQuery> pq){ public ResultBean<PagerVo<FinPaymentrecordVo>> listPage(PagerQuery<FinPaymentrecordQuery> pq) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-fin/finpaymentrecord/listPage无法访问"); return rb.setMsg("接口anrui-fin/finpaymentrecord/listPage无法访问");
} }
@Override @Override
public ResultBean save(FinPaymentrecordDto dto){ public ResultBean save(FinPaymentrecordDto dto) {
return ResultBean.fireFail().setMsg("接口anrui-fin/finpaymentrecord/save无法访问"); return ResultBean.fireFail().setMsg("接口anrui-fin/finpaymentrecord/save无法访问");
} }
@Override @Override
public ResultBean delBySids( String[] sids){ public ResultBean update(FinPaymentrecordUpdateDto dto) {
return ResultBean.fireFail().setMsg("接口anrui-fin/finpaymentrecord/delBySids无法访问"); return null;
} }
@Override
public ResultBean<FinPaymentrecordDetailsVo> fetchDetailsBySid(String sid){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-fin/finpaymentrecord/fetchDetailsBySid无法访问");
}
} }

47
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordQuery.java

@ -27,9 +27,6 @@ package com.yxt.anrui.fin.api.finpaymentrecord;
import com.yxt.common.core.query.Query; import com.yxt.common.core.query.Query;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -51,37 +48,19 @@ import lombok.Data;
@ApiModel(value = "fin_paymentrecord 查询条件", description = "fin_paymentrecord 查询条件") @ApiModel(value = "fin_paymentrecord 查询条件", description = "fin_paymentrecord 查询条件")
public class FinPaymentrecordQuery implements Query { public class FinPaymentrecordQuery implements Query {
@ApiModelProperty("创建人接口") private static final long serialVersionUID = -4035959881454227425L;
private String createByName; @ApiModelProperty(value = "付款状态:1未付款,2已付款")
@ApiModelProperty("付款申请sid") private String state;
private String applySid; @ApiModelProperty("款项类别,数据字典")
@ApiModelProperty("付款单位sid") private String costTypeKey;
private String payCompanySid; @ApiModelProperty("款项名称,数据字典")
@ApiModelProperty("付款银行") private String costTitleKey;
private String payBank; @ApiModelProperty(value = "用户sid")
@ApiModelProperty("付款账号")
private String payBankAccount;
@ApiModelProperty("付款人sid")
private String userSid; private String userSid;
@ApiModelProperty("付款人姓名")
private String name; @ApiModelProperty(value = "审批开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private String createStartDate;
@ApiModelProperty("付款日期") @ApiModelProperty(value = "审批结束时间")
private Date payDateStart; private String createEndDate;
private Date payDateEnd;
@ApiModelProperty("付款备注")
private String payRemark;
@ApiModelProperty("付款方式Key,支票/转账")
private String payWayKey;
@ApiModelProperty("付款方式Value")
private String payWayValue;
@ApiModelProperty("付款凭证,上传图片")
private String payFile;
@ApiModelProperty("付款类别,1付款/2退款")
private Integer payType;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
} }

43
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordUpdateDto.java

@ -0,0 +1,43 @@
package com.yxt.anrui.fin.api.finpaymentrecord;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/7/6 17:35
* @Description
*/
@Data
public class FinPaymentrecordUpdateDto implements Dto {
private static final long serialVersionUID = -6119639419254587261L;
private List<String> sids;
@ApiModelProperty(value = "付款银行")
private String payBank;
@ApiModelProperty(value = "付款账号")
private String payBankAccount;
@ApiModelProperty(value = "付款人sid")
private String userSid;
@ApiModelProperty(value = "付款人姓名")
private String name;
@ApiModelProperty(value = "付款日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date payDate;
@ApiModelProperty(value = "付款备注")
private String payRemark;
@ApiModelProperty(value = "付款方式")
private String payWayKey;
@ApiModelProperty(value = "付款方式value")
private String payWayValue;
@ApiModelProperty(value = "付款凭证")
private String payFile;
}

54
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordVo.java

@ -27,9 +27,6 @@ package com.yxt.anrui.fin.api.finpaymentrecord;
import com.yxt.common.core.vo.Vo; import com.yxt.common.core.vo.Vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -51,38 +48,33 @@ import lombok.Data;
@ApiModel(value = "fin_paymentrecord 视图数据对象", description = "fin_paymentrecord 视图数据对象") @ApiModel(value = "fin_paymentrecord 视图数据对象", description = "fin_paymentrecord 视图数据对象")
public class FinPaymentrecordVo implements Vo { public class FinPaymentrecordVo implements Vo {
private static final long serialVersionUID = 6164912180325777872L;
private String sid; private String sid;
@ApiModelProperty("付款银行")
@ApiModelProperty("创建人接口")
private String createByName;
@ApiModelProperty("付款申请sid")
private String applySid;
@ApiModelProperty("付款单位sid")
private String payCompanySid;
@ApiModelProperty("付款银行")
private String payBank; private String payBank;
@ApiModelProperty("付款账号") @ApiModelProperty("付款账号")
private String payBankAccount; private String payBankAccount;
@ApiModelProperty("付款人sid") @ApiModelProperty("付款人姓名")
private String userSid;
@ApiModelProperty("付款人姓名")
private String name; private String name;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @ApiModelProperty("付款日期")
@ApiModelProperty("付款日期") private String payDate;
private Date payDate; @ApiModelProperty("付款备注")
@ApiModelProperty("付款备注")
private String payRemark; private String payRemark;
@ApiModelProperty("付款方式Key,支票/转账") @ApiModelProperty(value = "状态")
private String payWayKey; private String state;
@ApiModelProperty("付款方式Value") @ApiModelProperty(value = "审批日期")
private String payWayValue; private String createTime;
@ApiModelProperty("付款凭证,上传图片") @ApiModelProperty(value = "业务编号")
private String payFile; private String billNo;
@ApiModelProperty("付款类别,1付款/2退款") @ApiModelProperty(value = "款项类别")
private Integer payType; private String costTypeValue;
@ApiModelProperty("创建组织sid") @ApiModelProperty(value = "款项名称")
private String createOrgSid; private String costTitleValue;
@ApiModelProperty("使用组织sid") @ApiModelProperty(value = "收款单位名称")
private String useOrgSid; private String receiveCompany;
@ApiModelProperty(value = "收款账号")
private String receiveBankAccount;
@ApiModelProperty(value = "金额")
private Integer cost;
} }

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincostapply/FinCostapplyMapper.java

@ -79,4 +79,6 @@ public interface FinCostapplyMapper extends BaseMapper<FinCostapply> {
int updateFlowFiled(Map<String, Object> map); int updateFlowFiled(Map<String, Object> map);
int selectBySid(String list); int selectBySid(String list);
int selectNum(String bill);
} }

17
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincostapply/FinCostapplyMapper.xml

@ -5,14 +5,16 @@
<!-- ${ew.customSqlSegment} --> <!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.fin.api.fincostapply.FinCostapplyVo"> <select id="selectPageVo" resultType="com.yxt.anrui.fin.api.fincostapply.FinCostapplyVo">
SELECT fc.sid, SELECT fc.sid,
DATE_FORMAT(fc.createTime, '%Y-%m-%d') as createTime, DATE_FORMAT(fc.createTime, '%Y-%m-%d') as createTime,
fc.costTypeValue, fc.costTypeValue,
fc.costTitleValue, fc.costTitleValue,
fc.cost, fc.cost,
fc.useTypeValue, fc.useTypeValue,
case fc.state case fc.state
when 1 then '已报销' when 1 then '已报销'
when 0 then '未报销' end as state when 0 then '未报销' end as state,
if(length(fc.nodeState) > 0, fc.nodeState, '待提交') as nodeState,
fc.remarks
FROM fin_costapply fc FROM fin_costapply fc
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
@ -41,7 +43,8 @@
fc.isOutDoor, fc.isOutDoor,
fc.createBySid, fc.createBySid,
fc.procInstId, fc.procInstId,
fc.taskId fc.taskId,
fc.remarks
from fin_costapply fc from fin_costapply fc
where fc.sid = #{sid} where fc.sid = #{sid}
</select> </select>
@ -66,6 +69,12 @@
select count(*) select count(*)
from fin_costapply from fin_costapply
where length(nodeState) > 0 where length(nodeState) > 0
and find_in_set(sid, #{list}) and find_in_set(sid, #{list})
</select>
<select id="selectNum" resultType="int">
select count(*)
from fin_costapply
where billNo LIKE concat(#{bill}, '%')
</select> </select>
</mapper> </mapper>

29
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincostapply/FinCostapplyService.java

@ -29,6 +29,9 @@ import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.fin.api.fincostapply.*; import com.yxt.anrui.fin.api.fincostapply.*;
import com.yxt.anrui.fin.api.fincostapply.flow.FinCostGetNodeQuery; import com.yxt.anrui.fin.api.fincostapply.flow.FinCostGetNodeQuery;
import com.yxt.anrui.fin.api.fincostapply.flow.FinCostGetNodeVo; import com.yxt.anrui.fin.api.fincostapply.flow.FinCostGetNodeVo;
@ -42,6 +45,8 @@ import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
@ -88,6 +93,8 @@ public class FinCostapplyService extends MybatisBaseService<FinCostapplyMapper,
private FlowTaskFeign flowTaskFeign; private FlowTaskFeign flowTaskFeign;
@Autowired @Autowired
private FinCostapplyVehicleService finCostapplyVehicleService; private FinCostapplyVehicleService finCostapplyVehicleService;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
public PagerVo<FinCostapplyVo> listPageVo(PagerQuery<FinCostapplyQuery> pq) { public PagerVo<FinCostapplyVo> listPageVo(PagerQuery<FinCostapplyQuery> pq) {
FinCostapplyQuery query = pq.getParams(); FinCostapplyQuery query = pq.getParams();
@ -131,6 +138,7 @@ public class FinCostapplyService extends MybatisBaseService<FinCostapplyMapper,
//新增 //新增
FinCostapply finCostapply = new FinCostapply(); FinCostapply finCostapply = new FinCostapply();
BeanUtil.copyProperties(dto, finCostapply, "sid"); BeanUtil.copyProperties(dto, finCostapply, "sid");
String billNo = getApplyCode(dto);
if (finCostapply.getIsVeh() == 1) { if (finCostapply.getIsVeh() == 1) {
if (finCostapply.getIsOutDoor() == null) { if (finCostapply.getIsOutDoor() == null) {
return rb.setMsg("请选择是否需要出门"); return rb.setMsg("请选择是否需要出门");
@ -180,6 +188,21 @@ public class FinCostapplyService extends MybatisBaseService<FinCostapplyMapper,
return rb.success(); return rb.success();
} }
public String getApplyCode(FinCostapplyDto dto) {
String userSid = dto.getCreateBySid();
//获取分公司sid
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid);
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(resultBean.getData());
String orgCode = resultBean1.getData().getOrgCode();
BillNo b = new BillNo();
b.setOrgCode(orgCode);
b.setBillType(BillTypeEnum.FYSQ.getBillType());
String bill = Rule.getBill(b);
int i = baseMapper.selectNum(bill);
String billNo = Rule.getBillNo(bill, i);
return billNo;
}
public FinCostapplyDetailsVo fetchDetailsVoBySid(String sid) { public FinCostapplyDetailsVo fetchDetailsVoBySid(String sid) {
FinCostapplyDetailsVo vo = baseMapper.fetchDetailsVoBySid(sid); FinCostapplyDetailsVo vo = baseMapper.fetchDetailsVoBySid(sid);
if (vo.getIsVeh() == 1) { if (vo.getIsVeh() == 1) {
@ -313,10 +336,10 @@ public class FinCostapplyService extends MybatisBaseService<FinCostapplyMapper,
return rb.setMsg(resultBean.getMsg()); return rb.setMsg(resultBean.getMsg());
} }
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
//ToDo:出纳付款记录 /* //ToDo:出纳付款记录
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
} }*/
return rb.success().setData(resultBean.getData()); return rb.success().setData(resultBean.getData());
} else { } else {
return rb.setMsg("操作失败!提交的数据不一致"); return rb.setMsg("操作失败!提交的数据不一致");
@ -461,6 +484,6 @@ public class FinCostapplyService extends MybatisBaseService<FinCostapplyMapper,
} }
finCostapplyVehicleService.deleteByApplySid(sids); finCostapplyVehicleService.deleteByApplySid(sids);
delBySids(sids); delBySids(sids);
return rb.success().setMsg("删除失败"); return rb.success().setMsg("删除成功");
} }
} }

29
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyMapper.java

@ -29,6 +29,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.fin.api.finpaymentapply.FinPaymentapplyDetailsVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
@ -54,15 +55,25 @@ import java.util.Map;
@Mapper @Mapper
public interface FinPaymentapplyMapper extends BaseMapper<FinPaymentapply> { public interface FinPaymentapplyMapper extends BaseMapper<FinPaymentapply> {
//@Update("update fin_paymentapply set name=#{msg} where id=#{id}") //@Update("update fin_paymentapply set name=#{msg} where id=#{id}")
//IPage<FinPaymentapplyVo> voPage(IPage<FinPaymentapply> page, @Param(Constants.WRAPPER) QueryWrapper<FinPaymentapply> qw); //IPage<FinPaymentapplyVo> voPage(IPage<FinPaymentapply> page, @Param(Constants.WRAPPER) QueryWrapper<FinPaymentapply> qw);
IPage<FinPaymentapplyVo> selectPageVo(IPage<FinPaymentapply> page, @Param(Constants.WRAPPER) Wrapper<FinPaymentapply> qw); IPage<FinPaymentapplyVo> selectPageVo(IPage<FinPaymentapply> page, @Param(Constants.WRAPPER) Wrapper<FinPaymentapply> qw);
List<FinPaymentapplyVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<FinPaymentapply> qw); List<FinPaymentapplyVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<FinPaymentapply> qw);
@Select("select * from fin_paymentapply") @Select("select * from fin_paymentapply")
List<FinPaymentapplyVo> selectListVo(); List<FinPaymentapplyVo> selectListVo();
int updateFlowFiled(Map<String, Object> map); int updateFlowFiled(Map<String, Object> map);
int selectNum(String bill);
FinPaymentapplyDetailsVo fetchDetailsVoBySid(String sid);
int selectBySid(String list);
List<String> selectCodeBySid(@Param("list") List<String> applySids);
int updateStateBySid(@Param("sid") String applySid, @Param("state") int state);
} }

64
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyMapper.xml

@ -4,8 +4,19 @@
<!-- <where> ${ew.sqlSegment} </where>--> <!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} --> <!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.fin.api.finpaymentapply.FinPaymentapplyVo"> <select id="selectPageVo" resultType="com.yxt.anrui.fin.api.finpaymentapply.FinPaymentapplyVo">
SELECT * SELECT fp.sid,
FROM fin_paymentapply if(length(fp.nodeState) > 0, fp.nodeState, '待提交') as nodeState,
fp.billNo,
fp.costTypeValue,
fp.costTitleValue,
fp.receiveCompany,
fp.receiveBankAccount,
fp.cost,
case fp.state
when 1 then '未付款'
when 2 then '已付款' end as state,
fp.remarks
FROM fin_paymentapply fp
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
@ -34,4 +45,53 @@
</if> </if>
WHERE sid = #{sid} WHERE sid = #{sid}
</update> </update>
<select id="selectNum" resultType="int">
select count(*)
from fin_paymentapply
where billNo LIKE concat(#{bill}, '%')
</select>
<select id="fetchDetailsVoBySid" resultType="com.yxt.anrui.fin.api.finpaymentapply.FinPaymentapplyDetailsVo">
select fp.sid,
fp.createBySid,
fp.billNo,
fp.costTypeKey,
fp.costTypeValue,
fp.costTitleKey,
fp.costTitleValue,
fp.cost,
fp.payCompanySid,
fp.payCompany,
fp.receiveBank,
fp.receiveCompany,
fp.receiveBankAccount,
fp.taskId,
fp.procInstId,
fp.receiveCompanySid,
fp.remarks
from fin_paymentapply fp
where fp.sid = #{sid}
</select>
<select id="selectBySid" resultType="int">
select count(*)
from fin_paymentapply
where length(nodeState) > 0
and find_in_set(sid, #{list})
</select>
<select id="selectCodeBySid" resultType="java.lang.String">
select receiveBankAccount
from fin_paymentapply where sid IN
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<update id="updateStateBySid">
update fin_paymentapply
set state = #{state}
where sid = #{sid}
</update>
</mapper> </mapper>

25
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyRest.java

@ -34,9 +34,9 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
@ -62,35 +62,24 @@ public class FinPaymentapplyRest implements FinPaymentapplyFeign {
private FinPaymentapplyService finPaymentapplyService; private FinPaymentapplyService finPaymentapplyService;
@Override @Override
@ApiOperation("根据条件分页查询数据的列表") public ResultBean<PagerVo<FinPaymentapplyVo>> listPage(PagerQuery<FinPaymentapplyQuery> pq) {
@PostMapping("/listPage")
public ResultBean<PagerVo<FinPaymentapplyVo>> listPage(@RequestBody PagerQuery<FinPaymentapplyQuery> pq) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
PagerVo<FinPaymentapplyVo> pv = finPaymentapplyService.listPageVo(pq); PagerVo<FinPaymentapplyVo> pv = finPaymentapplyService.listPageVo(pq);
return rb.success().setData(pv); return rb.success().setData(pv);
} }
@Override @Override
@ApiOperation("新增或修改") public ResultBean save(FinPaymentapplyDto dto) {
@PostMapping("/save")
public ResultBean save(@RequestBody FinPaymentapplyDto dto) {
ResultBean rb = ResultBean.fireFail();
return finPaymentapplyService.saveOrUpdateDto(dto); return finPaymentapplyService.saveOrUpdateDto(dto);
} }
@Override @Override
@ApiOperation("根据sid批量删除") public ResultBean delBySids(String[] sids) {
@PostMapping("/delBySids") return finPaymentapplyService.deleteAllBySid(sids);
public ResultBean delBySids(@RequestBody String[] sids) {
ResultBean rb = ResultBean.fireFail();
finPaymentapplyService.delBySids(sids);
return rb.success();
} }
@Override @Override
@ApiOperation("根据SID获取一条记录") public ResultBean<FinPaymentapplyDetailsVo> fetchDetailsBySid(String sid) {
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<FinPaymentapplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
FinPaymentapply finPaymentapply = finPaymentapplyService.fetchBySid(sid); FinPaymentapply finPaymentapply = finPaymentapplyService.fetchBySid(sid);
if (finPaymentapply == null) { if (finPaymentapply == null) {

76
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyService.java

@ -29,17 +29,24 @@ import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.fin.api.finpaymentapply.*; import com.yxt.anrui.fin.api.finpaymentapply.*;
import com.yxt.anrui.fin.api.finpaymentapply.flow.FinPayGetNodeQuery; import com.yxt.anrui.fin.api.finpaymentapply.flow.FinPayGetNodeQuery;
import com.yxt.anrui.fin.api.finpaymentapply.flow.FinPayGetNodeVo; import com.yxt.anrui.fin.api.finpaymentapply.flow.FinPayGetNodeVo;
import com.yxt.anrui.fin.api.finpaymentapply.flow.FinPayTaskQuery; import com.yxt.anrui.fin.api.finpaymentapply.flow.FinPayTaskQuery;
import com.yxt.anrui.fin.api.finpaymentapply.flow.SubmitFinPayDto; import com.yxt.anrui.fin.api.finpaymentapply.flow.SubmitFinPayDto;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordDto;
import com.yxt.anrui.fin.biz.finpaymentrecord.FinPaymentrecordService;
import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
@ -83,6 +90,10 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
private FlowableFeign flowableFeign; private FlowableFeign flowableFeign;
@Autowired @Autowired
private FlowTaskFeign flowTaskFeign; private FlowTaskFeign flowTaskFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private FinPaymentrecordService finPaymentrecordService;
public PagerVo<FinPaymentapplyVo> listPageVo(PagerQuery<FinPaymentapplyQuery> pq) { public PagerVo<FinPaymentapplyVo> listPageVo(PagerQuery<FinPaymentapplyQuery> pq) {
FinPaymentapplyQuery query = pq.getParams(); FinPaymentapplyQuery query = pq.getParams();
@ -91,27 +102,27 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
if (pageQuery != null) { if (pageQuery != null) {
//付款状态 //付款状态
if (StringUtils.isNotBlank(pageQuery.getState())) { if (StringUtils.isNotBlank(pageQuery.getState())) {
qw.eq("pa.state", pageQuery.getState()); qw.eq("fp.state", pageQuery.getState());
} }
//款项类别 //款项类别
if (StringUtils.isNotBlank(pageQuery.getCostTypeKey())) { if (StringUtils.isNotBlank(pageQuery.getCostTypeKey())) {
qw.eq("pa.costTypekey", pageQuery.getCostTypeKey()); qw.eq("fp.costTypekey", pageQuery.getCostTypeKey());
} }
//款项名称 //款项名称
if (StringUtils.isNotBlank(pageQuery.getCostTitleKey())) { if (StringUtils.isNotBlank(pageQuery.getCostTitleKey())) {
qw.eq("pa.costTitleKey", pageQuery.getCostTitleKey()); qw.eq("fp.costTitleKey", pageQuery.getCostTitleKey());
} }
//收款单位 //收款单位
if (StringUtils.isNotBlank(pageQuery.getReceiveCompany())) { if (StringUtils.isNotBlank(pageQuery.getReceiveCompany())) {
qw.like("pa.receiveCompany", pageQuery.getReceiveCompany()); qw.like("fp.receiveCompany", pageQuery.getReceiveCompany());
} }
//申请日期 //申请日期
qw.apply(StringUtils.isNotBlank(pageQuery.getApplyStartDate()), "date_format (pa.createTime,'%Y-%m-%d') >= date_format('" + pageQuery.getApplyStartDate() + "','%Y-%m-%d')"). qw.apply(StringUtils.isNotBlank(pageQuery.getApplyStartDate()), "date_format (fp.createTime,'%Y-%m-%d') >= date_format('" + pageQuery.getApplyStartDate() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(pageQuery.getApplyEndDate()), "date_format (pa.createTime,'%Y-%m-%d') <= date_format('" + pageQuery.getApplyEndDate() + "','%Y-%m-%d')" apply(StringUtils.isNotBlank(pageQuery.getApplyEndDate()), "date_format (fp.createTime,'%Y-%m-%d') <= date_format('" + pageQuery.getApplyEndDate() + "','%Y-%m-%d')"
); );
//申请人sid //申请人sid
if (StringUtils.isNotBlank(pageQuery.getUserSid())) { if (StringUtils.isNotBlank(pageQuery.getUserSid())) {
qw.eq("pa.createBySid", pageQuery.getUserSid()); qw.eq("fp.createBySid", pageQuery.getUserSid());
} }
} }
@ -127,6 +138,8 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
if (StringUtils.isBlank(dtoSid)) { if (StringUtils.isBlank(dtoSid)) {
FinPaymentapply finPaymentapply = new FinPaymentapply(); FinPaymentapply finPaymentapply = new FinPaymentapply();
BeanUtil.copyProperties(dto, finPaymentapply, "sid"); BeanUtil.copyProperties(dto, finPaymentapply, "sid");
String billNo = getApplyCode(dto);
finPaymentapply.setBillNo(billNo);
baseMapper.insert(finPaymentapply); baseMapper.insert(finPaymentapply);
dtoSid = finPaymentapply.getSid(); dtoSid = finPaymentapply.getSid();
} else { } else {
@ -140,10 +153,23 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
return rb.success().setData(dtoSid); return rb.success().setData(dtoSid);
} }
public String getApplyCode(FinPaymentapplyDto dto) {
String userSid = dto.getCreateBySid();
//获取分公司sid
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid);
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(resultBean.getData());
String orgCode = resultBean1.getData().getOrgCode();
BillNo b = new BillNo();
b.setOrgCode(orgCode);
b.setBillType(BillTypeEnum.FYSQ.getBillType());
String bill = Rule.getBill(b);
int i = baseMapper.selectNum(bill);
String billNo = Rule.getBillNo(bill, i);
return billNo;
}
public FinPaymentapplyDetailsVo fetchDetailsVoBySid(String sid) { public FinPaymentapplyDetailsVo fetchDetailsVoBySid(String sid) {
FinPaymentapply entity = fetchBySid(sid); FinPaymentapplyDetailsVo vo = baseMapper.fetchDetailsVoBySid(sid);
FinPaymentapplyDetailsVo vo = new FinPaymentapplyDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo; return vo;
} }
@ -270,9 +296,16 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
return rb.setMsg(resultBean.getMsg()); return rb.setMsg(resultBean.getMsg());
} }
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
//ToDo:到待付款列表 //ToDo:到出纳记录
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
ResultBean<String> stringResultBean = sysStaffOrgFeign.getPathSidByUserSid(finPaymentapply.getCreateBySid());
FinPaymentrecordDto finPaymentrecordDto = new FinPaymentrecordDto();
finPaymentrecordDto.setApplySid(finPaymentapply.getSid());
finPaymentrecordDto.setPayCompanySid(finPaymentapply.getPayCompanySid());
finPaymentrecordDto.setPayType(1);
finPaymentrecordDto.setCreateOrgSid(stringResultBean.getData());
finPaymentrecordDto.setUseOrgSid(stringResultBean.getData());
finPaymentrecordService.saveDto(finPaymentrecordDto);
} }
return rb.success().setData(resultBean.getData()); return rb.success().setData(resultBean.getData());
} else { } else {
@ -408,4 +441,23 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
} }
return rb.setMsg("操作失败!提交的数据不一致!"); return rb.setMsg("操作失败!提交的数据不一致!");
} }
public ResultBean deleteAllBySid(String[] sids) {
ResultBean rb = ResultBean.fireFail();
//查询该sid中是否有流程不是待提交的
int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
if (count > 0) {
return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败");
}
delBySids(sids);
return rb.success().setMsg("删除成功");
}
public List<String> selectCodeBySid(List<String> applySids) {
return baseMapper.selectCodeBySid(applySids);
}
public int updateStateBySid(String applySid, int state) {
return baseMapper.updateStateBySid(applySid, state);
}
} }

20
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordMapper.java

@ -53,13 +53,15 @@ import java.util.List;
@Mapper @Mapper
public interface FinPaymentrecordMapper extends BaseMapper<FinPaymentrecord> { public interface FinPaymentrecordMapper extends BaseMapper<FinPaymentrecord> {
//@Update("update fin_paymentrecord set name=#{msg} where id=#{id}") //@Update("update fin_paymentrecord set name=#{msg} where id=#{id}")
//IPage<FinPaymentrecordVo> voPage(IPage<FinPaymentrecord> page, @Param(Constants.WRAPPER) QueryWrapper<FinPaymentrecord> qw); //IPage<FinPaymentrecordVo> voPage(IPage<FinPaymentrecord> page, @Param(Constants.WRAPPER) QueryWrapper<FinPaymentrecord> qw);
IPage<FinPaymentrecordVo> selectPageVo(IPage<FinPaymentrecord> page, @Param(Constants.WRAPPER) Wrapper<FinPaymentrecord> qw); IPage<FinPaymentrecordVo> selectPageVo(IPage<FinPaymentrecord> page, @Param(Constants.WRAPPER) Wrapper<FinPaymentrecord> qw);
List<FinPaymentrecordVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<FinPaymentrecord> qw); List<FinPaymentrecordVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<FinPaymentrecord> qw);
@Select("select * from fin_paymentrecord") @Select("select * from fin_paymentrecord")
List<FinPaymentrecordVo> selectListVo(); List<FinPaymentrecordVo> selectListVo();
List<String> selectApplySids(@Param("list") List<String> sids);
} }

50
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordMapper.xml

@ -1,13 +1,45 @@
<?xml version="1.0" encoding="UTF-8" ?> <?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"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.fin.biz.finpaymentrecord.FinPaymentrecordMapper"> <mapper namespace="com.yxt.anrui.fin.biz.finpaymentrecord.FinPaymentrecordMapper">
<!-- <where> ${ew.sqlSegment} </where>--> <!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} --> <!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordVo"> <select id="selectPageVo" resultType="com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordVo">
SELECT * FROM fin_paymentrecord <where> ${ew.sqlSegment} </where> SELECT fp.sid,
</select> fp.payBank,
fp.payBankAccount,
<select id="selectListAllVo" resultType="com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordVo"> fp.name,
SELECT * FROM fin_paymentrecord <where> ${ew.sqlSegment} </where> DATE_FORMAT(fp.payDate, '%Y-%m-%d') as payDate,
</select> fp.payRemark,
case fa.state
when 1 then '未支付'
when 2 then '已支付' end as state,
DATE_FORMAT(fp.createTime, '%Y-%m-%d') as createTime,
fa.billNo,
fa.costTitleValue,
fa.costTypeValue,
fa.receiveCompany,
fa.receiveBankAccount,
fa.cost
FROM fin_paymentrecord fp
left join fin_paymentapply fa on fa.sid = fp.applySid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordVo">
SELECT *
FROM fin_paymentrecord
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectApplySids" resultType="java.lang.String">
select applySid
from fin_paymentrecord WHERE sid IN
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</select>
</mapper> </mapper>

57
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordRest.java

@ -30,9 +30,9 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/** /**
* Project: anrui-fin(财务) <br/> * Project: anrui-fin(财务) <br/>
@ -47,47 +47,28 @@ import org.springframework.web.bind.annotation.*;
* @version 1.0 * @version 1.0
* @since 1.0 * @since 1.0
*/ */
@Api(tags = "fin_paymentrecord") @Api(tags = "出纳付款列表")
@RestController("com.yxt.anrui.fin.biz.finpaymentrecord.FinPaymentrecordRest") @RestController("com.yxt.anrui.fin.biz.finpaymentrecord.FinPaymentrecordRest")
@RequestMapping("v1/finpaymentrecord") @RequestMapping("v1/finpaymentrecord")
public class FinPaymentrecordRest implements FinPaymentrecordFeign { public class FinPaymentrecordRest implements FinPaymentrecordFeign {
@Autowired @Autowired
private FinPaymentrecordService finPaymentrecordService; private FinPaymentrecordService finPaymentrecordService;
@Override @Override
@ApiOperation("根据条件分页查询数据的列表") public ResultBean<PagerVo<FinPaymentrecordVo>> listPage(PagerQuery<FinPaymentrecordQuery> pq) {
@PostMapping("/listPage") ResultBean rb = ResultBean.fireFail();
public ResultBean<PagerVo<FinPaymentrecordVo>> listPage(@RequestBody PagerQuery<FinPaymentrecordQuery> pq){ PagerVo<FinPaymentrecordVo> pv = finPaymentrecordService.listPageVo(pq);
ResultBean rb = ResultBean.fireFail(); return rb.success().setData(pv);
PagerVo<FinPaymentrecordVo> pv = finPaymentrecordService.listPageVo(pq); }
return rb.success().setData(pv);
}
@Override @Override
@ApiOperation("新增或修改") public ResultBean save(FinPaymentrecordDto dto) {
@PostMapping("/save") return finPaymentrecordService.saveDto(dto);
public ResultBean save(@RequestBody FinPaymentrecordDto dto){ }
ResultBean rb = ResultBean.fireFail();
finPaymentrecordService.saveOrUpdateDto(dto);
return rb.success();
}
@Override @Override
@ApiOperation("根据sid批量删除") public ResultBean update(FinPaymentrecordUpdateDto dto) {
@PostMapping("/delBySids") return finPaymentrecordService.updateAll(dto);
public ResultBean delBySids(@RequestBody String[] sids){ }
ResultBean rb = ResultBean.fireFail();
finPaymentrecordService.delBySids(sids);
return rb.success();
}
@Override
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<FinPaymentrecordDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
FinPaymentrecordDetailsVo vo = finPaymentrecordService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
} }

129
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java

@ -28,22 +28,21 @@ package com.yxt.anrui.fin.biz.finpaymentrecord;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.commons.lang3.StringUtils; import com.yxt.anrui.fin.api.finpaymentrecord.*;
import com.yxt.anrui.fin.biz.finpaymentapply.FinPaymentapplyService;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecord; import org.apache.commons.lang3.StringUtils;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordQuery; import org.springframework.beans.factory.annotation.Autowired;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordVo;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordDetailsVo;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordDto;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordFeign;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* Project: anrui-fin(财务) <br/> * Project: anrui-fin(财务) <br/>
@ -60,51 +59,71 @@ import java.util.List;
*/ */
@Service @Service
public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecordMapper, FinPaymentrecord> { public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecordMapper, FinPaymentrecord> {
private QueryWrapper<FinPaymentrecord> createQueryWrapper(FinPaymentrecordQuery query) {
// todo: 这里根据具体业务调整查询条件 @Autowired
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); private FinPaymentapplyService finPaymentapplyService;
QueryWrapper<FinPaymentrecord> qw = new QueryWrapper<>(); @Autowired
return qw; private SysStaffOrgFeign sysStaffOrgFeign;
}
public PagerVo<FinPaymentrecordVo> listPageVo(PagerQuery<FinPaymentrecordQuery> pq) {
public PagerVo<FinPaymentrecordVo> listPageVo(PagerQuery<FinPaymentrecordQuery> pq) { FinPaymentrecordQuery query = pq.getParams();
FinPaymentrecordQuery query = pq.getParams(); FinPaymentrecordQuery pageQuery = pq.getParams();
QueryWrapper<FinPaymentrecord> qw = createQueryWrapper(query); QueryWrapper<FinPaymentrecord> qw = new QueryWrapper<>();
IPage<FinPaymentrecord> page = PagerUtil.queryToPage(pq); if (pageQuery != null) {
IPage<FinPaymentrecordVo> pagging = baseMapper.selectPageVo(page, qw); //付款状态
PagerVo<FinPaymentrecordVo> p = PagerUtil.pageToVo(pagging, null); if (StringUtils.isNotBlank(pageQuery.getState())) {
return p; qw.eq("fp.state", pageQuery.getState());
} }
//款项类别
public void saveOrUpdateDto(FinPaymentrecordDto dto){ if (StringUtils.isNotBlank(pageQuery.getCostTypeKey())) {
String dtoSid = dto.getSid(); qw.eq("fp.costTypekey", pageQuery.getCostTypeKey());
if (StringUtils.isBlank(dtoSid)) { }
this.insertByDto(dto); //款项名称
return; if (StringUtils.isNotBlank(pageQuery.getCostTitleKey())) {
} qw.eq("fp.costTitleKey", pageQuery.getCostTitleKey());
this.updateByDto(dto); }
} //申请日期
qw.apply(StringUtils.isNotBlank(pageQuery.getCreateStartDate()), "date_format (fp.createTime,'%Y-%m-%d') >= date_format('" + pageQuery.getCreateStartDate() + "','%Y-%m-%d')").
public void insertByDto(FinPaymentrecordDto dto){ apply(StringUtils.isNotBlank(pageQuery.getCreateEndDate()), "date_format (fp.createTime,'%Y-%m-%d') <= date_format('" + pageQuery.getCreateEndDate() + "','%Y-%m-%d')"
FinPaymentrecord entity = new FinPaymentrecord(); );
BeanUtil.copyProperties(dto, entity, "id", "sid"); //分公司sid
baseMapper.insert(entity); if (StringUtils.isNotBlank(pageQuery.getUserSid())) {
} ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(pageQuery.getUserSid());
qw.eq("fp.useOrgSid", resultBean.getData());
public void updateByDto(FinPaymentrecordDto dto){ }
String dtoSid = dto.getSid(); }
if (StringUtils.isBlank(dtoSid)) { IPage<FinPaymentrecord> page = PagerUtil.queryToPage(pq);
return; IPage<FinPaymentrecordVo> pagging = baseMapper.selectPageVo(page, qw);
} PagerVo<FinPaymentrecordVo> p = PagerUtil.pageToVo(pagging, null);
FinPaymentrecord entity = fetchBySid(dtoSid); return p;
BeanUtil.copyProperties(dto, entity, "id", "sid"); }
baseMapper.updateById(entity);
} public ResultBean saveDto(FinPaymentrecordDto dto) {
ResultBean rb = ResultBean.fireFail();
public FinPaymentrecordDetailsVo fetchDetailsVoBySid(String sid){ FinPaymentrecord finPaymentrecord = new FinPaymentrecord();
FinPaymentrecord entity = fetchBySid(sid); BeanUtil.copyProperties(dto, finPaymentrecord, "sid");
FinPaymentrecordDetailsVo vo = new FinPaymentrecordDetailsVo(); baseMapper.insert(finPaymentrecord);
BeanUtil.copyProperties(entity, vo); return rb.success();
return vo; }
}
public ResultBean updateAll(FinPaymentrecordUpdateDto dto) {
ResultBean rb = ResultBean.fireFail();
List<String> sids = dto.getSids();
//判断选择的sids的付款申请的收款单位是否一致
List<String> applySids = baseMapper.selectApplySids(sids);
List<String> applyCodes = finPaymentapplyService.selectCodeBySid(applySids);
applyCodes = applyCodes.stream().distinct().collect(Collectors.toList());
if (applyCodes.size() > 0) {
return rb.setMsg("批量处理的数据中存在收款账号不一致");
}
List<String> list = new ArrayList<>();
for (int i = 0; i < sids.size(); i++) {
FinPaymentrecord finPaymentrecord = fetchBySid(sids.get(i));
BeanUtil.copyProperties(dto, finPaymentrecord, "sid");
baseMapper.updateById(finPaymentrecord);
//更新付款申请中的状态
finPaymentapplyService.updateStateBySid(finPaymentrecord.getApplySid(), 2);
}
return rb.success();
}
} }

4
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

@ -24,8 +24,8 @@ public enum ProcDefEnum {
BASEMODELMODPRICE("车型调价申请", "process_kydcif7k:5:280004"), BASEMODELMODPRICE("车型调价申请", "process_kydcif7k:5:280004"),
BASEINTERNALPURCHASE("内购申请", "process_i6luw5xq:1:267504"), BASEINTERNALPURCHASE("内购申请", "process_i6luw5xq:1:267504"),
SCMCARTRANSFER("库存地点变更申请", "process_3bc4p2em:4:300008"), //TODO SCMCARTRANSFER("库存地点变更申请", "process_3bc4p2em:4:300008"), //TODO
FINCOSTAPPLY("费用申请",""), FINCOSTAPPLY("费用申请","process_u0pahv0s:1:310004"),
FINPAYAPPLY("付款申请","") FINPAYAPPLY("付款申请","process_gin2tntb:1:310008")
; ;
ProcDefEnum(String proDefName, String proDefId) { ProcDefEnum(String proDefName, String proDefId) {

Loading…
Cancel
Save