diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderDetailsVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderDetailsVo.java index 09ddc909d5..b7084e8684 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderDetailsVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderDetailsVo.java @@ -27,6 +27,7 @@ package com.yxt.anrui.buscenter.api.bussalesorder; import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDetailsVo; +import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppBusSalesOrderVehicleCostVo; import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderinsurance.BusSalesOrderInsuranceDetailsVo; @@ -189,4 +190,7 @@ public class BusSalesOrderDetailsVo implements Vo { private String companyInvoicingName; @ApiModelProperty("开票单位sid") private String companyInvoicingSid; + + @ApiModelProperty(value = "车辆成本信息") + private AppBusSalesOrderVehicleCostVo vehicleCostObj = new AppBusSalesOrderVehicleCostVo(); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java index 675c5c51bf..1a8227fa1f 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java @@ -36,7 +36,6 @@ import com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageQu import com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageVo; import com.yxt.anrui.buscenter.api.bussalesorder.flowable.*; import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice; -import com.yxt.anrui.buscenter.api.bussolutionschange.flow.flow.SolutionsChangeDelegateQuery; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -253,6 +252,12 @@ public interface BusSalesOrderFeign { @ResponseBody ResultBean getSaleOrderDetails(@PathVariable(value = "sid") String sid); + @ApiOperation("销售订单详情2") + @GetMapping("/getSaleOrderDetails2/{sid}") + @ResponseBody + ResultBean getSaleOrderDetails2(@PathVariable(value = "sid") String sid + ,@RequestParam(value = "userSid", required = false) String userSid); + @ApiOperation("根据合同编号查询销售订单详情") @GetMapping("/getSaleOrderDetailsByContractNo/{contractNo}") @ResponseBody diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java index 45dd5aa58b..71c5bd30d9 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java @@ -227,6 +227,11 @@ public class BusSalesOrderFeignFallback implements BusSalesOrderFeign { return null; } + @Override + public ResultBean getSaleOrderDetails2(String sid, String userSid) { + return null; + } + @Override public ResultBean getSaleOrderDetailsByContractNo(String contractNo) { return null; diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppBusSalesOrderVehicleCostVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppBusSalesOrderVehicleCostVo.java new file mode 100644 index 0000000000..168945c04e --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppBusSalesOrderVehicleCostVo.java @@ -0,0 +1,19 @@ +package com.yxt.anrui.buscenter.api.bussalesorder.app.order; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AppBusSalesOrderVehicleCostVo { + + @ApiModelProperty("厂家合同(结算)价") + private String manufacturerSettleAmount; + @ApiModelProperty("政策合计金额") + private String policyAmount; + @ApiModelProperty("成本价") + private String cost; + @ApiModelProperty("政策明细") + private String policyDetails; + @ApiModelProperty("备注") + private String remarks; +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderDetailsVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderDetailsVo.java index b79581eecf..134c035da6 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderDetailsVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderDetailsVo.java @@ -154,5 +154,7 @@ public class AppOrderDetailsVo implements Vo { private String orgSidPath; + @ApiModelProperty(value = "车辆成本信息") + private AppBusSalesOrderVehicleCostVo vehicleCostObj; } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/flowable/OrderFlowableQuery.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/flowable/OrderFlowableQuery.java index 7e3f9002c6..71fd782677 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/flowable/OrderFlowableQuery.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/flowable/OrderFlowableQuery.java @@ -44,4 +44,14 @@ public class OrderFlowableQuery implements Query { private String companyInvoicingName; @ApiModelProperty("开票单位sid") private String companyInvoicingSid; + @ApiModelProperty("厂家合同(结算)价") + private String manufacturerSettleAmount; + @ApiModelProperty("政策合计金额") + private String policyAmount; + @ApiModelProperty("成本价") + private String cost; + @ApiModelProperty("政策明细") + private String policyDetails; + @ApiModelProperty("备注") + private String remarks; } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehiclecost/BusSalesOrderVehicleCost.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehiclecost/BusSalesOrderVehicleCost.java new file mode 100644 index 0000000000..75ead892c6 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehiclecost/BusSalesOrderVehicleCost.java @@ -0,0 +1,67 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.buscenter.api.bussalesordervehiclecost; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Project: anrui-buscenter(业务管理)
+ * File: BusSalesOrderVehicle.java
+ * Class: com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle
+ * Description: 销售订单-车辆信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-04-27 13:39:04
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "销售订单-车辆成本信息", description = "销售订单-车辆成本信息") +@TableName("bus_sales_order_vehicle_cost") +public class BusSalesOrderVehicleCost extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("销售订单sid") + private String salesOrderSid; + @ApiModelProperty("厂家合同(结算)价") + private String manufacturerSettleAmount; + @ApiModelProperty("政策合计金额") + private BigDecimal policyAmount; + @ApiModelProperty("成本价") + private BigDecimal cost; + @ApiModelProperty("政策明细") + private String policyDetails; + + +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehiclecost/BusSalesOrderVehicleCostFeign.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehiclecost/BusSalesOrderVehicleCostFeign.java new file mode 100644 index 0000000000..a5032da4b1 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehiclecost/BusSalesOrderVehicleCostFeign.java @@ -0,0 +1,60 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.buscenter.api.bussalesordervehiclecost; + +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * Project: anrui-buscenter(业务管理)
+ * File: BusSalesOrderInsuranceFeign.java
+ * Class: com.yxt.anrui.buscenter.api.bussalesorderinsurance.BusSalesOrderInsuranceFeign
+ * Description: 销售订单-车辆成本信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-04-27 13:39:04
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "销售订单-车辆成本信息") +@FeignClient( + contextId = "anrui-buscenter-BusSalesOrderVehicleCost", + name = "anrui-buscenter", + path = "v1/BusSalesOrderVehicleCost") +public interface BusSalesOrderVehicleCostFeign { + + @ApiOperation("根据销售订单sid查询车辆成本信息") + @GetMapping("/getVehicleCostVoByOrderSid") + @ResponseBody + public ResultBean getVehicleCostVoByOrderSid(@RequestParam("orderSid")String orderSid); +} \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehiclecost/BusSalesOrderVehicleCostVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehiclecost/BusSalesOrderVehicleCostVo.java new file mode 100644 index 0000000000..a990997d82 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehiclecost/BusSalesOrderVehicleCostVo.java @@ -0,0 +1,65 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.buscenter.api.bussalesordervehiclecost; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Project: anrui-buscenter(业务管理)
+ * File: BusSalesOrderVehicle.java
+ * Class: com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle
+ * Description: 销售订单-车辆信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-04-27 13:39:04
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "销售订单-车辆成本信息", description = "销售订单-车辆成本信息") +public class BusSalesOrderVehicleCostVo implements Vo { + + @ApiModelProperty("销售订单sid") + private String salesOrderSid; + @ApiModelProperty("厂家合同(结算)价") + private String manufacturerSettleAmount; + @ApiModelProperty("政策合计金额") + private BigDecimal policyAmount; + @ApiModelProperty("成本价") + private BigDecimal cost; + @ApiModelProperty("政策明细") + private String policyDetails; + @ApiModelProperty("备注") + private String remarks; + +} diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java index 78939f316a..34f52c8e71 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java @@ -39,7 +39,6 @@ import com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageQu import com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageVo; import com.yxt.anrui.buscenter.api.bussalesorder.flowable.*; import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice; -import com.yxt.anrui.buscenter.api.bussolutionschange.flow.flow.SolutionsChangeDelegateQuery; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.common.base.utils.PagerUtil; @@ -51,7 +50,10 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; import java.lang.reflect.InvocationTargetException; import java.util.List; @@ -299,6 +301,11 @@ public class BusSalesOrderRest implements BusSalesOrderFeign { return busSalesOrderService.getSaleOrderDetails(sid); } + @Override + public ResultBean getSaleOrderDetails2(String sid, String userSid) { + return busSalesOrderService.getSaleOrderDetails2(sid,userSid); + } + @Override public ResultBean getSaleOrderDetailsByContractNo(String contractNo) { return busSalesOrderService.getSaleOrderDetailsByContractNo(contractNo); diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java index 7a9f9b1b93..8037ae2134 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java @@ -28,7 +28,6 @@ package com.yxt.anrui.buscenter.biz.bussalesorder; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.lang.Console; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -36,7 +35,6 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.yxt.anrui.base.api.basebrandletpricepowimit.BaseBrandMitQuery; import com.yxt.anrui.base.api.basebrandletpricepowimit.BaseBrandletpricepowimitFeign; import com.yxt.anrui.base.api.basediscountpackage.BaseDiscountpackageFeign; -import com.yxt.anrui.base.api.basedistributor.BaseDistributor; import com.yxt.anrui.base.api.basemiddleman.BaseMiddlemanDetailsVo; import com.yxt.anrui.base.api.basemiddleman.BaseMiddlemanFeign; import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo; @@ -52,7 +50,6 @@ import com.yxt.anrui.base.api.basevehiclemodelappendix.BaseVehicleModelAppendixF import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateDto; import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateEnum; import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateFeign; -import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstate; import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstateFeign; import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign; import com.yxt.anrui.base.api.busvehicleapplydetail.AppBusVehicleApplyListVo; @@ -66,10 +63,8 @@ import com.yxt.anrui.base.api.commoncontract.CommonContractVo; import com.yxt.anrui.base.common.enums.BillTypeEnum; import com.yxt.anrui.base.common.enums.CommonContractEnum; import com.yxt.anrui.base.common.enums.VehicleState; -import com.yxt.anrui.base.common.enums.VehicleStateTempOrLast; import com.yxt.anrui.base.common.utils.Rule; import com.yxt.anrui.base.common.utils.domain.BillNo; -import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApply; import com.yxt.anrui.buscenter.api.busdeposit.BusDeposit; import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitious; import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDetailsVo; @@ -111,10 +106,10 @@ import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusBorrowVehicleVo; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleDetailsVo; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleDto; +import com.yxt.anrui.buscenter.api.bussalesordervehiclecost.BusSalesOrderVehicleCostVo; import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrder; import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrderDetailsVo; import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrderDto; -import com.yxt.anrui.buscenter.api.bussolutionschange.BusSolutionsChange; import com.yxt.anrui.buscenter.api.common.BusSalesOrderConstantUtils; import com.yxt.anrui.buscenter.biz.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyService; import com.yxt.anrui.buscenter.biz.busdeposit.BusDepositService; @@ -131,6 +126,7 @@ import com.yxt.anrui.buscenter.biz.bussalesorderprice.BusSalesOrderPriceService; import com.yxt.anrui.buscenter.biz.bussalesordersubmit.BusSalesOrderSubmitService; import com.yxt.anrui.buscenter.biz.bussalesordertrailer.BusSalesOrderTrailerService; import com.yxt.anrui.buscenter.biz.bussalesordervehicle.BusSalesOrderVehicleService; +import com.yxt.anrui.buscenter.biz.bussalesordervehiclecost.BusSalesOrderVehicleCostService; import com.yxt.anrui.buscenter.biz.bussalesvehicleorder.BusSalesVehicleOrderService; import com.yxt.anrui.buscenter.biz.bussolutionschange.BusSolutionsChangeService; import com.yxt.anrui.crm.api.crmcustomertemp.AppCrmCustomerTempInfoVo; @@ -152,35 +148,36 @@ import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery; import com.yxt.anrui.flowable.api.flow2.FlowFeign; -import com.yxt.anrui.flowable.api.flowtask.*; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; +import com.yxt.anrui.flowable.api.flowtask.FlowableQuery; +import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign; import com.yxt.anrui.portal.api.dictcommon.DictCommonVo; import com.yxt.anrui.portal.api.flow.PCHistTaskListAndCommentList; +import com.yxt.anrui.portal.api.sysfunction.ButtonPermissionQuery; +import com.yxt.anrui.portal.api.sysfunction.ButtonPermissionVo; +import com.yxt.anrui.portal.api.sysfunction.SysFunctionFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganization; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoFeign; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; -import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUser; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.portal.api.sysuser.app.AppUserOrgInfoVo; import com.yxt.anrui.portal.config.DictCommonType; -import com.yxt.anrui.riskcenter.api.loancreditappealapply.LoanCreditAppealApply; import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy; import com.yxt.anrui.riskcenter.api.loanhomevisitprep.HomeVisitDto; -import com.yxt.anrui.riskcenter.api.loanhomevisitprep.LoanHomevisitPrepDto; import com.yxt.anrui.riskcenter.api.loanhomevisitprep.LoanHomevisitPrepFeign; import com.yxt.anrui.riskcenter.api.loanpreloancreditapply.LoanPreloanCreditApply; -import com.yxt.anrui.riskcenter.api.loanpreloancreditapply.LoanPreloanCreditApplyVo; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign; -import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsVo; import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionListVo; import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo; import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionssVo; @@ -188,7 +185,6 @@ import com.yxt.anrui.riskcenter.api.loansolutionsdetail.LoanSolutionsDetail; import com.yxt.anrui.riskcenter.api.loansolutionsdetail.LoanSolutionsDetailFeign; import com.yxt.anrui.riskcenter.api.loansolutionsotherpolicy.LoanSolutionsOtherpolicy; import com.yxt.anrui.riskcenter.api.loansolutionsotherpolicy.LoanSolutionsOtherpolicyFeign; -import com.yxt.anrui.scm.api.scmpurchasechannel.ScmPurchaseChannelDto; import com.yxt.anrui.scm.api.scmpurchasechannel.ScmPurchaseChannelFeign; import com.yxt.anrui.scm.api.scmpurchasechannel.ScmPurchaseChannelPush; import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseFeign; @@ -247,6 +243,10 @@ import static java.util.Comparator.comparing; public class BusSalesOrderService extends MybatisBaseService { public static final Logger log = LoggerFactory.getLogger(BusSalesOrderService.class); + @Autowired + private SysFunctionFeign sysFunctionFeign; + @Autowired + private BusSalesOrderVehicleCostService busSalesOrderVehicleCostService; @Autowired private BusSalesOrderModelService busSalesOrderModelService; @Autowired @@ -428,6 +428,13 @@ public class BusSalesOrderService extends MybatisBaseService getSaleOrderDetails2(String sid,String userSid) { + ResultBean rb = ResultBean.fireFail(); + BusSalesOrder busSalesOrder = fetchBySid(sid); + if (busSalesOrder == null) { + return rb.setMsg("该销售订单单据不存在"); + } + AppOrderDetailsVo vo = new AppOrderDetailsVo(); + vo = baseMapper.getSaleOrderDetails(sid); + if (StringUtils.isNotBlank(busSalesOrder.getNodeState())) { + vo.setShowShareAndComment(true); + } + vo.setBusSalesOrderSid(sid); + ResultBean commonContractVoResultBean = commonContractFeign.getContractBySalesOrderSid(sid); + if (commonContractVoResultBean.getData() != null) { + vo.setContractId(commonContractVoResultBean.getData().getContractNo()); + } + vo.setUserSid(busSalesOrder.getCreateBySid()); + vo.setProcInsId(busSalesOrder.getProcInstId()); + vo.setTaskId(busSalesOrder.getTaskId()); + vo.setIsInsurance(busSalesOrder.getIsInsurance()); + vo.setInsuranceState(StringUtils.isNotBlank(busSalesOrder.getIsInsurance())); + vo.setRemarksState(StringUtils.isNotBlank(busSalesOrder.getNotes()) || StringUtils.isNotBlank(vo.getImagesFile())); + String imagesFile = vo.getImagesFile(); + if (StringUtils.isNotBlank(imagesFile)) { + List imagess = Arrays.asList(imagesFile.split(",")); + imagess.removeAll(Collections.singleton(null)); + if (!imagess.isEmpty()) { + for (int i = 0; i < imagess.size(); i++) { + if (!imagess.get(i).contains(fileUploadComponent.getUrlPrefix())) { + imagess.set(i, fileUploadComponent.getUrlPrefix() + imagess.get(i)); + } + } + } + vo.setImages(imagess); + } + //根据销售部门sid查询分公司名称 + ResultBean resultBean = sysStaffOrgFeign.getOrgSidBySid(vo.getOrgSid()); + if (!"0".equals(resultBean.getData())) { + //根据分公司sid查询分公司名称 + ResultBean organizationResultBean = sysOrganizationFeign.selectBySid(resultBean.getData()); + if (organizationResultBean.getSuccess()) { + vo.setSalesOrg(organizationResultBean.getData().getName()); + } + } + /***************************保险信息***************************************/ + BusSalesOrderInsuranceDetailsVo busSalesOrderInsurance = busSalesOrderInsuranceService.details(sid); + if (busSalesOrderInsurance != null) { + if (BusSalesOrderConstantUtils.InsuranceType.NO.getCode().equals(busSalesOrder.getIsInsurance())) { + vo.setInsuranceInfo("未在公司入保" + "\n\n" + "备注:" + busSalesOrderInsurance.getRemarks()); + } else if (BusSalesOrderConstantUtils.InsuranceType.YES.getCode().equals(busSalesOrder.getIsInsurance())) { + String x = "、"; + String x1 = "单台车保费预估金额(元):"; + String x2 = "公司入保期数:"; + String info = "公司投保、保险公司名称:" + busSalesOrderInsurance.getInsuranceName() + x + x1 + busSalesOrderInsurance.getInsuranceCarMoney() + "元" + x + x2 + busSalesOrderInsurance.getInsuranceNum(); + if (StringUtils.isNotBlank(busSalesOrderInsurance.getRemarks())) { + info = info + "\n\n" + "备注:" + busSalesOrderInsurance.getRemarks(); + } + vo.setInsuranceInfo(info); + String infoMessage = "公司投保、" + x2 + busSalesOrderInsurance.getInsuranceNum(); + vo.setInsuranceInfoMessage(infoMessage); + } + } else { + if (BusSalesOrderConstantUtils.InsuranceType.NO.getCode().equals(busSalesOrder.getIsInsurance())) { + vo.setInsuranceInfo("未在公司入保"); + } + } + /***************************车型信息***************************************/ + AppOrderModelInfoVo modelInfo = busSalesOrderModelService.selectModel(sid); + if (modelInfo != null) { + modelInfo.setOrgPath(busSalesOrder.getOrgSidPath()); + //若前端传值的订单类型为0则为现车,为1采购订单,为2排产 + //数据库中1为现车,2为采购订单,3为排产 + if ("0".equals(modelInfo.getType())) { + if (StringUtils.isNotBlank(busSalesOrder.getNowCarUnknownVinNum()) && !"0".equals(busSalesOrder.getNowCarUnknownVinNum())) { + List vinList = new ArrayList<>(); + vinList.add("不确定车架号(" + busSalesOrder.getNowCarUnknownVinNum() + ")"); + modelInfo.setVinList(vinList); + } else { + //查询车架号 + List vinLists = busSalesOrderVehicleService.selectLists(sid); + //包含采购系统的车架号 + List vinList = vinLists.stream().map(v -> v.getVinNo()).collect(Collectors.toList()); + List orderVinList = busSalesOrderVehicleService.selectList(sid); + if (!vinList.isEmpty()) { + for (int i = 0; i < vinLists.size(); i++) { + VinListsVo vinListsVo = vinLists.get(i); + BigDecimal initBigDecimalTwo = BigDecimal.ZERO; + //根据sid去查询销售政策的sid,根据销售政策查询销售政策的金额 + ResultBean> listResultBean = baseDiscountpackageFeign.getMoney(vinListsVo.getVinSid(), busSalesOrder.getUseOrgSid()); + if (listResultBean.getSuccess() && !listResultBean.getData().isEmpty()) { + List stringList = listResultBean.getData(); + initBigDecimalTwo = initBigDecimalTwo.add(stringList.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add)); + } + if (initBigDecimalTwo.compareTo(BigDecimal.ZERO) != 0) { + vinList.set(i, vinList.get(i) + ",促销(" + initBigDecimalTwo.toString() + "元)"); + } + } + } + modelInfo.setVinList(vinList); + modelInfo.setOrderVinList(orderVinList); + } + } else { + if ("1".equals(modelInfo.getType())) { + //查询采购订单编号 + List stringLists = busSalesVehicleOrderService.selectLists(sid); + //包含采购系统的采购订单编号 + List stringList = stringLists.stream().map(v -> v.getLinkNo()).collect(Collectors.toList()); + List orderStringList = busSalesVehicleOrderService.selectList(sid); + modelInfo.setOrderList(stringList); + modelInfo.setOrderStringList(orderStringList); + } + } + List vinListVoList = busSalesOrderVehicleService.selectByDetailsSid(sid); + modelInfo.setVinListsVos(vinListVoList); + ResultBean images = baseVehicleModelAppendixFeign.selectImage(modelInfo.getModelSid()); + if (images.getSuccess()) { + modelInfo.setModelImage(images.getData()); + } + vo.setModelInfo(modelInfo); + } + /***************************挂车信息***************************************/ + List busSalesOrderTrailerDetailsVos = busSalesOrderTrailerService.fetchAllByOrderSid(sid); + List appOrderTrailerInfoVos = new ArrayList<>(); + for (BusSalesOrderTrailerDetailsVo busSalesOrderTrailerDetailsVo : busSalesOrderTrailerDetailsVos) { + AppOrderTrailerInfoVo appOrderTrailerInfoVo = new AppOrderTrailerInfoVo(); + BeanUtil.copyProperties(busSalesOrderTrailerDetailsVo, appOrderTrailerInfoVo, "contractFile", "certFile"); + List contractFile = busSalesOrderTrailerDetailsVo.getContractFile(); + List certFile = busSalesOrderTrailerDetailsVo.getCertFile(); + ArrayList contractFileString = new ArrayList<>(); + ArrayList certFileString = new ArrayList<>(); + for (BusSalesOrderTrailerFile busSalesOrderTrailerFile : contractFile) { + contractFileString.add(busSalesOrderTrailerFile.getUrl()); + } + for (BusSalesOrderTrailerFile busSalesOrderTrailerFile : certFile) { + certFileString.add(busSalesOrderTrailerFile.getUrl()); + } + appOrderTrailerInfoVo.setContractFile(contractFileString); + appOrderTrailerInfoVo.setCertFile(certFileString); + appOrderTrailerInfoVo.setAppearanceSizeLong("长" + appOrderTrailerInfoVo.getAppearanceSizeLong() + "m"); + appOrderTrailerInfoVo.setTotalPrice(appOrderTrailerInfoVo.getSingleFinalPrice().multiply(new BigDecimal(appOrderTrailerInfoVo.getTrailerCount()))); + appOrderTrailerInfoVos.add(appOrderTrailerInfoVo); + } + for (int i = 0; i < appOrderTrailerInfoVos.size(); i++) { + AppOrderTrailerInfoVo appOrderTrailerInfoVo = appOrderTrailerInfoVos.get(i); + if (appOrderTrailerInfoVos.size() == 1) { + appOrderTrailerInfoVo.setTrailerName("挂车"); + } else { + appOrderTrailerInfoVo.setTrailerName("挂车" + (i + 1)); + } + } + vo.setTrailerInfo(appOrderTrailerInfoVos); + /***************************价格信息***************************************/ + AppOrderPriceInfoVo priceInfo = busSalesOrderPriceService.selectPrice(sid); + if (priceInfo != null) { + if (vo.getModelInfo() != null) { + priceInfo.setTransactionPrice(vo.getModelInfo().getPrice()); + } + if (StringUtils.isNotBlank(priceInfo.getPlannedPickUpLocationKey())) { + ScmWarehouseVo scmWarehouseVo = scmWarehouseFeign.fetchBySid(priceInfo.getPlannedPickUpLocationKey()).getData(); + if (StringUtils.isNotBlank(scmWarehouseVo.getCity()) && StringUtils.isNotBlank(scmWarehouseVo.getCounty())) { + priceInfo.setAddress(priceInfo.getAddress() + "(" + scmWarehouseVo.getCity() + scmWarehouseVo.getCounty() + scmWarehouseVo.getWarehouseAttribute() + ")"); + } + } + if (appOrderTrailerInfoVos.size() == 1) { + priceInfo.setGcOneConPrice(appOrderTrailerInfoVos.get(0).getSingleFinalPrice().toString()); + priceInfo.setGcOneCount(appOrderTrailerInfoVos.get(0).getTrailerCount().toString()); + } else if (appOrderTrailerInfoVos.size() == 2) { + priceInfo.setGcOneConPrice(appOrderTrailerInfoVos.get(0).getSingleFinalPrice().toString()); + priceInfo.setGcOneCount(appOrderTrailerInfoVos.get(0).getTrailerCount().toString()); + priceInfo.setGcTwoConPrice(appOrderTrailerInfoVos.get(1).getSingleFinalPrice().toString()); + priceInfo.setGcTwoCount(appOrderTrailerInfoVos.get(1).getTrailerCount().toString()); + } else { + priceInfo.setGcOneConPrice(""); + priceInfo.setGcOneCount(""); + priceInfo.setGcTwoConPrice(""); + priceInfo.setGcTwoCount(""); + } + vo.setPriceInfo(priceInfo); + } + /***************************上装信息***************************************/ + String topPriice = ""; + if (BusSalesOrderConstantUtils.TopType.YES.getCode().equals(busSalesOrder.getIsTop())) { + AppOrderTopInfoVo topInfo = busSalesOrderMakeupService.selectTop(sid); + if (topInfo != null) { + if (StringUtils.isNotBlank(topInfo.getContractPath())) { + List stringList = Arrays.asList(topInfo.getContractPath().split(",")); + if (!stringList.isEmpty()) { + List stringList1 = new ArrayList<>(); + stringList.stream().forEach(i -> { + stringList1.add(fileUploadComponent.getUrlPrefix() + i); + }); + topInfo.setContractImages(stringList1); + } + } + if (StringUtils.isNotBlank(topInfo.getRemarks())) { + topInfo.setTopBean(topInfo.getTopBean() + "\n\n" + "备注:" + topInfo.getRemarks()); + } + vo.setTopInfo(topInfo); + topPriice = "¥" + topInfo.getTopPrice(); + } + BusSalesOrderMakeup busSalesOrderMakeup = busSalesOrderMakeupService.detailsss(sid); + String topMessage = ""; + if (busSalesOrderMakeup != null) { + //颜色 + if (StringUtils.isNotBlank(busSalesOrderMakeup.getColor())) { + topMessage = topMessage + busSalesOrderMakeup.getColor(); + } + if (StringUtils.isNotBlank(busSalesOrderMakeup.getTopName())) { + topMessage = topMessage + busSalesOrderMakeup.getTopName(); + } + //板材厚度 + String ssMessage = ""; + if (StringUtils.isNotBlank(busSalesOrderMakeup.getThicknessBottom())) { + ssMessage = "底" + busSalesOrderMakeup.getThicknessBottom() + "mm"; + } + if (StringUtils.isNotBlank(busSalesOrderMakeup.getThicknessEdge())) { + ssMessage = ssMessage + "边" + busSalesOrderMakeup.getThicknessEdge() + "mm"; + } + if (StringUtils.isNotBlank(ssMessage)) { + topMessage = topMessage + "、" + ssMessage; + } + if (StringUtils.isNotBlank(busSalesOrderMakeup.getPlateMaterial())) { + topMessage = topMessage + "、" + busSalesOrderMakeup.getPlateMaterial(); + } + //篷布滑道 + if (StringUtils.isNotBlank(busSalesOrderMakeup.getTarpaulinSlide()) && !"-".equals(busSalesOrderMakeup.getTarpaulinSlide())) { + topMessage = topMessage + "、" + busSalesOrderMakeup.getTarpaulinSlide(); + } + //冷藏冷机 + if (StringUtils.isNotBlank(busSalesOrderMakeup.getRefirgerator())) { + topMessage = topMessage + "、" + busSalesOrderMakeup.getRefirgerator(); + if (!busSalesOrderMakeup.getRefirgerator().contains("机")) { + topMessage = topMessage + "冷机"; + } + } + //自卸液压盖板 + if (StringUtils.isNotBlank(busSalesOrderMakeup.getSelfUnHyCoPl()) && !"-".equals(busSalesOrderMakeup.getSelfUnHyCoPl())) { + topMessage = topMessage + "、" + busSalesOrderMakeup.getSelfUnHyCoPl(); + } + //底板加热 + if (StringUtils.isNotBlank(busSalesOrderMakeup.getFloorHeating()) && !"-".equals(busSalesOrderMakeup.getFloorHeating())) { + topMessage = topMessage + "、" + busSalesOrderMakeup.getFloorHeating(); + } + //更多配置 + if (StringUtils.isNotBlank(busSalesOrderMakeup.getMoreConfig()) && !"-".equals(busSalesOrderMakeup.getMoreConfig())) { + topMessage = topMessage + "、" + busSalesOrderMakeup.getMoreConfig(); + } + } + + vo.setTopMessage(topMessage); + } + /***************************主车优惠***************************************/ + List discountList = busSalesOrderDiscountService.selectDiscount(sid); + discountList.removeAll(Collections.singleton(null)); + if (!discountList.isEmpty()) { + BigDecimal bigDecimalAll = new BigDecimal("0"); + vo.setDiscountList(discountList); + for (AppOrderDiscountListVo v : discountList) { + bigDecimalAll = bigDecimalAll.add(new BigDecimal(v.getTotal())); + } + vo.setTotaldiscount(bigDecimalAll.toString()); + } + /*************************返利信息*******************************************/ + BigDecimal zjAll = BigDecimal.ZERO; + BusSalesOrderSubmit busSalesOrderSubmit = busSalesOrderSubmitService.selectBySaleOrderSid(sid); + if (busSalesOrderSubmit != null) { + //内部推荐人 + if (StringUtils.isNotBlank(busSalesOrderSubmit.getName())) { + vo.setRecommender(busSalesOrderSubmit.getName()); + } + if (StringUtils.isNotBlank(busSalesOrderSubmit.getUserSid())) { + vo.setRecommenderUserSid(busSalesOrderSubmit.getUserSid()); + } + //中介返利(元/台) + String zjReturnPrice = ""; + boolean isShow = false; + if (StringUtils.isNotBlank(busSalesOrderSubmit.getDistributorName())) { + SubmitVo submitVo = new SubmitVo(); + submitVo.setIntermediaryName(busSalesOrderSubmit.getDistributorName()); + submitVo.setIntermediaryMobile(busSalesOrderSubmit.getDistributorMobile()); + submitVo.setIntermediarySid(busSalesOrderSubmit.getDistributorSid()); + if (busSalesOrderSubmit.getDistributorPrice() != null) { + isShow = true; + zjAll = zjAll.add(busSalesOrderSubmit.getDistributorPrice()); + submitVo.setAgencyFee(busSalesOrderSubmit.getDistributorPrice().toString()); + if (priceInfo != null) { + submitVo.setAgencyFeeTotal(busSalesOrderSubmit.getDistributorPrice().multiply(new BigDecimal(priceInfo.getNumber())).toString()); + } + + } + vo.setIntermediary1(submitVo); + } + if (StringUtils.isNotBlank(busSalesOrderSubmit.getDistributorNameTwo())) { + SubmitVo submitVo = new SubmitVo(); + submitVo.setIntermediaryName(busSalesOrderSubmit.getDistributorNameTwo()); + submitVo.setIntermediaryMobile(busSalesOrderSubmit.getDistributorMobileTwo()); + submitVo.setIntermediarySid(busSalesOrderSubmit.getDistributorSidTwo()); + if (busSalesOrderSubmit.getDistributorPriceTwo() != null) { + isShow = true; + zjAll = zjAll.add(busSalesOrderSubmit.getDistributorPriceTwo()); + submitVo.setAgencyFee(busSalesOrderSubmit.getDistributorPriceTwo().toString()); + if (priceInfo != null) { + submitVo.setAgencyFeeTotal(busSalesOrderSubmit.getDistributorPriceTwo().multiply(new BigDecimal(priceInfo.getNumber())).toString()); + } + } + vo.setIntermediary2(submitVo); + } + if (priceInfo != null) { + if (isShow) { + if (zjAll.compareTo(BigDecimal.ZERO) > 0) { + //如果中介返利小于0,乘以-1 + zjReturnPrice = "-¥" + zjAll.toString(); + } else { + zjAll = zjAll.multiply(new BigDecimal(-1)); + zjReturnPrice = "¥" + zjAll.toString(); + } + priceInfo.setZjReturnPrice(zjReturnPrice); + } + + } + + } + //计算单台折让 + BigDecimal bigDecimalSing = new BigDecimal("0"); + if (priceInfo != null) { + //销售指导价-成交价+单车优惠包成本+单车返利):***元(单车优惠包成本是总优惠包价值除以台数) + if (StringUtils.isNotBlank(priceInfo.getSingleGuildPrice())) { + bigDecimalSing = bigDecimalSing.add(new BigDecimal(priceInfo.getSingleGuildPrice())); + } + //单台成交价 + if (StringUtils.isNotBlank(priceInfo.getSingleFinalPrice())) { + bigDecimalSing = bigDecimalSing.subtract(new BigDecimal(priceInfo.getSingleFinalPrice())); + } else { + bigDecimalSing = bigDecimalSing.subtract(bigDecimalSing); + } + } + if (StringUtils.isNotBlank(vo.getTotaldiscount())) { + if (priceInfo != null) { + BigDecimal discountA = new BigDecimal(vo.getTotaldiscount()).divide(new BigDecimal(priceInfo.getNumber()), BigDecimal.ROUND_CEILING); + bigDecimalSing = bigDecimalSing.add(discountA); + } + } + if (busSalesOrderSubmit != null) { + BigDecimal agen = new BigDecimal("0"); + if (busSalesOrderSubmit.getDistributorPrice() != null) { + agen = agen.add(busSalesOrderSubmit.getDistributorPrice()); + } + if (busSalesOrderSubmit.getDistributorPriceTwo() != null) { + agen = agen.add(busSalesOrderSubmit.getDistributorPriceTwo()); + } + bigDecimalSing = bigDecimalSing.add(agen); + } + if (priceInfo != null) { + priceInfo.setSingleCarDiscountPrice(bigDecimalSing.toString()); + } + /***************************订金信息***************************************/ + AppOrderDepositInfoVo depositInfo = busSalesOrderDepositService.selectDeposit(sid); + if (depositInfo != null) { + String a = "由"; + if (BusSalesOrderConstantUtils.DepositType.DEPOSIT_CARRY_FORWARD.getCode().equals(depositInfo.getDepositTypeKey())) { + List list = busDepositFictitiousService.detailsList(depositInfo.getSid()); + list.removeAll(Collections.singleton(null)); + List stringList = new ArrayList<>(); + if (!list.isEmpty()) { + for (int j = 0; j < list.size(); j++) { + BusDepositFictitiousDetailsVo v = list.get(j); + String b = ""; + if (j == list.size() - 1) { + b = "编号为" + v.getDepositBillNo() + "简易订单订金转入" + v.getPrice() + "元。"; + } else { + b = "编号为" + v.getDepositBillNo() + "简易订单订金转入" + v.getPrice() + "元,"; + } + a = a + b; + if (StringUtils.isNotBlank(v.getPayPath())) { + List payPathList = Arrays.asList(v.getPayPath().split(",")); + for (int i = 0; i < payPathList.size(); i++) { + stringList.add(fileUploadComponent.getUrlPrefix() + payPathList.get(i)); + } + } + } +// a = a + "原订金额度使用完后,其收据自动作废。"; + depositInfo.setDepositRemarks(a); + depositInfo.setImages(stringList); + } + } + if (StringUtils.isNotBlank(depositInfo.getPayDepositDays())) { + depositInfo.setPayDepositDays(depositInfo.getPayDepositDays()); + } else { + depositInfo.setPayDepositDays("/"); + } + vo.setDepositInfo(depositInfo); + } + /****************************金融方案***************************************/ + if ("2".equals(busSalesOrder.getPayTypeKey())) { + vo.setFinState(true); + } else { + if ("1".equals(busSalesOrder.getFinancePlan())) { + vo.setFinState(false); + } else { + vo.setFinState(true); + } + } +// vo = selectSolution(vo, sid); + vo = selectSolutions(vo, sid); + //=============================================== + //挂车价格(金融方案中取) + ResultBean solutionsDetailsVoResultBean = loanSolutionsFeign.selectDetailsss(sid); + List list = new ArrayList<>(); + if (solutionsDetailsVoResultBean.getData() != null) { + SolutionsDetailsVo solutionsDetailsVo = solutionsDetailsVoResultBean.getData(); + //挂车 + if (StringUtils.isNotBlank(solutionsDetailsVo.getTrailerAmount())) { + if (priceInfo != null) { +// priceInfo.setGcPrice(solutionsDetailsVo.getTrailerAmount()); + BigDecimal finalPriceAll = BigDecimal.ZERO; + if (StringUtils.isNotBlank(priceInfo.getSingleFinalPrice())) { + finalPriceAll = finalPriceAll.add(new BigDecimal(priceInfo.getSingleFinalPrice())); + } + } + } + } + if (priceInfo != null) { + if (StringUtils.isNotBlank(topPriice)) { + priceInfo.setSzPrice(topPriice); + } + //价格折让 = 销售合同价(整体成交价)-销售指导价(整体指导价) + //销售合同价-销售指导价 + BigDecimal all = BigDecimal.ZERO; + if (StringUtils.isNotBlank(priceInfo.getSingleFinalPrice())) { + all = new BigDecimal(priceInfo.getSingleFinalPrice()); + } + if (StringUtils.isNotBlank(priceInfo.getSingleGuildPrice())) { + all = all.subtract(new BigDecimal(priceInfo.getSingleGuildPrice())); + } + String priceAll = ""; + if (all.compareTo(BigDecimal.ZERO) < 0) { + //如果价格折让小于0,乘以-1 + all = all.multiply(new BigDecimal(-1)); + priceAll = "-¥" + all.toString(); + } else { + priceAll = "¥" + all.toString(); + } + priceInfo.setPriceDiscount(priceAll); + //优惠套餐 = 优惠套餐总额/台数(保留到个位) + String pkgPrice = ""; + BigDecimal oneAll = BigDecimal.ZERO; + if (StringUtils.isNotBlank(vo.getTotaldiscount())) { + //总优惠/台数 + oneAll = new BigDecimal(vo.getTotaldiscount()).divide(new BigDecimal(priceInfo.getNumber()), BigDecimal.ROUND_CEILING); + if (oneAll.compareTo(BigDecimal.ZERO) > 0) { + pkgPrice = "-¥" + oneAll.toString(); + } else { + //如果小于0,乘以-1 + oneAll = oneAll.multiply(new BigDecimal(-1)); + pkgPrice = "¥" + oneAll.toString(); + } + priceInfo.setPkgPrice(pkgPrice); + } + //实际成交 = 销售指导价-价格折让-中介返利-优惠套餐 + BigDecimal realAll = BigDecimal.ZERO; + if (StringUtils.isNotBlank(priceInfo.getSingleFinalPrice())) { + realAll = realAll.add(new BigDecimal(priceInfo.getSingleFinalPrice())); + } + realAll = realAll.subtract(zjAll).subtract(oneAll); + priceInfo.setRealPrice("¥" + realAll.toString()); + //差额 = 实际成交价-销售指导价 + BigDecimal diffAll = BigDecimal.ZERO; + diffAll = realAll.subtract(new BigDecimal(priceInfo.getSingleGuildPrice())); + if (diffAll.compareTo(BigDecimal.ZERO) < 0) { + //如果价格折让小于0,乘以-1 + diffAll = diffAll.multiply(new BigDecimal(-1)); + priceInfo.setDiffPrice("-¥" + diffAll.toString()); + } else { + priceInfo.setDiffPrice("¥" + diffAll.toString()); + } + + } + /***************************车辆成本信息*************************************/ + if (StringUtils.isNotBlank(userSid)) { + boolean vehCostShow = true; + ButtonPermissionQuery buttonPermissionQuery = new ButtonPermissionQuery(); + buttonPermissionQuery.setUrl("/xiaoshouguanli/dingdanxinxi"); + buttonPermissionQuery.setType("0"); + buttonPermissionQuery.setUserSid(userSid); + List permissionVos = sysFunctionFeign.getButtonPermissions(buttonPermissionQuery).getData(); + if (!permissionVos.isEmpty()) { + for (ButtonPermissionVo permissionVo : permissionVos) { + if (permissionVo.getButtonId().equals("car_cost_detail")) { + vehCostShow = false; + } + } + } + if (vehCostShow) { + AppBusSalesOrderVehicleCostVo appBusSalesOrderVehicleCostVo = new AppBusSalesOrderVehicleCostVo(); + BusSalesOrderVehicleCostVo data = busSalesOrderVehicleCostService.getVehicleCostVoByOrderSid(sid).getData(); + if (null != data) { + BeanUtil.copyProperties(data,appBusSalesOrderVehicleCostVo); + } + vo.setVehicleCostObj(appBusSalesOrderVehicleCostVo); + } + } + return rb.success().setData(vo); + } + + private AppOrderDetailsVo selectSolutions(AppOrderDetailsVo appOrderDetailsVo, String sid) { /* ResultBean solutionsDetailsVoResultBean = loanSolutionsFeign.selectDetailsss(sid); List list = new ArrayList<>(); @@ -7360,7 +7880,7 @@ public class BusSalesOrderService extends MybatisBaseService_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.buscenter.biz.bussalesordervehiclecost; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.anrui.buscenter.api.bussalesordervehiclecost.BusSalesOrderVehicleCost; +import com.yxt.anrui.buscenter.api.bussalesordervehiclecost.BusSalesOrderVehicleCostVo; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +/** + * Project: anrui-buscenter(业务管理)
+ * File: BusSalesOrderInsuranceMapper.java
+ * Class: com.yxt.anrui.buscenter.biz.bussalesorderinsurance.BusSalesOrderInsuranceMapper
+ * Description: 销售订单-保险信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-04-27 13:39:04
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface BusSalesOrderVehicleCostMapper extends BaseMapper { + + + @Select("select * from bus_sales_order_vehicle_cost where salesOrderSid=#{orderSid}") + BusSalesOrderVehicleCostVo getVehicleCostVoByOrderSid(String orderSid); + + @Delete("delete from bus_sales_order_vehicle_cost where salesOrderSid=#{orderSid}") + void delByOrderSid(String orderSid); +} \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehiclecost/BusSalesOrderVehicleCostMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehiclecost/BusSalesOrderVehicleCostMapper.xml new file mode 100644 index 0000000000..7bc2917b57 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehiclecost/BusSalesOrderVehicleCostMapper.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehiclecost/BusSalesOrderVehicleCostRest.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehiclecost/BusSalesOrderVehicleCostRest.java new file mode 100644 index 0000000000..11f63272a5 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehiclecost/BusSalesOrderVehicleCostRest.java @@ -0,0 +1,61 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.buscenter.biz.bussalesordervehiclecost; + +import com.yxt.anrui.buscenter.api.bussalesordervehiclecost.BusSalesOrderVehicleCostFeign; +import com.yxt.anrui.buscenter.api.bussalesordervehiclecost.BusSalesOrderVehicleCostVo; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * Project: anrui-buscenter(业务管理)
+ * File: BusSalesOrderInsuranceFeignFallback.java
+ * Class: com.yxt.anrui.buscenter.biz.bussalesorderinsurance.BusSalesOrderInsuranceRest
+ * Description: 销售订单-保险信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-04-27 13:39:04
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "销售订单-车辆成本信息") +@RestController("com.yxt.anrui.buscenter.biz.bussalesordervehiclecost.BusSalesOrderVehicleCostRest") +@RequestMapping("v1/BusSalesOrderVehicleCost") +public class BusSalesOrderVehicleCostRest implements BusSalesOrderVehicleCostFeign { + + @Autowired + private BusSalesOrderVehicleCostService busSalesOrderVehicleCostService; + + @Override + public ResultBean getVehicleCostVoByOrderSid(String orderSid) { + return busSalesOrderVehicleCostService.getVehicleCostVoByOrderSid(orderSid); + } +} diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehiclecost/BusSalesOrderVehicleCostService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehiclecost/BusSalesOrderVehicleCostService.java new file mode 100644 index 0000000000..c9cbda5cfb --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehiclecost/BusSalesOrderVehicleCostService.java @@ -0,0 +1,74 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.buscenter.biz.bussalesordervehiclecost; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.buscenter.api.bussalesordervehiclecost.BusSalesOrderVehicleCost; +import com.yxt.anrui.buscenter.api.bussalesordervehiclecost.BusSalesOrderVehicleCostVo; +import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * Project: anrui-buscenter(业务管理)
+ * File: BusSalesOrderInsuranceService.java
+ * Class: com.yxt.anrui.buscenter.biz.bussalesorderinsurance.BusSalesOrderInsuranceService
+ * Description: 销售订单-保险信息 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-04-27 13:39:04
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class BusSalesOrderVehicleCostService extends MybatisBaseService { + + @Autowired + private BusSalesOrderService busSalesOrderService; + + + public ResultBean getVehicleCostVoByOrderSid(String orderSid) { + ResultBean rb = ResultBean.fireFail(); + BusSalesOrderVehicleCostVo vo = baseMapper.getVehicleCostVoByOrderSid(orderSid); + return rb.success().setData(vo); + } + + public void delByOrderSid(String orderSid) { + baseMapper.delByOrderSid(orderSid); + } + + public int saveVehicleCost(BusSalesOrderVehicleCostVo vo) { + BusSalesOrderVehicleCost cost = new BusSalesOrderVehicleCost(); + BeanUtil.copyProperties(vo,cost); + int insert = baseMapper.insert(cost); + return insert; + } + +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java index 33ec51045a..edcc5e42de 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java @@ -46,7 +46,6 @@ import com.yxt.anrui.terminal.api.autoservice.saleOrders.trailer.AppSalesOrderTr import com.yxt.anrui.terminal.api.autoservice.saleOrders.trailer.AppSalesOrderTrailerDto; import com.yxt.anrui.terminal.api.autoservice.saleOrders.trailer.TrailerVo; import com.yxt.anrui.terminal.api.autoservice.saleOrders.vininput.*; -import com.yxt.anrui.terminal.api.autoservice.solutionsChange.flow.AppSolutionsChangeDelegateQuery; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -279,6 +278,12 @@ public interface AppBusSalesOrderFeign { @ResponseBody ResultBean getSaleOrderDetail(@PathVariable(value = "saleOrderSid") String sid); + @ApiOperation("销售订单详情2") + @GetMapping("/getSaleOrderDetail2/{saleOrderSid}") + @ResponseBody + ResultBean getSaleOrderDetail2(@PathVariable(value = "saleOrderSid") String sid, + @RequestParam(value = "userSid", required = false) String userSid + ); /*-----------------------------------------流程------------------------------------------*/ @ApiOperation(value = "加签") diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java index 16f821270c..89943f69fa 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java @@ -244,6 +244,11 @@ public class AppBusSalesOrderFeignFallback implements AppBusSalesOrderFeign { return null; } + @Override + public ResultBean getSaleOrderDetail2(String sid, String userSid) { + return null; + } + @Override public ResultBean delegate(AppOrderDelegateQuery delegateQuery) { return null; diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/flowable/SaleOrderQueryBy.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/flowable/SaleOrderQueryBy.java index add76d7ae0..b6e224e7fb 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/flowable/SaleOrderQueryBy.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/flowable/SaleOrderQueryBy.java @@ -44,4 +44,15 @@ public class SaleOrderQueryBy implements Query { private String companyInvoicingName; @ApiModelProperty("开票单位sid") private String companyInvoicingSid; + @ApiModelProperty("厂家合同(结算)价") + private String manufacturerSettleAmount; + @ApiModelProperty("政策合计金额") + private String policyAmount; + @ApiModelProperty("成本价") + private String cost; + @ApiModelProperty("政策明细") + private String policyDetails; + @ApiModelProperty("备注") + private String remarks; + } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/FlowOrderVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/FlowOrderVo.java index c596670c07..18e01f1e3b 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/FlowOrderVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/FlowOrderVo.java @@ -33,4 +33,15 @@ public class FlowOrderVo implements Vo { private String companyInvoicingName; @ApiModelProperty("开票单位sid") private String companyInvoicingSid; + @ApiModelProperty("厂家合同(结算)价") + private String manufacturerSettleAmount; + @ApiModelProperty("政策合计金额") + private String policyAmount; + @ApiModelProperty("成本价") + private String cost; + @ApiModelProperty("政策明细") + private String policyDetails; + @ApiModelProperty("备注") + private String remarks; + } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/OrderDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/OrderDetailsVo.java index ee2d5d9fcd..4e3f374fec 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/OrderDetailsVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/OrderDetailsVo.java @@ -122,6 +122,7 @@ public class OrderDetailsVo implements Vo { private String companyInvoicingSid; @JsonProperty("orgPath") private String orgSidPath; - + @ApiModelProperty(value = "车辆成本信息") + private OrderVehicleCostVo vehicleCostObj; } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/OrderVehicleCostVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/OrderVehicleCostVo.java new file mode 100644 index 0000000000..4cbdbc08be --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/OrderVehicleCostVo.java @@ -0,0 +1,19 @@ +package com.yxt.anrui.terminal.api.autoservice.saleOrders.order; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OrderVehicleCostVo { + + @ApiModelProperty("厂家合同(结算)价") + private String manufacturerSettleAmount; + @ApiModelProperty("政策合计金额") + private String policyAmount; + @ApiModelProperty("成本价") + private String cost; + @ApiModelProperty("政策明细") + private String policyDetails; + @ApiModelProperty("备注") + private String remarks; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java index 0d5bde0557..1e48e8d22e 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java @@ -25,8 +25,6 @@ *********************************************************/ package com.yxt.anrui.terminal.biz.autoservice.saleOrders; -import com.yxt.anrui.riskcenter.api.loanpreloancreditapply.LoanPreloanQuery; -import com.yxt.anrui.riskcenter.api.loanpreloancreditapply.LoanPreloanVo; import com.yxt.anrui.terminal.api.autoservice.saleOrders.*; import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoDto; import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoQuery; @@ -56,7 +54,6 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import java.lang.reflect.InvocationTargetException; @@ -333,6 +330,10 @@ public class AppBusSalesOrderRest implements AppBusSalesOrderFeign { return appBusSalesOrderService.getSubmitInfo(sid); } + @Override + public ResultBean getSaleOrderDetail2(String sid,String userSid) { + return appBusSalesOrderService.getSaleOrderDetail2(sid,userSid); + } @Override public ResultBean getSaleOrderDetail(String sid) { return appBusSalesOrderService.getSaleOrderDetail(sid); diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java index dd6d580af5..d294297bd1 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java @@ -27,8 +27,6 @@ package com.yxt.anrui.terminal.biz.autoservice.saleOrders; import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSON; -import com.yxt.anrui.base.api.basemiddleman.BaseMiddlemanQuery; -import com.yxt.anrui.base.api.basemiddleman.BaseMiddlemanVo; import com.yxt.anrui.base.api.basepurchasesystem.AppBasePurchSystemVo; import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign; import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; @@ -73,12 +71,12 @@ import com.yxt.anrui.buscenter.api.bussalesorderprice.app.AppBusSalesOrderPriceV import com.yxt.anrui.buscenter.api.bussalesordertrailer.*; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusVehicleBorrowVo; -import com.yxt.anrui.buscenter.api.bussolutionschange.flow.flow.SolutionsChangeDelegateQuery; +import com.yxt.anrui.buscenter.api.bussalesordervehiclecost.BusSalesOrderVehicleCostFeign; +import com.yxt.anrui.buscenter.api.bussalesordervehiclecost.BusSalesOrderVehicleCostVo; import com.yxt.anrui.crm.api.crmvehicledemand.AppCrmOrderVehicleDemandQuery; import com.yxt.anrui.crm.api.crmvehicledemand.AppOrderCrmVehicleDemandVo; import com.yxt.anrui.crm.api.crmvehicledemand.CrmVehicledemandFeign; import com.yxt.anrui.fin.api.fincompanyinvoicing.CompanyInvoicingVo; -import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicing; import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingFeign; import com.yxt.anrui.portal.api.appsubsetversion.AppSubVersionVo; import com.yxt.anrui.portal.api.appsubsetversion.AppSubsetVersionFeign; @@ -90,10 +88,7 @@ import com.yxt.anrui.riskcenter.api.loanpreloancreditapply.LoanOrderPreloanVo; import com.yxt.anrui.riskcenter.api.loanpreloancreditapply.LoanPreloanCreditApplyFeign; import com.yxt.anrui.riskcenter.api.loanpreloancreditapply.LoanPreloanQuery; import com.yxt.anrui.riskcenter.api.loanpreloancreditapply.LoanPreloanVo; -import com.yxt.anrui.terminal.api.autoservice.intermediary.MiddlemanVo; import com.yxt.anrui.terminal.api.autoservice.saleOrders.*; -import com.yxt.anrui.terminal.api.autoservice.saleOrders.flowable.*; -import com.yxt.anrui.terminal.api.autoservice.saleOrders.order.FlowOrderVo; import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoDto; import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoQuery; import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoVo; @@ -101,6 +96,7 @@ import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositList import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountDto; import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountListVo; import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountVo; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.flowable.*; import com.yxt.anrui.terminal.api.autoservice.saleOrders.insurance.InsuranceDto; import com.yxt.anrui.terminal.api.autoservice.saleOrders.insurance.InsuranceInfoDto; import com.yxt.anrui.terminal.api.autoservice.saleOrders.insurance.InsuranceInfoVo; @@ -117,7 +113,6 @@ import com.yxt.anrui.terminal.api.autoservice.saleOrders.trailer.TrailerVo; import com.yxt.anrui.terminal.api.autoservice.saleOrders.vininput.*; import com.yxt.anrui.terminal.api.base.common.CarModelVo; import com.yxt.anrui.terminal.api.base.common.SystemVo; -import com.yxt.anrui.terminal.api.risk.loanhomevisitinvestigate.AppLoanHomeVisitVo; import com.yxt.anrui.terminal.biz.base.common.CommonService; import com.yxt.anrui.terminal.config.CoverUtils; import com.yxt.common.base.config.component.FileUploadComponent; @@ -153,6 +148,8 @@ import java.util.stream.Collectors; @Service public class AppBusSalesOrderService { + @Autowired + private BusSalesOrderVehicleCostFeign busSalesOrderVehicleCostFeign; @Autowired BusSalesOrderFeign busSalesOrderFeign; @Autowired @@ -500,6 +497,15 @@ public class AppBusSalesOrderService { return rb.success().setData(orderDetailsVo); } + public ResultBean getSaleOrderDetail2(String sid,String userSid) { + ResultBean rb = ResultBean.fireFail(); + OrderDetailsVo orderDetailsVo = new OrderDetailsVo(); + ResultBean resultBean = busSalesOrderFeign.getSaleOrderDetails2(sid,userSid); + AppOrderDetailsVo appOrderDetailsVo = resultBean.getData(); + BeanUtil.copyProperties(appOrderDetailsVo, orderDetailsVo); + return rb.success().setData(orderDetailsVo); + } + public ResultBean submitSaleOrderInfo(SubmitOrderDto dto) { ResultBean rb = ResultBean.fireFail(); SubmitSalesOrderDto submitSalesOrderDto = new SubmitSalesOrderDto(); @@ -776,12 +782,18 @@ public class AppBusSalesOrderService { if ("Activity_10w0sy1".equals(query.getTaskDefKey())) {//销售支持部经理审核 flowOrderVo.setShow(true); } - } else {//贷款 if ("Activity_1ckx8lq".equals(query.getTaskDefKey())) {//金融服务部经理审批 flowOrderVo.setShow(true); } } + if ("Activity_10w0sy1".equals(query.getTaskDefKey()) || "Activity_0dcm1iu".equals(query.getTaskDefKey())) {//销售支持部经理、事业部运营经理审核 + //车辆成本信息 + BusSalesOrderVehicleCostVo costVo = busSalesOrderVehicleCostFeign.getVehicleCostVoByOrderSid(query.getBusinessSid()).getData(); + if (null != costVo) { + BeanUtil.copyProperties(costVo,flowOrderVo); + } + } /* if ("3".equals(busSalesOrder.getType()) || (StringUtils.isNotBlank(busSalesOrder.getNowCarUnknownVinNum()) && !"0".equals(busSalesOrder.getNowCarUnknownVinNum()))) { flowOrderVo.setShow(true); } else {