Browse Source

开票管理详情增加开票申请附件、车辆合格证

zhanglei
fanzongzhe 2 years ago
parent
commit
4515e30c25
  1. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillfile/FinBillFileFeign.java
  2. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDetailsVo.java
  3. 9
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDto.java
  4. 14
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeign.java
  5. 9
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeignFallback.java
  6. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileMapper.java
  7. 73
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileMapper.xml
  8. 202
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileService.java
  9. 9
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.java
  10. 85
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.xml
  11. 17
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceRest.java
  12. 88
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceService.java

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillfile/FinBillFileFeign.java

@ -80,4 +80,7 @@ public interface FinBillFileFeign {
@PostMapping("/fetchFileBySid")
@ResponseBody
public ResultBean<List<FinBillFileAppendxVo>> fetchFileBySid(@RequestParam("billAppSid") String billAppSid,@RequestParam("fileType") String fileType);
}

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

@ -64,4 +64,8 @@ public class FinVehicleInvoiceDetailsVo implements Vo {
private Date transferTime;
@ApiModelProperty("图片地址集合")
private List<String> filePaths;
@ApiModelProperty("开票申请附件")
private List<String> billingFilePaths;
@ApiModelProperty("合格证照片")
private List<String> certificatePaths;
}

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

