diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java index c948d916a9..65b4811465 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java @@ -8,6 +8,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -207,6 +208,10 @@ public interface BaseVehicleFeign { @PostMapping("/selectVo") ResultBean> selectVo(@RequestBody PagerQuery pcBaseVehicleOrderQuery); + @ApiOperation("销售订单-根据车型和配置sid查询现车的数量") + @GetMapping("/selectCount") + ResultBean selectCount(@SpringQueryMap PcBaseVehicleOrderCountQuery pcBaseVehicleOrderCountQuery); + /***************************************************** App接口 **********************************************************/ @ApiOperation("手机端现车分页列表") diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java index ff15dea6f0..d52015d984 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java @@ -129,6 +129,11 @@ public class BaseVehicleFeignFallback implements BaseVehicleFeign { return null; } + @Override + public ResultBean selectCount(PcBaseVehicleOrderCountQuery pcBaseVehicleOrderCountQuery) { + return null; + } + @Override public ResultBean> getAppCurrentCarByPageList(PagerQuery pagerQuery) { return null; diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BusVehicleOrderCountQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BusVehicleOrderCountQuery.java new file mode 100644 index 0000000000..4fe1b022a0 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BusVehicleOrderCountQuery.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.base.api.basevehicle; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/5/16 13:54 + * @Description + */ +@Data +public class BusVehicleOrderCountQuery implements Query { + private static final long serialVersionUID = -6489349086104135416L; + + @ApiModelProperty(value = "车型sid") + private String modelSid; + @ApiModelProperty(value = "配置sid") + private String configSid; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/PcBaseVehicleOrderCountQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/PcBaseVehicleOrderCountQuery.java new file mode 100644 index 0000000000..1107eecd96 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/PcBaseVehicleOrderCountQuery.java @@ -0,0 +1,28 @@ +package com.yxt.anrui.base.api.basevehicle; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/5/16 10:33 + * @Description + */ +@Data +public class PcBaseVehicleOrderCountQuery implements Query { + private static final long serialVersionUID = 2155664628760571295L; + + @ApiModelProperty(value = "车型sid") + private String modelSid; + @ApiModelProperty(value = "车型配置sid") + private String modelConfigSid; + @ApiModelProperty(value = "业务员sid") + private String staffSid; + @ApiModelProperty(value = "客户sid") + private String customerSid; + + @ApiModelProperty(value = "类型:1意向车型选择、2虚拟订单选择、3车型选择") + private Integer type; + +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/PcBaseVehicleOrderQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/PcBaseVehicleOrderQuery.java index 08b2652c4a..e6bbdcb6b6 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/PcBaseVehicleOrderQuery.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/PcBaseVehicleOrderQuery.java @@ -30,4 +30,7 @@ public class PcBaseVehicleOrderQuery implements Query { @ApiModelProperty(value = "已选择的车辆的sid") private List sidList = new ArrayList<>(); + + @ApiModelProperty(value = "车架号") + private String linkNo; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusVehicleApplyDetailFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusVehicleApplyDetailFeign.java index fbcf5e78d3..304ec1ad00 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusVehicleApplyDetailFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusVehicleApplyDetailFeign.java @@ -1,11 +1,13 @@ package com.yxt.anrui.base.api.busvehicleapplydetail; +import com.yxt.anrui.base.api.basevehicle.BusVehicleOrderCountQuery; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -59,4 +61,8 @@ public interface BusVehicleApplyDetailFeign { @ApiOperation("销售订单-采购订单分页列表") @PostMapping("/applyPage") ResultBean> applyPage(@RequestBody PagerQuery pagerQuery); + + @ApiOperation("销售订单-采购订单数量") + @GetMapping("/selectOrderCount") + ResultBean selectOrderCount(@SpringQueryMap BusVehicleOrderCountQuery busVehicleOrderCountQuery); } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusVehicleApplyDetailFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusVehicleApplyDetailFeignFallback.java index 943b87dff5..f02894ee8e 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusVehicleApplyDetailFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusVehicleApplyDetailFeignFallback.java @@ -1,5 +1,6 @@ package com.yxt.anrui.base.api.busvehicleapplydetail; +import com.yxt.anrui.base.api.basevehicle.BusVehicleOrderCountQuery; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -56,4 +57,9 @@ public class BusVehicleApplyDetailFeignFallback implements BusVehicleApplyDetail public ResultBean> applyPage(PagerQuery pagerQuery) { return null; } + + @Override + public ResultBean selectOrderCount(BusVehicleOrderCountQuery busVehicleOrderCountQuery) { + return null; + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/OrderListVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/OrderListVo.java new file mode 100644 index 0000000000..64649fa61c --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/OrderListVo.java @@ -0,0 +1,22 @@ +package com.yxt.anrui.base.api.busvehicleorder; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/5/16 14:32 + * @Description + */ +@Data +public class OrderListVo implements Vo { + private static final long serialVersionUID = -2178552075352787095L; + + @ApiModelProperty(value = "台数") + private String platformNo; + + @ApiModelProperty(value = "锁定台数") + private String lockingNum; + +} diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java index 46d38abd3c..24d05a8c3f 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java @@ -6,11 +6,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.yxt.anrui.base.api.basevehicle.*; -import com.yxt.anrui.base.api.basevehicle.AppPurchaseDetailsVo; import com.yxt.common.core.result.ResultBean; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; import java.util.List; @@ -326,4 +324,11 @@ public interface BaseVehicleMapper extends BaseMapper { IPage getModelNowCarList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); BaseVehicleVo fetchVehicle(QueryWrapper qw); + + /** + * 根据车型配置及车型查询现车的数量 + * @param qw 查询条件 + * @return + */ + Integer selectVehicleCount(@Param(Constants.WRAPPER) QueryWrapper qw); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml index 86ea97cbdb..bc35ba31af 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml @@ -670,4 +670,10 @@ + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java index 2a8cdd448c..a33d536e96 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java @@ -339,6 +339,11 @@ public class BaseVehicleRest implements BaseVehicleFeign { return rb.success().setData(pv); } + @Override + public ResultBean selectCount(PcBaseVehicleOrderCountQuery pcBaseVehicleOrderCountQuery) { + return baseVehicleService.selectCount(pcBaseVehicleOrderCountQuery); + } + /** * 手机端现车列表 * diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java index 671c28ee8e..fa8407ac80 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java @@ -8,8 +8,6 @@ import com.yxt.anrui.base.api.basemodelconfig.AppModelConfigListVo; import com.yxt.anrui.base.api.basevehicle.*; import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo; import com.yxt.anrui.base.biz.basemodelconfig.BaseModelConfigService; -import com.yxt.anrui.base.biz.basemodelszconfig.BaseModelSzconfigService; -import com.yxt.anrui.base.biz.basetrailer.BaseTrailerService; import com.yxt.anrui.base.biz.basevehicleappendix.BaseVehicleAppendixService; import com.yxt.anrui.base.biz.commonappendix.CommonAppendixService; import com.yxt.anrui.buscenter.api.busmaindeposit.pc.PcBusMainDepositFeign; @@ -17,10 +15,7 @@ import com.yxt.anrui.buscenter.api.busmaindeposit.pc.PcBusMainDepositVehicleQuer 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.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; -import com.yxt.anrui.portal.api.sysuser.SysUserFeign; -import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetailsFeign; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -988,7 +983,7 @@ public class BaseVehicleService extends MybatisBaseService wrapper.isNull("bv.lockedStateValue").or().eq("bv.lockedStateValue", "")); - qw.eq("bv.vehicleStateValue", "现车"); + qw.eq("bv.vehicleStateValue", "库存"); } return qw; } @@ -1136,7 +1131,7 @@ public class BaseVehicleService extends MybatisBaseService 0) { qw.notIn("bv.sid", query.getSidList()); } + if(StringUtils.isNotBlank(query.getLinkNo())){ + qw.like("bv.vinNo",query.getLinkNo()); + } } return qw; } @@ -1237,4 +1235,33 @@ public class BaseVehicleService extends MybatisBaseService selectCount(PcBaseVehicleOrderCountQuery query) { + ResultBean rb = ResultBean.fireFail(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + qw.eq("bv.modelSid", query.getModelSid());//车型sid + qw.eq("bv.modelConfigSid", query.getModelConfigSid());//配置sid + if (query.getType() == 2) { + //根据业务员sid和客户sid查询所有的虚拟虚拟订单的车辆 + PcBusMainDepositVehicleQuery vehicleQuery = new PcBusMainDepositVehicleQuery(); + vehicleQuery.setCustomerSid(query.getCustomerSid()); + vehicleQuery.setModelConfigSid(query.getModelConfigSid()); + vehicleQuery.setStaffSid(query.getStaffSid()); + vehicleQuery.setModelSid(query.getModelSid()); + ResultBean> stringList = pcBusMainDepositFeign.selectVehicleList(vehicleQuery); + if (stringList.getSuccess()) { + qw.in("bv.sid", stringList.getData()); + } + } + } + int count = baseMapper.selectVehicleCount(qw); + return rb.success().setData(count); + + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailMapper.java index c63704b1a0..ac13c1bbd3 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailMapper.java @@ -9,6 +9,7 @@ import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApply; import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetail; import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetailVo; import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyListVo; +import com.yxt.anrui.base.api.busvehicleorder.OrderListVo; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -57,4 +58,11 @@ public interface BusVehicleApplyDetailMapper extends BaseMapper applyPage(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw); + + /** + * 根据车型sid及配置sid查询采购订单的数量 + * @param qw 查询条件 + * @return + */ + List selectOrderCount(@Param(Constants.WRAPPER) QueryWrapper qw); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailMapper.xml index e5f0c0d6f9..cb365374b6 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailMapper.xml @@ -31,4 +31,11 @@ left join bus_vehicle_order bo on bo.purchaseApplyMediumModelSid = bd.sid ${ew.customSqlSegment} + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailRest.java index 41da585a5f..32d74b82af 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailRest.java @@ -1,6 +1,7 @@ package com.yxt.anrui.base.biz.busvehicleapplydetail; import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.base.api.basevehicle.BusVehicleOrderCountQuery; import com.yxt.anrui.base.api.busvehicleapplydetail.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; @@ -86,5 +87,15 @@ public class BusVehicleApplyDetailRest implements BusVehicleApplyDetailFeign { return rb.success().setData(pv); } + /** + * 根据车型sid及配置sid查询采购订单数量 + * @param busVehicleOrderCountQuery 查询条件 + * @return + */ + @Override + public ResultBean selectOrderCount(BusVehicleOrderCountQuery busVehicleOrderCountQuery) { + return busVehicleApplyDetailService.selectOrderCount(busVehicleOrderCountQuery); + } + } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailService.java index 80ab28a703..ea4e9589c2 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailService.java @@ -3,11 +3,14 @@ package com.yxt.anrui.base.biz.busvehicleapplydetail; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.base.api.basevehicle.BusVehicleOrderCountQuery; import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApply; import com.yxt.anrui.base.api.busvehicleapplydetail.*; +import com.yxt.anrui.base.api.busvehicleorder.OrderListVo; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -29,134 +32,172 @@ import java.util.List; */ @Service public class BusVehicleApplyDetailService extends MybatisBaseService { - public PagerVo listPage(PagerQuery pq) { - BusVehicleApplyDetailQuery query = pq.getParams(); - QueryWrapper qw = createQueryWrapper(query); - IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPage(page, qw); - PagerVo p = PagerUtil.pageToVo(pagging, null); - return p; - } - public List listAll(BusVehicleApplyDetailQuery query) { - QueryWrapper qw = createQueryWrapper(query); - return baseMapper.selectList(qw); - } - private QueryWrapper createQueryWrapper(BusVehicleApplyDetailQuery query) { - // todo: 这里根据具体业务调整查询条件 - // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); - QueryWrapper qw = new QueryWrapper<>(); - - - if (StringUtils.isNotBlank(query.getApplySid())) { - qw.eq("applySid", query.getApplySid()); - } - - if (StringUtils.isNotBlank(query.getVehicleSid())) { - qw.eq("vehicleSid", query.getVehicleSid()); - } - - if (StringUtils.isNotBlank(query.getVehicleName())) { - qw.eq("vehicleName", query.getVehicleName()); - } - - if (StringUtils.isNotBlank(query.getConfigName())) { - qw.eq("configName", query.getConfigName()); - } - - if (StringUtils.isNotBlank(query.getMoreConfig())) { - qw.eq("moreConfig", query.getMoreConfig()); - } - - if (StringUtils.isNotBlank(query.getPlannedQuantity())) { - qw.eq("plannedQuantity", query.getPlannedQuantity()); - } - - if (StringUtils.isNotBlank(query.getActualQuantity())) { - qw.eq("actualQuantity", query.getActualQuantity()); - } - return qw; - } - - public PagerVo listPageVo(PagerQuery pq) { - BusVehicleApplyDetailQuery query = pq.getParams(); - QueryWrapper qw = createQueryWrapper(query); - IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPageVo(page, qw); - PagerVo p = PagerUtil.pageToVo(pagging, null); - return p; - } - - public List listAllVo(BusVehicleApplyDetailQuery query) { - QueryWrapper qw = createQueryWrapper(query); - return baseMapper.selectListAllVo(qw); - } - - public List listVo() { - return baseMapper.selectListVo(); - } - - public void saveOrUpdateDto(BusVehicleApplyDetailDto dto){ - BusVehicleApplyDetail entity = new BusVehicleApplyDetail(); - dto.fillEntity(entity); - this.saveOrUpdate(entity); - } - - public BusVehicleApplyDetailVo fetchByIdVo(String id){ - BusVehicleApplyDetail entity = this.fetchById(id); - BusVehicleApplyDetailVo vo = new BusVehicleApplyDetailVo(); - BeanUtil.copyProperties(entity, vo); - return vo; - } - - public void delByApplySid(String sid) { - baseMapper.delByApplySid(sid); - } - - public List fetchByApplySid(String sid) { - List busVehicleApplyDetailVos = baseMapper.fetchByApplySid(sid); - return busVehicleApplyDetailVos; - } - public BusVehicleApplyDetailVo selModel(String sid) { - return baseMapper.selModel(sid); - } - - /** - * 销售订单-采购订单分页列表 - * @param pagerQuery 查询条件 - * @return - */ - public PagerVo applyPage(PagerQuery pagerQuery) { - BusVehicleApplyListQuery query = pagerQuery.getParams(); - QueryWrapper qw = applyPageWrapper(query); - IPage page = PagerUtil.queryToPage(pagerQuery); - IPage pagging = baseMapper.applyPage(page, qw); - List list = pagging.getRecords(); - for (int i = 0; i p = PagerUtil.pageToVo(pagging, null); - return p; - } - - /** - * 销售订单-采购订单分页列表构造条件 - * @param query - * @return - */ + public PagerVo listPage(PagerQuery pq) { + BusVehicleApplyDetailQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAll(BusVehicleApplyDetailQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + + private QueryWrapper createQueryWrapper(BusVehicleApplyDetailQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + + if (StringUtils.isNotBlank(query.getApplySid())) { + qw.eq("applySid", query.getApplySid()); + } + + if (StringUtils.isNotBlank(query.getVehicleSid())) { + qw.eq("vehicleSid", query.getVehicleSid()); + } + + if (StringUtils.isNotBlank(query.getVehicleName())) { + qw.eq("vehicleName", query.getVehicleName()); + } + + if (StringUtils.isNotBlank(query.getConfigName())) { + qw.eq("configName", query.getConfigName()); + } + + if (StringUtils.isNotBlank(query.getMoreConfig())) { + qw.eq("moreConfig", query.getMoreConfig()); + } + + if (StringUtils.isNotBlank(query.getPlannedQuantity())) { + qw.eq("plannedQuantity", query.getPlannedQuantity()); + } + + if (StringUtils.isNotBlank(query.getActualQuantity())) { + qw.eq("actualQuantity", query.getActualQuantity()); + } + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + BusVehicleApplyDetailQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAllVo(BusVehicleApplyDetailQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectListAllVo(qw); + } + + public List listVo() { + return baseMapper.selectListVo(); + } + + public void saveOrUpdateDto(BusVehicleApplyDetailDto dto) { + BusVehicleApplyDetail entity = new BusVehicleApplyDetail(); + dto.fillEntity(entity); + this.saveOrUpdate(entity); + } + + public BusVehicleApplyDetailVo fetchByIdVo(String id) { + BusVehicleApplyDetail entity = this.fetchById(id); + BusVehicleApplyDetailVo vo = new BusVehicleApplyDetailVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + public void delByApplySid(String sid) { + baseMapper.delByApplySid(sid); + } + + public List fetchByApplySid(String sid) { + List busVehicleApplyDetailVos = baseMapper.fetchByApplySid(sid); + return busVehicleApplyDetailVos; + } + + public BusVehicleApplyDetailVo selModel(String sid) { + return baseMapper.selModel(sid); + } + + /** + * 销售订单-采购订单分页列表 + * + * @param pagerQuery 查询条件 + * @return + */ + public PagerVo applyPage(PagerQuery pagerQuery) { + BusVehicleApplyListQuery query = pagerQuery.getParams(); + QueryWrapper qw = applyPageWrapper(query); + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.applyPage(page, qw); + List list = pagging.getRecords(); + for (int i = 0; i < list.size(); i++) { + int platformNo = list.get(i).getPlatformNo(); + int lockingNum = list.get(i).getLockingNum(); + int useNum = platformNo - lockingNum; + list.get(i).setUseNum(useNum); + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + /** + * 销售订单-采购订单分页列表构造条件 + * + * @param query + * @return + */ private QueryWrapper applyPageWrapper(BusVehicleApplyListQuery query) { QueryWrapper qw = new QueryWrapper<>(); - if (query != null) { - //车型sid - qw.eq("bd.vehicleSid", query.getModelSid()); - //配置sid - qw.eq("bd.configSid", query.getConfigSid()); - if (query.getSidList().size() > 0) { - qw.notIn("bo.sid", query.getSidList()); - } - } + if (query != null) { + //车型sid + qw.eq("bd.vehicleSid", query.getModelSid()); + //配置sid + qw.eq("bd.configSid", query.getConfigSid()); + if (query.getSidList().size() > 0) { + qw.notIn("bo.sid", query.getSidList()); + } + } return qw; } + + /** + * 根据车型sid及配置sid查询采购订单的数量 + * + * @param query 查询条件 + * @return + */ + public ResultBean selectOrderCount(BusVehicleOrderCountQuery query) { + ResultBean rb = ResultBean.fireFail(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + //车型sid + qw.eq("bd.vehicleSid", query.getModelSid()); + //配置sid + qw.eq("bd.configSid", query.getConfigSid()); + } + List orderListVoList = baseMapper.selectOrderCount(qw); + int count = 0; + int plat = 0; + int locking = 0; + for (int i = 0; i < orderListVoList.size(); i++) { + String platformNo = orderListVoList.get(i).getPlatformNo(); + String lockingNum = orderListVoList.get(i).getLockingNum(); + if (StringUtils.isNotBlank(platformNo)) { + plat = Integer.parseInt(platformNo); + if (StringUtils.isNotBlank(lockingNum)) { + locking = Integer.parseInt(lockingNum); + } + } + count = count+(plat-locking); + } + return rb.success().setData(count); + } } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-ui/src/api/jichuxinxi/salepolicy.js b/anrui-buscenter/anrui-buscenter-ui/src/api/jichuxinxi/salepolicy.js index 9ffaa546b6..38e8845c8d 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/api/jichuxinxi/salepolicy.js +++ b/anrui-buscenter/anrui-buscenter-ui/src/api/jichuxinxi/salepolicy.js @@ -47,10 +47,10 @@ export function selectBySid(data) { }) } -// 新增保存 +// 新增保存 已改 export function save(data) { return request({ - url: '/buscenter/v1/busorderdiscount/save', + url: 'base/v1/basediscountpackage/save', method: 'post', data: data, headers: { diff --git a/anrui-buscenter/anrui-buscenter-ui/src/api/salesManagement/orderManagement.js b/anrui-buscenter/anrui-buscenter-ui/src/api/salesManagement/orderManagement.js index e97072fced..2c3b985923 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/api/salesManagement/orderManagement.js +++ b/anrui-buscenter/anrui-buscenter-ui/src/api/salesManagement/orderManagement.js @@ -94,6 +94,16 @@ export function getCaigouList(params) { headers: {'Content-Type': 'application/json'} }) } +// 现车数量 已改 +export function selectCount(params) { + return request({ + url: '/base/v1/basevehicle/selectCount', + method: 'get', + params: params, + // headers: {'Content-Type': 'application/json'} + }) +} +// // 销售政策分页列表 已改 export function selectSalesOrderList(params) { diff --git a/anrui-buscenter/anrui-buscenter-ui/src/views/kehuguanli/kehudangan/kehudanganAdd.vue b/anrui-buscenter/anrui-buscenter-ui/src/views/kehuguanli/kehudangan/kehudanganAdd.vue index f1a6e2ef3d..b34780bc69 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/views/kehuguanli/kehudangan/kehudanganAdd.vue +++ b/anrui-buscenter/anrui-buscenter-ui/src/views/kehuguanli/kehudangan/kehudanganAdd.vue @@ -858,7 +858,6 @@ // ----------------------------------方法-------------------- // 组件返回 handleReturn() { - this.visible = false this.activeNames=['1'] this.$emit('handleReturn') }, @@ -973,7 +972,7 @@ this.activeNames=['1'] this.list1=[] this.$emit('handleReturn') - + }else if('511'===response.code || '513'===response.code){ this.FormLoading = false this.dialogFormVisible = true diff --git a/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/modellibrary.vue b/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/modellibrary.vue index be60ce989b..de66a56d3a 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/modellibrary.vue +++ b/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/modellibrary.vue @@ -396,7 +396,7 @@ this.handReset() }, handleReturn() { - this.$emit('doReturn') // 返回到销售订单新增 + this.$emit('handleReturn') // 返回到销售订单新增 } } diff --git a/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/xiaoshouzhengce.vue b/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/xiaoshouzhengce.vue index 1934533531..5bd00160ee 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/xiaoshouzhengce.vue +++ b/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/xiaoshouzhengce.vue @@ -81,16 +81,6 @@ @selection-change="handleSelectionChange"> - - - @@ -781,8 +781,8 @@ import { getPdfByOrderSid, getXianList, saveOrderForm, + selectCount } from '@/api/salesManagement/orderManagement' -import {getDelDis} from '@/api/jichuxinxi/busdeposit' import {getNamesDown,} from '@/api/dictcommons/basemanufacturer' import Pagination from '@/components/pagination' import pageye from '@/components/pagination/pageye' @@ -870,14 +870,15 @@ export default { depositTypeKey: '', // 订金交纳方式key makeUpDeposit: '', // 需补交订金 }, //订金信息 - busSalesOrderDiscountList: [{ - discountExplain: '', //优惠项目明细 - name: '', //优惠名称 - num: '', //数量 - price: '', //价值 - salesPolicySid: '', //销售政策sid - totalValue: '', //总价值 - }], //主车优惠明细 + busSalesOrderDiscountList: [], //主车优惠明细 + // { + // discountExplain: '', //优惠项目明细 + // name: '', //优惠名称 + // num: '', //数量 + // price: '', //价值 + // salesPolicySid: '', //销售政策sid + // totalValue: '', //总价值 + // } busSalesOrderInsurance: { insuranceCarMoney: '', //单台车保费预估金额 insuranceName: '', //保险公司名称 @@ -950,6 +951,7 @@ export default { // 现车列表 xianchetotal: 1, xiancheLoading: false, + xiancheCount: 0, xiancheList: { current: 1, size: 20, @@ -965,6 +967,7 @@ export default { // 采购订单列表 caigoutotal: 1, caigouLoading: false, + caigouCount: 0, caigouList: { current: 1, size: 20, @@ -1153,8 +1156,8 @@ export default { billingTypeKey: '', //开票类型key busDepositFictitiousList: [], //虚拟订单和订金关联 busSalesOrderDeposit: { - deposit: '111222', // 单台订金 - depositAll: '111222', // 订金合计 + deposit: '', // 单台订金 + depositAll: '', // 订金合计 depositType: '', // 订金交纳方式 depositTypeKey: '', // 订金交纳方式key makeUpDeposit: '', // 需补交订金 @@ -1184,7 +1187,7 @@ export default { guildPrice: '', //单台指导价 modelConfig: '', //车型配置名称 modelConfigSid: '', //配置sid - modelName: '111122222', //车型名称 + modelName: '', //车型名称 modelSid: '', //车型sid moreConfig: '', //更多配置 specialConfig: '', //特殊配置说明 @@ -1276,25 +1279,6 @@ export default { const value = Number(aaa.replace(',', '')) + Number(bbb.replace(',', '')) this.temp.busSalesOrderPrice.singleFinalPrice = value.toString() return this.temp.busSalesOrderPrice.singleFinalPrice - - - - // var finalPrice = 0 - // var topPrice = 0 - // finalPrice = parseFloat(this.temp.busSalesOrderModel.finalPrice) - // topPrice = parseFloat(this.temp.busSalesOrderMakeup.topPrice) - // if (this.temp.busSalesOrderModel.finalPrice !== '') { - // return finalPrice - // } - // if (this.temp.busSalesOrderMakeup.topPrice !== '') { - // return topPrice - // } - // - // var s1 = finalPrice.toString() - // var s2 = topPrice.toString() - // const value = Number(s1.replace(',', '')) + Number(s2.replace(',', '')) - // this.temp.busSalesOrderPrice.singleFinalPrice = value.toString() - // return this.temp.busSalesOrderPrice.singleFinalPrice }, getSum(total, num) { return total + num; @@ -1618,14 +1602,14 @@ export default { } }, - // 删除现车数据 - delXianche() { - }, // 打开采购订单 openCaigou() { if (this.temp.busSalesOrderModel.modelSid) { this.caigouVisible = true + this.$nextTick(() => { + this.handleCaigou() + }) } else { this.$message({ showClose: true, @@ -1635,13 +1619,11 @@ export default { } }, - // 删除采购订单数据 - delCaigou() { - }, // 主车优惠 openZhuche() { this.relState = '4.1' + this.$refs['zhucheyouhui'].showZhuche(this.temp.busSalesOrderDiscountList) }, // 虚拟订单列表 openXunidingdanList() { @@ -1741,26 +1723,42 @@ export default { // ---------------- 下级页面返回数据 ---------------- // 确当选择现车 selectionXianche() { - this.temp.busSalesOrderVehicleList = this.xiancheChoice - const xincheSids = [] - this.row.forEach((element) => { - xincheSids.push(element.linkSid) - }) - this.xiancheList.params.sidList = xincheSids - this.vehicleList = xincheSids - this.xiancheLoading = false - console.log('确认选择现车:', this.temp.busSalesOrderVehicleList, this.vehicleList) + if (this.xiancheChoice.length > 0) { + this.temp.busSalesOrderVehicleList = this.xiancheChoice + const xincheSids = [] + this.xiancheChoice.forEach((element) => { + xincheSids.push(element.linkSid) + }) + this.xiancheList.params.sidList = xincheSids + this.vehicleList = xincheSids + this.xiancheVisible = false + console.log('确认选择现车:', this.temp.busSalesOrderVehicleList, this.vehicleList) + } else { + this.$message({ + showClose: true, + message: '请选择车架号!', + type: 'error' + }); + } }, // 确定选择采购 selectionCaigou() { - this.temp.busSalesVehicleOrderList = this.caigouChoice - const caigouSids = [] - this.row.forEach((element) => { - caigouSids.push(element.linkSid) - }) - this.caigouList.params.sidList = caigouSids - this.caigouLoading = false - console.log('确认选择采购', this.temp.busSalesVehicleOrderList, caigouSids) + if (this.caigouChoice.length > 0) { + this.temp.busSalesVehicleOrderList = this.caigouChoice + const caigouSids = [] + this.caigouChoice.forEach((element) => { + caigouSids.push(element.linkSid) + }) + this.caigouList.params.sidList = caigouSids + this.caigouVisible = false + console.log('确认选择采购', this.temp.busSalesVehicleOrderList, caigouSids) + } else { + this.$message({ + showClose: true, + message: '请选择车架号!', + type: 'error' + }); + } }, // 切换回新增页面 changeState() { @@ -1797,6 +1795,19 @@ export default { modelSid: modelData.modelSid, //车型sid moreConfig: modelData.otherConfig, //更多配置 } + const countList = { + customerSid: this.temp.customerSid, //客户sid + modelConfigSid: this.temp.busSalesOrderModel.modelConfigSid, //配置sid + modelSid: this.temp.busSalesOrderModel.modelSid, //车型sid + staffSid: window.sessionStorage.getItem('staffSid'), //业务员sid + type: 1, // 类型 + } + selectCount(countList).then((response) => { + if (response.success) { + this.xiancheCount = response.data + console.log('数量', response.data) + } + }) }, // 选择虚拟订单 selectXuni(modelData, type) { @@ -1814,6 +1825,19 @@ export default { modelSid: modelData.modelSid, //车型sid moreConfig: modelData.otherConfig, //更多配置 } + const countList = { + customerSid: this.temp.customerSid, //客户sid + modelConfigSid: this.temp.busSalesOrderModel.modelConfigSid, //配置sid + modelSid: this.temp.busSalesOrderModel.modelSid, //车型sid + staffSid: window.sessionStorage.getItem('staffSid'), //业务员sid + type: 2, // 类型 + } + selectCount(countList).then((response) => { + if (response.success) { + this.xiancheCount = response.data + console.log('数量', response.data) + } + }) }, // 选择车型 selectChexing(modelData, type) { @@ -1831,6 +1855,20 @@ export default { modelSid: modelData.modelSid, //车型sid moreConfig: modelData.moreConfig, //更多配置 } + const countList = { + customerSid: this.temp.customerSid, //客户sid + modelConfigSid: this.temp.busSalesOrderModel.modelConfigSid, //配置sid + modelSid: this.temp.busSalesOrderModel.modelSid, //车型sid + staffSid: window.sessionStorage.getItem('staffSid'), //业务员sid + type: 3, // 类型 + } + selectCount(countList).then((response) => { + if (response.success) { + this.xiancheCount = response.data + console.log('数量', response.data) + } + }) + }, selectYouhui(row) { console.log('所选优惠包', row) @@ -1859,18 +1897,34 @@ export default { }, // ----------------------------------方法-------------------- - //删除 - handleDelete(row) { - getDelDis(row.orderSid).then((response) => { - if (response.code === '200') { - this.temp.busOrderDiscountDtoList = response.data - } - }) + // 删除主车优惠数据 + deleteZhuche() { + }, - addXunidingjin() { + // 删除虚拟订单 + deleteXuni() { }, + // 删除现车数据 + delXianche(index) { + console.log('对应索引', index) + this.temp.busSalesOrderVehicleList.splice(index, 1) + }, + // 删除采购订单数据 + delCaigou(index) { + console.log('对应索引', index) + this.temp.busSalesOrderVehicleList.splice(index, 1) + }, + // handleDelete(row) { + // getDelDis(row.orderSid).then((response) => { + // if (response.code === '200') { + // this.temp.busOrderDiscountDtoList = response.data + // } + // }) + // }, + addXunidingjin() { + }, // 待使用代码 // 预览销售合同