Browse Source

Merge remote-tracking branch 'origin/master'

master
fanzongzhe 2 years ago
parent
commit
8f18c20d60
  1. 11
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/AppVinListVo.java
  2. 38
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredVo.java
  3. 63
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/BusDeliveredApplyFeign.java
  4. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/BusDeliveredApplyFeignFallback.java
  5. 20
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/SubmitUnDeliveredApplyDto.java
  6. 87
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/UnBusDeliveredApplyDto.java
  7. 9
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapplydetails/AppCarListVo.java
  8. 62
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredService.java
  9. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.java
  10. 20
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml
  11. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyRest.java
  12. 673
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java
  13. 13
      anrui-reportcenter-ui/src/api/callstatistics/callstatistics.js
  14. 10
      anrui-reportcenter-ui/src/layout/components/Sidebar/index.vue
  15. 2
      anrui-reportcenter-ui/src/layout/index.vue
  16. 374
      anrui-reportcenter-ui/src/router/index.js
  17. 200
      anrui-reportcenter-ui/src/views/callstatistics/callstatistics.vue
  18. 8
      anrui-reportcenter-ui/vue.config.js
  19. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfileexamine/LoanFileexamineFeign.java
  20. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfileexamine/LoanFileexamineFeignFallback.java
  21. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfileexamine/LoanFileexamineMapper.java
  22. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfileexamine/LoanFileexamineMapper.xml
  23. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfileexamine/LoanFileexamineRest.java
  24. 13
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfileexamine/LoanFileexamineService.java
  25. 9
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/CarListVo.java
  26. 9
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/VinListVo.java

11
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/AppVinListVo.java

@ -16,4 +16,15 @@ public class AppVinListVo implements Vo {
private String busVinSid;
@ApiModelProperty("业务状态")
private String businessState;
@ApiModelProperty("资方放款审核结果")
private String bankStateValue;
@ApiModelProperty("资方放款审核结果key")
private String bankStateKey;
@ApiModelProperty("资料是否齐全")
private String zlStateValue;
@ApiModelProperty("资料是否齐全:0未齐全/1已齐全")
private String zlState;
}

38
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredVo.java

