diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceService.java index 7c0900e56a..ddc325bcaa 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceService.java @@ -233,7 +233,9 @@ public class BaseModelModpriceService extends MybatisBaseService details(@PathVariable("sid")String sid); + ResultBean details(@PathVariable("sid") String sid); @ApiOperation("根据车辆sid查询") @GetMapping("/fetchByVehSid/{vehSid}") @@ -75,12 +75,12 @@ public interface BusSalesOrderVehicleFeign { @ApiOperation("根据销售订单车辆表的sid更新临时号码") @PostMapping("/updateTemporaryNo") @ResponseBody - ResultBean updateTemporaryNo(@RequestParam("sid")String sid,@RequestParam("temporaryNo")String temporaryNo); + ResultBean updateTemporaryNo(@RequestParam("sid") String sid, @RequestParam("temporaryNo") String temporaryNo); @ApiOperation("根据sid查询") @GetMapping("/fetchBySalesOrderVehiclerSid/{busVinSid}") @ResponseBody - ResultBean fetchBySalesOrderVehiclerSid(@PathVariable("busVinSid")String busVinSid); + ResultBean fetchBySalesOrderVehiclerSid(@PathVariable("busVinSid") String busVinSid); @ApiOperation("移动端-欠款开票选择车辆分页列表") @PostMapping("/appVehicleQKKPList") @@ -98,4 +98,9 @@ public interface BusSalesOrderVehicleFeign { @GetMapping("/fetchByLSBM/{fNumber}") @ResponseBody ResultBean fetchByLSBM(@PathVariable("fNumber") String fNumber); + + @ApiOperation("根据合同编号和车辆sid查询销售订单车辆信息") + @PostMapping("/selectByNoAndVinSid") + @ResponseBody + ResultBean selectByNoAndVinSid(@RequestParam("contractNo") String contractNo, @RequestParam("vehSid") String vehSid); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeignFallback.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeignFallback.java index 02aa6ce687..034f93a2ce 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeignFallback.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeignFallback.java @@ -93,4 +93,9 @@ public class BusSalesOrderVehicleFeignFallback implements BusSalesOrderVehicleFe return null; } + @Override + public ResultBean selectByNoAndVinSid(String contractNo, String vehSid) { + return null; + } + } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleRest.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleRest.java index 776935cb26..c0c72d839e 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleRest.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleRest.java @@ -76,7 +76,7 @@ public class BusSalesOrderVehicleRest implements BusSalesOrderVehicleFeign { @Override public ResultBean updateTemporaryNo(String sid, String temporaryNo) { - return busSalesOrderVehicleService.updateTemporaryNo(sid,temporaryNo); + return busSalesOrderVehicleService.updateTemporaryNo(sid, temporaryNo); } @Override @@ -105,4 +105,11 @@ public class BusSalesOrderVehicleRest implements BusSalesOrderVehicleFeign { public ResultBean fetchByLSBM(String fNumber) { return busSalesOrderVehicleService.fetchByLSBM(fNumber); } + + @Override + public ResultBean selectByNoAndVinSid(String contractNo, String vehSid) { + ResultBean rb = ResultBean.fireFail(); + BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByNoAndVinSid(contractNo, vehSid); + return rb.success().setData(busSalesOrderVehicle); + } } diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplication.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplication.java index 6853c1a5b0..3caa401182 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplication.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplication.java @@ -142,4 +142,6 @@ public class FinBillApplication extends BaseEntity { private String billNo; // 单据编号 @ApiModelProperty("提前领取发票原件原因") private String reason; + @ApiModelProperty("欠款开票单据编号(欠款领票使用)") + private String qkkpBillNo; } diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationDto.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationDto.java index cfb4ed5285..c65cd011f7 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationDto.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationDto.java @@ -146,6 +146,8 @@ public class FinBillApplicationDto implements Dto { private String billNo; @ApiModelProperty("提前领取发票原件原因") private String reason; + @ApiModelProperty("欠款开票单据编号(欠款领票使用)") + private String qkkpBillNo; @ApiModelProperty("开票车辆信息") private List finBillVehicles; diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationVo.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationVo.java index c60cd8f2f1..315dd223a3 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationVo.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationVo.java @@ -84,6 +84,8 @@ public class FinBillApplicationVo implements Vo { private String reason; @ApiModelProperty("欠款开票单据编号") private String qkkpBillNo; + @ApiModelProperty("是否存在欠款领票申请") + private Boolean isExistQKLP; @ApiModelProperty(value = "流程id") private String procDefId; diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.java index d1130663f8..30287924da 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.java @@ -76,4 +76,7 @@ public interface FinBillApplicationMapper extends BaseMapper List selectByContractNo(String contractNo); int selectBySid(String join); + + @Select("select * from fin_bill_application where qkkpBillNo = #{qkkpBillNo}") + FinBillApplicationDetailsVo fetchByQkkpBillNo(String qkkpBillNo); } \ No newline at end of file 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 5d445b53f4..2adcedf4ea 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 @@ -53,6 +53,8 @@ import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderIsDTKPJVo; import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; import com.yxt.anrui.fin.api.finbillapplication.*; import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillCompleteDto; import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeQuery; @@ -65,11 +67,14 @@ import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerVo; import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicle; import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleDto; import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleVo; +import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailed; import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDto; import com.yxt.anrui.fin.biz.finbillapplicationpublic.FinBillApplicationPublicService; import com.yxt.anrui.fin.biz.finbillfile.FinBillFileService; import com.yxt.anrui.fin.biz.finbilltrailer.FinBillTrailerService; import com.yxt.anrui.fin.biz.finbillvehicle.FinBillVehicleService; +import com.yxt.anrui.fin.biz.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedService; +import com.yxt.anrui.fin.biz.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedService; import com.yxt.anrui.fin.biz.finvehicleinvoice.FinVehicleInvoiceService; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; @@ -95,6 +100,7 @@ import com.yxt.messagecenter.api.message.MessageFeign; import com.yxt.messagecenter.api.message.MessageFlowVo; import com.yxt.messagecenter.api.message.MessageFlowableQuery; import org.apache.commons.lang3.StringUtils; +import org.apache.kafka.common.metrics.stats.Sum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -139,6 +145,8 @@ public class FinBillApplicationService extends MybatisBaseService createQueryWrapper(FinBillApplicationQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -161,7 +173,7 @@ public class FinBillApplicationService extends MybatisBaseService wrapper.eq("fba.billStateKey", "001").or().eq("fba.billStateKey", "002")); qw.eq("fba.useOrgSid", query.getUseOrgSid()); qw.eq("fba.createBySid", query.getCreateBySid()); if (StringUtils.isNotBlank(query.getSaleTypeKey())) { @@ -1307,6 +1319,22 @@ public class FinBillApplicationService extends MybatisBaseService ysSids = finUncollectedReceivablesDetailedService.fetchYsSidByOrderVehSid(busSalesOrderVehicle.getSid()); + //已收金额 + BigDecimal seYs = new BigDecimal("0"); + for (String ysSid : ysSids) { + seYs = seYs.add(new BigDecimal(finSelectedReceivablesDetailedService.fetchSumSeYsByReceivablesSid(ysSid))); + } + //单台欠款金额 + BigDecimal qkMoneyOne = unYs.subtract(seYs); + //欠款金额合计 + BigDecimal qkMoneyTotal = qkMoneyOne.multiply(new BigDecimal(finBillVehicles.size())); + finBillApplication.setArrearsMoney(qkMoneyTotal.toString()); save(finBillApplication); //主车开票信息 for (FinBillVehicleDto finBillVehicleDto : finBillVehicles) { @@ -1470,6 +1498,11 @@ public class FinBillApplicationService extends MybatisBaseService finBillVehicles = dto.getFinBillVehicles(); List fjApplicationAppendxs = dto.getFjApplicationAppendxs(); if (StringUtils.isBlank(dtoSid)) {//新增 + String qkkpBillNo = dto.getBillNo(); + FinBillApplicationDetailsVo finBillApplicationDetailsVo = baseMapper.fetchByQkkpBillNo(qkkpBillNo); + if (finBillApplicationDetailsVo != null && !finBillApplicationDetailsVo.getNodeState().equals("终止")){ + return rb.setMsg("该欠款开票的领票申请已存在"); + } FinBillApplication finBillApplication = new FinBillApplication(); BeanUtil.copyProperties(dto, finBillApplication, "sid"); finBillApplication.setNodeState("待提交"); @@ -1695,6 +1728,56 @@ public class FinBillApplicationService extends MybatisBaseService finBillVehicleVos = finBillVehicleService.fetchVehBySid(businessSid); + List finBillTrailerVos = finBillTrailerService.fetchByMainSid(businessSid); + for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) { + FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto(); + finVehicleInvoiceDto.setInvoiceTitle(finBillApplication.getOpenTickUnitName()); + finVehicleInvoiceDto.setContractNo(finBillApplication.getContractNo()); + finVehicleInvoiceDto.setCustomerName(finBillApplication.getCustomerName()); + finVehicleInvoiceDto.setVIN(finBillVehicleVo.getVinNo()); + finVehicleInvoiceDto.setInvoiceTypeKey(finBillVehicleVo.getBillTypeKey()); + finVehicleInvoiceDto.setInvoiceType(finBillVehicleVo.getBillTypeValue()); + finVehicleInvoiceDto.setInvoiceAmount(finBillApplication.getOneBillMoney()); + finVehicleInvoiceDto.setBillingStateKey("001"); + finVehicleInvoiceDto.setBillingState("未开票"); + finVehicleInvoiceDto.setInvoicingName(finBillVehicleVo.getOpenTickName()); + finVehicleInvoiceDto.setCreateBySid(finBillApplication.getCreateBySid()); + finVehicleInvoiceDto.setBusinessStateKey(finBillApplication.getBillStateKey()); + finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue()); + finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid()); + BaseDistributorListVo baseDistributorListVo = baseDistributorFeign.selectDisListBySid(finBillVehicleVo.getOpenTickSid()).getData(); + finVehicleInvoiceDto.setAddress(baseDistributorListVo.getRegistDetailAddress()); + finVehicleInvoiceDto.setTelPhone(baseDistributorListVo.getInvoPhone()); + finVehicleInvoiceDto.setOpeningBank(baseDistributorListVo.getInvoBank()); + finVehicleInvoiceDto.setBankNum(baseDistributorListVo.getInvoBankNum()); + finVehicleInvoiceService.mySave(finVehicleInvoiceDto); + } + if (finBillTrailerVos != null) { + for (FinBillTrailerVo finBillTrailerVo : finBillTrailerVos) { + FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto(); + finVehicleInvoiceDto.setInvoiceTitle(finBillApplication.getOpenTickUnitName()); + finVehicleInvoiceDto.setContractNo(finBillApplication.getContractNo()); + finVehicleInvoiceDto.setCustomerName(finBillApplication.getCustomerName()); + finVehicleInvoiceDto.setVIN(finBillTrailerVo.getGcVinNo()); + finVehicleInvoiceDto.setInvoiceTypeKey(finBillTrailerVo.getBillTypeKey()); + finVehicleInvoiceDto.setInvoiceType(finBillTrailerVo.getBillTypeValue()); + finVehicleInvoiceDto.setInvoiceAmount(new BigDecimal(finBillTrailerVo.getOneBillMoney())); + finVehicleInvoiceDto.setBillingStateKey("001"); + finVehicleInvoiceDto.setBillingState("未开票"); + finVehicleInvoiceDto.setInvoicingName(finBillTrailerVo.getOpenTickName()); + finVehicleInvoiceDto.setCreateBySid(finBillApplication.getCreateBySid()); + finVehicleInvoiceDto.setBusinessStateKey(finBillApplication.getBillStateKey()); + finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue()); + finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid()); + BaseDistributorListVo baseDistributorListVo = baseDistributorFeign.selectDisListBySid(finBillTrailerVo.getOpenTickSid()).getData(); + finVehicleInvoiceDto.setAddress(baseDistributorListVo.getRegistDetailAddress()); + finVehicleInvoiceDto.setTelPhone(baseDistributorListVo.getInvoPhone()); + finVehicleInvoiceDto.setOpeningBank(baseDistributorListVo.getInvoBank()); + finVehicleInvoiceDto.setBankNum(baseDistributorListVo.getInvoBankNum()); + finVehicleInvoiceService.mySave(finVehicleInvoiceDto); + } + } BusSalesOrder busSalesOrder = busSalesOrderFeign.selectOrderByContractNo(finBillApplication.getContractNo()).getData(); BigDecimal oneBillMoney = busSalesOrder.getOneBillMoney(); if (oneBillMoney == null) { @@ -2014,6 +2097,15 @@ public class FinBillApplicationService extends MybatisBaseService page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.selectPageVo(page, qw); + for (FinBillApplicationVo record : pagging.getRecords()) { + String qkkpBillNo = record.getBillNo(); + FinBillApplicationDetailsVo finBillApplicationDetailsVo = baseMapper.fetchByQkkpBillNo(qkkpBillNo); + if (finBillApplicationDetailsVo != null && !finBillApplicationDetailsVo.getNodeState().equals("终止")){ + record.setIsExistQKLP(true); + }else { + record.setIsExistQKLP(false); + } + } PagerVo p = PagerUtil.pageToVo(pagging, null); return p; } @@ -2159,14 +2251,6 @@ public class FinBillApplicationService extends MybatisBaseService finBillApplicationDetailsVos = baseMapper.selectByContractNo(contractNo); if (finBillApplicationDetailsVos != null) { @@ -2195,14 +2279,6 @@ public class FinBillApplicationService extends MybatisBaseService resultBean = saveQKLP(dto); @@ -2211,6 +2287,13 @@ public class FinBillApplicationService extends MybatisBaseService appMap = new HashMap<>(); appMap.put("sid", businessSid); variables.put("app", appMap); - variables.put("isAdj", finBillApplication1.getIsLQOrigInvoice().equals("是")); //用户的部门全路径sid bv.setOrgSidPath(orgSidPath); //业务sid @@ -2271,8 +2353,6 @@ public class FinBillApplicationService extends MybatisBaseService resultBean = flowableFeign.handleProsess(bv); if (!resultBean.getSuccess()) { @@ -2317,8 +2397,6 @@ public class FinBillApplicationService extends MybatisBaseService resultBean = flowableFeign.handleProsess(bv); if (!resultBean.getSuccess()) { @@ -2365,8 +2443,6 @@ public class FinBillApplicationService extends MybatisBaseService>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); @@ -2428,8 +2504,6 @@ public class FinBillApplicationService extends MybatisBaseService>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FinBillNodeVo.class)).collect(Collectors.toList()); @@ -2446,8 +2520,6 @@ public class FinBillApplicationService extends MybatisBaseService>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FinBillNodeVo.class)).collect(Collectors.toList()); @@ -2476,8 +2548,6 @@ public class FinBillApplicationService extends MybatisBaseService appMap = new HashMap<>(); appMap.put("sid", businessSid); variables.put("app", appMap); - //判断是否领取发票原件,若是,则isTrue网关参数为true=============添加 - variables.put("isAdj", finBillApplication.getIsLQOrigInvoice().equals("是")); flowTaskVo.setValues(variables); ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); if (!resultBean.getSuccess()) { diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleMapper.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleMapper.java index 69842909bc..0c3609146a 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleMapper.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleMapper.java @@ -71,7 +71,7 @@ public interface FinBillVehicleMapper extends BaseMapper { AppInvoicingInfoVinNoVo selDetailsByVinNo(@Param("vinNo") String vinNo); - @Select("select * from fin_bill_vehicle where vehSid = #{vehSid} and state = '1'") + @Select("select * from fin_bill_vehicle where vehSid = #{vehSid}") FinBillVehicleDetailsVo fetchByVehSid(String vehSid); @Update("UPDATE fin_bill_vehicle SET state = 0 WHERE billAppSid = #{sid}") diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java index 7d9d520ed6..ba3afd0d40 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java @@ -125,4 +125,7 @@ public interface FinSelectedReceivablesDetailedMapper extends BaseMapper fetchByReceivablesSid(String receivablesSid); String selectByVinSid(String busVinSid); + + @Select("SELECT SUM(subscriptionMoney) AS seYs FROM fin_selected_receivables_detailed WHERE receivablesSid = #{ysSid} and auditState = 3") + String fetchSumSeYsByReceivablesSid(String ysSid); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java index 943e51a38a..665f520afe 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java @@ -268,4 +268,8 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService receivedSelect(String busVinSid); + + @Select("SELECT SUM(reveivableMoney) AS sumYS FROM fin_uncollected_receivables_detailed WHERE busVinSid = #{sid}") + String fetchSumYS(String sid); + + @Select("SELECT sid FROM fin_uncollected_receivables_detailed WHERE busVinSid = #{sid}") + List fetchYsSidByOrderVehSid(String sid); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java index f566dfaaad..ad1fbed246 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java @@ -767,4 +767,12 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService } return rb.success().setData(receiveInvoiceVo); } + + public String fetchSumYS(String sid) { + return baseMapper.fetchSumYS(sid); + } + + public List fetchYsSidByOrderVehSid(String sid) { + return baseMapper.fetchYsSidByOrderVehSid(sid); + } } \ No newline at end of file diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java index 7766a9bdc1..b961ff411b 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java @@ -14,7 +14,7 @@ public enum ProcDefEnum { SALESPOLICY("销售政策审批流程", "process_biw9gfh7:3:917504"), FINBILLAPPLICATION("开票申请流程", "process_hxys3ap3:1:1180004"), QKFINBILLAPPLICATION("欠款开票申请流程", "process_x9r8epty:1:1202504"), - QKLPFINBILLAPPLICATION("欠款领票申请流程", "process_x9r8epty:1:1202504"), + QKLPFINBILLAPPLICATION("欠款领票申请流程", "process_x9r8epty:2:1365004"), BUSCENTERADVANCEGINVOICEAPPLY("提前开票申请流程", "advance_ginvoiceapply:1:242664"), // ARREARSCARRYVEHICLE("欠款提车审批流程", "process_8ax1xxn3:1:795004"), ARREARSCARRYVEHICLE("欠款提车审批流程", "process_f2dkbvny:2:1347504"), diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoicePageVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoicePageVo.java index 205e58f5f2..345ac6519d 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoicePageVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoicePageVo.java @@ -33,6 +33,8 @@ public class AdvanceInvoicePageVo implements Vo { private Boolean showUpdateBtn; @ApiModelProperty("是否显示删除按钮") private Boolean showDeleteBtn; + @ApiModelProperty("是否显示领票按钮") + private Boolean showGetInvoiceBtn; @ApiModelProperty("车型") private String model; @ApiModelProperty("销售类型") diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeign.java index c6e09fcfec..f5936b1e2d 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeign.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeign.java @@ -71,11 +71,6 @@ public interface AppBusAdvanceGinvoiceapplyFeign { @ResponseBody ResultBean> getAdvanceInvoiceLPList(@RequestBody PagerQuery pagerQuery); - @ApiOperation("移动端-新增欠款开票申请") - @PostMapping("/addAdvanceInvoice") - @ResponseBody - public ResultBean addAdvanceInvoice(@Valid @RequestBody AdvanceInvoiceVinDto dto); - @ApiOperation("手机端-初始化欠款开票申请") @GetMapping("/initAdvanceInvoice") @ResponseBody @@ -143,6 +138,11 @@ public interface AppBusAdvanceGinvoiceapplyFeign { @ResponseBody ResultBean stopAdvanceInvoiceInfo(@RequestBody AdvanceInvoiceTaskQuery query); + @ApiOperation("获取流程操作标题") + @GetMapping("/getFlowOperateTitle") + @ResponseBody + ResultBean getFlowOperateTitle(@SpringQueryMap AdvanceInvoiceQuery query); + @ApiOperation("获取下一环节") @GetMapping("/getFlowOperateTitleBy") @ResponseBody @@ -185,6 +185,11 @@ public interface AppBusAdvanceGinvoiceapplyFeign { @ResponseBody ResultBean stopAdvanceInvoiceInfoQKLP(@RequestBody AdvanceInvoiceTaskQuery query); + @ApiOperation("获取流程操作标题") + @GetMapping("/getFlowOperateTitleQKLP") + @ResponseBody + ResultBean getFlowOperateTitleQKLP(@SpringQueryMap AdvanceInvoiceQuery query); + @ApiOperation("获取下一环节") @GetMapping("/getFlowOperateTitleByQKLP") @ResponseBody diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeignFallback.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeignFallback.java index 04a109881e..b9c1c86434 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeignFallback.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeignFallback.java @@ -58,11 +58,6 @@ public class AppBusAdvanceGinvoiceapplyFeignFallback implements AppBusAdvanceGin return null; } - @Override - public ResultBean addAdvanceInvoice(AdvanceInvoiceVinDto dto) { - return null; - } - @Override public ResultBean initAdvanceInvoice(AdvanceInvoiceInfoQuery query) { return null; @@ -128,6 +123,11 @@ public class AppBusAdvanceGinvoiceapplyFeignFallback implements AppBusAdvanceGin return null; } + @Override + public ResultBean getFlowOperateTitle(AdvanceInvoiceQuery query) { + return null; + } + @Override public ResultBean getFlowOperateTitleBy(AdvanceInvoiceQuery query) { return null; @@ -168,6 +168,11 @@ public class AppBusAdvanceGinvoiceapplyFeignFallback implements AppBusAdvanceGin return null; } + @Override + public ResultBean getFlowOperateTitleQKLP(AdvanceInvoiceQuery query) { + return null; + } + @Override public ResultBean getFlowOperateTitleByQKLP(AdvanceInvoiceQuery query) { return null; diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/flowable/CompleteAdvanceInvoiceDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/flowable/CompleteAdvanceInvoiceDto.java index 2bf18bf9e9..d8d3bff41a 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/flowable/CompleteAdvanceInvoiceDto.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/flowable/CompleteAdvanceInvoiceDto.java @@ -29,4 +29,6 @@ public class CompleteAdvanceInvoiceDto implements Dto { @ApiModelProperty(value = "节点id") @NotBlank(message = "参数错误:taskDefKey") private String taskDefKey; + + private String orgPath; } diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyRest.java index d4e92625c5..b5ed20340a 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyRest.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyRest.java @@ -65,11 +65,6 @@ public class AppBusAdvanceGinvoiceapplyRest implements AppBusAdvanceGinvoiceappl return appBusAdvanceGinvoiceapplyService.getAdvanceInvoiceLPList(pagerQuery); } - @Override - public ResultBean addAdvanceInvoice(AdvanceInvoiceVinDto dto) { - return appBusAdvanceGinvoiceapplyService.addAdvanceInvoice(dto); - } - @Override public ResultBean initAdvanceInvoice(AdvanceInvoiceInfoQuery query) { return appBusAdvanceGinvoiceapplyService.initAdvanceInvoice(query); @@ -135,6 +130,11 @@ public class AppBusAdvanceGinvoiceapplyRest implements AppBusAdvanceGinvoiceappl return appBusAdvanceGinvoiceapplyService.stopAdvanceInvoiceInfo(query); } + @Override + public ResultBean getFlowOperateTitle(AdvanceInvoiceQuery query) { + return appBusAdvanceGinvoiceapplyService.getFlowOperateTitle(query); + } + @Override public ResultBean getFlowOperateTitleBy(AdvanceInvoiceQuery query) { return appBusAdvanceGinvoiceapplyService.getFlowOperateTitleBy(query); @@ -175,6 +175,11 @@ public class AppBusAdvanceGinvoiceapplyRest implements AppBusAdvanceGinvoiceappl return appBusAdvanceGinvoiceapplyService.stopAdvanceInvoiceInfoQKLP(query); } + @Override + public ResultBean getFlowOperateTitleQKLP(AdvanceInvoiceQuery query) { + return appBusAdvanceGinvoiceapplyService.getFlowOperateTitleQKLP(query); + } + @Override public ResultBean getFlowOperateTitleByQKLP(AdvanceInvoiceQuery query) { return appBusAdvanceGinvoiceapplyService.getFlowOperateTitleByQKLP(query); diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyService.java index 412953e38e..4e731c1026 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyService.java @@ -136,6 +136,15 @@ public class AppBusAdvanceGinvoiceapplyService { advanceInvoicePageVo.setShowUpdateBtn(false); advanceInvoicePageVo.setShowDeleteBtn(false); } + if (record.getNodeState().equals("已办结")) { + if (record.getIsExistQKLP()) { + advanceInvoicePageVo.setShowGetInvoiceBtn(false); + } else { + advanceInvoicePageVo.setShowGetInvoiceBtn(true); + } + } else { + advanceInvoicePageVo.setShowGetInvoiceBtn(false); + } advanceInvoicePageVos.add(advanceInvoicePageVo); } v.setRecords(advanceInvoicePageVos); @@ -183,13 +192,6 @@ public class AppBusAdvanceGinvoiceapplyService { return rb.success().setData(v); } - public ResultBean addAdvanceInvoice(AdvanceInvoiceVinDto dto) { - AppAdvanceInvoiceVinDto appAdvanceInvoiceVinDto = new AppAdvanceInvoiceVinDto(); - BeanUtil.copyProperties(dto, appAdvanceInvoiceVinDto); - ResultBean resultBean = busAdvanceGinvoiceapplyFeign.addAdvanceInvoice(appAdvanceInvoiceVinDto); - return resultBean; - } - public ResultBean initAdvanceInvoice(AdvanceInvoiceInfoQuery query) { ResultBean rb = ResultBean.fireFail(); AdvanceInvoiceInfoVo vo = new AdvanceInvoiceInfoVo(); @@ -206,7 +208,7 @@ public class AppBusAdvanceGinvoiceapplyService { vo.setCollectionDate(finBillApplicationDetailsVo.getReturnedMoneyDate()); vo.setGetOriginalValue(finBillApplicationDetailsVo.getIsLQOrigInvoice()); vo.setProcInsId(finBillApplicationDetailsVo.getProcInstSid()); - vo.setInvoiceTotal(finBillApplicationDetailsVo.getTotalBillMoney()); + vo.setInvoiceTotal(finBillApplicationDetailsVo.getArrearsMoney()); vo.setOrgPath(finBillApplicationDetailsVo.getOrgSidPath()); vo.setSaleType(finBillApplicationDetailsVo.getSaleTypeValue()); vo.setSellerDept(finBillApplicationDetailsVo.getSaleDeptName()); @@ -686,6 +688,7 @@ public class AppBusAdvanceGinvoiceapplyService { } FinBillCompleteDto finBillCompleteDto = new FinBillCompleteDto(); BeanUtil.copyProperties(dto, finBillCompleteDto); + finBillCompleteDto.setOrgSidPath(dto.getOrgPath()); ResultBean resultBean = finBillApplicationFeign.completeQK(finBillCompleteDto); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); @@ -707,6 +710,7 @@ public class AppBusAdvanceGinvoiceapplyService { } FinBillCompleteDto finBillCompleteDto = new FinBillCompleteDto(); BeanUtil.copyProperties(dto, finBillCompleteDto); + finBillCompleteDto.setOrgSidPath(dto.getOrgPath()); ResultBean resultBean = finBillApplicationFeign.companyToDivisionOperateQK(finBillCompleteDto); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); @@ -747,6 +751,35 @@ public class AppBusAdvanceGinvoiceapplyService { return rb.success().setData(resultBean.getData()); } + public ResultBean getFlowOperateTitle(AdvanceInvoiceQuery query) { + ResultBean rb = ResultBean.fireFail(); + //0 上一环节 1下一环节 + int next = query.getNext(); + FinBillNodeQuery getNodeQuery = new FinBillNodeQuery(); + BeanUtil.copyProperties(query, getNodeQuery); + String data = ""; + if (next == 0) { + ResultBean> previousNodesForReject = finBillApplicationFeign.getPreviousNodesForRejectQK(getNodeQuery); + if (previousNodesForReject.getSuccess()) { + previousNodesForReject.getData().removeAll(Collections.singleton(null)); + data = previousNodesForReject.getData().get(0).getName(); + } else { + return rb.setMsg(previousNodesForReject.getMsg()); + } + } else if (next == 1) { + ResultBean> nextNodesForSubmit = finBillApplicationFeign.getNextNodesForSubmitQK(getNodeQuery); + if (nextNodesForSubmit.getSuccess()) { + nextNodesForSubmit.getData().removeAll(Collections.singleton(null)); + data = nextNodesForSubmit.getData().get(0).getName(); + } else { + return rb.setMsg(nextNodesForSubmit.getMsg()); + } + } else { + return rb.setMsg("参数错误:next"); + } + return rb.success().setData(data); + } + public ResultBean detailAdvanceInvoice(String sid) { ResultBean rb = ResultBean.fireFail(); AdvanceInvoiceInfoVo vo = new AdvanceInvoiceInfoVo(); @@ -1200,6 +1233,35 @@ public class AppBusAdvanceGinvoiceapplyService { return rb.success().setData(resultBean.getData()); } + public ResultBean getFlowOperateTitleQKLP(AdvanceInvoiceQuery query) { + ResultBean rb = ResultBean.fireFail(); + //0 上一环节 1下一环节 + int next = query.getNext(); + FinBillNodeQuery getNodeQuery = new FinBillNodeQuery(); + BeanUtil.copyProperties(query, getNodeQuery); + String data = ""; + if (next == 0) { + ResultBean> previousNodesForReject = finBillApplicationFeign.getPreviousNodesForRejectQKLP(getNodeQuery); + if (previousNodesForReject.getSuccess()) { + previousNodesForReject.getData().removeAll(Collections.singleton(null)); + data = previousNodesForReject.getData().get(0).getName(); + } else { + return rb.setMsg(previousNodesForReject.getMsg()); + } + } else if (next == 1) { + ResultBean> nextNodesForSubmit = finBillApplicationFeign.getNextNodesForSubmitQKLP(getNodeQuery); + if (nextNodesForSubmit.getSuccess()) { + nextNodesForSubmit.getData().removeAll(Collections.singleton(null)); + data = nextNodesForSubmit.getData().get(0).getName(); + } else { + return rb.setMsg(nextNodesForSubmit.getMsg()); + } + } else { + return rb.setMsg("参数错误:next"); + } + return rb.success().setData(data); + } + public ResultBean getFlowOperateTitleByQKLP(AdvanceInvoiceQuery query) { ResultBean rb = ResultBean.fireFail(); qkkpFlowListVo qkkpFlowListVo = new qkkpFlowListVo();