|
|
@ -38,10 +38,7 @@ import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.List; |
|
|
|
import java.util.*; |
|
|
|
|
|
|
|
/** |
|
|
|
* Project: anrui-fin(财务管理) <br/> |
|
|
@ -157,8 +154,8 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi |
|
|
|
} |
|
|
|
String createStartTime = query.getCreateStartTime(); |
|
|
|
String createEndTime = query.getCreateEndTime(); |
|
|
|
qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createStartTime), "date_format (v.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). |
|
|
|
apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createEndTime), "date_format (v.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" |
|
|
|
qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createStartTime), "date_format (v.invoiceDate,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). |
|
|
|
apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createEndTime), "date_format (v.invoiceDate,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
return qw; |
|
|
|
} |
|
|
@ -195,57 +192,74 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi |
|
|
|
} |
|
|
|
|
|
|
|
public List<FinVehicleInvoiceExportVo> listExcel(FinVehicleInvoiceQuery query) { |
|
|
|
|
|
|
|
QueryWrapper<FinVehicleInvoiceExportVo> qw = new QueryWrapper<>(); |
|
|
|
qw.eq("isDelete", "0"); |
|
|
|
qw.eq("v.isDelete", "0"); |
|
|
|
//层级筛选
|
|
|
|
String orgSidPath = query.getOrgSidPath(); |
|
|
|
SysOrganizationVo data = sysOrganizationFeign.selectByOrgSidPath(orgSidPath).getData(); |
|
|
|
String orgLevelKey = data.getOrgLevelKey(); |
|
|
|
if ("2".equals(orgLevelKey)) { |
|
|
|
String[] split = orgSidPath.split("/"); |
|
|
|
String s = split[0] + "/" + split[1]; |
|
|
|
// orgSidPath = orgSidPath.substring(0, 73);
|
|
|
|
qw.like("so.orgSidPath", s); |
|
|
|
} else if ("3".equals(orgLevelKey)) { |
|
|
|
qw.eq("v.useOrgSid", query.getCreateOrgSid()); |
|
|
|
} |
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(query.getInvoiceTitle())) { |
|
|
|
qw.like("invoiceTitle", query.getInvoiceTitle()); |
|
|
|
qw.like("v.invoiceTitle", query.getInvoiceTitle()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getInvoiceType())) { |
|
|
|
qw.like("invoiceType", query.getInvoiceType()); |
|
|
|
qw.like("v.invoiceType", query.getInvoiceType()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getInvoiceTypeKey())) { |
|
|
|
qw.like("invoiceTypeKey", query.getInvoiceTypeKey()); |
|
|
|
qw.like("v.invoiceTypeKey", query.getInvoiceTypeKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getContractNo())) { |
|
|
|
qw.like("contractNo", query.getContractNo()); |
|
|
|
qw.like("v.contractNo", query.getContractNo()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getCustomerName())) { |
|
|
|
qw.like("customerName", query.getCustomerName()); |
|
|
|
qw.like("v.customerName", query.getCustomerName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getVinNo())) { |
|
|
|
qw.like("VIN", query.getVinNo()); |
|
|
|
qw.like("v.VIN", query.getVinNo()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getTransferState())) { |
|
|
|
qw.eq("transferState", query.getTransferState()); |
|
|
|
qw.eq("v.transferState", query.getTransferState()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getBillingState())) { |
|
|
|
qw.eq("billingState", query.getBillingState()); |
|
|
|
qw.eq("v.billingState", query.getBillingState()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getTransferStateKey())) { |
|
|
|
qw.eq("transferStateKey", query.getTransferStateKey()); |
|
|
|
qw.eq("v.transferStateKey", query.getTransferStateKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getBillingStateKey())) { |
|
|
|
qw.eq("billingStateKey", query.getBillingStateKey()); |
|
|
|
qw.eq("v.billingStateKey", query.getBillingStateKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getInvoicingName())) { |
|
|
|
qw.like("invoicingName", query.getInvoicingName()); |
|
|
|
qw.like("v.invoicingName", query.getInvoicingName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getInvoiceCode())) { |
|
|
|
qw.like("invoiceCode", query.getInvoiceCode()); |
|
|
|
qw.like("v.invoiceCode", query.getInvoiceCode()); |
|
|
|
} |
|
|
|
String createStartTime = query.getCreateStartTime(); |
|
|
|
String createEndTime = query.getCreateEndTime(); |
|
|
|
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.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createStartTime), "date_format (v.invoiceDate,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). |
|
|
|
apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createEndTime), "date_format (v.invoiceDate,'%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) { |
|
|
|
invoiceExportVo.setRankNo(id); |
|
|
|
id = id + 1; |
|
|
|
} |
|
|
|
return invoiceExportVoList; |
|
|
|
|
|
|
|
List<FinVehicleInvoiceExportVo> records = baseMapper.selByExcel(qw); |
|
|
|
records.removeAll(Collections.singleton(null)); |
|
|
|
if (!records.isEmpty()) { |
|
|
|
int id = 1; |
|
|
|
for (FinVehicleInvoiceExportVo invoiceExportVo : records) { |
|
|
|
invoiceExportVo.setRankNo(id); |
|
|
|
id = id + 1; |
|
|
|
} |
|
|
|
} |
|
|
|
return records; |
|
|
|
} |
|
|
|
|
|
|
|
public FinVehicleInvoiceDetailsVo getInvoiceDetailsBySid(String sid) { |
|
|
@ -395,7 +409,7 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi |
|
|
|
public ResultBean<VehicleInvoiceVo> selectByVinSids(String vinSid) { |
|
|
|
ResultBean<VehicleInvoiceVo> rb = ResultBean.fireFail(); |
|
|
|
VehicleInvoiceVo vehicleInvoiceVo = baseMapper.selectByVinSids(vinSid); |
|
|
|
if(StringUtils.isNotBlank(vehicleInvoiceVo.getFilePath())){ |
|
|
|
if (StringUtils.isNotBlank(vehicleInvoiceVo.getFilePath())) { |
|
|
|
List<String> filePathList = Arrays.asList(vehicleInvoiceVo.getFilePath().split(",")); |
|
|
|
vehicleInvoiceVo.setInvoiceImages(filePathList); |
|
|
|
} |
|
|
@ -423,10 +437,10 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi |
|
|
|
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.selectByOrgSidPath(orgPath).getData(); |
|
|
|
for (String sid : sids) { |
|
|
|
FinVehicleInvoice finVehicleInvoice = fetchBySid(sid); |
|
|
|
if (CertificState.TransferState.TRANSTATE_WJS.getCode().equals(finVehicleInvoice.getTransferStateKey()) && "002".equals(finVehicleInvoice.getBillingStateKey()) && "是".equals(finVehicleInvoice.getIsTakeTicket())){ |
|
|
|
if (CertificState.TransferState.TRANSTATE_WJS.getCode().equals(finVehicleInvoice.getTransferStateKey()) && "002".equals(finVehicleInvoice.getBillingStateKey()) && "是".equals(finVehicleInvoice.getIsTakeTicket())) { |
|
|
|
String vehicleSid = finVehicleInvoice.getVehicleSid(); |
|
|
|
BusSalesOrderDetailsVo busSalesOrderDetailsVo = busSalesOrderFeign.selNewComSaleByVehSid(vehicleSid).getData(); |
|
|
|
if (busSalesOrderDetailsVo == null){ |
|
|
|
if (busSalesOrderDetailsVo == null) { |
|
|
|
return rb.setMsg("暂无销售订单,不可移交"); |
|
|
|
} |
|
|
|
String staffSid = busSalesOrderDetailsVo.getStaffSid(); |
|
|
@ -447,7 +461,7 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi |
|
|
|
busTransferRecordsDto.setTransferDept(sysOrganizationVo.getName()); |
|
|
|
busTransferRecordsDto.setGoodsType(BusTransferRecordEnum.FP.getRemarks()); |
|
|
|
busTransferRecordsDto.setGoodsTypeKey(BusTransferRecordEnum.FP.getCode()); |
|
|
|
if ("89d7f310-a221-405b-858e-dd650e0993d5".equals(dto.getReceiveRoleSid())){ |
|
|
|
if ("89d7f310-a221-405b-858e-dd650e0993d5".equals(dto.getReceiveRoleSid())) { |
|
|
|
busTransferRecordsDto.setReceiveRoleSid(dto.getReceiveRoleSid()); |
|
|
|
busTransferRecordsDto.setReceiveSid(sysUserVo1.getSid()); |
|
|
|
busTransferRecordsDto.setReceiveName(sysUserVo1.getName()); |
|
|
@ -458,7 +472,7 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi |
|
|
|
//消息设置接收人信息
|
|
|
|
messagePushTransferDto.setReceiveSids(sysUserVo1.getSid()); |
|
|
|
messagePushTransferDto.setReceiveNames(sysUserVo1.getName()); |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
busTransferRecordsDto.setReceiveRoleSid(dto.getReceiveRoleSid()); |
|
|
|
//消息设置接收人信息
|
|
|
|
String receiveRoleSid = dto.getReceiveRoleSid(); |
|
|
@ -472,21 +486,21 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi |
|
|
|
receiveSids = receiveSids + sysStaffOrgByUserVo.getSid() + ","; |
|
|
|
receiveNames = receiveNames + sysStaffOrgByUserVo.getName() + ","; |
|
|
|
} |
|
|
|
messagePushTransferDto.setReceiveSids(receiveSids.substring(0,receiveSids.length() - 1)); |
|
|
|
messagePushTransferDto.setReceiveNames(receiveNames.substring(0,receiveNames.length() - 1)); |
|
|
|
messagePushTransferDto.setReceiveSids(receiveSids.substring(0, receiveSids.length() - 1)); |
|
|
|
messagePushTransferDto.setReceiveNames(receiveNames.substring(0, receiveNames.length() - 1)); |
|
|
|
} |
|
|
|
busTransferRecordsDto.setUseOrgSid(finVehicleInvoice.getUseOrgSid()); |
|
|
|
//移交附件
|
|
|
|
String billingSid = finVehicleInvoice.getBillingSid(); |
|
|
|
List<FinBillFileVo> finBillFileVos = finBillFileService.fetchFileByBillSid(billingSid); |
|
|
|
String transferFilesString = ""; |
|
|
|
if (!finBillFileVos.isEmpty()){ |
|
|
|
if (!finBillFileVos.isEmpty()) { |
|
|
|
for (FinBillFileVo finBillFileVo : finBillFileVos) { |
|
|
|
transferFilesString = transferFilesString + finBillFileVo.getFileUrl() + ","; |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(transferFilesString)){ |
|
|
|
busTransferRecordsDto.setTransferFiles(transferFilesString.substring(0,transferFilesString.length() - 1)); |
|
|
|
if (StringUtils.isNotBlank(transferFilesString)) { |
|
|
|
busTransferRecordsDto.setTransferFiles(transferFilesString.substring(0, transferFilesString.length() - 1)); |
|
|
|
} |
|
|
|
busTransferRecordsFeign.saveRecords(busTransferRecordsDto); |
|
|
|
//消息推送
|
|
|
@ -501,8 +515,8 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi |
|
|
|
messagePushTransferDto.setSenderDeptName(sysOrganizationVo.getName()); |
|
|
|
messagePushTransferDto.setBusinessSid(sid); |
|
|
|
messageFeign.pushTransferMessage(messagePushTransferDto); |
|
|
|
baseMapper.updateTransferState(sid,CertificState.TransferState.TRANSTATE_YJZ.getCode(),CertificState.TransferState.TRANSTATE_YJZ.getRemarks()); |
|
|
|
}else { |
|
|
|
baseMapper.updateTransferState(sid, CertificState.TransferState.TRANSTATE_YJZ.getCode(), CertificState.TransferState.TRANSTATE_YJZ.getRemarks()); |
|
|
|
} else { |
|
|
|
rb.setMsg("不符合移交条件"); |
|
|
|
} |
|
|
|
} |
|
|
@ -512,9 +526,9 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi |
|
|
|
public ResultBean invoiceYJCH(String[] sids) { |
|
|
|
for (String sid : sids) { |
|
|
|
FinVehicleInvoice finVehicleInvoice = fetchBySid(sid); |
|
|
|
if (CertificState.TransferState.TRANSTATE_YJZ.getCode().equals(finVehicleInvoice.getTransferStateKey())){ |
|
|
|
if (CertificState.TransferState.TRANSTATE_YJZ.getCode().equals(finVehicleInvoice.getTransferStateKey())) { |
|
|
|
busTransferRecordsFeign.delBySourceSid(sid); |
|
|
|
baseMapper.updateTransferState(sid,CertificState.TransferState.TRANSTATE_WJS.getCode(),CertificState.TransferState.TRANSTATE_WJS.getRemarks()); |
|
|
|
baseMapper.updateTransferState(sid, CertificState.TransferState.TRANSTATE_WJS.getCode(), CertificState.TransferState.TRANSTATE_WJS.getRemarks()); |
|
|
|
} |
|
|
|
} |
|
|
|
return new ResultBean().success(); |
|
|
@ -523,13 +537,13 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi |
|
|
|
public ResultBean updateYjState(StateUpdateQuery query) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
FinVehicleInvoice finVehicleInvoice = baseMapper.selectByVinSidss(query.getVinSid()); |
|
|
|
if(finVehicleInvoice != null){ |
|
|
|
if (finVehicleInvoice != null) { |
|
|
|
finVehicleInvoice.setTransferState(query.getTransferState()); |
|
|
|
finVehicleInvoice.setTransferStateKey(query.getTransferStateKey()); |
|
|
|
if(StringUtils.isNotBlank(query.getReceiveSid())){ |
|
|
|
if (StringUtils.isNotBlank(query.getReceiveSid())) { |
|
|
|
finVehicleInvoice.setRecipientSid(query.getReceiveSid()); |
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(query.getReceiveName())){ |
|
|
|
if (StringUtils.isNotBlank(query.getReceiveName())) { |
|
|
|
finVehicleInvoice.setRecipient(query.getReceiveName()); |
|
|
|
} |
|
|
|
//接收日期
|
|
|
@ -541,7 +555,7 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi |
|
|
|
|
|
|
|
public ResultBean<FinVehicleInvoice> selectByVinAndContractNo(String vinSid, String contractNo) { |
|
|
|
ResultBean<FinVehicleInvoice> rb = ResultBean.fireFail(); |
|
|
|
FinVehicleInvoice finVehicleInvoice = baseMapper.selectByVinAndContractNo(vinSid,contractNo); |
|
|
|
FinVehicleInvoice finVehicleInvoice = baseMapper.selectByVinAndContractNo(vinSid, contractNo); |
|
|
|
return rb.success().setData(finVehicleInvoice); |
|
|
|
} |
|
|
|
} |