@ -50,12 +50,9 @@ import lombok.Data;
public class BusDeliveredVo implements Vo {
private static final long serialVersionUID = -9212919952192716940L;
// private String sid;
@ApiModelProperty("业务状态")
private String subscription;
/* @ApiModelProperty("业务状态key")
private String subscriptionKey;*/
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("客户名称")
@ -68,32 +65,15 @@ public class BusDeliveredVo implements Vo {
private String vinSid;
@ApiModelProperty("销售类型")
private String paymentMethod;
/* @ApiModelProperty(value = "联系电话")
private String mobile;
@ApiModelProperty(value = "证件号码")
private String idNo;
@ApiModelProperty(value = "联系地址")
private String address;
@ApiModelProperty(value = "车型别名")
private String modelName;
@ApiModelProperty(value = "成交价")
private String price;
@ApiModelProperty("销售类型")
private String paymentMethod;
@ApiModelProperty("销售类型key")
private String paymentMethodKey;
@ApiModelProperty("返利人1")
private String distributorName;
@ApiModelProperty("返利金额1")
private String distributorPrice;
@ApiModelProperty("返利人2")
private String distributorNameTwo;
@ApiModelProperty("返利金额2")
private String distributorPriceTwo;
@ApiModelProperty("销售折让")
private String singleCarDiscountPrice;*/
@ApiModelProperty("资方放款审核结果")
private String bankStateValue;
@ApiModelProperty("资方放款审核结果key")
private String bankStateKey;
@ApiModelProperty("资料是否齐全")
private String zlStateValue;
@ApiModelProperty("资料是否齐全:0未齐全/1已齐全")
private String zlState;
}

63
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/BusDeliveredApplyFeign.java

@ -87,39 +87,6 @@ public interface BusDeliveredApplyFeign {
@ResponseBody
public ResultBean delBySids(@RequestBody String[] sids);
/**
* 提交
*
* @param dto
* @return
*/
/* @ApiOperation("提交")
@PostMapping("/submit")
@ResponseBody
ResultBean submit(@RequestBody BusDeliveredApplyDto dto);*/
/**
* 列表上的提交
*
* @param sid 出库申请sid
* @return
*/
/* @ApiOperation("列表上的提交")
@PutMapping("/submitBySid")
// @ResponseBody
ResultBean submitBySid(@RequestParam(value = "sid") String sid);*/
/**
* 列表上的撤回
*
* @param sid 出库申请sid
* @return
*/
/* @ApiOperation("列表上的撤回")
@PutMapping("/revokeBySid")
@ResponseBody
ResultBean revokeBySid(@RequestParam(value = "sid") String sid);*/
/**
* 编辑初始化/详情
*
@ -136,29 +103,11 @@ public interface BusDeliveredApplyFeign {
@ResponseBody
ResultBean<BusDeliveredApply> fetchBySid(@RequestParam("sid") String sid);
/* @ApiOperation("验证是否可出库")
@PostMapping("/checkingApply")
// @ResponseBody
@ApiIgnore
public ResultBean checkingApply(@RequestBody CheckingApplyQuery query);
@ApiOperation("审批")
// @ResponseBody
@PostMapping(value = "examine")
@ApiIgnore
ResultBean examine(@RequestBody BusDeExamineQuery busDeExamineQuery);*/
@ApiOperation("出库审核分页列表")
@PostMapping("/listExaminePage")
@ResponseBody
public ResultBean<PagerVo<BusDeliveredApplyVo>> listExaminePage(@RequestBody PagerQuery<BusDeliveredExamineQuery> pq);
/* @ApiOperation("提交出库审批流程")
@PostMapping("/submitDeliveredApply")
@ResponseBody
public ResultBean submitDeliveredApply(@Valid @RequestBody SubmitDeliveredApplyDto dto);*/
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
@ResponseBody
@ -192,18 +141,12 @@ public interface BusDeliveredApplyFeign {
@ResponseBody
public ResultBean<PagerVo<AppDeliveredApplyPageVo>> getRetrievalApplyList(@RequestBody PagerQuery<AppDeliveredApplyPageQuery> pagerQuery);
/* @ApiOperation("手机端-初始化 出库申请")
@GetMapping("/getRetrievalApplyInfoBySid/{sid}")
@ResponseBody
public ResultBean<AppDeliveredApplyInfoVo> getRetrievalApplyInfoBySid(@PathVariable("sid") String sid);
*/
/***************************************APP******************************************/
@ApiOperation("手机端-初始化 出库申请")
@GetMapping("/getRetrievalApplyInfoBySid")
@ResponseBody
// public ResultBean<AppDeliveredApplyInfoVo> getRetrievalApplyInfoBySid(@RequestParam("sid") String sid);
public ResultBean<AppDeliveredDetailsVo> getRetrievalApplyInfoBySid(@RequestParam("sid") String sid);
@ApiOperation("手机端-保存 出库申请")
@ -231,6 +174,7 @@ public interface BusDeliveredApplyFeign {
@ResponseBody
ResultBean<DeliveredFinVo> deliveredFinSelectByBusVinSid(@RequestParam("contractNo") String contractNo, @RequestParam("vinSid") String vinSid);
/*******************************************欠款出库相关****************************************************/
@ApiOperation("欠款出库申请分页列表")
@PostMapping("/unListPage")
@ResponseBody
@ -241,4 +185,9 @@ public interface BusDeliveredApplyFeign {
@ResponseBody
public ResultBean unSave(@RequestBody UnBusDeliveredApplyDto dto);
@ApiOperation("提交欠款出库审批流程")
@PostMapping("/submitUnDeliveredApply")
@ResponseBody
public ResultBean submitUnDeliveredApply(@Valid @RequestBody SubmitUnDeliveredApplyDto dto);
}

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/BusDeliveredApplyFeignFallback.java

@ -141,6 +141,11 @@ public class BusDeliveredApplyFeignFallback implements BusDeliveredApplyFeign {
return null;
}
@Override
public ResultBean submitUnDeliveredApply(SubmitUnDeliveredApplyDto dto) {
return null;
}
@Override
public ResultBean complete(BusDeliveredApplyCompleteDto query) {
return null;

20
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/SubmitUnDeliveredApplyDto.java

@ -0,0 +1,20 @@
package com.yxt.anrui.buscenter.api.busdeliveredapply;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/10/9
**/
@Data
public class SubmitUnDeliveredApplyDto extends UnBusDeliveredApplyDto {
@ApiModelProperty("流程实例id")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

87
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/UnBusDeliveredApplyDto.java

@ -1,9 +1,11 @@
package com.yxt.anrui.buscenter.api.busdeliveredapply;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarListVo;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.BusDeliveredApplyDetailsDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
@ -14,54 +16,65 @@ import java.util.List;
@Data
public class UnBusDeliveredApplyDto {
@ApiModelProperty(value = "出库申请sid")
private String sid;
private String userSid;
@ApiModelProperty("发起部门sid")
private String applyDeptSid;
@ApiModelProperty("发起部门")
private String applyDept;
@ApiModelProperty("发起人sid")
private String applySid;
@ApiModelProperty("发起人")
private String applyName;
@ApiModelProperty("销售部门sid")
private String staffDeptSid;
@ApiModelProperty("合同编号")
private String contractId;
//销售类型
private String paymentMethod;
private String paymentMethodKey;
@ApiModelProperty("销售部门")
private String staffDeptSid;
private String staffDeptName;
@ApiModelProperty("销售专员用户sid")
private String staffUserSid;
@ApiModelProperty("销售专员")
private String staffName;
@ApiModelProperty("销售类型key")
private String paymentMethodKey;
@ApiModelProperty("销售类型")
private String paymentMethod;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("发起日期")
private String createTime;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("客户手机号")
@ApiModelProperty("客户电话")
private String mobile;
@ApiModelProperty("车型名")
@ApiModelProperty("车型名")
private String modelName;
@ApiModelProperty("单车中介人1")
private String distributorName;
@ApiModelProperty("单车中介人2")
private String distributorNameTwo;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("配置sid")
private String configSid;
@ApiModelProperty("主车成交价")
private String price;
@ApiModelProperty("购车人类型key")
private String typeKey;
@ApiModelProperty("购车人类型值")
private String type;
@ApiModelProperty("贷款人")
private String loanName;
@ApiModelProperty("贷款人手机号")
@ApiModelProperty("贷款人sid")
private String loanSid;
@ApiModelProperty("贷款人电话")
private String loanMobile;
@ApiModelProperty("实际购车人类型:0订单客户,1贷款人,2其他人")
private String type;
@ApiModelProperty(value = "出库申请的车辆信息")
private List<BusDeliveredApplyDetailsDto> detailsList;
@ApiModelProperty("总备注")
private String remarks;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("记录sid")
private String sid;
@ApiModelProperty("orgPath")
private String orgPath;
@ApiModelProperty("成交价")
private String price;
@ApiModelProperty("返利人sid")
private String distributorName;
@ApiModelProperty("返利金额1")
private String distributorPrice;
@ApiModelProperty("返利人2sid")
private String distributorNameTwo;
@ApiModelProperty("返利金额2")
private String distributorPriceTwo;
@ApiModelProperty("车辆集合")
private List<AppCarListVo> carList;
@ApiModelProperty("责任人担保承诺书")
private List<String> promiseList = new ArrayList<>();
@ApiModelProperty("担保承诺书")
private List<String> danFileList = new ArrayList<>();
@ApiModelProperty("车辆登记合同")
private List<String> carFileList = new ArrayList<>();
}

9
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapplydetails/AppCarListVo.java

@ -23,5 +23,14 @@ public class AppCarListVo implements Vo {
@ApiModelProperty("实际购车人")
private BusDeliveredUseMessagesVo realBuyer;
@ApiModelProperty("资方放款审核结果")
private String bankStateValue;
@ApiModelProperty("资方放款审核结果key")
private String bankStateKey;
@ApiModelProperty("资料是否齐全")
private String zlStateValue;
@ApiModelProperty("资料是否齐全:0未齐全/1已齐全")
private String zlState;
}

62
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredService.java

@ -42,6 +42,7 @@ import com.yxt.anrui.buscenter.api.busdelivereddetailsdiscount.BusDeliveredDetai
import com.yxt.anrui.buscenter.api.busdelivereddetailsdiscount.BusDeliveredDetailsDiscountsVo;
import com.yxt.anrui.buscenter.api.busdeliveredusemessage.BusDeliveredUseMessage;
import com.yxt.anrui.buscenter.api.busdeliveredusemessage.BusDeliveredUseMessagesVo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderModelInfoVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderPriceInfoVo;
@ -62,6 +63,8 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanfileexamine.LoanFileexamine;
import com.yxt.anrui.riskcenter.api.loanfileexamine.LoanFileexamineFeign;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
@ -121,6 +124,8 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
private BusDeliveredApplyDetailsService busDeliveredApplyDetailsService;
@Autowired
private BusDeliveredUseMessageService busDeliveredUseMessageService;
@Autowired
private LoanFileexamineFeign loanFileexamineFeign;
/**
* 待出库车辆分页列表
@ -438,6 +443,35 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
BusDeliveredUseMessagesVo deliveredUseMessagesVo = new BusDeliveredUseMessagesVo();
deliveredUseMessagesVo.setVin(busSalesOrderVehicle.getLinkNo().substring(busSalesOrderVehicle.getLinkNo().length() - 8));
appCarListVo.setRealBuyer(deliveredUseMessagesVo);
//===============================添加资料是否齐全和资方放款是否审核
BusSalesOrder busSalesOrder = busSalesOrderService.fetchBySid(busSalesOrderVehicle.getSalesOrderSid());
if(busSalesOrder != null && "2".equals(busSalesOrder.getPayTypeKey())){
String saleOrderSid = busSalesOrderVehicle.getSalesOrderSid();
String loanContractSid = busSalesOrderVehicle.getLoanContractSid();
//根据消贷合同和销售订单查询
ResultBean<LoanFileexamine> loanFileexamineResultBean = loanFileexamineFeign.selectOrderSidAndContract(saleOrderSid,loanContractSid);
if(!loanFileexamineResultBean.getSuccess()){
appCarListVo.setBankStateValue("未审核");
appCarListVo.setZlStateValue("否");
}else{
LoanFileexamine loanFileexamine = loanFileexamineResultBean.getData();
if("1".equals(loanFileexamine.getZlState())){
appCarListVo.setZlStateValue("是");
appCarListVo.setZlState(loanFileexamine.getZlState());
}else{
appCarListVo.setZlStateValue("否");
appCarListVo.setZlState(loanFileexamine.getZlState());
}
if(StringUtils.isBlank(loanFileexamine.getBankStateValue())){
appCarListVo.setBankStateValue("未审核");
}else{
appCarListVo.setBankStateValue(loanFileexamine.getBankStateValue());
appCarListVo.setBankStateKey(loanFileexamine.getBankStateKey());
}
}
}
carList.add(appCarListVo);
}
@ -753,6 +787,34 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
BusDeliveredUseMessagesVo deliveredUseMessagesVo = new BusDeliveredUseMessagesVo();
deliveredUseMessagesVo.setVin(busSalesOrderVehicle.getLinkNo().substring(busSalesOrderVehicle.getLinkNo().length() - 8));
appCarListVo.setRealBuyer(deliveredUseMessagesVo);
BusSalesOrder busSalesOrder = busSalesOrderService.fetchBySid(busSalesOrderVehicle.getSalesOrderSid());
if(busSalesOrder != null && "2".equals(busSalesOrder.getPayTypeKey())){
//===============================添加资料是否齐全和资方放款是否审核
String saleOrderSid = busSalesOrderVehicle.getSalesOrderSid();
String loanContractSid = busSalesOrderVehicle.getLoanContractSid();
//根据消贷合同和销售订单查询
ResultBean<LoanFileexamine> loanFileexamineResultBean = loanFileexamineFeign.selectOrderSidAndContract(saleOrderSid,loanContractSid);
if(!loanFileexamineResultBean.getSuccess()){
appCarListVo.setBankStateValue("未审核");
appCarListVo.setZlStateValue("否");
}else{
LoanFileexamine loanFileexamine = loanFileexamineResultBean.getData();
if("1".equals(loanFileexamine.getZlState())){
appCarListVo.setZlStateValue("是");
appCarListVo.setZlState(loanFileexamine.getZlState());
}else{
appCarListVo.setZlStateValue("否");
appCarListVo.setZlState(loanFileexamine.getZlState());
}
if(StringUtils.isBlank(loanFileexamine.getBankStateValue())){
appCarListVo.setBankStateValue("未审核");
}else{
appCarListVo.setBankStateValue(loanFileexamine.getBankStateValue());
appCarListVo.setBankStateKey(loanFileexamine.getBankStateKey());
}
}
}
list.add(appCarListVo);
}
return rb.success().setData(list);

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.java

@ -104,6 +104,7 @@ public interface BusDeliveredApplyMapper extends BaseMapper<BusDeliveredApply> {
List<String> selectVinNo(@Param("contractId") String contractId, @Param("list") List<String> vinSid);
List<String> selectVinNosss(@Param("contractId") String contractId, @Param("list") List<String> vinSid);
List<String> selectVinNosss2(@Param("contractId") String contractId, @Param("list") List<String> vinSid);
String selectNum(String billNo);
@ -114,6 +115,7 @@ public interface BusDeliveredApplyMapper extends BaseMapper<BusDeliveredApply> {
int selectNumByContractNo(String contractId);
List<String> selectSid(@Param("contractId") String contractId,@Param("sid") String sid);
List<String> selectSid2(@Param("contractId") String contractId,@Param("sid") String sid);
List<String> selectBySid(@Param("contractNo") String contractId, @Param("list") List<String> vinNoLists);

20
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml

@ -125,6 +125,21 @@
</foreach>
</select>
<select id="selectVinNosss" resultType="java.lang.String">
select RIGHT(bv.linkNo, 8)
from bus_sales_order_vehicle bv
left join bus_sales_order bo on bv.salesOrderSid = bo.sid
left join anrui_base.base_vehicle_state bs on bs.busSid = bv.sid
where bo.contractNo = #{contractId}
and bs.busState = '401'
and (bs.finState != '0'
and bs.invoiceState != '1')
and bv.linkSid in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="selectNum" resultType="java.lang.String">
select RIGHT(billNo, 4)
from bus_delivered_apply
@ -162,6 +177,11 @@
where ba.contractNo = #{contractId} and ba.nodeState != '终止' and length(ba.nodeState)>0 and ba.sid != #{sid}
</select>
<select id="selectSid2" resultType="java.lang.String">
select bd.vinSid from bus_delivered_apply_details bd left join bus_delivered_apply ba on ba.sid = bd.applySid
where ba.contractNo = #{contractId} and ba.nodeState != '终止' and length(ba.nodeState)>0 and ba.sid != #{sid} and typeState = 1
</select>
<select id="selectBySid" resultType="java.lang.String">
select bv.linkNo from bus_sales_order_vehicle bv
left join bus_sales_order bo on bo.sid = bv.salesOrderSid

5
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyRest.java

@ -207,6 +207,11 @@ public class BusDeliveredApplyRest implements BusDeliveredApplyFeign {
return busDeliveredApplyService.unSave(dto);
}
@Override
public ResultBean submitUnDeliveredApply(SubmitUnDeliveredApplyDto dto) {
return busDeliveredApplyService.submitUnDeliveredApply(dto);
}
@Override
public ResultBean complete(BusDeliveredApplyCompleteDto query) {
BusinessVariables bv = new BusinessVariables();

673
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java

@ -353,7 +353,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
} else {
qw.eq("bd.applySid", query.getApplySid());
}
qw.eq("bd.typeState",0);
qw.eq("bd.typeState", 0);
}
IPage<BusDeliveredApply> page = PagerUtil.queryToPage(pq);
IPage<BusDeliveredApplyVo> pagging = baseMapper.selectPageVo(page, qw);
@ -2111,7 +2111,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
qw.eq("useOrgSid", orgSid);
qw.eq("applySid", pagerQuery.getParams().getUserSid());
}
qw.eq("bd.typeState",0);
qw.eq("bd.typeState", 0);
IPage<AppDeliveredApplyPageQuery> page = PagerUtil.queryToPage(pagerQuery);
IPage<AppDeliveredApplyPageVo> iPage = baseMapper.getRetrievalApplyList(page, qw, pagerQuery.getParams().getName());
List<AppDeliveredApplyPageVo> records = iPage.getRecords();
@ -2940,6 +2940,29 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
return r;
}
private synchronized int submitAppBusinessData2(SubmitUnDeliveredApplyDto dto, BusDeliveredApply
busDeliveredApply) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {
r = 1;
} else {
if (busDeliveredApply != null) {
String businessTaskId = busDeliveredApply.getTaskId();
if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) {
//新提交
r = 1;
} else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) {
//二次提交//只有数据一致的时候才能进行下一步
r = 2;
}
} else {
r = 3;
}
}
return r;
}
public ResultBean<DeliveredFinVo> deliveredFinSelect(String contractNo, String vinSid) {
ResultBean<DeliveredFinVo> rb = ResultBean.fireFail();
DeliveredFinVo deliveredFinVo = new DeliveredFinVo();
@ -3076,7 +3099,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
} else {
qw.eq("bd.applySid", query.getApplySid());
}
qw.eq("typeState",1);
qw.eq("typeState", 1);
}
IPage<BusDeliveredApply> page = PagerUtil.queryToPage(pq);
IPage<BusDeliveredApplyVo> pagging = baseMapper.selectPageVo(page, qw);
@ -3093,6 +3116,648 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
}
public ResultBean unSave(UnBusDeliveredApplyDto dto) {
return null;
ResultBean rb = ResultBean.fireFail();
String sid = dto.getSid();
String orgPath = dto.getOrgPath();
String contractNo = dto.getContractId();
if (StringUtils.isBlank(sid)) {
//根据合同编号查询销售订单
//根据orgPath以及用户sid查询申请人
String userSid = dto.getUserSid();
String deptName = "";
String deptSid = "";
String orgSidPath = "";
if (StringUtils.isNotBlank(orgPath)) {
List<String> split = Arrays.asList(orgPath.split("/"));
if (split.size() > 1) {
//获取本级sid获取本级部门信息
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData();
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
deptName = sysOrganization.getName() + "/" + sysOrganization1.getName();
deptName = sysOrganization1.getName();
deptSid = sysOrganization1.getSid();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
deptName = sysOrganization.getName();
deptName = sysOrganization.getName();
deptSid = sysOrganization.getSid();
}
orgSidPath = orgPath;
}
//根据用户sid查询人员姓名
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(userSid);
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
BusDeliveredApply busDeliveredApply = new BusDeliveredApply();
BeanUtil.copyProperties(dto, busDeliveredApply, "sid");
busDeliveredApply.setContractNo(contractNo);
busDeliveredApply.setApplySid(userSid);
busDeliveredApply.setCreateBySid(userSid);
busDeliveredApply.setApplyName(userVoResultBean.getData().getName());
busDeliveredApply.setStaffDeptName(deptName);
busDeliveredApply.setApplyDept(deptName);
busDeliveredApply.setApplyDeptSid(deptSid);
busDeliveredApply.setStaffDeptSid(deptSid);
busDeliveredApply.setStaffUserSid(userSid);
busDeliveredApply.setStaffName(userVoResultBean.getData().getName());
busDeliveredApply.setOrgSidPath(orgSidPath);
BusSalesOrder busSalesOrder = busSalesOrderService.selectByContractNos(dto.getContractId());
if (busSalesOrder != null) {
busDeliveredApply.setStaffDeptName(busSalesOrder.getOrgName());
busDeliveredApply.setStaffDeptSid(busSalesOrder.getOrgSid());
}
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(sysStaffOrgFeign.getOrgSidByPath(orgPath).getData()).getData();
//出库申请单号
String billNo = "";
String date = DateUtil.format(DateUtil.date(), "yyyyMM");
billNo = "XSCKD" + sysOrganizationVo.getOrgCode() + date;
String v = baseMapper.selectNum(billNo);
if (StringUtils.isNotBlank(v)) {
billNo = Rule.getBillNo(billNo, Integer.valueOf(v).intValue());
} else {
billNo = Rule.getBillNo(billNo, 0);
}
busDeliveredApply.setBillNo(billNo);
//根据合同编号查询销售订单的信息
ResultBean<AppOrderDetailsVo> resultBean = busSalesOrderService.getSaleOrderDetailsByContractNo(contractNo);
if (!resultBean.getSuccess()) {
log.error("获取销售订单详情出错啦!!!");
return rb;
}
AppOrderDetailsVo appOrderDetailsVo = resultBean.getData();
busDeliveredApply.setCustomerSid(appOrderDetailsVo.getCustomerSid());
//销售类型
busDeliveredApply.setPaymentMethod(appOrderDetailsVo.getPayType());
busDeliveredApply.setPaymentMethodKey(appOrderDetailsVo.getPayTypeKey());
//中介人
SubmitVo intermediary1 = appOrderDetailsVo.getIntermediary1();
if (intermediary1 != null) {
String agencyFee = intermediary1.getAgencyFee();
if (StringUtils.isNotBlank(agencyFee)) {
busDeliveredApply.setDistributorPrice(agencyFee);
}
busDeliveredApply.setDistributorName(intermediary1.getIntermediaryName());
}
//中介人2
SubmitVo intermediary2 = appOrderDetailsVo.getIntermediary2();
if (intermediary2 != null) {
String agencyFee = intermediary2.getAgencyFee();
if (StringUtils.isNotBlank(agencyFee)) {
busDeliveredApply.setDistributorPriceTwo(agencyFee);
}
busDeliveredApply.setDistributorNameTwo(intermediary2.getIntermediaryName());
}
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
busDeliveredApply.setUseOrgSid(useOrgSid);
//车辆列表
List<AppCarListVo> carList = dto.getCarList();
for (int i = 0; i < carList.size(); i++) {
AppCarListVo appCarListVo = carList.get(i);
BusDeliveredApplyDetails busDeliveredApplyDetails = new BusDeliveredApplyDetails();
busDeliveredApplyDetails.setSingleCarDiscountPrice(appCarListVo.getDiscount());
busDeliveredApplyDetails.setVinSid(appCarListVo.getVinSid());
busDeliveredApplyDetails.setApplySid(busDeliveredApply.getSid());
//根据合同编号和车架号查询busVinSId
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByNoAndVinSid(busDeliveredApply.getContractNo(), appCarListVo.getVinSid());
busDeliveredApplyDetails.setBusVinSid(busSalesOrderVehicle.getSid());
BusDeliveredUseMessagesVo busDeliveredUseMessagesVo = appCarListVo.getRealBuyer();
busDeliveredApplyDetails.setVinNo(busDeliveredUseMessagesVo.getVin());
//赠送套餐
BigDecimal discountAll = BigDecimal.ZERO;
StringBuilder discountRemarks = new StringBuilder();
List<BusDeliveredDetailsDiscountsVo> discountUse = appCarListVo.getDiscountUse();
for (int j = 0; j < discountUse.size(); j++) {
BusDeliveredDetailsDiscountsVo busDeliveredDetailsDiscountsVo = discountUse.get(j);
BusDeliveredDetailsDiscount busDeliveredDetailsDiscount = new BusDeliveredDetailsDiscount();
//出库申请sid
busDeliveredDetailsDiscount.setApplySid(busDeliveredApply.getSid());
//出库车辆表sid
busDeliveredDetailsDiscount.setDetailsSid(busDeliveredApplyDetails.getSid());
//优惠包名称
busDeliveredDetailsDiscount.setName(busDeliveredDetailsDiscountsVo.getDiscountName());
//价值
busDeliveredDetailsDiscount.setPrice(busDeliveredDetailsDiscountsVo.getDiscountPrice());
//优惠包项目说明
busDeliveredDetailsDiscount.setDiscountExplain(busDeliveredDetailsDiscountsVo.getDiscountInfo());
//数量
BusSalesOrderDiscount busSalesOrderDiscount = busSalesOrderDiscountService.fetchBySid(busDeliveredDetailsDiscountsVo.getDiscountSid());
busDeliveredDetailsDiscount.setNum(busSalesOrderDiscount.getNum());
//本次赠送数量
busDeliveredDetailsDiscount.setGiveNum(busDeliveredDetailsDiscountsVo.getDiscountNum());
//销售订单中主车优惠的sid
busDeliveredDetailsDiscount.setDiscountSid(busDeliveredDetailsDiscountsVo.getDiscountSid());
busDeliveredDetailsDiscountService.insert(busDeliveredDetailsDiscount);
discountAll = discountAll.add(new BigDecimal(busDeliveredDetailsDiscount.getPrice()).multiply(new BigDecimal(busDeliveredDetailsDiscount.getGiveNum())));
if (j == 0 || j == discountUse.size() - 1) {
String disInfo = busDeliveredDetailsDiscountsVo.getDiscountName() + busDeliveredDetailsDiscountsVo.getDiscountInfo() + "X" + busDeliveredDetailsDiscount.getGiveNum();
discountRemarks = discountRemarks.append(disInfo).append(",");
} else {
String disInfo = busDeliveredDetailsDiscountsVo.getDiscountName() + busDeliveredDetailsDiscountsVo.getDiscountInfo() + "X" + busDeliveredDetailsDiscount.getGiveNum();
discountRemarks = discountRemarks.append(disInfo);
}
}
busDeliveredApplyDetails.setDiscountAll(discountAll.toString());
busDeliveredApplyDetails.setRemarks(discountRemarks.toString());
//使用人信息
if ("2".equals(busDeliveredApply.getTypeKey())) {
BusDeliveredUseMessage busDeliveredUseMessage = new BusDeliveredUseMessage();
BeanUtil.copyProperties(busDeliveredUseMessagesVo, busDeliveredUseMessage);
busDeliveredUseMessage.setApplySid(busDeliveredApply.getSid());
busDeliveredUseMessageService.insert(busDeliveredUseMessage);
busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid());
}
if ("0".equals(busDeliveredApply.getTypeKey())) {
//客户的信息
String customerSid = busDeliveredApply.getCustomerSid();
ResultBean<CrmCustomerTempVo> crmCustomerTempResultBean = crmCustomerTempFeign.fetchSid(customerSid);
if (crmCustomerTempResultBean.getData() != null) {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempResultBean.getData();
BusDeliveredUseMessage busDeliveredUseMessage = new BusDeliveredUseMessage();
busDeliveredUseMessage.setAddress(crmCustomerTempVo.getAddress());
busDeliveredUseMessage.setName(crmCustomerTempVo.getName());
busDeliveredUseMessage.setMobile(crmCustomerTempVo.getMobile());
busDeliveredUseMessage.setIdNo(crmCustomerTempVo.getIDNumber());
busDeliveredUseMessage.setCustomerType(crmCustomerTempVo.getCustomerType());
busDeliveredUseMessage.setCustomerTypeKey(crmCustomerTempVo.getCustomerTypeKey());
busDeliveredUseMessage.setApplySid(busDeliveredApply.getSid());
busDeliveredUseMessage.setContacts(crmCustomerTempVo.getContacts());
busDeliveredUseMessage.setIsConfirmRealBuyer("1");
busDeliveredUseMessageService.insert(busDeliveredUseMessage);
busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid());
}
}
if ("1".equals(busDeliveredApply.getTypeKey())) {
//贷款人的信息
String loanSid = busDeliveredApply.getLoanSid();
ResultBean<CrmCustomerTempVo> crmCustomerTempResultBean = crmCustomerTempFeign.fetchSid(loanSid);
if (crmCustomerTempResultBean.getData() != null) {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempResultBean.getData();
BusDeliveredUseMessage busDeliveredUseMessage = new BusDeliveredUseMessage();
busDeliveredUseMessage.setAddress(crmCustomerTempVo.getAddress());
busDeliveredUseMessage.setName(crmCustomerTempVo.getName());
busDeliveredUseMessage.setMobile(crmCustomerTempVo.getMobile());
busDeliveredUseMessage.setIdNo(crmCustomerTempVo.getIDNumber());
busDeliveredUseMessage.setCustomerType(crmCustomerTempVo.getCustomerType());
busDeliveredUseMessage.setCustomerTypeKey(crmCustomerTempVo.getCustomerTypeKey());
busDeliveredUseMessage.setApplySid(busDeliveredApply.getSid());
busDeliveredUseMessage.setContacts(crmCustomerTempVo.getContacts());
busDeliveredUseMessage.setIsConfirmRealBuyer("1");
busDeliveredUseMessageService.insert(busDeliveredUseMessage);
busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid());
}
}
busDeliveredApplyDetailsService.insert(busDeliveredApplyDetails);
}
baseMapper.insert(busDeliveredApply);
sid = busDeliveredApply.getSid();
/* List<BaseVehicleStateDto> stateDtoList = new ArrayList<>();
List<String> vinSidList = busDeliveredApplyDetailsService.selectVinSidByApplySid(sid);
vinSidList.removeAll(Collections.singleton(null));
if (!vinSidList.isEmpty()) {
vinSidList.stream().forEach(vv -> {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.CKKP_SAVE.getTypeKey());
baseVehicleStateDto.setBusSid(vv);
stateDtoList.add(baseVehicleStateDto);
});
ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(stateDtoList);
}*/
//保存开票信息
} else {
//根据出库申请sid查询出库申请是否存在
BusDeliveredApply busDeliveredApply = fetchBySid(sid);
if (busDeliveredApply == null) {
return rb.setMsg("该出库申请不存在");
}
if (StringUtils.isBlank(dto.getStaffDeptSid())) {
dto.setStaffDeptSid(busDeliveredApply.getStaffDeptSid());
}
if (StringUtils.isBlank(dto.getStaffUserSid())) {
dto.setStaffUserSid(busDeliveredApply.getStaffUserSid());
}
if (StringUtils.isBlank(dto.getCustomerSid())) {
dto.setCustomerSid(busDeliveredApply.getCustomerSid());
}
if (StringUtils.isBlank(dto.getPaymentMethodKey())) {
dto.setPaymentMethodKey(busDeliveredApply.getPaymentMethodKey());
}
BeanUtil.copyProperties(dto, busDeliveredApply, "sid");
BusSalesOrder busSalesOrder = busSalesOrderService.selectByContractNos(dto.getContractId());
if (busSalesOrder != null) {
busDeliveredApply.setStaffDeptName(busSalesOrder.getOrgName());
busDeliveredApply.setStaffDeptSid(busSalesOrder.getOrgSid());
}
//根据合同编号查询销售订单的信息
ResultBean<AppOrderDetailsVo> resultBean = busSalesOrderService.getSaleOrderDetailsByContractNo(contractNo);
if (!resultBean.getSuccess()) {
log.error("获取销售订单详情出错啦!!!");
return rb;
}
AppOrderDetailsVo appOrderDetailsVo = resultBean.getData();
//中介人
SubmitVo intermediary1 = appOrderDetailsVo.getIntermediary1();
if (intermediary1 != null) {
String agencyFee = intermediary1.getAgencyFee();
if (StringUtils.isNotBlank(agencyFee)) {
busDeliveredApply.setDistributorPrice(agencyFee);
}
busDeliveredApply.setDistributorName(intermediary1.getIntermediaryName());
}
//中介人2
SubmitVo intermediary2 = appOrderDetailsVo.getIntermediary2();
if (intermediary2 != null) {
String agencyFee = intermediary2.getAgencyFee();
if (StringUtils.isNotBlank(agencyFee)) {
busDeliveredApply.setDistributorPriceTwo(agencyFee);
}
busDeliveredApply.setDistributorNameTwo(intermediary2.getIntermediaryName());
}
//==============================================================
List<BaseVehicleStateDto> stateDtoList = new ArrayList<>();
List<String> vinSidList = busDeliveredApplyDetailsService.selectVinSidByApplySid(sid);
vinSidList.removeAll(Collections.singleton(null));
if (!vinSidList.isEmpty()) {
List<BaseVehicleStateDto> finalStateDtoList1 = stateDtoList;
vinSidList.stream().forEach(vv -> {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.CKKP_DELETE.getTypeKey());
baseVehicleStateDto.setBusSid(vv);
finalStateDtoList1.add(baseVehicleStateDto);
});
ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(stateDtoList);
}
//=================================================================
//删除
busDeliveredApplyDetailsService.deleteByApplySid(sid);
busDeliveredUseMessageService.deleteByApplySid(sid);
busDeliveredDetailsDiscountService.deleteByApplySid(sid);
//车辆列表
List<AppCarListVo> carList = dto.getCarList();
for (int i = 0; i < carList.size(); i++) {
AppCarListVo appCarListVo = carList.get(i);
BusDeliveredApplyDetails busDeliveredApplyDetails = new BusDeliveredApplyDetails();
busDeliveredApplyDetails.setSingleCarDiscountPrice(appCarListVo.getDiscount());
busDeliveredApplyDetails.setVinSid(appCarListVo.getVinSid());
busDeliveredApplyDetails.setApplySid(busDeliveredApply.getSid());
BusDeliveredUseMessagesVo busDeliveredUseMessagesVo = appCarListVo.getRealBuyer();
busDeliveredApplyDetails.setVinNo(busDeliveredUseMessagesVo.getVin());
//根据合同编号和车架号查询busVinSId
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByNoAndVinSid(busDeliveredApply.getContractNo(), appCarListVo.getVinSid());
busDeliveredApplyDetails.setBusVinSid(busSalesOrderVehicle.getSid());
//赠送套餐
BigDecimal discountAll = BigDecimal.ZERO;
StringBuilder discountRemarks = new StringBuilder();
List<BusDeliveredDetailsDiscountsVo> discountUse = appCarListVo.getDiscountUse();
for (int j = 0; j < discountUse.size(); j++) {
BusDeliveredDetailsDiscountsVo busDeliveredDetailsDiscountsVo = discountUse.get(j);
BusDeliveredDetailsDiscount busDeliveredDetailsDiscount = new BusDeliveredDetailsDiscount();
//出库申请sid
busDeliveredDetailsDiscount.setApplySid(busDeliveredApply.getSid());
//出库车辆表sid
busDeliveredDetailsDiscount.setDetailsSid(busDeliveredApplyDetails.getSid());
//优惠包名称
busDeliveredDetailsDiscount.setName(busDeliveredDetailsDiscountsVo.getDiscountName());
//价值
busDeliveredDetailsDiscount.setPrice(busDeliveredDetailsDiscountsVo.getDiscountPrice());
//优惠包项目说明
busDeliveredDetailsDiscount.setDiscountExplain(busDeliveredDetailsDiscountsVo.getDiscountInfo());
//数量
BusSalesOrderDiscount busSalesOrderDiscount = busSalesOrderDiscountService.fetchBySid(busDeliveredDetailsDiscountsVo.getDiscountSid());
busDeliveredDetailsDiscount.setNum(busSalesOrderDiscount.getNum());
//本次赠送数量
busDeliveredDetailsDiscount.setGiveNum(busDeliveredDetailsDiscountsVo.getDiscountNum());
//销售订单中主车优惠的sid
busDeliveredDetailsDiscount.setDiscountSid(busDeliveredDetailsDiscountsVo.getDiscountSid());
busDeliveredDetailsDiscountService.insert(busDeliveredDetailsDiscount);
discountAll = discountAll.add(new BigDecimal(busDeliveredDetailsDiscount.getPrice()).multiply(new BigDecimal(busDeliveredDetailsDiscount.getGiveNum())));
if (j == 0 || j == discountUse.size() - 1) {
String disInfo = busDeliveredDetailsDiscountsVo.getDiscountName() + busDeliveredDetailsDiscountsVo.getDiscountInfo() + "X" + busDeliveredDetailsDiscount.getGiveNum();
discountRemarks = discountRemarks.append(disInfo).append(",");
} else {
String disInfo = busDeliveredDetailsDiscountsVo.getDiscountName() + busDeliveredDetailsDiscountsVo.getDiscountInfo() + "X" + busDeliveredDetailsDiscount.getGiveNum();
discountRemarks = discountRemarks.append(disInfo);
}
}
busDeliveredApplyDetails.setDiscountAll(discountAll.toString());
busDeliveredApplyDetails.setRemarks(discountRemarks.toString());
//使用人信息
if ("2".equals(busDeliveredApply.getTypeKey())) {
BusDeliveredUseMessage busDeliveredUseMessage = new BusDeliveredUseMessage();
BeanUtil.copyProperties(busDeliveredUseMessagesVo, busDeliveredUseMessage);
busDeliveredUseMessage.setApplySid(busDeliveredApply.getSid());
busDeliveredUseMessageService.insert(busDeliveredUseMessage);
busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid());
}
if ("0".equals(busDeliveredApply.getTypeKey())) {
//客户的信息
String customerSid = busDeliveredApply.getCustomerSid();
ResultBean<CrmCustomerTempVo> crmCustomerTempResultBean = crmCustomerTempFeign.fetchSid(customerSid);
if (crmCustomerTempResultBean.getData() != null) {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempResultBean.getData();
BusDeliveredUseMessage busDeliveredUseMessage = new BusDeliveredUseMessage();
busDeliveredUseMessage.setAddress(crmCustomerTempVo.getAddress());
busDeliveredUseMessage.setName(crmCustomerTempVo.getName());
busDeliveredUseMessage.setMobile(crmCustomerTempVo.getMobile());
busDeliveredUseMessage.setIdNo(crmCustomerTempVo.getIDNumber());
busDeliveredUseMessage.setCustomerType(crmCustomerTempVo.getCustomerType());
busDeliveredUseMessage.setCustomerTypeKey(crmCustomerTempVo.getCustomerTypeKey());
busDeliveredUseMessage.setApplySid(busDeliveredApply.getSid());
busDeliveredUseMessage.setContacts(crmCustomerTempVo.getContacts());
busDeliveredUseMessage.setIsConfirmRealBuyer("0");
busDeliveredUseMessageService.insert(busDeliveredUseMessage);
busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid());
}
}
if ("1".equals(busDeliveredApply.getTypeKey())) {
//贷款人的信息
String loanSid = busDeliveredApply.getLoanSid();
ResultBean<CrmCustomerTempVo> crmCustomerTempResultBean = crmCustomerTempFeign.fetchSid(loanSid);
if (crmCustomerTempResultBean.getData() != null) {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempResultBean.getData();
BusDeliveredUseMessage busDeliveredUseMessage = new BusDeliveredUseMessage();
busDeliveredUseMessage.setAddress(crmCustomerTempVo.getAddress());
busDeliveredUseMessage.setName(crmCustomerTempVo.getName());
busDeliveredUseMessage.setMobile(crmCustomerTempVo.getMobile());
busDeliveredUseMessage.setIdNo(crmCustomerTempVo.getIDNumber());
busDeliveredUseMessage.setCustomerType(crmCustomerTempVo.getCustomerType());
busDeliveredUseMessage.setCustomerTypeKey(crmCustomerTempVo.getCustomerTypeKey());
busDeliveredUseMessage.setApplySid(busDeliveredApply.getSid());
busDeliveredUseMessage.setContacts(crmCustomerTempVo.getContacts());
busDeliveredUseMessage.setIsConfirmRealBuyer("0");
busDeliveredUseMessageService.insert(busDeliveredUseMessage);
busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid());
}
}
busDeliveredApplyDetailsService.insert(busDeliveredApplyDetails);
}
baseMapper.updateById(busDeliveredApply);
}
return rb.success().setData(sid);
}
public ResultBean submitUnDeliveredApply(SubmitUnDeliveredApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
//判断选择的优惠是否超出
List<AppCarListVo> carList = dto.getCarList();
if (!carList.isEmpty()) {
//判断出库车辆列表是否已存在待出库车辆记录,存在提示不能重复出库
for (AppCarListVo appCarListVo : carList) {
int i = busDeliveredApplyDetailsService.fetchByIsDeleteVinSid(appCarListVo.getVinSid());
if (i > 0) {
return rb.setMsg("车辆已存在出库中");
}
}
List<String> vinNoLists = new ArrayList<>();
List<String> vinSidLists = baseMapper.selectSid2(dto.getContractId(), dto.getSid());
//判断合同编号是否一致
for (int a = 0; a < carList.size(); a++) {
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByNoAndVinSid(dto.getContractId(), carList.get(a).getVinSid());
if (busSalesOrderVehicle == null) {
return rb.setMsg("所选车辆与合同编号不匹配");
}
if (vinSidLists.contains(carList.get(a).getVinSid())) {
vinNoLists.add(carList.get(a).getVinSid());
}
}
//判断已经选择的车辆是否已经提交
List<String> vinSid = carList.stream().map(AppCarListVo::getVinSid).collect(Collectors.toList());
List<String> vinNoList = baseMapper.selectVinNo(dto.getContractId(), vinSid);
if (!vinNoList.isEmpty()) {
return rb.setMsg(String.join(",", vinNoList) + "已提交或已出库");
}
if (!vinNoLists.isEmpty()) {
vinNoLists = baseMapper.selectBySid(dto.getContractId(), vinNoLists);
if (!vinNoLists.isEmpty()) {
return rb.setMsg(String.join(",", vinNoLists) + "已发起过欠款出库流程");
}
}
List<String> vinNoListss = baseMapper.selectVinNosss2(dto.getContractId(), vinSid);
vinNoListss.removeAll(Collections.singleton(null));
if (!vinNoListss.isEmpty()) {
return rb.setMsg(String.join(",", vinNoListss) + "不符合欠款出库的条件");
}
//判断是否存在优惠包超出的情况
int giveNumBySid = 0;
for (int i = 0; i < carList.size(); i++) {
AppCarListVo appCarListVo = carList.get(i);
List<BusDeliveredDetailsDiscountsVo> discountUse = appCarListVo.getDiscountUse();
for (int j = 0; j < discountUse.size(); j++) {
BusDeliveredDetailsDiscountsVo busDeliveredDetailsDiscountsVo = discountUse.get(j);
BusSalesOrderDiscount busSalesOrderDiscount = busSalesOrderDiscountService.fetchBySid(busDeliveredDetailsDiscountsVo.getDiscountSid());
//根据discountSid查询已通过或已提交的申请的赠送套餐的数量
int count = busDeliveredDetailsDiscountService.selectGiveNumBySid(busDeliveredDetailsDiscountsVo.getDiscountSid());
int giveNum = count + busDeliveredDetailsDiscountsVo.getDiscountNum();
giveNumBySid = giveNumBySid + busDeliveredDetailsDiscountsVo.getDiscountNum();
if (busSalesOrderDiscount.getNum() < giveNum) {
return rb.setMsg("车辆赠送的优惠包已超出");
}
}
}
boolean isTrue = false;
//若为本销售订单中最后一批车辆出库,则需要判断是否还有未赠送的套餐,如果存在则不允许提交
//查询该合同的销售订单的车辆sid集合
List<String> busSidList = busSalesOrderService.selectByContractNoToVin(dto.getContractId());
//查询已出库或出库审批中的车辆sid集合
List<String> applyBusSidList = baseMapper.selectByContractNoToVin(dto.getContractId());
//所有车辆与已出库或审批中的车辆集合查询出差集
busSidList.removeAll(applyBusSidList);
//根据合同编号以及车辆sid查询busVinSid
List<String> busVinSidList = baseMapper.selectByContractNoToVinSid(dto.getContractId(), vinSid);
busVinSidList.removeAll(Collections.singleton(null));
busSidList.removeAll(busVinSidList);
if (busSidList.isEmpty()) {
isTrue = true;
}
//是否是最后一批出库车辆
if (isTrue) {
//是否存在未赠送的套餐,如果存在则不允许提交
int num = baseMapper.selectNumByContractNo(dto.getContractId());
num = num + giveNumBySid;
int orderNum = busSalesOrderDiscountService.selectByContractNo(dto.getContractId());
if (orderNum > num) {
return rb.setMsg("本次出库为该订单最后一批出库,还存在未赠送的套餐,不允许提交");
}
}
} else {
return rb.setMsg("请选择要出库的车辆");
}
BusDeliveredApply busDeliveredApply = fetchBySid(dto.getSid());
int r = submitAppBusinessData2(dto, busDeliveredApply);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//新增修改保存
ResultBean<String> resultBean = unSave(dto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
String sid = resultBean.getData();
busDeliveredApply = fetchBySid(sid);
String orgSidPath = "";
if (StringUtils.isNotBlank(busDeliveredApply.getOrgSidPath())) {
orgSidPath = busDeliveredApply.getOrgSidPath();
}
String businessSid = resultBean.getData();
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值
Map<String, Object> variables = new HashMap<>();
//用户的部门全路径sid
bv.setOrgSidPath(orgSidPath);
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(dto.getUserSid());
//流程定义id
bv.setModelId(ProcDefEnum.QKBUSDELIVEREDAPPLY.getProDefId());
//判断发起人是否为销售专员
variables.put("isAdj", busDeliveredApply.getCreateBySid().equals(busDeliveredApply.getStaffUserSid()));
//判断是否为贷款业务
variables.put("isDk", "2".equals(busDeliveredApply.getPaymentMethodKey()));
//若app移动端有此功能,则传递appMap参数
Map<String, Object> appMap = new HashMap<>();
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
appMap.put("outboundSid", businessSid);
appMap.put("contractId", busDeliveredApply.getContractNo());
appMap.put("contract_id", busDeliveredApply.getContractNo());
variables.put("app", appMap);
//根据合同号查询销售订单
if (!"2".equals(busDeliveredApply.getPaymentMethodKey())) {
BusSalesOrder busSalesOrder = busSalesOrderService.selectByContractNos(busDeliveredApply.getContractNo());
if ("2".equals(busSalesOrder.getFinancePlan())) {
//查询是否是自营非担保
ResultBean<SolutionsDetailsVo> detailsVoResultBean = loanSolutionsFeign.selectDetailsss(busSalesOrder.getSid());
if (detailsVoResultBean.getData() != null) {
if ("01".equals(detailsVoResultBean.getData().getTypeKey())) {
//自营非担保
variables.put("isDanBao", true);
} else {
variables.put("isDanBao", false);
}
} else {
variables.put("isDanBao", false);
}
} else {
variables.put("isDanBao", false);
}
} else {
variables.put("isDanBao", true);
}
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(bv.getModelId());
flowProcessMapQuery.setVariables(variables);
flowProcessMapQuery.setContractNo(busDeliveredApply.getContractNo());
variables = flowableFeign.getMap(flowProcessMapQuery).getData();
bv.setFormVariables(variables);
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowFeign.startProcess(bv);
if (!voResultBean.getSuccess()) {
return rb.setMsg(voResultBean.getMsg());
}
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
//将该申请的车架号的待出库中的状态修改为出库中
List<String> vinSidList = busDeliveredApplyDetailsService.selectVinSidByApplySid(sid);
//更新出库申请的状态为待审核2
baseMapper.updateStateBySid(2, sid);
busDeliveredApply = fetchBySid(businessSid);
//==============================新增车辆的持久状态组装数据
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
BusDeliveredApply finalBusDeliveredApply1 = busDeliveredApply;
Future future1 = pool.submit(() -> {
List<BaseVehicleStateDto> dtoList = new ArrayList<>();
vinSidList.removeAll(Collections.singleton(null));
if (!vinSidList.isEmpty()) {
vinSidList.stream().forEach(v -> {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.CKTJ.getTypeKey());
baseVehicleStateDto.setBusSid(v);
dtoList.add(baseVehicleStateDto);
});
ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList);
}
});
} catch (Exception e) {
e.printStackTrace();
}
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
BusDeliveredApply finalBusDeliveredApply = busDeliveredApply;
Future future1 = pool.submit(() -> {
//极光推送
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("欠款出库申请");
messageFlowableQuery.setMsgContent(finalBusDeliveredApply.getApplyName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("欠款出库申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
});
} catch (Exception e) {
e.printStackTrace();
}
return voResultBean;
}
if (r == 2) {
// ToDo:驳回到发起人后再次提交
if (StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:procInsId");
}
bv.setTaskId(busDeliveredApply.getTaskId());
bv.setTaskDefKey(busDeliveredApply.getTaskDefKey());
bv.setComment("重新提交");
bv.setInstanceId(dto.getInstanceId());
//将该申请的车架号的待出库中的状态修改为出库中
List<String> vinSidList = busDeliveredApplyDetailsService.selectVinSidByApplySid(sid);
//==============================新增车辆的持久状态组装数据
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
BusDeliveredApply finalBusDeliveredApply1 = busDeliveredApply;
Future future1 = pool.submit(() -> {
List<BaseVehicleStateDto> dtoList = new ArrayList<>();
vinSidList.removeAll(Collections.singleton(null));
if (!vinSidList.isEmpty()) {
vinSidList.stream().forEach(v -> {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.CKTJ.getTypeKey());
baseVehicleStateDto.setBusSid(v);
dtoList.add(baseVehicleStateDto);
});
ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList);
}
});
} catch (Exception e) {
e.printStackTrace();
}
//更新出库申请的状态为待审核2
baseMapper.updateStateBySid(2, sid);
return complete(bv);
}
return rb;
}
}

