Browse Source

优化

master
dimengzhe 2 years ago
parent
commit
4725250779
  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. 101
      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. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfileexamine/LoanFileexamineFeign.java
  14. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfileexamine/LoanFileexamineFeignFallback.java
  15. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfileexamine/LoanFileexamineMapper.java
  16. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfileexamine/LoanFileexamineMapper.xml
  17. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfileexamine/LoanFileexamineRest.java
  18. 13
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfileexamine/LoanFileexamineService.java
  19. 9
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/CarListVo.java
  20. 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;
}

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

@ -62,6 +62,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 +123,8 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
private BusDeliveredApplyDetailsService busDeliveredApplyDetailsService;
@Autowired
private BusDeliveredUseMessageService busDeliveredUseMessageService;
@Autowired
private LoanFileexamineFeign loanFileexamineFeign;
/**
* 待出库车辆分页列表
@ -187,6 +191,40 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
}
IPage<BusDelivered> page = PagerUtil.queryToPage(pq);
IPage<BusDeliveredVo> pagging = baseMapper.selectListsVoNew(page, qw);
List<BusDeliveredVo> list = pagging.getRecords();
list.removeAll(Collections.singleton(null));
if(!list.isEmpty()){
for (int i = 0; i < list.size(); i++) {
BusDeliveredVo busDeliveredVo = list.get(i);
String busVinSid = busDeliveredVo.getBusVinSid();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.fetchBySid(busVinSid);
if(busSalesOrderVehicle != null){
String saleOrderSid = busSalesOrderVehicle.getSalesOrderSid();
String loanContractSid = busSalesOrderVehicle.getLoanContractSid();
//根据消贷合同和销售订单查询
ResultBean<LoanFileexamine> loanFileexamineResultBean = loanFileexamineFeign.selectOrderSidAndContract(saleOrderSid,loanContractSid);
if(!loanFileexamineResultBean.getSuccess()){
busDeliveredVo.setBankStateValue("未审核");
busDeliveredVo.setZlStateValue("否");
}else{
LoanFileexamine loanFileexamine = loanFileexamineResultBean.getData();
if("1".equals(loanFileexamine.getZlState())){
busDeliveredVo.setZlStateValue("是");
busDeliveredVo.setZlState(loanFileexamine.getZlState());
}else{
busDeliveredVo.setZlStateValue("否");
busDeliveredVo.setZlState(loanFileexamine.getZlState());
}
if(StringUtils.isBlank(loanFileexamine.getBankStateValue())){
busDeliveredVo.setBankStateValue("未审核");
}else{
busDeliveredVo.setBankStateValue(loanFileexamine.getBankStateValue());
busDeliveredVo.setBankStateKey(loanFileexamine.getBankStateKey());
}
}
}
}
}
PagerVo<BusDeliveredVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
@ -276,6 +314,44 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
qw.eq("bo.createBySid", pq.getParams().getUserSid());
}
IPage<AppBusDeliveredPageVo> iPage = baseMapper.getRetrievalNotListNew(page, qw, name);
List<AppBusDeliveredPageVo> list = iPage.getRecords();
list.removeAll(Collections.singleton(null));
if(!list.isEmpty()){
for (int i = 0; i < list.size(); i++) {
AppBusDeliveredPageVo busDeliveredVos = list.get(i);
List<AppVinListVo> vinList = busDeliveredVos.getVinList();
for (int j = 0; j < vinList.size(); j++) {
AppVinListVo appVinListVo = vinList.get(j);
String busVinSid = appVinListVo.getBusVinSid();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.fetchBySid(busVinSid);
if(busSalesOrderVehicle != null){
String saleOrderSid = busSalesOrderVehicle.getSalesOrderSid();
String loanContractSid = busSalesOrderVehicle.getLoanContractSid();
//根据消贷合同和销售订单查询
ResultBean<LoanFileexamine> loanFileexamineResultBean = loanFileexamineFeign.selectOrderSidAndContract(saleOrderSid,loanContractSid);
if(!loanFileexamineResultBean.getSuccess()){
appVinListVo.setBankStateValue("未审核");
appVinListVo.setZlStateValue("否");
}else{
LoanFileexamine loanFileexamine = loanFileexamineResultBean.getData();
if("1".equals(loanFileexamine.getZlState())){
appVinListVo.setZlStateValue("是");
appVinListVo.setZlState(loanFileexamine.getZlState());
}else{
appVinListVo.setZlStateValue("否");
appVinListVo.setZlState(loanFileexamine.getZlState());
}
if(StringUtils.isBlank(loanFileexamine.getBankStateValue())){
appVinListVo.setBankStateValue("未审核");
}else{
appVinListVo.setBankStateValue(loanFileexamine.getBankStateValue());
appVinListVo.setBankStateKey(loanFileexamine.getBankStateKey());
}
}
}
}
}
}
return iPage;
}
@ -438,6 +514,31 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
BusDeliveredUseMessagesVo deliveredUseMessagesVo = new BusDeliveredUseMessagesVo();
deliveredUseMessagesVo.setVin(busSalesOrderVehicle.getLinkNo().substring(busSalesOrderVehicle.getLinkNo().length() - 8));
appCarListVo.setRealBuyer(deliveredUseMessagesVo);
//===============================添加资料是否齐全和资方放款是否审核
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);
}

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;
}
}

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