diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/PcSelBillVinNoQuery.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/PcSelBillVinNoQuery.java index 1d7f4d2a24..ad2e2e6e99 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/PcSelBillVinNoQuery.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/PcSelBillVinNoQuery.java @@ -54,8 +54,10 @@ public class PcSelBillVinNoQuery implements Query { private String orgPath; @ApiModelProperty("合同号") private String contractId; - @ApiModelProperty("已选车架号") + @ApiModelProperty("已选车辆sid") private List vins; + @ApiModelProperty("已选车架号") + private List vinNos; @ApiModelProperty("客户名称") private String name; @ApiModelProperty("车架号") diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java index 2ec796c374..127ec19507 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java @@ -405,11 +405,15 @@ public class FinBillApplicationService extends MybatisBaseService 0) { qw.notIn("bv.linkSid", query.getVins()); } + if (query.getVinNos() != null && query.getVinNos().size() > 0) { + qw.notIn("bv.linkNo", query.getVinNos()); + } //移动端条件 if (StringUtils.isNotBlank(query.getName())) { qw.and(wrapper -> wrapper.like("bo.contractNo", query.getName()).or().like("bo.customerName", query.getName())); @@ -1275,6 +1279,14 @@ public class FinBillApplicationService extends MybatisBaseService finBillVehicles = dto.getFinBillVehicles(); + for (FinBillVehicleDto finBillVehicle : finBillVehicles) { + int i = finBillVehicleService.checkIsKp(contractNo, finBillVehicle.getVehSid()); + if (i > 0){ + return rb.setMsg(finBillVehicle.getVinNo() + "已发起过开票申请"); + } + } //用户的组织全路径 String orgSidPath = ""; if (StringUtils.isNotBlank(dto.getOrgSidPath())) { @@ -2420,8 +2432,10 @@ public class FinBillApplicationService extends MybatisBaseService { List fetchByMainSid(String sid); List fetchByUseOrgSid(@Param(Constants.WRAPPER) Wrapper qw); + + int checkIsKp(@Param("contractNo") String contractNo,@Param("vehSid") String vehSid); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleMapper.xml b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleMapper.xml index 1507d51e1d..8b74f8aaf9 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleMapper.xml +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleMapper.xml @@ -45,4 +45,15 @@ AND fba.`nodeState` != "待提交" AND fba.`nodeState` != "终止" + + \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleService.java index ee3855009f..634d9b547d 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleService.java @@ -161,4 +161,8 @@ public class FinBillVehicleService extends MybatisBaseService> getInvoicedApplyList(@RequestBody PagerQuery pagerQuery); @ApiOperation("手机端-删除开票申请") - @GetMapping("/deleteInvoice") + @DeleteMapping("/deleteInvoice") @ResponseBody public ResultBean deleteInvoice(@RequestParam("sid") String sid); diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/SelBillVinNoPageVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/SelBillVinNoPageVo.java index aad8023e41..d9c773eece 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/SelBillVinNoPageVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/SelBillVinNoPageVo.java @@ -24,6 +24,12 @@ public class SelBillVinNoPageVo implements Vo { private String invoicingUnit; @ApiModelProperty("客户名称") private String name; + @ApiModelProperty("单台开票金额") + private String invoiceMoney; + @ApiModelProperty("车型sid") + private String modelSid; + @ApiModelProperty("车型名称") + private String modelName; @ApiModelProperty("主车信息") private List cars; diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java index 2d91415196..0c26cc40e3 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java @@ -50,6 +50,7 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collections; +import java.util.Date; import java.util.List; /** @@ -128,32 +129,71 @@ public class InvoicedService { public ResultBean> getSelectVinsList(PagerQuery pagerQuery) { ResultBean> rb = ResultBean.fireFail(); SelBillVinNoQuery params = pagerQuery.getParams(); - FinBillApplicationQuery finBillApplicationQuery = new FinBillApplicationQuery(); - finBillApplicationQuery.setCreateBySid(params.getUserSid()); - finBillApplicationQuery.setName(params.getName()); - finBillApplicationQuery.setOrgPath(params.getOrgPath()); - //finBillApplicationQuery.setType(params.getType()); - //finBillApplicationQuery.setMenuSid(params.getMenuSid()); - PagerQuery pcq = new PagerQuery<>(); - pcq.setParams(finBillApplicationQuery); - ResultBean> resultBean = finBillApplicationFeign.listPage(pcq); - List records = resultBean.getData().getRecords(); - List billApplicationPageVos = new ArrayList<>(); + PcSelBillVinNoQuery pcSelBillVinNoQuery = new PcSelBillVinNoQuery(); + pcSelBillVinNoQuery.setUserSid(params.getUserSid()); + pcSelBillVinNoQuery.setName(params.getName()); + pcSelBillVinNoQuery.setOrgPath(params.getOrgPath()); + pcSelBillVinNoQuery.setContractId(params.getContractId()); + pcSelBillVinNoQuery.setVinNos(params.getVins()); + PagerQuery pcq = new PagerQuery<>(); + pcq.setParams(pcSelBillVinNoQuery); + PagerVo data = finBillApplicationFeign.getSelectVinsList(pcq).getData(); + List selBillVinNoPageVos = new ArrayList<>(); + List selBillZcVos = new ArrayList<>(); PagerVo v = new PagerVo<>(); - v.setRecords(billApplicationPageVos); + for (PcSelBillVinNoPageVo record : data.getRecords()) { + //第一层 + SelBillVinNoPageVo selBillVinNoPageVo = new SelBillVinNoPageVo(); + if (selBillVinNoPageVos.stream(). + filter(item -> item.getContractId(). + equals(record.getContractId())).findAny(). + isPresent()) { + } else { + selBillZcVos = new ArrayList<>(); + BeanUtil.copyProperties(record, selBillVinNoPageVo); + selBillVinNoPageVo.setInvoiceMoney(record.getKpMoney()); + selBillVinNoPageVos.add(selBillVinNoPageVo); + } + //第二层 + if (selBillVinNoPageVos.stream(). + filter(item -> item.getContractId(). + equals(record.getContractId())).findAny(). + isPresent()) { + SelBillZcVo selBillZcVo = new SelBillZcVo(); + BeanUtil.copyProperties(record, selBillZcVo); + //第三层 + List finBillTrailers = record.getFinBillTrailers(); + List selBillGcVos = new ArrayList<>(); + if (finBillTrailers != null && finBillTrailers.size() > 0) { + for (PcSelBillGcVo finBillTrailer : finBillTrailers) { + SelBillGcVo selBillGcVo = new SelBillGcVo(); + BeanUtil.copyProperties(finBillTrailer, selBillGcVo); + selBillGcVos.add(selBillGcVo); + } + } + selBillZcVo.setFinBillTrailers(selBillGcVos); + selBillZcVos.add(selBillZcVo); + selBillVinNoPageVo.setCars(selBillZcVos); + } + } + v.setRecords(selBillVinNoPageVos); return rb.success().setData(v); } public ResultBean getInvoicedApply(BillApplicationPageInfoQuery query) { ResultBean rb = ResultBean.fireFail(); BillApplicationIInfoVo vo = new BillApplicationIInfoVo(); - if (StringUtils.isBlank(query.getSid())){ + if (StringUtils.isBlank(query.getSid())) { String userSid = query.getUserSid(); String orgPath = query.getOrgPath(); SysUserVo sysUserVo = sysUserFeign.fetchBySid(userSid).getData(); SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.selectByOrgSidPath(orgPath).getData(); - vo.setPublishInfo(sysOrganizationVo.getName() + sysUserVo.getName()); + vo.setPublishInfo(sysOrganizationVo.getName() + "-" + sysUserVo.getName()); vo.setShowBtn(true); + vo.setInvoiceStateKey("001"); + vo.setInvoiceState("正常开票"); + vo.setDate(DateUtil.formatDate(new Date())); + return rb.success().setData(vo); } ResultBean resultBean = finBillApplicationFeign.fetchDetailsBySid(query.getSid()); if (!resultBean.getSuccess()) { @@ -428,9 +468,9 @@ public class InvoicedService { FinBillApplicationDto finBillApplicationDto = new FinBillApplicationDto(); BeanUtil.copyProperties(dto, finBillApplicationDto, "carBuyContractImages"); String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData(); - if (dto.getShowBtn()){ + if (dto.getShowBtn()) { finBillApplicationDto.setShowBtnStr("1"); - }else { + } else { finBillApplicationDto.setShowBtnStr("0"); } finBillApplicationDto.setUseOrgSid(useOrgSid); @@ -540,6 +580,7 @@ public class InvoicedService { finBillApplicationDto.setKpxxqrsApplicationAppendxs(kpxxqrsApplicationAppendxs); finBillApplicationDto.setCldjhtApplicationAppendxs(cldjhtApplicationAppendxs); finBillApplicationDto.setZjApplicationAppendxs(idCardImagesPC); + finBillApplicationDto.setArrearsMoney("0"); ResultBean resultBean = finBillApplicationFeign.save(finBillApplicationDto); return resultBean; } @@ -740,9 +781,9 @@ public class InvoicedService { public ResultBean submitInvoicedInfo(SubmitInvoicedInfoDto dto) { ResultBean rb = ResultBean.fireFail(); - if (dto.getShowBtn()){ + if (dto.getShowBtn()) { List vinList = dto.getVinList(); - if (vinList == null || vinList.size() == 0){ + if (vinList == null || vinList.size() == 0) { return rb.setMsg("车辆不能为空"); } }