13
anrui-reportcenter-ui/src/api/callstatistics/callstatistics.js

@ -0,0 +1,13 @@
import request from '@/utils/request'
export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/message/v1/MessageUrgeList/urgeCount',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
}
}

10
anrui-reportcenter-ui/src/layout/components/Sidebar/index.vue

@ -35,8 +35,8 @@
YongHuid: [],
routes: [],
params: {
sourceSid: '0c6dbca4-4325-4db2-ae47-b645b7174552',
userSid: '',
sourceSid: '4b39ae2b-2e2e-4ec5-a1d7-26b7c9e234ff',
userSid: ''
}
}
},
@ -110,14 +110,14 @@
path: menus[i].path,
component: Layout,
redirect: menus[i].path,
children: [menus[i]],
children: [menus[i]]
}
}
}
this.routes = menus
console.log('左侧菜单', this.routes)
return menus
},
},
}
}
}
</script>

2
anrui-reportcenter-ui/src/layout/index.vue

@ -11,7 +11,7 @@
<div class="main-container">
<div class="home-box">
<a href="javascript:window.opener=null;window.open('','_self');window.close();" class="text-center">平台首页</a>
<a href="javascript:void(0);" class="text-center">风控管理</a>
<a href="javascript:void(0);" class="text-center">报表中心</a>
</div>
<sidebar class="sidebar-container" />
<!--菜单-->