@ -30,10 +30,10 @@ public class FinVehicleInvoiceDto implements Dto {
private String sid; // sid
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("创建时间")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("修改时间")
private Date modifyTime;
@ApiModelProperty("是否可用:1可用,0不可用")
@ -58,7 +58,7 @@ public class FinVehicleInvoiceDto implements Dto {
private String vehicleType;
@ApiModelProperty("车辆金额")
private BigDecimal vehiclAmount;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("最大发票开票日期")
private Date invoiceDate;
@ApiModelProperty("发票号")
@ -113,4 +113,7 @@ public class FinVehicleInvoiceDto implements Dto {
private String taxpayerNo;
@ApiModelProperty("开票来源sid")
private String billingSid;
@ApiModelProperty("开票申请附件")
private List<String> billingFilePaths;
}

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

@ -9,6 +9,7 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
@ -47,7 +48,7 @@ public interface FinVehicleInvoiceFeign {
@ApiOperation("新增保存")
@PostMapping("/save")
public ResultBean save(@RequestBody FinVehicleInvoiceDto dto);
@ApiOperation("修改保存")
@PostMapping("/saveOrUpdate")
public ResultBean saveOrUpdate(@RequestBody FinVehicleInvoiceDto dto);
@ -69,4 +70,15 @@ public interface FinVehicleInvoiceFeign {
@ResponseBody
public void exportExcel(@RequestBody FinVehicleInvoiceQuery query);
@ApiOperation("作废")
@PostMapping("/cancellation")
public ResultBean cancellation(@RequestBody String[] sids);
@ApiOperation("获取开票信息详情记录")
@GetMapping("/invoiceInformation/{sid}")
@ResponseBody
public ResultBean<FinInvoiceInformationVo> invoiceInformation(@PathVariable("sid") String sid);
}

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

@ -74,5 +74,14 @@ public class FinVehicleInvoiceFeignFallback implements FinVehicleInvoiceFeign {
}
@Override
public ResultBean cancellation(String[] ids) {
return null;
}
@Override
public ResultBean<FinInvoiceInformationVo> invoiceInformation(String sid) {
return null;
}
}

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileMapper.java

@ -88,4 +88,6 @@ public interface FinBillFileMapper extends BaseMapper<FinBillFile> {
@Select("select * from fin_bill_file where billAppSid = #{sid} and attachType = '005'")
List<FinBillFileVo> fetchfjBySid(String sid);
List<FinBillFileVo> fetchFileByBillSid(@Param("sid") String sid);
}

73
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileMapper.xml

@ -1,43 +1,44 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.fin.biz.finbillfile.FinBillFileMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.fin.api.finbillfile.FinBillFileVo">
SELECT * FROM fin_bill_file <where> ${ew.sqlSegment} </where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.fin.api.finbillfile.FinBillFileVo">
SELECT * FROM fin_bill_file <where> ${ew.sqlSegment} </where>
</select>
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.fin.api.finbillfile.FinBillFileVo">
SELECT * FROM fin_bill_file
<where>${ew.sqlSegment}</where>
</select>
<select id="fetchBillFileBySid" resultType="com.yxt.anrui.fin.api.finbillfile.FinBillFileVo">
SELECT
*
FROM
fin_bill_file
WHERE billAppSid = #{sid}
GROUP BY fileType
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.fin.api.finbillfile.FinBillFileVo">
SELECT * FROM fin_bill_file
<where>${ew.sqlSegment}</where>
</select>
<select id="fetchFileBySid" resultType="com.yxt.anrui.fin.api.finbillfile.FinBillFileDetailsVo">
SELECT
*
FROM
fin_bill_file
WHERE billAppSid = #{billAppSid}
AND fileType = #{fileType}
</select>
<select id="fetchBillFileBySid" resultType="com.yxt.anrui.fin.api.finbillfile.FinBillFileVo">
SELECT *
FROM fin_bill_file
WHERE billAppSid = #{sid}
GROUP BY fileType
</select>
<select id="groupByList" resultType="com.yxt.anrui.fin.api.finbillfile.FinBillFileVo">
SELECT
fileType,
createTime,
createByName
FROM
fin_bill_file
WHERE billAppSid = #{sid}
GROUP BY fileType
ORDER BY createTime DESC
</select>
<select id="fetchFileBySid" resultType="com.yxt.anrui.fin.api.finbillfile.FinBillFileDetailsVo">
SELECT *
FROM fin_bill_file
WHERE billAppSid = #{billAppSid}
AND fileType = #{fileType}
</select>
<select id="groupByList" resultType="com.yxt.anrui.fin.api.finbillfile.FinBillFileVo">
SELECT fileType,
createTime,
createByName
FROM fin_bill_file
WHERE billAppSid = #{sid}
GROUP BY fileType
ORDER BY createTime DESC
</select>
<select id="fetchFileByBillSid" resultType="com.yxt.anrui.fin.api.finbillfile.FinBillFileVo">
SELECT *
FROM fin_bill_file
WHERE billAppSid = #{sid}
</select>
</mapper>

202
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileService.java

@ -61,108 +61,112 @@ import java.util.List;
@Service
public class FinBillFileService extends MybatisBaseService<FinBillFileMapper, FinBillFile> {
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private CommonAppendixFeign commonAppendixFeign;
private QueryWrapper<FinBillFile> createQueryWrapper(FinBillFileQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<FinBillFile> qw = new QueryWrapper<>();
return qw;
}
public PagerVo<FinBillFileVo> listPageVo(PagerQuery<FinBillFileQuery> pq) {
FinBillFileQuery query = pq.getParams();
QueryWrapper<FinBillFile> qw = createQueryWrapper(query);
IPage<FinBillFile> page = PagerUtil.queryToPage(pq);
IPage<FinBillFileVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<FinBillFileVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public void saveOrUpdateDto(FinBillFileDto dto){
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private CommonAppendixFeign commonAppendixFeign;
private QueryWrapper<FinBillFile> createQueryWrapper(FinBillFileQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<FinBillFile> qw = new QueryWrapper<>();
return qw;
}
public PagerVo<FinBillFileVo> listPageVo(PagerQuery<FinBillFileQuery> pq) {
FinBillFileQuery query = pq.getParams();
QueryWrapper<FinBillFile> qw = createQueryWrapper(query);
IPage<FinBillFile> page = PagerUtil.queryToPage(pq);
IPage<FinBillFileVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<FinBillFileVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public void saveOrUpdateDto(FinBillFileDto dto) {
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
this.insertByDto(dto);
return;
}
this.updateByDto(dto);
}
public void insertByDto(FinBillFileDto dto){
FinBillFile entity = new FinBillFile();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void updateByDto(FinBillFileDto dto){
String dtoSid = dto.getSid();
return;
}
this.updateByDto(dto);
}
public void insertByDto(FinBillFileDto dto) {
FinBillFile entity = new FinBillFile();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void updateByDto(FinBillFileDto dto) {
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
}
FinBillFile entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public FinBillFileDetailsVo fetchDetailsVoBySid(String sid){
FinBillFile entity = fetchBySid(sid);
FinBillFileDetailsVo vo = new FinBillFileDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
public void deleteByFinAppSid(String dtoSid) {
baseMapper.deleteByFinAppSid(dtoSid);
}
public List<FinBillFileVo> fetchBillFileBySid(String sid) {
return baseMapper.fetchBillFileBySid(sid);
}
public List<FinBillFileAppendxVo> fetchFileBySid(String billAppSid, String fileType) {
ArrayList<FinBillFileAppendxVo> finBillFileAppendxVos = new ArrayList<>();
List<FinBillFileDetailsVo> finBillFileDetailsVos = baseMapper.fetchFileBySid(billAppSid, fileType);
String path = "";
for (FinBillFileDetailsVo finBillFileDetailsVo : finBillFileDetailsVos) {
FinBillFileAppendxVo finBillFileAppendxVo = new FinBillFileAppendxVo();
String fileUrl = finBillFileDetailsVo.getFileUrl();
String urlPrefix = fileUploadComponent.getUrlPrefix();
path = urlPrefix + fileUrl;
String fileSid = finBillFileDetailsVo.getFileSid();
ResultBean<CommonAppendixVo> commonAppendixVoResultBean = commonAppendixFeign.fetchSid(billAppSid);
CommonAppendixVo data = commonAppendixVoResultBean.getData();
BeanUtil.copyProperties(data,finBillFileAppendxVo);
finBillFileAppendxVo.setFilePath(path);
finBillFileAppendxVo.setAppendixName(finBillFileDetailsVo.getFileType());
finBillFileAppendxVos.add(finBillFileAppendxVo);
}
return finBillFileAppendxVos;
}
public List<FinBillFileVo> groupByList(String sid) {
return baseMapper.groupByList(sid);
}
public List<FinBillFileVo> fetchkhkpsqsBySid(String sid) {
return baseMapper.fetchkhkpsqsBySid(sid);
}
public List<FinBillFileVo> fetchkpxxqrsBySid(String sid) {
return baseMapper.fetchkpxxqrsBySid(sid);
}
public List<FinBillFileVo> fetchcldjhtBySid(String sid) {
return baseMapper.fetchcldjhtBySid(sid);
}
public List<FinBillFileVo> fetchzjBySid(String sid) {
return baseMapper.fetchzjBySid(sid);
}
public List<FinBillFileVo> fetchfjBySid(String sid) {
return baseMapper.fetchfjBySid(sid);
}
}
FinBillFile entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public FinBillFileDetailsVo fetchDetailsVoBySid(String sid) {
FinBillFile entity = fetchBySid(sid);
FinBillFileDetailsVo vo = new FinBillFileDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
public void deleteByFinAppSid(String dtoSid) {
baseMapper.deleteByFinAppSid(dtoSid);
}
public List<FinBillFileVo> fetchBillFileBySid(String sid) {
return baseMapper.fetchBillFileBySid(sid);
}
public List<FinBillFileAppendxVo> fetchFileBySid(String billAppSid, String fileType) {
ArrayList<FinBillFileAppendxVo> finBillFileAppendxVos = new ArrayList<>();
List<FinBillFileDetailsVo> finBillFileDetailsVos = baseMapper.fetchFileBySid(billAppSid, fileType);
String path = "";
for (FinBillFileDetailsVo finBillFileDetailsVo : finBillFileDetailsVos) {
FinBillFileAppendxVo finBillFileAppendxVo = new FinBillFileAppendxVo();
String fileUrl = finBillFileDetailsVo.getFileUrl();
String urlPrefix = fileUploadComponent.getUrlPrefix();
path = urlPrefix + fileUrl;
String fileSid = finBillFileDetailsVo.getFileSid();
ResultBean<CommonAppendixVo> commonAppendixVoResultBean = commonAppendixFeign.fetchSid(billAppSid);
CommonAppendixVo data = commonAppendixVoResultBean.getData();
BeanUtil.copyProperties(data, finBillFileAppendxVo);
finBillFileAppendxVo.setFilePath(path);
finBillFileAppendxVo.setAppendixName(finBillFileDetailsVo.getFileType());
finBillFileAppendxVos.add(finBillFileAppendxVo);
}
return finBillFileAppendxVos;
}
public List<FinBillFileVo> groupByList(String sid) {
return baseMapper.groupByList(sid);
}
public List<FinBillFileVo> fetchkhkpsqsBySid(String sid) {
return baseMapper.fetchkhkpsqsBySid(sid);
}
public List<FinBillFileVo> fetchkpxxqrsBySid(String sid) {
return baseMapper.fetchkpxxqrsBySid(sid);
}
public List<FinBillFileVo> fetchcldjhtBySid(String sid) {
return baseMapper.fetchcldjhtBySid(sid);
}
public List<FinBillFileVo> fetchzjBySid(String sid) {
return baseMapper.fetchzjBySid(sid);
}
public List<FinBillFileVo> fetchfjBySid(String sid) {
return baseMapper.fetchfjBySid(sid);
}
public List<FinBillFileVo> fetchFileByBillSid(String sid) {
return baseMapper.fetchFileByBillSid(sid);
}
}

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

@ -5,10 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoice;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDetailsVo;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceExportVo;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceVo;
import com.yxt.anrui.fin.api.finvehicleinvoice.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@ -45,4 +42,8 @@ public interface FinVehicleInvoiceMapper extends BaseMapper<FinVehicleInvoice> {
FinVehicleInvoiceDetailsVo getInvoiceDetailsBySid(String sid);
FinVehicleInvoice selectByVinSid(String vinSid);
int cancellation(@Param("sid")String sid);
FinInvoiceInformationVo invoiceInformation(@Param("sid") String sid);
}

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

@ -30,6 +30,13 @@
<result column="transferTime" property="transferTime"></result>
</resultMap>
<update id="cancellation">
UPDATE fin_vehicle_invoice
SET billingState = '作废',
billingStateKey = '003'
WHERE sid = #{sid}
</update>
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
@ -68,7 +75,9 @@
</select>
<select id="selectListVo" resultMap="selectPageVoResultMap">
SELECT * FROM fin_vehicle_invoice where isDelete = '0'
SELECT *
FROM fin_vehicle_invoice
where isDelete = '0'
</select>
<select id="selectListAllVo" resultMap="selectPageVoResultMap">
@ -76,7 +85,8 @@
<where>${ew.sqlSegment}</where>
</select>
<resultMap id="selectPageExportVoResultMap" type="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>
@ -112,7 +122,8 @@
</where>
</select>
<resultMap id="getInvoiceDetailsBySidResultMap" type="com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDetailsVo">
<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>
@ -137,37 +148,53 @@
<result column="transferTime" property="transferTime"></result>
</resultMap>
<select id="getInvoiceDetailsBySid"
resultMap="getInvoiceDetailsBySidResultMap">
SELECT DISTINCT
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,
v.address as address,
v.telPhone as telPhone,
v.openingBank as openingBank,
v.recipient as recipient,
v.transferTime as transferTime
resultMap="getInvoiceDetailsBySidResultMap">
SELECT DISTINCT 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,
v.address as address,
v.telPhone as telPhone,
v.openingBank as openingBank,
v.recipient as recipient,
v.transferTime as transferTime,
v.bankNum as bankNum
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}
WHERE v.isDelete = '0'
AND v.sid = #{sid}
</select>
<select id="selectByVinSid" resultType="com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoice">
select *,DATE_FORMAT(transferTime,'%Y-%m-%d') as transferTime,DATE_FORMAT(invoiceDate,'%Y-%m-%d') as invoiceDate from fin_vehicle_invoice where vehicleSid = #{vinSid} limit 1
select *,
DATE_FORMAT(transferTime, '%Y-%m-%d') as transferTime,
DATE_FORMAT(invoiceDate, '%Y-%m-%d') as invoiceDate
from fin_vehicle_invoice
where vehicleSid = #{vinSid} limit 1
</select>
<select id="invoiceInformation"
resultType="com.yxt.anrui.fin.api.finvehicleinvoice.FinInvoiceInformationVo">
select invoicingName,
address,
telPhone,
openingBank,
bankNum,
taxpayerNo
from fin_vehicle_invoice
where sid = #{sid}
</select>
</mapper>

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

@ -185,4 +185,21 @@ public class FinVehicleInvoiceRest implements FinVehicleInvoiceFeign {
ExportExcelUtils.export(fileNameURL, invoiceExportVoList, FinVehicleInvoiceExportVo.class, response);
}
@Override
public ResultBean cancellation(String[] sids) {
ResultBean rb = ResultBean.fireFail();
int success = finVehicleInvoiceService.cancellation(sids);
if (success > 0) {
return rb.success().setMsg("作废成功");
}
return rb.success().setMsg("作废失败");
}
@Override
public ResultBean<FinInvoiceInformationVo> invoiceInformation(String sid) {
ResultBean rb = ResultBean.fireFail();
FinInvoiceInformationVo vo = finVehicleInvoiceService.invoiceInformation(sid);
return rb.success().setData(vo);
}
}

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

@ -3,16 +3,26 @@ package com.yxt.anrui.fin.biz.finvehicleinvoice;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basevehicleappendix.BaseVehicleAppendixFeign;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixFeign;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo;
import com.yxt.anrui.fin.api.finbillfile.FinBillFile;
import com.yxt.anrui.fin.api.finbillfile.FinBillFileVo;
import com.yxt.anrui.fin.api.finvehicleinvoice.*;
import com.yxt.anrui.fin.biz.finbillfile.FinBillFileService;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
@ -33,6 +43,18 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi
@Resource
private FileUploadComponent fileUploadComponent;
@Autowired
private FinBillFileService finBillFileService;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private BaseVehicleAppendixFeign baseVehicleAppendixFeign;
@Autowired
private CommonAppendixFeign commonAppendixFeign;
public PagerVo<FinVehicleInvoice> listPage(PagerQuery<FinVehicleInvoiceQuery> pq) {
FinVehicleInvoiceQuery query = pq.getParams();
QueryWrapper<FinVehicleInvoice> qw = createQueryWrapper(query);
@ -51,7 +73,17 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<FinVehicleInvoice> qw = new QueryWrapper<>();
// ===========================================================
// String orgSidPath = query.getOrgSidPath();
// SysOrganizationVo data = sysOrganizationFeign.selectByOrgSidPath(orgSidPath).getData();
// String orgLevelKey = data.getOrgLevelKey();
// if ("2".equals(orgLevelKey)) {
// orgSidPath = orgSidPath.substring(0, 73);
// qw.like("so.orgSidPath", orgSidPath);
// } else if ("3".equals(orgLevelKey)) {
// qw.eq("saiq.createOrgSid", query.getCreateOrgSid());
// }
// =================================================================
qw.eq("isDelete", "0");
if (StringUtils.isNotBlank(query.getInvoiceTitle())) {
qw.like("invoiceTitle", query.getInvoiceTitle());
@ -104,6 +136,7 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi
IPage<FinVehicleInvoice> page = PagerUtil.queryToPage(pq);
IPage<FinVehicleInvoiceVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<FinVehicleInvoiceVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
@ -185,6 +218,44 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi
public FinVehicleInvoiceDetailsVo getInvoiceDetailsBySid(String sid) {
FinVehicleInvoiceDetailsVo vo = baseMapper.getInvoiceDetailsBySid(sid);
FinVehicleInvoice finVehicleInvoice = this.fetchBySid(sid);
List<String> billingFilePaths = new ArrayList<>();
String urlPrefix = fileUploadComponent.getUrlPrefix();
//根据开票来源sid查询关联的附件列表
if (null != finVehicleInvoice) {
if (StringUtils.isNotBlank(finVehicleInvoice.getBillingSid())) {
List<FinBillFileVo> fileVos = finBillFileService.fetchFileByBillSid(finVehicleInvoice.getBillingSid());
if (null != fileVos) {
for (FinBillFileVo fileVo : fileVos) {
if (StringUtils.isNotBlank(fileVo.getFileUrl())) {
String fileUrl = urlPrefix + fileVo.getFileUrl();
billingFilePaths.add(fileUrl);
}
}
}
}
}
List<String> certificatePaths = new ArrayList<>();
//查询合格证 先判断是主车还是挂车
if (StringUtils.isNotBlank(finVehicleInvoice.getVehicleType()) && StringUtils.isNotBlank(finVehicleInvoice.getBillingSid())) {
if ("主车".equals(finVehicleInvoice.getVehicleType())) {
List<String> vehicleAppendixList = baseVehicleAppendixFeign.selectBySid(finVehicleInvoice.getBillingSid()).getData();
vo.setCertificatePaths(vehicleAppendixList);
} else {
List<CommonAppendixVo> commonAppendixVos = commonAppendixFeign.selByLinkSid(finVehicleInvoice.getBillingSid()).getData();
if (null != commonAppendixVos) {
for (CommonAppendixVo commonAppendixVo : commonAppendixVos) {
if (null != commonAppendixVo) {
if (StringUtils.isNotBlank(commonAppendixVo.getFileUrl())) {
certificatePaths.add(commonAppendixVo.getFileUrl());
}
}
}
vo.setCertificatePaths(certificatePaths);
}
}
}
vo.setBillingFilePaths(billingFilePaths);
return vo;
}
@ -208,7 +279,7 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi
String VIN = dto.getVinNo();
dto.setVIN(VIN);
}
return updateBySid(dto,sid);
return updateBySid(dto, sid);
}
public boolean mySave(FinVehicleInvoiceDto dto) {
@ -239,4 +310,17 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi
public FinVehicleInvoice selectByVinSid(String vinSid) {
return baseMapper.selectByVinSid(vinSid);
}
public int cancellation(String[] sids) {
int isSuccess = 0;
for (String sid : sids) {
isSuccess = baseMapper.cancellation(sid);
}
return isSuccess;
}
public FinInvoiceInformationVo invoiceInformation(String sid) {
FinInvoiceInformationVo vo = baseMapper.invoiceInformation(sid);
return vo;
}
}
Loading…
Cancel
Save