Browse Source

开票管理

zhanglei
fanzongzhe 2 years ago
parent
commit
21e3ae893b
  1. 66
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoice.java
  2. 29
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDetailsVo.java
  3. 87
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDto.java
  4. 21
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceExportVo.java
  5. 12
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeign.java
  6. 9
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeignFallback.java
  7. 23
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceQuery.java
  8. 34
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceVo.java
  9. 7
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.java
  10. 124
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.xml
  11. 380
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceRest.java
  12. 63
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceService.java

66
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoice.java

@ -29,26 +29,26 @@ import java.util.Date;
public class FinVehicleInvoice extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("销售申请sid")
private String Sid;
@ApiModelProperty("版本锁")
private Integer lockVersion;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("创建时间")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("修改时间")
private Date modifyTime;
@ApiModelProperty("是否可用:1可用,0不可用")
private Integer isEnable;
@ApiModelProperty("开票状态:0未开票,1已开票,2作废")
private Integer state;
@ApiModelProperty("开票状态")
private String billingState;
@ApiModelProperty("开票状态Key")
private String billingStateKey;
@ApiModelProperty("是否删除:0未删除,1已删除")
private Integer isDelete;
@ -63,49 +63,53 @@ public class FinVehicleInvoice extends BaseEntity {
@ApiModelProperty("车辆sid")
private String vehicleSid;
@ApiModelProperty("车架号")
@ApiModelProperty("车架号")
private String VIN;
@ApiModelProperty("车辆类型Key")
@ApiModelProperty("车辆类型Key")
private String vehicleTypeKey;
@ApiModelProperty("车辆类型")
@ApiModelProperty("车辆类型")
private String vehicleType;
@ApiModelProperty("车辆金额")
@ApiModelProperty("车辆金额")
private BigDecimal vehiclAmount;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("最大发票开票日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("最大发票开票日期")
private Date invoiceDate;
@ApiModelProperty("发票号")
@ApiModelProperty("发票号")
private String invoiceNo;
@ApiModelProperty("发票代码")
@ApiModelProperty("发票代码")
private String invoiceCode;
@ApiModelProperty("车辆发票金额")
@ApiModelProperty("车辆发票金额")
private BigDecimal invoiceAmount;
@ApiModelProperty("发票类别Key(增值税专用发票/机动车销售统一发票/增值税普通发票)")
@ApiModelProperty("发票类别Key(增值税专用发票/机动车销售统一发票/增值税普通发票)")
private String invoiceTypeKey;
@ApiModelProperty("发票类别")
@ApiModelProperty("发票类别")
private String invoiceType;
@ApiModelProperty("开票单位")
@ApiModelProperty("开票单位")
private String invoiceTitle;
@ApiModelProperty("移交状态:0未交接,1已交接")
private String invoiceState;
private String transferState;
@ApiModelProperty("移交状态:0未交接,1已交接")
private String transferStateKey;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("开票名称")
private String invoiceName;
private String invoicingName;
@ApiModelProperty("合同编号")
private String contractNo;

29
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDetailsVo.java

@ -7,6 +7,7 @@ import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @author Administrator
@ -18,44 +19,36 @@ public class FinVehicleInvoiceDetailsVo implements Vo {
@ApiModelProperty("sid")
private String sid;
@ApiModelProperty("开票单位")
private String invoiceTitle;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("车架号")
private String VIN;
private String vinNo;
@ApiModelProperty("发票类别")
private String invoiceType;
@ApiModelProperty("开票类型Key")
private String invoiceTypeKey;
@ApiModelProperty("车辆发票金额")
private BigDecimal invoiceAmount;
@ApiModelProperty("开票状态:0未开票,1已开票,2作废")
private String state;
@ApiModelProperty("发票状态")
private String billingState;
@ApiModelProperty("发票状态Key")
private String billingStateKey;
@ApiModelProperty("开票名称")
private String invoiceName;
private String invoicingName;
@ApiModelProperty("开票人")
private String name;
@ApiModelProperty("开票时间")
private String createTime;
@ApiModelProperty("发票号")
private String invoiceNo;
@ApiModelProperty("发票代码")
private String invoiceCode;
@ApiModelProperty("图片地址")
private String filePath;
@ApiModelProperty("图片地址集合")
private List<String> filePaths;
}

87
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDto.java

@ -9,6 +9,7 @@ import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* Project: anrui-fin(财务管理) <br/>
@ -28,43 +29,67 @@ import java.util.Date;
public class FinVehicleInvoiceDto implements Dto {
@ApiModelProperty("开票单位")
private String invoiceTitle;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("客户名称")
private String customerName;
private String sid; // sid
@ApiModelProperty("版本锁")
private Integer lockVersion;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("创建时间")
private String createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("修改时间")
private String modifyTime;
@ApiModelProperty("是否可用:1可用,0不可用")
private Integer isEnable;
private Integer state;
@ApiModelProperty("是否删除:0未删除,1已删除")
private Integer isDelete;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("创建人sid")
private String createBySid;
private String useOrgSid;
@ApiModelProperty("修改人sid")
private String updateBySid;
@ApiModelProperty("车辆sid")
private String vehicleSid;
@ApiModelProperty("车架号")
private String VIN;
@ApiModelProperty("发票类别")
private String invoiceType;
@ApiModelProperty("车辆发票金额")
private BigDecimal invoiceAmount;
@ApiModelProperty("开票状态:0未开票,1已开票,2作废")
private String state;
@ApiModelProperty("开票名称")
private String invoiceName;
@ApiModelProperty("开票人")
private String name;
@ApiModelProperty("开票时间")
private String createTime;
@ApiModelProperty("车辆类型Key")
private String vehicleTypeKey;
@ApiModelProperty("车辆类型")
private String vehicleType;
@ApiModelProperty("车辆金额")
private BigDecimal vehiclAmount;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("最大发票开票日期")
private String invoiceDate;
@ApiModelProperty("发票号")
private String invoiceNo;
@ApiModelProperty("发票代码")
private String invoiceCode;
@ApiModelProperty("车辆发票金额")
private BigDecimal invoiceAmount;
@ApiModelProperty("发票类别Key(增值税专用发票/机动车销售统一发票/增值税普通发票)")
private String invoiceTypeKey;
@ApiModelProperty("发票类别")
private String invoiceType;
@ApiModelProperty("开票单位")
private String invoiceTitle;
@ApiModelProperty("移交状态:0未交接,1已交接")
private String transferState;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("图片地址")
private String filePath;
@ApiModelProperty("开票状态")
private String billingState;
@ApiModelProperty("开票状态Key")
private String billingStateKey;
@ApiModelProperty("图片地址集合")
private List<String> filePaths;
private String vinNo;
@ApiModelProperty("开票名称")
private String invoicingName;
}

21
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceExportVo.java

@ -1,5 +1,4 @@
package com.yxt.anrui.fin.api.finvehicleinvoice;
import com.yxt.common.core.utils.ExportEntityMap;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
@ -12,27 +11,29 @@ import lombok.Data;
@Data
public class FinVehicleInvoiceExportVo implements Vo {
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
private Integer rankNo;
@ExportEntityMap(CnName = "发票状态", EnName = "state")
private String state;
@ExportEntityMap(CnName = "交接状态", EnName = "invoiceState")
private String invoiceState;
@ExportEntityMap(CnName = "发票状态", EnName = "billingState")
private String billingState;
@ExportEntityMap(CnName = "交接状态", EnName = "transferState")
private String transferState;
@ExportEntityMap(CnName = "开票单位", EnName = "invoiceTitle")
private String invoiceTitle;
@ExportEntityMap(CnName = "开票类型", EnName = "invoiceType")
private String invoiceType;
@ExportEntityMap(CnName = "合同编号", EnName = "contractNo")
private String contractNo;
@ExportEntityMap(CnName = "客户名称", EnName = "customerName")
private String customerName;
@ExportEntityMap(CnName = "车架号", EnName = "VIN")
private String VIN;
@ExportEntityMap(CnName = "开票名称", EnName = "invoiceName")
private String invoiceName;
@ExportEntityMap(CnName = "车架号", EnName = "vinNo")
private String vinNo;
@ExportEntityMap(CnName = "开票名称", EnName = "invoicingName")
private String invoicingName;
@ExportEntityMap(CnName = "开票金额", EnName = "invoiceAmount")
private String invoiceAmount;
@ExportEntityMap(CnName = "开票日期", EnName = "createTime")
private String createTime;
@ExportEntityMap(CnName = "发票代码", EnName = "invoiceCode")
private String invoiceCode;
}

12
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeign.java

@ -49,13 +49,8 @@ public interface FinVehicleInvoiceFeign {
public ResultBean save(@RequestBody FinVehicleInvoiceDto dto);
@ApiOperation("修改保存")
@PostMapping("/update/{sid}")
public ResultBean update(@RequestBody FinVehicleInvoiceDto dto, @PathVariable("sid") String sid);
@ApiOperation("图片上传")
@ApiImplicitParam(name = "file", value = "文件", required = true, dataType = "MultipartFile", dataTypeClass = MultipartFile.class)
@PostMapping("/pictureUpload")
public ResultBean pictureUpload(@RequestParam(value = "sid")String sid,@RequestParam(value = "file") MultipartFile file);
@PostMapping("/saveOrUpdate")
public ResultBean saveOrUpdate(@RequestBody FinVehicleInvoiceDto dto);
@ApiOperation("删除记录")
@GetMapping("/del/{ids}")
@ -64,7 +59,7 @@ public interface FinVehicleInvoiceFeign {
@ApiOperation("获取一条记录")
@GetMapping("/fetch/{id}")
public ResultBean<FinVehicleInvoiceVo> fetch(@PathVariable("id") String id);
@ApiOperation("获取详情记录")
@GetMapping("/fetchSid/{sid}")
public ResultBean<FinVehicleInvoiceDetailsVo> fetchBySid(@PathVariable("sid") String sid);
@ -74,5 +69,4 @@ public interface FinVehicleInvoiceFeign {
@ResponseBody
public void exportExcel(@RequestBody FinVehicleInvoiceQuery query);
}

9
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeignFallback.java

@ -46,15 +46,10 @@ public class FinVehicleInvoiceFeignFallback implements FinVehicleInvoiceFeign {
public ResultBean save(FinVehicleInvoiceDto dto){
return ResultBean.fireFail().setMsg("接口anrui-fin/finvehicleinvoice/save无法访问");
}
@Override
public ResultBean update(FinVehicleInvoiceDto dto, String sid){
return ResultBean.fireFail().setMsg("接口anrui-fin/finvehicleinvoice/update无法访问");
}
@Override
public ResultBean pictureUpload(String sid, MultipartFile file) {
return ResultBean.fireFail().setMsg("接口anrui-fin/finvehicleinvoice/pictureUpload无法访问");
public ResultBean saveOrUpdate(FinVehicleInvoiceDto dto) {
return ResultBean.fireFail().setMsg("接口anrui-fin/finvehicleinvoice/saveOrUpdate无法访问");
}
@Override

23
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceQuery.java

@ -35,6 +35,16 @@ public class FinVehicleInvoiceQuery implements Query {
@ApiModelProperty("开票单位")
private String invoiceTitle;
@ApiModelProperty("开票状态")
private String billingState;
@ApiModelProperty("开票状态Key")
private String billingStateKey;
@ApiModelProperty("开票类型Key")
private String invoiceTypeKey;
@ApiModelProperty("发票类别")
private String invoiceType;
@ -45,16 +55,19 @@ public class FinVehicleInvoiceQuery implements Query {
private String customerName;
@ApiModelProperty("车架号")
private String VIN;
@ApiModelProperty("发票状态")
private String vinNo;
private String state;
@ApiModelProperty("移交状态")
private String invoiceState;
private String transferState;
@ApiModelProperty("移交状态key")
private String transferStateKey;
@ApiModelProperty("开票名称")
private String invoiceName;
private String invoicingName;
@ApiModelProperty("开票开始日期")
private String createStartTime ;

34
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceVo.java

@ -9,6 +9,7 @@ import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* Project: anrui-fin(财务管理) <br/>
@ -29,46 +30,41 @@ public class FinVehicleInvoiceVo implements Vo {
@ApiModelProperty("车辆发票信息Sid")
private String Sid;
@ApiModelProperty("发票状态")
private String sid;
private String state;
@ApiModelProperty("发票状态")
private String billingState;
@ApiModelProperty("发票状态Key")
private String billingStateKey;
@ApiModelProperty("交接状态")
private String invoiceState;
private String transferState;
@ApiModelProperty("交接状态Key")
private String transferStateKey;
@ApiModelProperty("开票单位")
private String invoiceTitle;
@ApiModelProperty("开票类型")
private String invoiceType;
@ApiModelProperty("开票类型Key")
private String invoiceTypeKey;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("车架号")
private String VIN;
private String vinNo;
@ApiModelProperty("开票名称")
private String invoiceName;
private String invoicingName;
@ApiModelProperty("开票金额")
private String invoiceAmount;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("开票日期")
private Date createTime;
@ApiModelProperty("发票代码")
private String invoiceCode;
@ApiModelProperty("发票号")
private String invoiceNo;
@ApiModelProperty("发票图片")
private String filePath;
@ApiModelProperty("发票图片集合")
private List<String> filePaths;
}

7
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.java

@ -37,14 +37,11 @@ public interface FinVehicleInvoiceMapper extends BaseMapper<FinVehicleInvoice> {
IPage<FinVehicleInvoiceVo> selectPageVo(IPage<FinVehicleInvoice> page, @Param(Constants.WRAPPER) Wrapper<FinVehicleInvoice> qw);
List<FinVehicleInvoiceVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<FinVehicleInvoice> qw);
@Select("select * from fin_vehicle_invoice where isDelete = '0'")
List<FinVehicleInvoiceVo> selectListVo();
List<FinVehicleInvoiceExportVo> selByExcel(@Param(Constants.WRAPPER)QueryWrapper<FinVehicleInvoiceExportVo> qw);
Boolean updatePictureBySid(String state,String filePath,String sid);
FinVehicleInvoiceDetailsVo getInvoiceDetailsBySid(String sid);
}

124
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.xml

@ -2,19 +2,44 @@
<!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.finvehicleinvoice.FinVehicleInvoiceMapper">
<resultMap id="selectPageVoResultMap" type="com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceVo">
<result column="sid" property="sid"></result>
<result column="state" property="state"></result>
<result column="transferState" property="transferState"></result>
<result column="billingState" property="billingState"></result>
<result column="invoiceTitle" property="invoiceTitle"></result>
<result column="invoiceType" property="invoiceType"></result>
<result column="invoiceTypeKey" property="invoiceTypeKey"></result>
<result column="contractNo" property="contractNo"></result>
<result column="customerName" property="customerName"></result>
<result column="VIN" property="vinNo"></result>
<result column="invoicingName" property="invoicingName"></result>
<result column="invoiceAmount" property="invoiceAmount"></result>
<result column="createTime" property="createTime"></result>
<result column="invoiceCode" property="invoiceCode"></result>
<result column="filePath" property="filePath"></result>
<result column="billingStateKey" property="billingStateKey"></result>
<result column="transferStateKey" property="transferStateKey"></result>
</resultMap>
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceVo">
<select id="selectPageVo" resultMap="selectPageVoResultMap">
SELECT DISTINCT
sid,
`state`,
invoiceState,
billingStateKey,
billingState,
transferStateKey,
transferState,
invoiceTitle,
invoiceType,
invoiceTypeKey,
contractNo,
customerName,
VIN,
invoiceName,
invoicingName,
invoiceAmount,
createTime,
invoiceCode,
@ -26,60 +51,91 @@
</where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceVo">
<select id="selectListVo" resultMap="selectPageVoResultMap">
SELECT * FROM fin_vehicle_invoice where isDelete = '0'
</select>
<select id="selectListAllVo" resultMap="selectPageVoResultMap">
SELECT * FROM fin_vehicle_invoice
<where>${ew.sqlSegment}</where>
</select>
<select id="selByExcel" resultType="com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceExportVo">
<resultMap id="selectPageExportVoResultMap" type="com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceExportVo">
<result column="transferState" property="transferState"></result>
<result column="billingState" property="billingState"></result>
<result column="invoiceTitle" property="invoiceTitle"></result>
<result column="invoiceType" property="invoiceType"></result>
<result column="contractNo" property="contractNo"></result>
<result column="customerName" property="customerName"></result>
<result column="VIN" property="vinNo"></result>
<result column="invoicingName" property="invoicingName"></result>
<result column="invoiceAmount" property="invoiceAmount"></result>
<result column="createTime" property="createTime"></result>
<result column="invoiceCode" property="invoiceCode"></result>
</resultMap>
<select id="selByExcel" resultMap="selectPageExportVoResultMap">
SELECT DISTINCT
sid,
`state`,
invoiceState,
billingState,
transferState,
invoiceTitle,
invoiceType,
contractNo,
customerName,
VIN,
invoiceName,
invoicingName,
invoiceAmount,
createTime,
invoiceCode,
invoiceNo,
filePath
invoiceCode
FROM fin_vehicle_invoice
<where>
${ew.sqlSegment}
</where>
</select>
<resultMap id="getInvoiceDetailsBySidResultMap" type="com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDetailsVo">
<result column="sid" property="sid"></result>
<result column="billingState" property="billingState"></result>
<result column="billingStateKey" property="billingStateKey"></result>
<result column="invoiceTitle" property="invoiceTitle"></result>
<result column="invoiceType" property="invoiceType"></result>
<result column="invoiceTypeKey" property="invoiceTypeKey"></result>
<result column="contractNo" property="contractNo"></result>
<result column="customerName" property="customerName"></result>
<result column="VIN" property="vinNo"></result>
<result column="invoicingName" property="invoicingName"></result>
<result column="invoiceAmount" property="invoiceAmount"></result>
<result column="createTime" property="createTime"></result>
<result column="invoiceCode" property="invoiceCode"></result>
<result column="filePath" property="filePath"></result>
<result column="name" property="name"></result>
<result column="invoiceNo" property="invoiceNo"></result>
</resultMap>
<select id="getInvoiceDetailsBySid"
resultType="com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDetailsVo">
resultMap="getInvoiceDetailsBySidResultMap">
SELECT DISTINCT
si.`name`,
v.sid,
v.invoiceTitle,
v.contractNo,
v.customerName,
v.VIN,
v.invoiceType,
v.invoiceAmount,
v.`state`,
v.invoiceName,
v.createTime,
v.invoiceNo,
v.invoiceCode,
v.filePath
si.`name` as name,
v.sid as sid,
v.invoiceTitle as invoiceTitle,
v.contractNo as contractNo,
v.customerName as customerName,
v.VIN as VIN,
v.invoiceType as invoiceType,
v.invoiceTypeKey as invoiceTypeKey,
v.invoiceAmount as invoiceAmount,
v.`state` as state,
v.billingState as billingState,
v.billingStateKey as billingStateKey,
v.invoicingName as invoicingName,
v.createTime as createTime,
v.invoiceNo as invoiceNo,
v.invoiceCode as invoiceCode,
v.filePath as filePath
FROM fin_vehicle_invoice AS v
LEFT JOIN anrui_portal.sys_user AS u ON v.createBySid = u.sid
LEFT JOIN anrui_portal.sys_staffinfo AS si ON u.staffSid = si.sid
WHERE v.isDelete = '0' AND v.sid = #{sid}
</select>
<update id="updatePictureBySid">
Update fin_vehicle_invoice
Set
`state` = #{arg0},
filePath = #{arg1}
Where sid = #{arg2}
</update>
</mapper>

380
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceRest.java

@ -1,10 +1,11 @@
package com.yxt.anrui.fin.biz.finvehicleinvoice;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.fin.api.finvehicleinvoice.*;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.utils.ExportExcelUtils;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.FileUploadResult;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
@ -12,7 +13,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
@ -20,6 +20,7 @@ import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -41,198 +42,187 @@ import java.util.List;
@RequestMapping("v1/finvehicleinvoice")
public class FinVehicleInvoiceRest implements FinVehicleInvoiceFeign {
@Autowired
private FinVehicleInvoiceService finVehicleInvoiceService;
@Resource
private FileUploadComponent fileUploadComponent;
@Autowired
private HttpServletResponse response;
private List<FinVehicleInvoiceVo> setVo(List<FinVehicleInvoiceVo> list) {
for (FinVehicleInvoiceVo finVehicleInvoiceVo : list) {
if (StringUtils.isNotBlank(finVehicleInvoiceVo.getState())) {
String state = finVehicleInvoiceVo.getState();
if (state.equals("0")) {
finVehicleInvoiceVo.setState("未开票");
}else if (state.equals("1")) {
finVehicleInvoiceVo.setState("已开票");
}else if (state.equals("2")) {
finVehicleInvoiceVo.setState("作废");
}
}
if (StringUtils.isNotBlank(finVehicleInvoiceVo.getInvoiceState())) {
String invoiceState = finVehicleInvoiceVo.getInvoiceState();
if (invoiceState.equals("0")) {
finVehicleInvoiceVo.setInvoiceState("未移交");
} else if (invoiceState.equals("1")) {
finVehicleInvoiceVo.setInvoiceState("已移交");
}
}
if (StringUtils.isNotBlank(finVehicleInvoiceVo.getFilePath())) {
String filePath = finVehicleInvoiceVo.getFilePath();
String urlPrefix = fileUploadComponent.getUrlPrefix();
filePath = urlPrefix + filePath;
finVehicleInvoiceVo.setFilePath(filePath);
}
}
return list;
}
@Override
public ResultBean<PagerVo<FinVehicleInvoiceVo>> listPage(@RequestBody PagerQuery<FinVehicleInvoiceQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<FinVehicleInvoiceVo> pv = finVehicleInvoiceService.listPageVo(pq);
List<FinVehicleInvoiceVo> records = pv.getRecords();
List<FinVehicleInvoiceVo> finVehicleInvoiceVos = setVo(records);
pv.setRecords(finVehicleInvoiceVos);
return rb.success().setData(pv);
}
@Override
public ResultBean<List<FinVehicleInvoiceVo>> listAll(@RequestBody FinVehicleInvoiceQuery query){
ResultBean rb = ResultBean.fireFail();
List<FinVehicleInvoiceVo> list = finVehicleInvoiceService.listAllVo(query);
List<FinVehicleInvoiceVo> finVehicleInvoiceVos = setVo(list);
return rb.success().setData(finVehicleInvoiceVos);
}
@Override
public ResultBean<List<FinVehicleInvoiceVo>> list(){
ResultBean rb = ResultBean.fireFail();
List<FinVehicleInvoiceVo> list = finVehicleInvoiceService.listVo();
List<FinVehicleInvoiceVo> finVehicleInvoiceVos = setVo(list);
return rb.success().setData(finVehicleInvoiceVos);
}
@Override
public ResultBean save(FinVehicleInvoiceDto dto){
ResultBean rb = ResultBean.fireFail();
finVehicleInvoiceService.saveOrUpdateDto(dto);
return rb.success();
}
@Autowired
private FinVehicleInvoiceService finVehicleInvoiceService;
@Resource
private FileUploadComponent fileUploadComponent;
@Autowired
private HttpServletResponse response;
private List<FinVehicleInvoiceVo> setVo(List<FinVehicleInvoiceVo> list) {
for (FinVehicleInvoiceVo finVehicleInvoiceVo : list) {
if (StringUtils.isNotBlank(finVehicleInvoiceVo.getFilePath())) {
String filePath = finVehicleInvoiceVo.getFilePath();
List<String> filePaths = new ArrayList<>();
String array[] = filePath.split(",");
for (int i = 0; i < array.length; i++) {
String urlPrefix = fileUploadComponent.getUrlPrefix();
filePath = urlPrefix + array[i];
filePaths.add(filePath);
finVehicleInvoiceVo.setFilePaths(filePaths);
}
}
}
return list;
}
@Override
public ResultBean<PagerVo<FinVehicleInvoiceVo>> listPage(@RequestBody PagerQuery<FinVehicleInvoiceQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<FinVehicleInvoiceVo> pv = finVehicleInvoiceService.listPageVo(pq);
List<FinVehicleInvoiceVo> records = pv.getRecords();
List<FinVehicleInvoiceVo> finVehicleInvoiceVos = setVo(records);
pv.setRecords(finVehicleInvoiceVos);
return rb.success().setData(pv);
}
@Override
public ResultBean<List<FinVehicleInvoiceVo>> listAll(@RequestBody FinVehicleInvoiceQuery query) {
ResultBean rb = ResultBean.fireFail();
List<FinVehicleInvoiceVo> list = finVehicleInvoiceService.listAllVo(query);
List<FinVehicleInvoiceVo> finVehicleInvoiceVos = setVo(list);
return rb.success().setData(finVehicleInvoiceVos);
}
@Override
public ResultBean<List<FinVehicleInvoiceVo>> list() {
ResultBean rb = ResultBean.fireFail();
List<FinVehicleInvoiceVo> list = finVehicleInvoiceService.listVo();
List<FinVehicleInvoiceVo> finVehicleInvoiceVos = setVo(list);
return rb.success().setData(finVehicleInvoiceVos);
}
@Override
public ResultBean update(FinVehicleInvoiceDto dto,String sid){
ResultBean rb = ResultBean.fireFail();
finVehicleInvoiceService.updateBySid(dto.toMap(),sid);
return rb.success();
}
@Override
public ResultBean del(String ids){
ResultBean rb = ResultBean.fireFail();
finVehicleInvoiceService.delByIds(ids);
return rb.success();
}
@Override
public ResultBean<FinVehicleInvoiceVo> fetch(String id){
ResultBean rb = ResultBean.fireFail();
FinVehicleInvoiceVo vo = finVehicleInvoiceService.fetchByIdVo(id);
return rb.success().setData(vo);
}
@Override
public ResultBean<FinVehicleInvoiceDetailsVo> fetchBySid(String sid){
ResultBean rb = ResultBean.fireFail();
FinVehicleInvoiceDetailsVo vo = finVehicleInvoiceService.getInvoiceDetailsBySid(sid);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (StringUtils.isNotBlank(vo.getState())) {
String state = vo.getState();
if (state.equals("0")) {
vo.setState("未开票");
}else if (state.equals("1")) {
vo.setState("已开票");
}else if (state.equals("2")) {
vo.setState("作废");
}
}
if (StringUtils.isNotBlank(vo.getCreateTime())) {
String createTime = vo.getCreateTime();
try {
Date date = sdf.parse(createTime);
String createTimeBySdf = sdf.format(date);
vo.setCreateTime(createTimeBySdf);
} catch (ParseException e) {
e.printStackTrace();
}
}
if (StringUtils.isNotBlank(vo.getFilePath())) {
String filePath = vo.getFilePath();
String urlPrefix = fileUploadComponent.getUrlPrefix();
filePath = urlPrefix + filePath;
vo.setFilePath(filePath);
}
return rb.success().setData(vo);
}
@Override
public void exportExcel(FinVehicleInvoiceQuery query) {
//得到所有要导出的数据
List<FinVehicleInvoiceExportVo> invoiceExportVoList = finVehicleInvoiceService.listExcel(query);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
for (FinVehicleInvoiceExportVo invoiceExportVo : invoiceExportVoList) {
if (StringUtils.isNotBlank(invoiceExportVo.getState())) {
String state = invoiceExportVo.getState();
if (state.equals("0")) {
invoiceExportVo.setState("未开票");
}else if (state.equals("1")) {
invoiceExportVo.setState("已开票");
}else if (state.equals("2")) {
invoiceExportVo.setState("作废");
}
}
if (StringUtils.isNotBlank(invoiceExportVo.getInvoiceState())) {
String invoiceState = invoiceExportVo.getInvoiceState();
if (invoiceState.equals("0")) {
invoiceExportVo.setInvoiceState("未移交");
} else if (invoiceState.equals("1")) {
invoiceExportVo.setInvoiceState("已移交");
}
}
if (StringUtils.isNotBlank(invoiceExportVo.getCreateTime())) {
String createTime = invoiceExportVo.getCreateTime();
try {
Date date = sdf.parse(createTime);
String createTimeBySdf = sdf.format(date);
invoiceExportVo.setCreateTime(createTimeBySdf);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
//定义导出的excel名字
String excelName = "车辆发票信息列表";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//导出车辆管理列表
ExportExcelUtils.export(fileNameURL, invoiceExportVoList, FinVehicleInvoiceExportVo.class, response);
}
@Override
public ResultBean pictureUpload(String sid,MultipartFile file) {
ResultBean rb = ResultBean.fireFail();
if (file == null || file.isEmpty()) {
return rb.setMsg("文件为空");
}
rb = fileUploadComponent.uploadFile(file);
FileUploadResult data = (FileUploadResult) rb.getData();
FinVehicleInvoiceDetailsVo invoice= finVehicleInvoiceService.getInvoiceDetailsBySid(sid);
invoice.setFilePath(data.getFilePath());
String filePath = invoice.getFilePath();
invoice.setState("1");
String state = invoice.getState();
Boolean isSuccess = finVehicleInvoiceService.updatePictureBySid(state,filePath,sid);
if (isSuccess) {
return rb.success().setMsg("上传成功");
}else {
return rb.fail().setMsg("上传失败");
}
}
public ResultBean save(FinVehicleInvoiceDto dto) {
ResultBean rb = ResultBean.fireFail();
finVehicleInvoiceService.saveOrUpdateDto(dto);
return rb.success();
}
@Override
public ResultBean saveOrUpdate(FinVehicleInvoiceDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = dto.getSid();
if (StringUtils.isNotEmpty(sid)) {
StringBuilder sb = new StringBuilder();
String urlPrefix = fileUploadComponent.getUrlPrefix();
if (null != dto.getFilePaths()) {
for (String filePath : dto.getFilePaths()) {
String[] split = filePath.split(urlPrefix);
String s = split[1];
sb.append(s).append(",");
}
sb.delete(sb.length() - 1, sb.length());
dto.setFilePath(sb.toString());
}
if (StringUtils.isNotBlank(dto.getFilePath())) {
dto.setBillingStateKey("002");
dto.setBillingState("已开票");
}
if (StringUtils.isNotEmpty(dto.getVinNo())) {
String VIN = dto.getVinNo();
dto.setVIN(VIN);
}
finVehicleInvoiceService.updateBySid(dto, sid);
} else {
FinVehicleInvoice finVehicleInvoice = new FinVehicleInvoice();
String sidAdd = finVehicleInvoice.getSid();
BeanUtil.copyProperties(dto, finVehicleInvoice);
finVehicleInvoice.setSid(sidAdd);
StringBuilder sb = new StringBuilder();
String urlPrefix = fileUploadComponent.getUrlPrefix();
if (null != dto.getFilePaths()) {
for (String filePath : dto.getFilePaths()) {
String[] split = filePath.split(urlPrefix);
String s = split[1];
sb.append(s).append(",");
}
sb.delete(sb.length() - 1, sb.length());
finVehicleInvoice.setFilePath(sb.toString());
finVehicleInvoice.setBillingStateKey("002");
finVehicleInvoice.setBillingState("已开票");
}
if (StringUtils.isNotEmpty(dto.getVinNo())) {
String VIN = dto.getVinNo();
finVehicleInvoice.setVIN(VIN);
}
finVehicleInvoiceService.save(finVehicleInvoice);
}
return rb.success();
}
@Override
public ResultBean del(String ids) {
ResultBean rb = ResultBean.fireFail();
finVehicleInvoiceService.delByIds(ids);
return rb.success();
}
@Override
public ResultBean<FinVehicleInvoiceVo> fetch(String id) {
ResultBean rb = ResultBean.fireFail();
FinVehicleInvoiceVo vo = finVehicleInvoiceService.fetchByIdVo(id);
return rb.success().setData(vo);
}
@Override
public ResultBean<FinVehicleInvoiceDetailsVo> fetchBySid(String sid) {
ResultBean rb = ResultBean.fireFail();
FinVehicleInvoiceDetailsVo vo = finVehicleInvoiceService.getInvoiceDetailsBySid(sid);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (StringUtils.isNotBlank(vo.getCreateTime())) {
String createTime = vo.getCreateTime();
try {
Date date = sdf.parse(createTime);
String createTimeBySdf = sdf.format(date);
vo.setCreateTime(createTimeBySdf);
} catch (ParseException e) {
e.printStackTrace();
}
}
if (StringUtils.isNotBlank(vo.getFilePath())) {
String filePath = vo.getFilePath();
List<String> filePaths = new ArrayList<>();
String array[] = filePath.split(",");
for (int i = 0; i < array.length; i++) {
String urlPrefix = fileUploadComponent.getUrlPrefix();
filePath = urlPrefix + array[i];
filePaths.add(filePath);
vo.setFilePaths(filePaths);
}
}
return rb.success().setData(vo);
}
@Override
public void exportExcel(FinVehicleInvoiceQuery query) {
//得到所有要导出的数据
List<FinVehicleInvoiceExportVo> invoiceExportVoList = finVehicleInvoiceService.listExcel(query);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
for (FinVehicleInvoiceExportVo invoiceExportVo : invoiceExportVoList) {
if (StringUtils.isNotBlank(invoiceExportVo.getCreateTime())) {
String createTime = invoiceExportVo.getCreateTime();
try {
Date date = sdf.parse(createTime);
String createTimeBySdf = sdf.format(date);
invoiceExportVo.setCreateTime(createTimeBySdf);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
//定义导出的excel名字
String excelName = "车辆发票信息列表";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//导出车辆管理列表
ExportExcelUtils.export(fileNameURL, invoiceExportVoList, FinVehicleInvoiceExportVo.class, response);
}
}

63
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceService.java

@ -51,6 +51,9 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi
if (StringUtils.isNotBlank(query.getInvoiceTitle())) {
qw.like("invoiceTitle", query.getInvoiceTitle());
}
if (StringUtils.isNotBlank(query.getInvoiceTypeKey())) {
qw.like("invoiceTypeKey", query.getInvoiceTypeKey());
}
if (StringUtils.isNotBlank(query.getInvoiceType())) {
qw.like("invoiceType", query.getInvoiceType());
}
@ -60,26 +63,33 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi
if (StringUtils.isNotBlank(query.getCustomerName())) {
qw.like("customerName", query.getCustomerName());
}
if (StringUtils.isNotBlank(query.getVIN())) {
qw.like("VIN", query.getVIN());
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("VIN", query.getVinNo());
}
if (StringUtils.isNotBlank(query.getTransferState())) {
qw.eq("transferState", query.getTransferState());
}
if (StringUtils.isNotBlank(query.getState())) {
qw.eq("state", query.getState());
if (StringUtils.isNotBlank(query.getBillingState())) {
qw.eq("billingState", query.getBillingState());
}
if (StringUtils.isNotBlank(query.getInvoiceState())) {
qw.eq("invoiceState", query.getInvoiceState());
if (StringUtils.isNotBlank(query.getTransferStateKey())) {
qw.eq("transferStateKey", query.getTransferStateKey());
}
if (StringUtils.isNotBlank(query.getInvoiceName())) {
qw.like("invoiceName", query.getInvoiceName());
if (StringUtils.isNotBlank(query.getBillingStateKey())) {
qw.eq("billingStateKey", query.getBillingStateKey());
}
if (StringUtils.isNotBlank(query.getInvoicingName())) {
qw.like("invoicingName", query.getInvoicingName());
}
if (StringUtils.isNotBlank(query.getInvoiceCode())) {
qw.like("invoiceCode", query.getInvoiceCode());
}
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createStartTime), "date_format (vi.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createEndTime), "date_format (vi.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
qw.orderByDesc("createTime");
return qw;
}
@ -123,32 +133,42 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi
if (StringUtils.isNotBlank(query.getInvoiceType())) {
qw.like("invoiceType", query.getInvoiceType());
}
if (StringUtils.isNotBlank(query.getInvoiceTypeKey())) {
qw.like("invoiceTypeKey", query.getInvoiceTypeKey());
}
if (StringUtils.isNotBlank(query.getContractNo())) {
qw.like("contractNo", query.getContractNo());
}
if (StringUtils.isNotBlank(query.getCustomerName())) {
qw.like("customerName", query.getCustomerName());
}
if (StringUtils.isNotBlank(query.getVIN())) {
qw.like("VIN", query.getVIN());
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("VIN", query.getVinNo());
}
if (StringUtils.isNotBlank(query.getState())) {
qw.eq("state", query.getState());
if (StringUtils.isNotBlank(query.getTransferState())) {
qw.eq("transferState", query.getTransferState());
}
if (StringUtils.isNotBlank(query.getInvoiceState())) {
qw.eq("invoiceState", query.getInvoiceState());
if (StringUtils.isNotBlank(query.getBillingState())) {
qw.eq("billingState", query.getBillingState());
}
if (StringUtils.isNotBlank(query.getInvoiceName())) {
qw.like("invoiceName", query.getInvoiceName());
if (StringUtils.isNotBlank(query.getTransferStateKey())) {
qw.eq("transferStateKey", query.getTransferStateKey());
}
if (StringUtils.isNotBlank(query.getBillingStateKey())) {
qw.eq("billingStateKey", query.getBillingStateKey());
}
if (StringUtils.isNotBlank(query.getInvoicingName())) {
qw.like("invoicingName", query.getInvoicingName());
}
if (StringUtils.isNotBlank(query.getInvoiceCode())) {
qw.like("invoiceCode", query.getInvoiceCode());
}
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createStartTime), "date_format (vi.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createEndTime), "date_format (vi.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
qw.orderByDesc("createTime");
List<FinVehicleInvoiceExportVo> invoiceExportVoList = baseMapper.selByExcel(qw);
int id = 1;
for (FinVehicleInvoiceExportVo invoiceExportVo : invoiceExportVoList) {
@ -163,7 +183,4 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi
return vo;
}
public Boolean updatePictureBySid(String filePath,String state,String sid) {
return baseMapper.updatePictureBySid(filePath,state,sid);
}
}
Loading…
Cancel
Save