374
anrui-reportcenter-ui/src/router/index.js

@ -44,380 +44,20 @@ export const constantRoutes = [
hidden: true
},
{
path: '/capital',
path: '/callstatistics',
component: Layout,
redirect: '/capital',
redirect: '/callstatistics',
meta: {
title: '资方管理'
title: '催办统计'
},
children: [
{
path: '/capital/capital',
component: () => import('@/views/capital/capital.vue'),
name: 'Capital',
meta: { title: '资方管理', noCache: true }
path: '/callstatistics/callstatistics',
component: () => import('@/views/callstatistics/callstatistics.vue'),
name: 'CallStatistics',
meta: { title: '催办统计', noCache: true }
}
]
},
{
path: '/financialpolicymanagement',
component: Layout,
redirect: '/financialpolicymanagement',
meta: {
title: '金融产品政策管理'
},
children: [
{
path: '/financialpolicymanagement/financialpolicymanagement',
component: () => import('@/views/financialpolicymanagement/financialpolicymanagement.vue'),
name: 'FinancialPolicyManagement',
meta: { title: '金融产品政策管理', noCache: true }
}
]
},
{
path: '/financialpolicyreporting',
component: Layout,
redirect: '/financialpolicyreporting',
meta: {
title: '金融产品政策报备'
},
children: [
{
path: '/financialpolicyreporting/financialpolicyreporting',
component: () => import('@/views/financialpolicyreporting/financialpolicyreporting.vue'),
name: 'FinancialPolicyrReporting',
meta: { title: '金融产品政策报备', noCache: true }
}
]
},
{
path: '/otherfinancialpolicymanagement',
component: Layout,
redirect: '/otherfinancialpolicymanagement',
meta: {
title: '其它融产品管理'
},
children: [
{
path: '/otherfinancialpolicymanagement/otherfinancialpolicymanagement',
component: () => import('@/views/otherfinancialpolicymanagement/otherfinancialpolicymanagement.vue'),
name: 'OtherFinancialPolicyManagement',
meta: { title: '其它融产品管理', noCache: true }
}
]
},
{
path: '/otherfinancialproductsreport',
component: Layout,
redirect: '/otherfinancialproductsreport',
meta: {
title: '其它融产品报备'
},
children: [
{
path: '/otherfinancialproductsreport/otherfinancialproductsreport',
component: () => import('@/views/otherfinancialproductsreport/otherfinancialproductsreport.vue'),
name: 'OtherFinancialProductsReport',
meta: { title: '其它融产品报备', noCache: true }
}
]
},
{
path: '/customizedfinancialsolutions',
component: Layout,
redirect: '/customizedfinancialsolutions',
meta: {
title: '公司定制金融方案'
},
children: [
{
path: '/customizedfinancialsolutions/customizedfinancialsolutions',
component: () => import('@/views/customizedfinancialsolutions/customizedfinancialsolutions.vue'),
name: 'CustomizedFinancialSolutions',
meta: { title: '公司定制金融方案', noCache: true }
}
]
},
{
path: '/creditauditmanagement',
component: Layout,
redirect: '/creditauditmanagement',
meta: {
title: '贷前信用审核管理'
},
children: [
{
path: '/creditauditmanagement/creditauditmanagement',
component: () => import('@/views/creditauditmanagement/creditauditmanagement.vue'),
name: 'CreditAuditManagement',
meta: { title: '贷前信用审核管理', noCache: true }
}
]
},
{
path: '/financialclerkbycreditvetting',
component: Layout,
redirect: '/financialclerkbycreditvetting',
meta: {
title: '金融内勤信用审核管理'
},
children: [
{
path: '/financialclerkbycreditvetting/financialclerkbycreditvetting',
component: () => import('@/views/financialclerkbycreditvetting/financialclerkbycreditvetting.vue'),
name: 'FinancialClerkByCreditVetting',
meta: { title: '金融内勤信用审核管理', noCache: true }
}
]
},
{
path: '/creditauditappeal',
component: Layout,
redirect: '/creditauditappeal',
meta: {
title: '贷前信用审核申诉'
},
children: [
{
path: '/creditauditappeal/creditauditappeal',
component: () => import('@/views/creditauditappeal/creditauditappeal.vue'),
name: 'CreditAuditAppeal',
meta: { title: '贷前信用审核申诉', noCache: true }
}
]
},
{
path: '/homevisitpreparation',
component: Layout,
redirect: '/homevisitpreparation',
meta: {
title: '家访准备管理'
},
children: [
{
path: '/homevisitpreparation/homevisittobeprepared',
component: () => import('@/views/homevisitpreparation/homevisittobeprepared.vue'),
name: 'HomeVisitToBePrepared',
meta: { title: '家访准备管理', noCache: true }
}
]
},
{
path: '/riskcontrolparameter',
component: Layout,
redirect: '/riskcontrolparameter',
meta: {
title: '风控参数设置'
},
children: [
{
path: '/riskcontrolparameter/riskcontrolparameter',
component: () => import('@/views/riskcontrolparameter/riskcontrolparameter.vue'),
name: 'RiskControlParameter',
meta: { title: '风控参数设置', noCache: true }
}
]
},
{
path: '/homevisitdatareview',
component: Layout,
redirect: '/homevisitdatareview',
meta: {
title: '家访资料审核'
},
children: [
{
path: '/homevisitdatareview/homevisitdatatobereviewed',
component: () => import('@/views/homevisitdatareview/homevisitdatatobereviewed.vue'),
name: 'HomeVisitDataReview',
meta: { title: '家访资料审核', noCache: true }
}
]
},
{
path: '/managementcreditaudit',
component: Layout,
redirect: '/managementcreditaudit',
meta: {
title: '资方信审终审结果'
},
children: [
{
path: '/managementcreditaudit/managementcreditaudit',
component: () => import('@/views/managementcreditaudit/managementcreditaudit.vue'),
name: 'ManagementCreditAudit',
meta: { title: '资方信审终审结果', noCache: true }
}
]
},
{
path: '/warrantinformation',
component: Layout,
redirect: '/warrantinformation',
meta: {
title: '权证资料管理'
},
children: [
{
path: '/warrantinformation/warrantinformation',
component: () => import('@/views/warrantinformation/warrantinformation.vue'),
name: 'WarrantInformation',
meta: { title: '权证资料管理', noCache: true }
}
]
},
{
path: '/repaymentschedule',
component: Layout,
redirect: '/repaymentschedule',
meta: {
title: '还款计划表'
},
children: [
{
path: '/repaymentschedule/repaymentschedule',
component: () => import('@/views/repaymentschedule/repaymentschedule.vue'),
name: 'RepaymentSchedule',
meta: { title: '还款计划表', noCache: true }
}
]
},
{
path: '/unsecuredbusiness',
component: Layout,
redirect: '/unsecuredbusiness',
meta: {
title: '非担保信审'
},
children: [
{
path: '/unsecuredbusiness/unsecuredbusiness',
component: () => import('@/views/unsecuredbusiness/unsecuredbusiness.vue'),
name: 'UnsecuredBusiness',
meta: { title: '非担保信审', noCache: true }
}
]
},
{
path: '/loandatareview',
component: Layout,
redirect: '/loandatareview',
meta: {
title: '放款资料审核'
},
children: [
{
path: '/loandatareview/loandatareview',
component: () => import('@/views/loandatareview/loandatareview.vue'),
name: 'LoanDataReview',
meta: { title: '放款资料审核', noCache: true }
}
]
},
// 流程审批
// 金融产品政策报备--编辑
{
path: '/jinrongzhengceFlow/financialpolicyreportingEdit',
component: () =>
import('@/views/workFlow/jinrongzhengceFlow/financialpolicyreportingEdit.vue'),
name: 'FinancialPolicyReportingEdit'
},
// 金融产品政策报备--待办
{
path: '/jinrongzhengceFlow/financialpolicyreportingDaiBanInfo',
component: () =>
import('@/views/workFlow/jinrongzhengceFlow/financialpolicyreportingDaiBanInfo.vue'),
name: 'FinancialPolicyReportingBaiBanInfo'
},
// 金融产品政策报备--待办--总经理跳转风控中心
{
path: '/jinrongzhengceFlow/financialpolicyreportingByDivisionOperateInfo',
component: () =>
import('@/views/workFlow/jinrongzhengceFlow/financialpolicyreportingByDivisionOperateInfo.vue'),
name: 'FinancialPolicyReportingByDivisionOperateInfo'
},
// 金融产品政策报备--已办
{
path: '/jinrongzhengceFlow/financialpolicyreportingYiBanInfo',
component: () =>
import('@/views/workFlow/jinrongzhengceFlow/financialpolicyreportingYiBanInfo.vue'),
name: 'FinancialPolicyReportingYiBanInfo'
},
// 流程审批
// 其它融产品报备--编辑
{
path: '/qitarongchanpinFlow/otherfinancialproductsreportEdit',
component: () =>
import('@/views/workFlow/qitarongchanpinFlow/otherfinancialproductsreportEdit.vue'),
name: 'OtherFinancialProductsReportEdit'
},
// 其它融产品报备--待办
{
path: '/qitarongchanpinFlow/otherfinancialproductsreportDaiBan',
component: () =>
import('@/views/workFlow/qitarongchanpinFlow/otherfinancialproductsreportDaiBan.vue'),
name: 'OtherFinancialProductsReportDaiBan'
},
// 其它融产品报备--待办--总经理跳转风控中心
{
path: '/qitarongchanpinFlow/otherfinancialproductsreportByDivisionOperate',
component: () =>
import('@/views/workFlow/qitarongchanpinFlow/otherfinancialproductsreportByDivisionOperate.vue'),
name: 'OtherFinancialProductsReportByDivisionOperate'
},
// 其它融产品报备--已办
{
path: '/qitarongchanpinFlow/otherfinancialproductsreportYiBan',
component: () =>
import('@/views/workFlow/qitarongchanpinFlow/otherfinancialproductsreportYiBan.vue'),
name: 'OtherFinancialProductsReportYiBan'
},
// 信用申诉--编辑
{
path: '/xinyongshensuFlow/creditauditappealEdit',
component: () =>
import('@/views/workFlow/xinyongshensuFlow/creditauditappealEdit.vue'),
name: 'CreditAuditAppealEdit'
},
// 信用申诉--待办
{
path: '/xinyongshensuFlow/creditauditappealDaiBan',
component: () =>
import('@/views/workFlow/xinyongshensuFlow/creditauditappealDaiBan.vue'),
name: 'CreditAuditAppealDaiBan'
},
// 信用申诉--已办
{
path: '/xinyongshensuFlow/creditauditappealYiBan',
component: () =>
import('@/views/workFlow/xinyongshensuFlow/creditauditappealYiBan.vue'),
name: 'CreditAuditAppealYiBan'
},
// 公司定制金融方案--编辑
{
path: '/dingzhijinrongFlow/customizedfinancialsolutionsEdit',
component: () =>
import('@/views/workFlow/dingzhijinrongFlow/customizedfinancialsolutionsEdit.vue'),
name: 'CustomizedFinancialSolutionsEdit'
},
// 公司定制金融方案--待办
{
path: '/dingzhijinrongFlow/customizedfinancialsolutionsDaiBan',
component: () =>
import('@/views/workFlow/dingzhijinrongFlow/customizedfinancialsolutionsDaiBan.vue'),
name: 'CustomizedFinancialSolutionsDaiBan'
},
// 公司定制金融方案--已办
{
path: '/dingzhijinrongFlow/customizedfinancialsolutionsYiban',
component: () =>
import('@/views/workFlow/dingzhijinrongFlow/customizedfinancialsolutionsYiban.vue'),
name: 'CustomizedFinancialSolutionsYiBan'
}
// 404 page must be placed at the end !!!
// { path: '*', redirect: '/404', hidden: true }

