Browse Source

销售订单-根据车型及配置sid采购订单可用台数的数量

master
dimengzhe 3 years ago
parent
commit
1a751773aa
  1. 20
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BusVehicleOrderCountQuery.java
  2. 6
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusVehicleApplyDetailFeign.java
  3. 6
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusVehicleApplyDetailFeignFallback.java
  4. 22
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/OrderListVo.java
  5. 8
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailMapper.java
  6. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailMapper.xml
  7. 11
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailRest.java
  8. 293
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailService.java

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

6
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<PagerVo<BusVehicleApplyListVo>> applyPage(@RequestBody PagerQuery<BusVehicleApplyListQuery> pagerQuery);
@ApiOperation("销售订单-采购订单数量")
@GetMapping("/selectOrderCount")
ResultBean<Integer> selectOrderCount(@SpringQueryMap BusVehicleOrderCountQuery busVehicleOrderCountQuery);
}

6
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<PagerVo<BusVehicleApplyListVo>> applyPage(PagerQuery<BusVehicleApplyListQuery> pagerQuery) {
return null;
}
@Override
public ResultBean<Integer> selectOrderCount(BusVehicleOrderCountQuery busVehicleOrderCountQuery) {
return null;
}
}

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

8
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<BusVehicleApplyD
* @return
*/
IPage<BusVehicleApplyListVo> applyPage(IPage<BusVehicleApply> page, @Param(Constants.WRAPPER)QueryWrapper<BusVehicleApply> qw);
/**
* 根据车型sid及配置sid查询采购订单的数量
* @param qw 查询条件
* @return
*/
List<OrderListVo> selectOrderCount(@Param(Constants.WRAPPER) QueryWrapper<BusVehicleApply> qw);
}

7
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}
</select>
<select id="selectOrderCount" resultType="com.yxt.anrui.base.api.busvehicleorder.OrderListVo">
select bo.platformNo,bo.lockingNum from bus_vehicle_apply_detail bd
left join bus_vehicle_apply bv on bd.applySid = bv.sid
left join bus_vehicle_order bo on bo.purchaseApplyMediumModelSid = bd.sid
${ew.customSqlSegment}
</select>
</mapper>

11
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<Integer> selectOrderCount(BusVehicleOrderCountQuery busVehicleOrderCountQuery) {
return busVehicleApplyDetailService.selectOrderCount(busVehicleOrderCountQuery);
}
}

