Browse Source

完善企业开票接口增加开票类型附件上传

master
fanzongzhe 2 years ago
parent
commit
9452e82cdf
  1. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillfile/FinAttachTypeEnum.java
  2. 7
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicing.java
  3. 9
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingDetailsVo.java
  4. 9
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingDto.java
  5. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileMapper.java
  6. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileService.java
  7. 75
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingService.java

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

@ -13,7 +13,8 @@ public enum FinAttachTypeEnum {
ZJ("004", "证件"),
FJ("005", "附件"),
QKLPFJ("006", "欠款领票附件"),
CLMMHT("007", "车辆买卖合同");
CLMMHT("007", "车辆买卖合同"),
YYZZ("008", "企业开票信息营业执照");
/**
* 附件类型

7
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicing.java

@ -72,4 +72,11 @@ public class FinCompanyInvoicing extends BaseEntity {
private String purchaseSystemName; // 采购系统名称
@ApiModelProperty("组织全路径")
private String orgSidPath;
@ApiModelProperty("开票类型value")
private String invoiceType; //
@ApiModelProperty("开票类型key")
private String invoiceTypeKey;
@ApiModelProperty("有效期")
private String effectiveDate; //
}

9
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingDetailsVo.java

@ -32,6 +32,9 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui-fin(公司开票信息管理) <br/>
* File: FinCompanyInvoicingVo.java <br/>
@ -77,4 +80,10 @@ public class FinCompanyInvoicingDetailsVo implements Vo {
private String staffSid;
@ApiModelProperty("创建人sid")
private String createBySid;
@ApiModelProperty("开票类型")
private String openTickTypeKey;
@ApiModelProperty("开票类型")
private String openTickTypeValue;
@ApiModelProperty("营业执照")
private List<String> yyzzFiles = new ArrayList<>();
}

9
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingDto.java

@ -32,6 +32,9 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui-fin(公司开票信息管理) <br/>
* File: FinCompanyInvoicingDto.java <br/>
@ -75,4 +78,10 @@ public class FinCompanyInvoicingDto implements Dto {
private String orgSidPath;
@ApiModelProperty("创建人sid")
private String createBySid;
@ApiModelProperty("开票类型")
private String openTickTypeKey;
@ApiModelProperty("开票类型")
private String openTickTypeValue;
@ApiModelProperty("营业执照")
private List<String> yyzzFiles = new ArrayList<>();
}

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

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

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

@ -177,4 +177,7 @@ public class FinBillFileService extends MybatisBaseService<FinBillFileMapper, Fi
public List<FinBillFileVo> fetchclmmhtBySid(String sid) {
return baseMapper.fetchclmmhtBySid(sid);
}
public List<FinBillFileVo> fetchcyyzzBySid(String sid) {
return baseMapper.fetchcyyzzBySid(sid);
}
}

75
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingService.java

@ -28,18 +28,25 @@ package com.yxt.anrui.fin.biz.fincompanyinvoicing;
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.buscenter.api.busbillfile.BusAttachTypeEnum;
import com.yxt.anrui.buscenter.api.busbillfile.BusBillFileDto;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.fin.api.finbillfile.FinAttachTypeEnum;
import com.yxt.anrui.fin.api.finbillfile.FinBillFileDto;
import com.yxt.anrui.fin.api.finbillfile.FinBillFileVo;
import com.yxt.anrui.fin.api.fincompanyinvoicing.*;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceVo;
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.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
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;
@ -79,6 +86,10 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
private SysUserFeign sysUserFeign;
@Resource
private CrmCustomerTempFeign crmCustomerTempFeign;
@Autowired
private FinBillFileService finBillFileService;
@Autowired
private FileUploadComponent fileUploadComponent;
private QueryWrapper<FinCompanyInvoicing> createQueryWrapper(FinCompanyInvoicingQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -90,7 +101,7 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
public PagerVo<FinCompanyInvoicingVo> listPageVo(PagerQuery<FinCompanyInvoicingQuery> pq) {
FinCompanyInvoicingQuery query = pq.getParams();
QueryWrapper<FinCompanyInvoicing> qw = new QueryWrapper<>();
qw.ne("fci.purchaseSystemSid","");
qw.ne("fci.purchaseSystemSid", "");
//层级筛选
//=======================
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
@ -140,9 +151,9 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
IPage<FinCompanyInvoicing> page = PagerUtil.queryToPage(pq);
IPage<FinCompanyInvoicingVo> pagging = baseMapper.selectPageVoGS(page, qw);
for (FinCompanyInvoicingVo record : pagging.getRecords()) {
if (record.getCreateBySid().equals(query.getUserSid())){
if (record.getCreateBySid().equals(query.getUserSid())) {
record.setIsCZ(true);
}else {
} else {
record.setIsCZ(false);
}
}
@ -169,6 +180,12 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
public String insertByDto(FinCompanyInvoicingDto dto) {
FinCompanyInvoicing entity = new FinCompanyInvoicing();
BeanUtil.copyProperties(dto, entity, "id", "sid");
if (StringUtils.isNotBlank(dto.getOpenTickTypeKey())) {
entity.setInvoiceTypeKey(dto.getOpenTickTypeKey());
}
if (StringUtils.isNotBlank(dto.getOpenTickTypeValue())) {
entity.setInvoiceType(dto.getOpenTickTypeValue());
}
baseMapper.insert(entity);
return entity.getSid();
}
@ -180,6 +197,12 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
}
FinCompanyInvoicing entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
if (StringUtils.isNotBlank(dto.getOpenTickTypeKey())) {
entity.setInvoiceTypeKey(dto.getOpenTickTypeKey());
}
if (StringUtils.isNotBlank(dto.getOpenTickTypeValue())) {
entity.setInvoiceType(dto.getOpenTickTypeValue());
}
baseMapper.updateById(entity);
}
@ -187,6 +210,21 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
FinCompanyInvoicing entity = fetchBySid(sid);
FinCompanyInvoicingDetailsVo vo = new FinCompanyInvoicingDetailsVo();
BeanUtil.copyProperties(entity, vo);
if (StringUtils.isNotBlank(entity.getInvoiceType())) {
vo.setOpenTickTypeValue(entity.getInvoiceType());
}
if (StringUtils.isNotBlank(entity.getInvoiceTypeKey())) {
vo.setOpenTickTypeKey(entity.getInvoiceTypeKey());
}
List<String> fileList = new ArrayList<>();
List<FinBillFileVo> clmmhtApplicationAppendxs = finBillFileService.fetchcyyzzBySid(sid);
for (FinBillFileVo clmmhtApplicationAppendx : clmmhtApplicationAppendxs) {
String fileUrl = clmmhtApplicationAppendx.getFileUrl();
String urlPrefix = fileUploadComponent.getUrlPrefix();
fileUrl = urlPrefix + fileUrl;
fileList.add(fileUrl);
}
vo.setYyzzFiles(fileList);
return vo;
}
@ -276,6 +314,7 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid();
String useOrgSid = dto.getUseOrgSid();
List<String> yyzzFiles = dto.getYyzzFiles();
if (StringUtils.isBlank(useOrgSid)) {
useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgSidPath()).getData();
dto.setUseOrgSid(useOrgSid);
@ -321,6 +360,20 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
}
finExtra.setInfo(openTickRemarks);
finAppDisAndCustm.setExtra(finExtra);
//保存附件
finBillFileService.deleteByFinAppSid(sid);
if (!yyzzFiles.isEmpty()) {
for (String yyzzFile : yyzzFiles) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
if (yyzzFile.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
yyzzFile = yyzzFile.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(yyzzFile);
finBillFileDto.setBillAppSid(sid);
finBillFileDto.setAttachType(FinAttachTypeEnum.YYZZ.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
return rb.success().setData(finAppDisAndCustm);
}
QueryWrapper qw1 = new QueryWrapper<>();
@ -337,6 +390,20 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
return rb.setMsg("该企业开票信息已存在");
}
this.updateByDto(dto);
//保存附件
finBillFileService.deleteByFinAppSid(dtoSid);
if (!yyzzFiles.isEmpty()) {
for (String yyzzFile : yyzzFiles) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
if (yyzzFile.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
yyzzFile = yyzzFile.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(yyzzFile);
finBillFileDto.setBillAppSid(dtoSid);
finBillFileDto.setAttachType(FinAttachTypeEnum.YYZZ.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
FinAppDisAndCustm finAppDisAndCustm = new FinAppDisAndCustm();
FinExtra finExtra = new FinExtra();
finAppDisAndCustm.setId(dtoSid);
@ -401,7 +468,7 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
return rb.success().setData(finCompanyInvoicingDetailsVo);
}
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(sid).getData();
if (crmCustomerTempVo == null){
if (crmCustomerTempVo == null) {
return rb.setMsg("该开票名称不存在,请重新选择");
}
finCompanyInvoicingDetailsVo.setSid(crmCustomerTempVo.getSid());

Loading…
Cancel
Save