200
anrui-reportcenter-ui/src/views/callstatistics/callstatistics.vue

@ -0,0 +1,200 @@
<template>
<div class="app-container">
<!-- Start 列表页面 -->
<div v-show="viewState == 1">
<button-bar view-title="催办统计" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="申请日期">
<el-date-picker v-model="listQuery.params.createStartTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.createEndTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</el-form-item>
<el-form-item label="合同编号">
<el-input v-model="listQuery.params.contractId" clearable placeholder=""/>
</el-form-item>
<el-form-item label="客户名称">
<el-input v-model="listQuery.params.customerName" clearable placeholder=""/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" @click="handleFilter" size="small">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="handleReset" size="small">重置</el-button>
</div>
</div>
</div>
<div class="listtop">
<div class="tit">催办统计列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;">
<el-table-column fixed width="60px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column prop="taskId" label="工作编号" align="center" width="100"/>
<el-table-column prop="taskName" label="工作名称" align="center" />
<el-table-column prop="applyName" label="发起人" align="center" />
<el-table-column prop="startTime" label="发起时间" align="center" />
<el-table-column prop="endTime" label="结束时间" align="center" />
<el-table-column prop="approvalState" label="审批状态" align="center" width="90"/>
<el-table-column prop="result" label="审批结果" align="center" width="90"/>
<el-table-column prop="approvalName" label="审批人" align="center" width="90"/>
<el-table-column prop="aspect" label="审批环节" align="center" />
<el-table-column prop="receiveTime" label="审批接收时间" align="center" />
<el-table-column prop="passTime" label="审批通过时间" align="center" />
<el-table-column prop="approvalTime" label="审批用时" align="center" width="100"/>
<el-table-column prop="sysCount" label="系统催办次数" align="center" width="110"/>
<el-table-column prop="timeInterval" label="系统催办时间间隔" align="center" width="140"/>
<el-table-column prop="artificialCount" label="人工催办次数" align="center" width="110"/>
</el-table>
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/callstatistics/callstatistics'
import { getOrgSidByPath } from '@/api/Common/dictcommons'
export default {
name: 'CuiBanTongJi',
components: {
Pagination,
pageye,
ButtonBar
},
data() {
return {
btndisabled: false,
btnList: [
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1,
// -----------
tableKey: 0,
list: [],
sids: [],
FormLoading: false,
listLoading: false,
listQuery: {
params: {
createStartTime: '',
createEndTime: '',
createOrgSid: '',
userSid: '',
contractId: '',
customerName: ''
},
current: 1,
size: 10,
total: 0
},
rules: {}
}
},
created() {
//
this.init()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doClose':
this.doClose()
break
default:
break
}
},
init() {
getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
if (res.success) {
this.listQuery.params.createOrgSid = res.data
this.getList()
console.log(this.listQuery.params.createOrgSid)
}
})
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
req.listPage(this.listQuery).then((response) => {
console.log('列表查询结果:', response)
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
handleReset() {
this.listQuery = {
params: {
createStartTime: '',
createEndTime: '',
createOrgSid: '',
userSid: '',
contractId: '',
customerName: ''
},
current: 1,
size: 10,
total: 0
}
this.init()
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

8
anrui-reportcenter-ui/vue.config.js

@ -40,16 +40,16 @@ module.exports = {
},
proxy: {
'/api': { // 匹配所有以 '/api'开头的请求路径
target: 'http://127.0.0.1:8111/',
// target: process.env.VUE_APP_URL, // 代理目标的基础路径
// target: 'http://127.0.0.1:8111/',
target: process.env.VUE_APP_URL, // 代理目标的基础路径
changeOrigin: true, // 支持跨域
pathRewrite: { // 重写路径: 去掉路径中开头的'/api'
'^/api': ''
}
},
'/upload': { // 匹配所有以 '/api'开头的请求路径
target: 'http://127.0.0.1:8111/',
// target: process.env.VUE_APP_URL, // 代理目标的基础路径
// target: 'http://127.0.0.1:8111/',
target: process.env.VUE_APP_URL, // 代理目标的基础路径
changeOrigin: true, // 支持跨域
pathRewrite: { // 重写路径: 去掉路径中开头的'/api'
'^/upload': ''

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfileexamine/LoanFileexamineFeign.java

@ -80,4 +80,9 @@ public interface LoanFileexamineFeign {
@PostMapping("/uploadFile")
@ResponseBody
public ResultBean uploadFile(@RequestBody LoanFileDto loanFileDto);
@ApiOperation("根据销售订单和消贷合同sid查询资料审核信息")
@GetMapping("/selectOrderSidAndContract")
@ResponseBody
ResultBean<LoanFileexamine> selectOrderSidAndContract(@RequestParam("saleOrderSid") String saleOrderSid, @RequestParam(value = "loanContractSid",required = false) String loanContractSid);
}

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfileexamine/LoanFileexamineFeignFallback.java

@ -74,4 +74,9 @@ public class LoanFileexamineFeignFallback implements LoanFileexamineFeign {
public ResultBean uploadFile(LoanFileDto loanFileDto) {
return null;
}
@Override
public ResultBean<LoanFileexamine> selectOrderSidAndContract(String saleOrderSid, String loanContractSid) {
return null;
}
}

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfileexamine/LoanFileexamineMapper.java

@ -62,4 +62,6 @@ public interface LoanFileexamineMapper extends BaseMapper<LoanFileexamine> {
@Select("select * from loan_fileexamine")
List<LoanFileexamineVo> selectListVo();
LoanFileexamine selectOrderSidAndContract(@Param("saleOrderSid") String saleOrderSid, @Param("loanContractSid") String loanContractSid);
}

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfileexamine/LoanFileexamineMapper.xml

@ -35,4 +35,8 @@
${ew.sqlSegment}
</where>
</select>
<select id="selectOrderSidAndContract" resultType="com.yxt.anrui.riskcenter.api.loanfileexamine.LoanFileexamine">
SELECT * FROM loan_fileexamine where saleOrderSid = #{saleOrderSid} and loanContractSid = #{loanContractSid} order by id desc limit 1
</select>
</mapper>

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfileexamine/LoanFileexamineRest.java

@ -99,4 +99,9 @@ public class LoanFileexamineRest implements LoanFileexamineFeign {
loanFileexamineService.uploadFile(loanFileDto);
return rb.success();
}
@Override
public ResultBean<LoanFileexamine> selectOrderSidAndContract(String saleOrderSid, String loanContractSid) {
return loanFileexamineService.selectOrderSidAndContract(saleOrderSid,loanContractSid);
}
}

13
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfileexamine/LoanFileexamineService.java

@ -488,4 +488,17 @@ public class LoanFileexamineService extends MybatisBaseService<LoanFileexamineMa
loanHomevisitInvestigateFileService.saveOrUpdateDto(loanHomevisitInvestigateFileDto);
}
}
public ResultBean<LoanFileexamine> selectOrderSidAndContract(String saleOrderSid, String loanContractSid) {
ResultBean<LoanFileexamine> rb = ResultBean.fireFail();
//根据销售订单sid和消贷合同sid查询信息
if(StringUtils.isBlank(loanContractSid)){
return rb;
}
LoanFileexamine loanFileexamine = baseMapper.selectOrderSidAndContract(saleOrderSid,loanContractSid);
if(loanFileexamine == null){
return rb;
}
return rb.success().setData(loanFileexamine);
}
}

9
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/CarListVo.java

@ -21,4 +21,13 @@ public class CarListVo implements Vo {
@ApiModelProperty("实际购车人")
private DeliveredUseMessagesVo realBuyer;
@ApiModelProperty("资方放款审核结果")
private String bankStateValue;
@ApiModelProperty("资方放款审核结果key")
private String bankStateKey;
@ApiModelProperty("资料是否齐全")
private String zlStateValue;
@ApiModelProperty("资料是否齐全:0未齐全/1已齐全")
private String zlState;
}

9
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/VinListVo.java

@ -17,4 +17,13 @@ public class VinListVo implements Vo {
private String vinSid;
@ApiModelProperty("销售订单车辆sid")
private String busVinSid;
@ApiModelProperty("资方放款审核结果")
private String bankStateValue;
@ApiModelProperty("资方放款审核结果key")
private String bankStateKey;
@ApiModelProperty("资料是否齐全")
private String zlStateValue;
@ApiModelProperty("资料是否齐全:0未齐全/1已齐全")
private String zlState;
}

Loading…
Cancel
Save