293
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<BusVehicleApplyDetailMapper, BusVehicleApplyDetail> {
public PagerVo<BusVehicleApplyDetail> listPage(PagerQuery<BusVehicleApplyDetailQuery> pq) {
BusVehicleApplyDetailQuery query = pq.getParams();
QueryWrapper<BusVehicleApplyDetail> qw = createQueryWrapper(query);
IPage<BusVehicleApplyDetail> page = PagerUtil.queryToPage(pq);
IPage<BusVehicleApplyDetail> pagging = baseMapper.selectPage(page, qw);
PagerVo<BusVehicleApplyDetail> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public List<BusVehicleApplyDetail> listAll(BusVehicleApplyDetailQuery query) {
QueryWrapper<BusVehicleApplyDetail> qw = createQueryWrapper(query);
return baseMapper.selectList(qw);
}
private QueryWrapper<BusVehicleApplyDetail> createQueryWrapper(BusVehicleApplyDetailQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<BusVehicleApplyDetail> 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<BusVehicleApplyDetailVo> listPageVo(PagerQuery<BusVehicleApplyDetailQuery> pq) {
BusVehicleApplyDetailQuery query = pq.getParams();
QueryWrapper<BusVehicleApplyDetail> qw = createQueryWrapper(query);
IPage<BusVehicleApplyDetail> page = PagerUtil.queryToPage(pq);
IPage<BusVehicleApplyDetailVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<BusVehicleApplyDetailVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public List<BusVehicleApplyDetailVo> listAllVo(BusVehicleApplyDetailQuery query) {
QueryWrapper<BusVehicleApplyDetail> qw = createQueryWrapper(query);
return baseMapper.selectListAllVo(qw);
}
public List<BusVehicleApplyDetailVo> 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<BusVehicleApplyDetailVo> fetchByApplySid(String sid) {
List<BusVehicleApplyDetailVo> busVehicleApplyDetailVos = baseMapper.fetchByApplySid(sid);
return busVehicleApplyDetailVos;
}
public BusVehicleApplyDetailVo selModel(String sid) {
return baseMapper.selModel(sid);
}
/**
* 销售订单-采购订单分页列表
* @param pagerQuery 查询条件
* @return
*/
public PagerVo<BusVehicleApplyListVo> applyPage(PagerQuery<BusVehicleApplyListQuery> pagerQuery) {
BusVehicleApplyListQuery query = pagerQuery.getParams();
QueryWrapper<BusVehicleApply> qw = applyPageWrapper(query);
IPage<BusVehicleApply> page = PagerUtil.queryToPage(pagerQuery);
IPage<BusVehicleApplyListVo> pagging = baseMapper.applyPage(page, qw);
List<BusVehicleApplyListVo> 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<BusVehicleApplyListVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
/**
* 销售订单-采购订单分页列表构造条件
* @param query
* @return
*/
public PagerVo<BusVehicleApplyDetail> listPage(PagerQuery<BusVehicleApplyDetailQuery> pq) {
BusVehicleApplyDetailQuery query = pq.getParams();
QueryWrapper<BusVehicleApplyDetail> qw = createQueryWrapper(query);
IPage<BusVehicleApplyDetail> page = PagerUtil.queryToPage(pq);
IPage<BusVehicleApplyDetail> pagging = baseMapper.selectPage(page, qw);
PagerVo<BusVehicleApplyDetail> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public List<BusVehicleApplyDetail> listAll(BusVehicleApplyDetailQuery query) {
QueryWrapper<BusVehicleApplyDetail> qw = createQueryWrapper(query);
return baseMapper.selectList(qw);
}
private QueryWrapper<BusVehicleApplyDetail> createQueryWrapper(BusVehicleApplyDetailQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<BusVehicleApplyDetail> 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<BusVehicleApplyDetailVo> listPageVo(PagerQuery<BusVehicleApplyDetailQuery> pq) {
BusVehicleApplyDetailQuery query = pq.getParams();
QueryWrapper<BusVehicleApplyDetail> qw = createQueryWrapper(query);
IPage<BusVehicleApplyDetail> page = PagerUtil.queryToPage(pq);
IPage<BusVehicleApplyDetailVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<BusVehicleApplyDetailVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public List<BusVehicleApplyDetailVo> listAllVo(BusVehicleApplyDetailQuery query) {
QueryWrapper<BusVehicleApplyDetail> qw = createQueryWrapper(query);
return baseMapper.selectListAllVo(qw);
}
public List<BusVehicleApplyDetailVo> 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<BusVehicleApplyDetailVo> fetchByApplySid(String sid) {
List<BusVehicleApplyDetailVo> busVehicleApplyDetailVos = baseMapper.fetchByApplySid(sid);
return busVehicleApplyDetailVos;
}
public BusVehicleApplyDetailVo selModel(String sid) {
return baseMapper.selModel(sid);
}
/**
* 销售订单-采购订单分页列表
*
* @param pagerQuery 查询条件
* @return
*/
public PagerVo<BusVehicleApplyListVo> applyPage(PagerQuery<BusVehicleApplyListQuery> pagerQuery) {
BusVehicleApplyListQuery query = pagerQuery.getParams();
QueryWrapper<BusVehicleApply> qw = applyPageWrapper(query);
IPage<BusVehicleApply> page = PagerUtil.queryToPage(pagerQuery);
IPage<BusVehicleApplyListVo> pagging = baseMapper.applyPage(page, qw);
List<BusVehicleApplyListVo> 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<BusVehicleApplyListVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
/**
* 销售订单-采购订单分页列表构造条件
*
* @param query
* @return
*/
private QueryWrapper<BusVehicleApply> applyPageWrapper(BusVehicleApplyListQuery query) {
QueryWrapper<BusVehicleApply> 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<Integer> selectOrderCount(BusVehicleOrderCountQuery query) {
ResultBean<Integer> rb = ResultBean.fireFail();
QueryWrapper<BusVehicleApply> qw = new QueryWrapper<>();
if (query != null) {
//车型sid
qw.eq("bd.vehicleSid", query.getModelSid());
//配置sid
qw.eq("bd.configSid", query.getConfigSid());
}
List<OrderListVo> 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);
}
}
Loading…
Cancel
Save