Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 2 years ago
parent
commit
9a8e1c9336
  1. 29
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceExportVo.java
  2. 19
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceFeign.java
  3. 13
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceFeignFallback.java
  4. 25
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceImportReturn.java
  5. 28
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceImportVo.java
  6. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodpricemodel/BaseModelModpriceModelFeign.java
  7. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeign.java
  8. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeignFallback.java
  9. 3
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/TraliveredVo.java
  10. 1
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModel.java
  11. 6
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodel/BaseVehinstallmodelDetailsVo.java
  12. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigDto.java
  13. 7
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelVo.java
  14. 194
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceRest.java
  15. 223
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceService.java
  16. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerRest.java
  17. 57
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java
  18. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  19. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java
  20. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml
  21. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java
  22. 7
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredFeign.java
  23. 6
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredFeignFallback.java
  24. 23
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/DeliverDetailsQuery.java
  25. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderTopInfoVo.java
  26. 8
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredRest.java
  27. 76
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredService.java
  28. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java
  29. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdiscountpackagehandover/BusDiscountpackageHandoverService.java
  30. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupMapper.xml
  31. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.java
  32. 26
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml
  33. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java
  34. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppBillApplicationPageQuery.java
  35. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationQuery.java
  36. 1
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbilltrailer/FinBillTrailerDto.java
  37. 12
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java
  38. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundDto.java
  39. 6
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundVo.java
  40. 20
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java
  41. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoDto.java
  42. 11
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoVo.java
  43. 6
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationPageQuery.java
  44. 3
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationPageVo.java
  45. 5
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/FinBillTrailerDto.java
  46. 5
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/FinBillTrailerVo.java
  47. 9
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/AppBusDeliveredApplyFeign.java
  48. 7
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/AppBusDeliveredApplyFeignFallback.java
  49. 22
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredDetailssQuery.java
  50. 8
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredTralierVo.java
  51. 74
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java
  52. 9
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/retrieval/AppBusDeliveredApplyRest.java
  53. 310
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/retrieval/AppBusDeliveredApplyService.java

29
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceExportVo.java

@ -0,0 +1,29 @@
package com.yxt.anrui.base.api.basemodelmodprice;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.utils.ExportEntityMap;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
/**
* @author dimengzhe
* @date 2021/9/30 16:25
* @description
*/
@Data
public class BaseModelModpriceExportVo implements Vo {
private static final long serialVersionUID = -1722170460354213687L;
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
private Integer rankNo;
@ExportEntityMap(CnName = "车型编码", EnName = "vehicleTypeCode")
private String vehicleTypeCode; // 分公司
@ExportEntityMap(CnName = "配置编码", EnName = "configCode")
private String configCode;
@ExportEntityMap(CnName = "调整后全款销售指导价(元)", EnName = "guidedPrice")
private String guidedPrice;
@ExportEntityMap(CnName = "调整后贷款销售指导价(元)", EnName = "manufactorSettlementPrice")
private String manufactorSettlementPrice;
}

19
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceFeign.java

@ -26,6 +26,7 @@
package com.yxt.anrui.base.api.basemodelmodprice;
import com.yxt.anrui.base.api.basemodelmodprice.flow.*;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleExportQuery;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery;
@ -34,8 +35,11 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.Valid;
import java.io.IOException;
import java.text.ParseException;
import java.util.List;
/**
@ -66,7 +70,7 @@ public interface BaseModelModpriceFeign {
@ApiOperation("新增保存")
@PostMapping("/saveOrUpdate")
public ResultBean saveOrUpdate(@Valid @RequestBody BaseModelModpriceDto dto);
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids);
@ -104,4 +108,17 @@ public interface BaseModelModpriceFeign {
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody BaseModelModPriceTaskQuery query);
@ApiOperation(value = "导入")
@PostMapping("/getExcelInfo")
@ResponseBody
public ResultBean<BaseModelModpriceImportReturn> getExcelInfo(@RequestParam(value = "fileName") String fileName, @RequestParam(value = "file") MultipartFile file) throws IOException, ParseException;
@PostMapping("/downloadExcel")
@ApiOperation(value = "下载模板")
@ResponseBody
public void downloadExcel();
}

13
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceFeignFallback.java

@ -35,7 +35,10 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.text.ParseException;
import java.util.List;
/**
@ -110,4 +113,14 @@ public class BaseModelModpriceFeignFallback implements BaseModelModpriceFeign {
public ResultBean breakProcess(BaseModelModPriceTaskQuery query) {
return null;
}
@Override
public ResultBean<BaseModelModpriceImportReturn> getExcelInfo(String fileName, MultipartFile file) throws IOException, ParseException {
return null;
}
@Override
public void downloadExcel() {
}
}

25
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceImportReturn.java

@ -0,0 +1,25 @@
package com.yxt.anrui.base.api.basemodelmodprice;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/4/18 13:55
*/
@Data
@ApiModel(value = "车型调价申请车型表 导入视图数据对象回显", description = "车型调价申请车型表 导入视图数据对象回显")
public class BaseModelModpriceImportReturn implements Vo {
@ApiModelProperty("校验结果")
private String checkResult; // 校验结果
private List<BaseModelModpriceImportVo> importVoList;
}

28
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceImportVo.java

@ -0,0 +1,28 @@
package com.yxt.anrui.base.api.basemodelmodprice;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/4/18 9:52
*/
@ApiModel(value = "车型调价申请车型表 导入视图数据对象", description = "车型调价申请车型表 导入视图数据对象")
@Data
public class BaseModelModpriceImportVo implements Vo {
@ApiModelProperty("序号")
private String rankNo; // 序号
@ApiModelProperty("车型编码")
private String vehicleTypeCode; // 车型编码
@ApiModelProperty("配置编码")
private String configCode; // 配置编码
@ApiModelProperty("调整后全款销售指导价(元)")
private String guidedPrice; // 现全款销售指导价
@ApiModelProperty("调整后贷款销售指导价(元)")
private String manufactorSettlementPrice; // 现贷款销售指导价
}

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodpricemodel/BaseModelModpriceModelFeign.java

@ -91,4 +91,6 @@ public interface BaseModelModpriceModelFeign {
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchBySid/{sid}")
public ResultBean<BaseModelModpriceModelVo> fetchBySid(@PathVariable("sid") String sid);
}

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeign.java

@ -114,9 +114,9 @@ public interface BaseTrailerFeign {
@PostMapping("/trailerOut/{sid}")
ResultBean trailerOut(@PathVariable("sid") String sid);
@ApiOperation("查询主车的挂车信息")
@ApiOperation("查询主车的挂车信息/上装信息")
@GetMapping("/trailerList")
ResultBean<TraliveredVo> trailerList(@RequestParam("vinSid") String vinSid);
ResultBean<TraliveredVo> trailerList(@RequestParam("vinSid") String vinSid,@RequestParam("contractNo") String contractNo);
@ApiOperation("根据挂车车架号获取一条记录")
@GetMapping("/fetchByGcVinNo/{gcVinNo}")

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeignFallback.java

@ -85,7 +85,7 @@ public class BaseTrailerFeignFallback implements BaseTrailerFeign {
}
@Override
public ResultBean<TraliveredVo> trailerList(String vinSid) {
public ResultBean<TraliveredVo> trailerList(String vinSid,String contractNo) {
return null;
}

3
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/TraliveredVo.java

@ -1,5 +1,6 @@
package com.yxt.anrui.base.api.basetrailer;
import com.yxt.anrui.base.api.basevehinstallmodel.BaseVehinstallmodelDetailsVo;
import lombok.Data;
import java.util.ArrayList;
@ -18,4 +19,6 @@ public class TraliveredVo {
private String modelName;
private List<TrailerVo> list = new ArrayList<>();
private List<BaseVehinstallmodelDetailsVo> vehillModelList = new ArrayList<>();
}

1
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModel.java

@ -52,7 +52,6 @@ public class BaseVehicleModel extends BaseEntity {
@ApiModelProperty("产品线key值")
private String productLine;
@ApiModelProperty("产品线value值")
private String productLineValue;
@ApiModelProperty(value = "排放标准key值")
private String emissionStandard;

6
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodel/BaseVehinstallmodelDetailsVo.java

@ -27,9 +27,6 @@ package com.yxt.anrui.base.api.basevehinstallmodel;
import com.yxt.common.core.vo.Vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -108,4 +105,7 @@ public class BaseVehinstallmodelDetailsVo implements Vo {
@ApiModelProperty("创建组织")
private String createOrgSid; // 创建组织
@ApiModelProperty("销售订单中上装价格")
private String topPrice;
}

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigDto.java

@ -52,6 +52,8 @@ import java.math.BigDecimal;
@Data
public class BaseVehmodelConfigDto implements Dto {
@ApiModelProperty("修改时间")
private String modifyTime; // 修改时间
@ApiModelProperty("业务员sid")
private String staffSid; // 业务员sid
@ApiModelProperty("用户sid")

7
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelVo.java

@ -1,11 +1,14 @@
package com.yxt.anrui.base.api.basevehmodelconfig;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @Author dimengzhe
* @Date 2022/4/29 10:59
@ -34,4 +37,8 @@ public class BaseVehmodelVo implements Vo {
@ApiModelProperty("sid")
private String modelConfigSid;
@ApiModelProperty("最新更新时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date modifyTime; // 最新更新时间
}

194
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceRest.java

@ -28,16 +28,37 @@ package com.yxt.anrui.base.biz.basemodelmodprice;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.base.api.basemodelmodprice.*;
import com.yxt.anrui.base.api.basemodelmodprice.flow.*;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleExportVo;
import com.yxt.anrui.base.api.commoncontract.CommonContract;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.common.base.utils.ExportExcelUtils;
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.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@ -58,77 +79,108 @@ import java.util.List;
@RequestMapping("v1/basemodelmodprice")
public class BaseModelModpriceRest implements BaseModelModpriceFeign {
@Autowired
private BaseModelModpriceService baseModelModpriceService;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<BaseModelModpriceVo>> listPage(@RequestBody PagerQuery<BaseModelModpriceQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<BaseModelModpriceVo> pv = baseModelModpriceService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("新增修改保存")
@PostMapping("/saveOrUpdate")
public ResultBean saveOrUpdate(@RequestBody BaseModelModpriceDto dto){
return baseModelModpriceService.saveOrUpdateAll(dto);
}
@Override
@ApiOperation("根据sid批量删除")
@Autowired
private BaseModelModpriceService baseModelModpriceService;
@Autowired
private HttpServletResponse response;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<BaseModelModpriceVo>> listPage(@RequestBody PagerQuery<BaseModelModpriceQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<BaseModelModpriceVo> pv = baseModelModpriceService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("新增修改保存")
@PostMapping("/saveOrUpdate")
public ResultBean saveOrUpdate(@RequestBody BaseModelModpriceDto dto) {
return baseModelModpriceService.saveOrUpdateAll(dto);
}
@Override
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
return baseModelModpriceService.delAll(sids);
}
public ResultBean delBySids(@RequestBody String[] sids) {
return baseModelModpriceService.delAll(sids);
}
@Override
@ApiOperation("根据SID获取一条记录")
@Override
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchBySid/{sid}")
public ResultBean<BaseModelModpriceDetailVo> fetchBySid(@PathVariable("sid") String sid){
return baseModelModpriceService.fetchAll(sid);
}
/*****************************车型调价流程****************************************************/
@Override
public ResultBean submitBaseModelModPrice(SubmitBaseModelModPriceDto dto) {
return baseModelModpriceService.submitBaseModelModPrice(dto);
}
@Override
public ResultBean complete(BaseModelModPriceCompleteDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASEMODELMODPRICE.getProDefId());
bv.setFormVariables(BeanUtil.beanToMap(query));
return baseModelModpriceService.complete(bv);
}
@Override
public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
return baseModelModpriceService.getNextNodesForSubmit(query);
}
@Override
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
return baseModelModpriceService.getPreviousNodesForReject(query);
}
@Override
public ResultBean taskReject(BaseModelModPriceTaskQuery query) {
return baseModelModpriceService.taskReject(query);
}
@Override
public ResultBean revokeProcess(BaseModelModPriceTaskQuery query) {
return baseModelModpriceService.revokeProcess(query);
}
@Override
public ResultBean breakProcess(BaseModelModPriceTaskQuery query) {
return baseModelModpriceService.breakProcess(query);
}
public ResultBean<BaseModelModpriceDetailVo> fetchBySid(@PathVariable("sid") String sid) {
return baseModelModpriceService.fetchAll(sid);
}
/*****************************车型调价流程****************************************************/
@Override
public ResultBean submitBaseModelModPrice(SubmitBaseModelModPriceDto dto) {
return baseModelModpriceService.submitBaseModelModPrice(dto);
}
@Override
public ResultBean complete(BaseModelModPriceCompleteDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASEMODELMODPRICE.getProDefId());
bv.setFormVariables(BeanUtil.beanToMap(query));
return baseModelModpriceService.complete(bv);
}
@Override
public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
return baseModelModpriceService.getNextNodesForSubmit(query);
}
@Override
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
return baseModelModpriceService.getPreviousNodesForReject(query);
}
@Override
public ResultBean taskReject(BaseModelModPriceTaskQuery query) {
return baseModelModpriceService.taskReject(query);
}
@Override
public ResultBean revokeProcess(BaseModelModPriceTaskQuery query) {
return baseModelModpriceService.revokeProcess(query);
}
@Override
public ResultBean breakProcess(BaseModelModPriceTaskQuery query) {
return baseModelModpriceService.breakProcess(query);
}
@Override
public ResultBean<BaseModelModpriceImportReturn> getExcelInfo(String fileName, MultipartFile file) throws IOException, ParseException {
return baseModelModpriceService.getExcelInfo(fileName, file);
}
@Override
public void downloadExcel() {
List<BaseModelModpriceExportVo> list = new ArrayList<>();
int i = 1;
while (i <= 10) {
BaseModelModpriceExportVo exportVo = new BaseModelModpriceExportVo();
exportVo.setRankNo(i);
list.add(exportVo);
i++;
}
//定义导出的excel名字
String excelName = "调价车型价格导入模板";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
ExportExcelUtils.export(fileNameURL, list, BaseModelModpriceExportVo.class, response);
}
}

223
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceService.java

@ -26,6 +26,7 @@
package com.yxt.anrui.base.biz.basemodelmodprice;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.text.StrBuilder;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -64,10 +65,21 @@ import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@ -129,10 +141,10 @@ public class BaseModelModpriceService extends MybatisBaseService<BaseModelModpri
String orgPath = dto.getOrgPath();
String orgSid = "";
String orgSidPath = "";
if(StringUtils.isNotBlank(orgPath)){
if (StringUtils.isNotBlank(orgPath)) {
orgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
orgSidPath = orgPath;
}else{
} else {
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getCreateBySid());
if (!userVoResultBean.getSuccess()) {
@ -150,7 +162,7 @@ public class BaseModelModpriceService extends MybatisBaseService<BaseModelModpri
List<BaseModelModpriceModelDto> baseModelModpriceModels = dto.getBaseModelModpriceModels();
if (StringUtils.isBlank(sid)) {//新增
BaseModelModprice baseModelModprice = new BaseModelModprice();
BeanUtil.copyProperties(dto, baseModelModprice,"sid");
BeanUtil.copyProperties(dto, baseModelModprice, "sid");
baseModelModprice.setCreateBySid(dto.getCreateBySid());
baseModelModprice.setNodeState("待提交");
baseModelModprice.setOrgSidPath(orgSidPath);
@ -167,7 +179,7 @@ public class BaseModelModpriceService extends MybatisBaseService<BaseModelModpri
if (baseModelModprice == null) {
return rb.setMsg("该车型调价单不存在");
}
BeanUtil.copyProperties(dto, baseModelModprice,"sid","orgSidPath");
BeanUtil.copyProperties(dto, baseModelModprice, "sid", "orgSidPath");
baseMapper.updateById(baseModelModprice);
baseModelModpriceModelService.delByMainSid(sid);
for (BaseModelModpriceModelDto modelModpriceModel : baseModelModpriceModels) {
@ -225,7 +237,7 @@ public class BaseModelModpriceService extends MybatisBaseService<BaseModelModpri
ResultBean rb = ResultBean.fireFail();
String orgPath = dto.getOrgPath();
String orgSidPath = "";
if(StringUtils.isNotBlank(orgPath)){
if (StringUtils.isNotBlank(orgPath)) {
orgSidPath = orgPath;
}
BaseModelModprice baseModelModprice = fetchBySid(dto.getSid());
@ -519,4 +531,205 @@ public class BaseModelModpriceService extends MybatisBaseService<BaseModelModpri
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean<BaseModelModpriceImportReturn> getExcelInfo(String fileName, MultipartFile file) throws IOException, ParseException {
ResultBean rb = ResultBean.fireFail();
if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) {
return rb.fail().setMsg("上传文件不正确");
}
int[] resultCell = new int[]{0, 1, 2, 3, 4};
List<BaseModelModpriceImportVo> resultList = new ArrayList<>();
boolean isExcel2003 = true;
if (fileName.matches("^.+\\.(?i)(xlsx)$")) {
isExcel2003 = false;
}
InputStream is = file.getInputStream();
Workbook wb = null;
if (isExcel2003) {
wb = new HSSFWorkbook(is);
} else {
wb = new XSSFWorkbook(is);
}
Sheet sheet = wb.getSheetAt(0);
BaseModelModpriceImportReturn importReturn = getSheetVal(sheet, resultCell);
resultList = importReturn.getImportVoList();
System.out.println("结果是--->" + resultList);
importReturn.setImportVoList(resultList);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String currentTime = simpleDateFormat.format(System.currentTimeMillis());
if (null != resultList) {
int size = resultList.size();
importReturn.setCheckResult(currentTime + " " + "上报成功" + String.valueOf(size) + "条记录。");
return rb.success().setData(importReturn);
} else {
return rb.fail().setData(importReturn);
}
}
public BaseModelModpriceImportReturn getSheetVal(Sheet sheet, int[] resultCell) throws ParseException {
BaseModelModpriceImportReturn importReturn = new BaseModelModpriceImportReturn();
List<BaseModelModpriceImportVo> importVoList = new ArrayList<>();
int[] resultIndex = new int[resultCell.length];
BaseModelModpriceImportVo importVo;
StringBuilder sb = new StringBuilder();
ArrayList<String> rowList = new ArrayList<>();
for (int r = 1; r <= sheet.getLastRowNum(); r++) {
Row row = sheet.getRow(r);
if (row == null) {
continue;
}
importVo = new BaseModelModpriceImportVo();
for (int i = 0; i < row.getPhysicalNumberOfCells(); i++) {
String trim = new String();
try {
trim = getCellVal(row.getCell(i)).toString().trim();
String temp = getCellVal(row.getCell(i)).toString().trim();
for (int j = 0; j < resultCell.length; j++) {
if (i == resultCell[j]) {
switch (i) {
case 0:
importVo.setRankNo(temp);
rowList.add(temp);
break;
case 1:
importVo.setVehicleTypeCode(temp);
break;
case 2:
importVo.setConfigCode(temp);
break;
case 3:
importVo.setGuidedPrice(temp);
break;
case 4:
importVo.setManufactorSettlementPrice(temp);
break;
default:
break;
}
} else {
continue;
}
}
} catch (Exception e) {
if (StringUtils.isBlank(trim)) {
String word = new String();
switch (i) {
case 0:
word = "序号";
break;
case 1:
word = "车型编码";
break;
case 2:
word = "配置编码";
break;
case 3:
word = "调整后全款销售指导价(元)";
break;
case 4:
word = "调整后贷款销售指导价(元)";
break;
default:
break;
}
String checkResult = "第" + (r) + "行" + word + "为空";
sb.append(checkResult).append(";");
continue;
}
}
}
importVoList.add(importVo);
}
HashSet<String> hashSet = new HashSet<>();
HashMap<String, String> map = new HashMap<>();
for (BaseModelModpriceImportVo modpriceImportVo : importVoList) {
if (StringUtils.isNotBlank(modpriceImportVo.getVehicleTypeCode())
&& StringUtils.isNotBlank(modpriceImportVo.getConfigCode())
&& StringUtils.isNotBlank(modpriceImportVo.getGuidedPrice())
&& StringUtils.isNotBlank(modpriceImportVo.getManufactorSettlementPrice())
) {
//如果车型编码+配置编码存在,则判断金额是否相等
if (map.containsKey(modpriceImportVo.getVehicleTypeCode() + modpriceImportVo.getConfigCode())) {
String guidedAndManuFactor = map.get(modpriceImportVo.getVehicleTypeCode() + modpriceImportVo.getConfigCode());
String[] split = guidedAndManuFactor.split(",");
String oldGuided = split[0];
String oldManuFactor = split[1];
if (!oldGuided.equals(modpriceImportVo.getGuidedPrice()) || !oldManuFactor.equals(modpriceImportVo.getManufactorSettlementPrice())) {
hashSet.add(modpriceImportVo.getVehicleTypeCode() + modpriceImportVo.getConfigCode());
}
} else { //如果车型编码+配置编码不存在,则存入map
map.put(modpriceImportVo.getVehicleTypeCode() + modpriceImportVo.getConfigCode(), modpriceImportVo.getGuidedPrice() + "," + modpriceImportVo.getManufactorSettlementPrice());
}
}
}
Iterator<String> iterator = hashSet.iterator();
while (iterator.hasNext()) {
String next = iterator.next();
sb.append("第");
for (BaseModelModpriceImportVo modpriceImportVo : importVoList) {
if (StringUtils.isNotBlank(modpriceImportVo.getVehicleTypeCode())
&& StringUtils.isNotBlank(modpriceImportVo.getConfigCode())
&& StringUtils.isNotBlank(modpriceImportVo.getGuidedPrice())
&& StringUtils.isNotBlank(modpriceImportVo.getManufactorSettlementPrice())
) {
if ((modpriceImportVo.getVehicleTypeCode() + modpriceImportVo.getConfigCode()).equals(next)) {
sb.append(modpriceImportVo.getRankNo() + "行、");
}
}
}
sb.delete(sb.length() - 1, sb.length());
sb.append("相同车型编码、配置编码对应的销售指导价不同;");
}
HashSet<String> rowSet = new HashSet<>(rowList);
if (rowSet.size() != rowList.size()) {
StringBuilder sbd = new StringBuilder();
Set<String> set = new HashSet<>();
Set<String> duplicateElements = new HashSet<>();
for (String rankNo : rowList) {
if (!set.add(rankNo)) {
duplicateElements.add(rankNo);
}
}
for (String duplicateElement : duplicateElements) {
sbd.append(duplicateElement).append("、");
}
sbd.delete(sbd.length() - 1, sbd.length());
sb.append(sbd.toString() + "序号有重复").append(";");
}
importReturn.setImportVoList(importVoList);
if (StringUtils.isNotBlank(sb.toString())) {
sb.delete(sb.length() - 1, sb.length());
importReturn.setCheckResult(sb.toString());
importReturn.setImportVoList(null);
return importReturn;
}
return importReturn;
}
public Object getCellVal(Cell cell) {
Object obj = null;
if (cell != null) {
switch (cell.getCellTypeEnum()) {
case BOOLEAN:
obj = cell.getBooleanCellValue();
break;
case ERROR:
obj = cell.getErrorCellValue();
break;
case NUMERIC:
obj = cell.getNumericCellValue();
break;
case STRING:
obj = cell.getStringCellValue();
break;
default:
break;
}
}
return obj;
}
}

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerRest.java

@ -111,8 +111,8 @@ public class BaseTrailerRest implements BaseTrailerFeign {
}
@Override
public ResultBean<TraliveredVo> trailerList(String vinSid) {
return baseTrailerService.trailerList(vinSid);
public ResultBean<TraliveredVo> trailerList(String vinSid,String contractNo) {
return baseTrailerService.trailerList(vinSid,contractNo);
}
@Override

57
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java

@ -29,56 +29,47 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicle;
import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturer;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo;
import com.yxt.anrui.base.api.basetrailer.*;
import com.yxt.anrui.base.api.basetrailermodel.BaseTrailerModel;
import com.yxt.anrui.base.api.basetrailermodel.BaseTrailerModelDetailsVo;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleDto;
import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrand;
import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificate;
import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOut;
import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOutDetailsVo;
import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOutDto;
import com.yxt.anrui.base.api.basevehicleoutapply.BaseVehicleOutApply;
import com.yxt.anrui.base.api.basevehinstall.BaseVehinstall;
import com.yxt.anrui.base.api.basevehinstall.BaseVehinstallDetailsVo;
import com.yxt.anrui.base.api.commonappendix.CommonAppendix;
import com.yxt.anrui.base.api.basevehinstallmodel.BaseVehinstallmodel;
import com.yxt.anrui.base.api.basevehinstallmodel.BaseVehinstallmodelDetailsVo;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixDto;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo;
import com.yxt.anrui.base.biz.basemanufacturer.BaseManufacturerService;
import com.yxt.anrui.base.biz.basepurchasesystem.BasePurchaseSystemService;
import com.yxt.anrui.base.biz.basetrailermodel.BaseTrailerModelService;
import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService;
import com.yxt.anrui.base.biz.basevehiclebrand.BaseVehicleBrandService;
import com.yxt.anrui.base.biz.basevehiclecertificate.BaseVehicleCertificateService;
import com.yxt.anrui.base.biz.basevehicleout.BaseVehicleOutService;
import com.yxt.anrui.base.biz.basevehicleoutapply.BaseVehicleOutApplyService;
import com.yxt.anrui.base.biz.basevehmodelannouncementmodel.BaseVehmodelAnnouncementmodelService;
import com.yxt.anrui.base.biz.basevehinstall.BaseVehinstallService;
import com.yxt.anrui.base.biz.basevehinstallmodel.BaseVehinstallmodelService;
import com.yxt.anrui.base.biz.commonappendix.CommonAppendixService;
import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.enums.VehicleState;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationDetailsVo;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationDto;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationFeign;
import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerDto;
import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerVo;
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleDetailsVo;
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleDto;
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleFeign;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDto;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceFeign;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial;
import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
@ -86,11 +77,9 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.scm.api.scmapplyinbound.ScmApplyInboundVo;
import com.yxt.anrui.scm.api.scmapplyinboundquery.ScmApplyInboundQueryDto;
import com.yxt.anrui.scm.api.scmapplyinboundquery.ScmApplyInboundQueryFeign;
import com.yxt.anrui.scm.api.scmapplyinboundvehquery.ScmApplyInboundVehQueryDto;
import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseVo;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -103,7 +92,6 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
@ -163,6 +151,10 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
private FinBillApplicationFeign finBillApplicationFeign;
@Autowired
private FinVehicleInvoiceFeign finVehicleInvoiceFeign;
@Autowired
private BaseVehinstallService baseVehinstallService;
@Autowired
private BaseVehinstallmodelService baseVehinstallmodelService;
private QueryWrapper<BaseTrailer> createQueryWrapper(BaseTrailerQuery query) {
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
@ -716,16 +708,43 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
}
}
public ResultBean<TraliveredVo> trailerList(String vinSid) {
public ResultBean<TraliveredVo> trailerList(String vinSid,String contractNo) {
ResultBean<TraliveredVo> rb = ResultBean.fireFail();
//查询销售订单的上装价格
String price = "";
ResultBean<AppOrderDetailsVo> detailsVoResultBean = busSalesOrderFeign.getSaleOrderDetailsByContractNo(contractNo);
if(detailsVoResultBean.getData() != null){
if(detailsVoResultBean.getData().getTopInfo() != null){
price = detailsVoResultBean.getData().getTopInfo().getTopPrice();
}
}
TraliveredVo traliveredVo = new TraliveredVo();
List<BaseVehinstallmodelDetailsVo> vehillModelList = new ArrayList<>();
//根据车辆sid查询车架号以及车型信息
BaseVehicle baseVehicle = baseVehicleService.fetchBySid(vinSid);
traliveredVo.setVinNo(baseVehicle.getVinNo());
traliveredVo.setModelName(baseVehicle.getModelName());
List<TrailerVo> voList = baseMapper.trailerList(vinSid);
voList.removeAll(Collections.singleton(null));
traliveredVo.setList(voList);
if(!voList.isEmpty()){
traliveredVo.setList(voList);
}
//查询车辆的上装配置
List<BaseVehinstall> baseVehinstallsList = baseVehinstallService.selectByOrgSidAndVin(baseVehicle.getCreateOrgSid(), baseVehicle.getVinNo().substring(baseVehicle.getVinNo().length()-8));
baseVehinstallsList.removeAll(Collections.singleton(null));
for (int i = 0; i < baseVehinstallsList.size(); i++) {
BaseVehinstallmodelDetailsVo baseVehinstallmodelDetailsVo = new BaseVehinstallmodelDetailsVo();
BaseVehinstall baseVehinstall = baseVehinstallsList.get(i);
String topSid = baseVehinstall.getMainSid();
BaseVehinstallmodel baseVehinstallmodel = baseVehinstallmodelService.fetchBySid(topSid);
BeanUtil.copyProperties(baseVehinstallmodel,baseVehinstallmodelDetailsVo);
baseVehinstallmodelDetailsVo.setTopPrice(price);
vehillModelList.add(baseVehinstallmodelDetailsVo);
}
vehillModelList.removeAll(Collections.singleton(null));
if(!vehillModelList.isEmpty()){
traliveredVo.setVehillModelList(vehillModelList);
}
return rb.success().setData(traliveredVo);
}

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java

@ -3849,7 +3849,7 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
}
}
for (BaseVehicleQKKPVo baseVehicleQKKPVo : recordsNew) {
TraliveredVo data = baseTrailerService.trailerList(baseVehicleQKKPVo.getVehSid()).getData();
TraliveredVo data = baseTrailerService.trailerList(baseVehicleQKKPVo.getVehSid(),baseVehicleQKKPVo.getContractNo()).getData();
List<TrailerVo> trailerVos = data.getList();
if (trailerVos != null && trailerVos.size() > 0){
for (TrailerVo trailerVo : trailerVos) {

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java

@ -133,7 +133,7 @@ public interface BaseVehmodelConfigMapper extends BaseMapper<BaseVehmodelConfig>
BaseVehmodelConfig selectSid(@Param("modelSid") String modelSid, @Param("configSid") String configSid, @Param("useOrgSid") String useOrgSid);
@Update("update base_vehmodel_config set guidedPrice = #{guidedPrice},manufactorSettlementPrice = #{manufactorSettlementPrice} where sid = #{sid}")
@Update("update base_vehmodel_config set guidedPrice = #{guidedPrice},manufactorSettlementPrice = #{manufactorSettlementPrice},modifyTime = now() where sid = #{sid}")
void updateGuidedPrice(@Param("guidedPrice") BigDecimal guidedPrice, @Param("manufactorSettlementPrice") BigDecimal manufactorSettlementPrice, @Param("sid") String sid);
IPage<BaseVehmodelConfigVehicleVos> selVehModelByUseOrgSidAll(IPage<BaseVehmodelConfig> page, @Param(Constants.WRAPPER) QueryWrapper<BaseVehmodelConfigVehicleVos> qw);

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml

@ -219,7 +219,7 @@
</select>
<select id="selectO" resultType="com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelVo">
select bvc.sid as modelConfigSid,bvc.guidedPrice, bm.modelName, bmc.otherConfig, bm.carBrand as brandSid, bmc.configName,bvc.manufactorSettlementPrice
select bvc.sid as modelConfigSid,bvc.guidedPrice, bm.modelName, bmc.otherConfig, bm.carBrand as brandSid, bmc.configName,bvc.manufactorSettlementPrice,bvc.modifyTime
from base_vehmodel_config bvc
left join base_vehicle_model bm on bvc.modelSid = bm.sid
left join base_model_config bmc on bvc.configurationItemsSid = bmc.sid

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.base.biz.basevehmodelconfig;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo;
import com.yxt.anrui.base.api.basemodelconfig.BaseModelConfigDto;
@ -38,6 +39,7 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -83,6 +85,7 @@ public class BaseVehmodelConfigRest implements BaseVehmodelConfigFeign {
@PostMapping("/update")
public ResultBean update(@RequestBody BaseVehmodelConfigDto dto) {
ResultBean rb = ResultBean.fireFail();
dto.setModifyTime(DateUtil.formatTime(new Date()));
baseVehmodelConfigService.updateBySid(dto.toMap(), dto.getSid());
return rb.success();
}

7
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredFeign.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.buscenter.api.busdelivered;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarListVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -34,6 +35,7 @@ import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* Project: anrui-buscenter(业务管理) <br/>
@ -95,4 +97,9 @@ public interface BusDeliveredFeign {
@PostMapping("/addRetrievalApply")
@ResponseBody
public ResultBean addRetrievalApply(@Valid @RequestBody AddRetrievalApplyDto dto);
@ApiOperation("补充车辆返回")
@PostMapping("/selectInfo")
@ResponseBody
ResultBean<List<AppCarListVo>> selectInfo(@RequestBody DeliverDetailsQuery query);
}

6
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredFeignFallback.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.buscenter.api.busdelivered;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarListVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -84,4 +85,9 @@ public class BusDeliveredFeignFallback implements BusDeliveredFeign {
public ResultBean addRetrievalApply(AddRetrievalApplyDto dto) {
return null;
}
@Override
public ResultBean<List<AppCarListVo>> selectInfo(DeliverDetailsQuery query) {
return null;
}
}

23
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/DeliverDetailsQuery.java

@ -0,0 +1,23 @@
package com.yxt.anrui.buscenter.api.busdelivered;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2023/4/18 9:17
* @Description
*/
@Data
public class DeliverDetailsQuery {
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("当前申请页面已选车辆的sid:app需要排除")
private List<String> vinSelectsid = new ArrayList<>();
@ApiModelProperty("补充车辆sid:pc需要的")
private List<String> vinSids = new ArrayList<>();
}

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderTopInfoVo.java

@ -34,4 +34,6 @@ public class AppOrderTopInfoVo implements Vo {
private String remarks;
@ApiModelProperty("01公司采购02客户自购")
private String buyTypeKey;
private String topPrice;
}

8
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredRest.java

@ -27,6 +27,7 @@ package com.yxt.anrui.buscenter.biz.busdelivered;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.buscenter.api.busdelivered.*;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarListVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -35,6 +36,8 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Project: anrui-buscenter(业务管理) <br/>
* File: BusDeliveredFeignFallback.java <br/>
@ -112,4 +115,9 @@ public class BusDeliveredRest implements BusDeliveredFeign {
public ResultBean addRetrievalApply(AddRetrievalApplyDto dto) {
return busDeliveredService.addRetrievalApply(dto);
}
@Override
public ResultBean<List<AppCarListVo>> selectInfo(DeliverDetailsQuery query) {
return busDeliveredService.selectInfo(query);
}
}

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

@ -266,6 +266,7 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
appDeliveredDetailsVo.setStaffDeptSid(deptSid);
//PC端发起人====
appDeliveredDetailsVo.setPcApplyName(userVoResultBean.getData().getName());
appDeliveredDetailsVo.setPcApplySid(userSid);
appDeliveredDetailsVo.setPcApplyDept(deptName);
appDeliveredDetailsVo.setPcApplyDeptSid(deptSid);
appDeliveredDetailsVo.setPcStaffSid(userVoResultBean.getData().getStaffSid());
@ -325,8 +326,8 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
appCarListVo.setVinSid(list.get(i));
// appCarListVo.setDiscount(appOrderPriceInfoVo.getSingleCarDiscountPrice());
//查询该车辆是否有挂车
ResultBean<TraliveredVo> trailerList = baseTrailerFeign.trailerList(vinSid);
if (trailerList.getData().getList().isEmpty()) {
ResultBean<TraliveredVo> trailerList = baseTrailerFeign.trailerList(vinSid,contractNo);
if (trailerList.getData().getList().isEmpty() && trailerList.getData().getVehillModelList().isEmpty()) {
appCarListVo.setShowHandCarBtn(false);
} else {
appCarListVo.setShowHandCarBtn(true);
@ -399,7 +400,9 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//pc发起人
List<BusDeliveredApplyDetails> busDeliveredApplyDetailsList = busDeliveredApplyDetailsService.selectByApplySid(query.getOutboundSid());
busDeliveredApplyDetailsList.removeAll(Collections.singleton(null));
//pc发起人
appDeliveredDetailsVo.setPcApplyName(busDeliveredApply.getApplyName());
appDeliveredDetailsVo.setPcApplySid(busDeliveredApply.getApplySid());
appDeliveredDetailsVo.setPcApplyDept(busDeliveredApply.getApplyDept());
@ -415,14 +418,14 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
appDeliveredDetailsVo.setDistributorName(busDeliveredApply.getDistributorName() + ",单车中介费:" + busDeliveredApply.getDistributorPrice() + "元");
appDeliveredDetailsVo.setPcDistributorName(busDeliveredApply.getDistributorName());
appDeliveredDetailsVo.setPcDistributorPrice(busDeliveredApply.getDistributorPrice());
appDeliveredDetailsVo.setPcDistributorPriceAll(new BigDecimal(busDeliveredApply.getDistributorPrice()).multiply(new BigDecimal(query.getList().size())).toString());
appDeliveredDetailsVo.setPcDistributorPriceAll(new BigDecimal(busDeliveredApply.getDistributorPrice()).multiply(new BigDecimal(busDeliveredApplyDetailsList.size())).toString());
}
if (StringUtils.isNotBlank(busDeliveredApply.getDistributorPriceTwo())) {
appDeliveredDetailsVo.setDistributorNameTwo(busDeliveredApply.getDistributorNameTwo() + ",单车中介费:" + busDeliveredApply.getDistributorPriceTwo() + "元");
appDeliveredDetailsVo.setDistributorNameTwo(busDeliveredApply.getDistributorNameTwo());
appDeliveredDetailsVo.setPcDistributorNameTwo(busDeliveredApply.getDistributorNameTwo());
appDeliveredDetailsVo.setPcDistributorPriceTwo(busDeliveredApply.getDistributorPriceTwo());
appDeliveredDetailsVo.setPcDistributorPriceTwoAll(new BigDecimal(busDeliveredApply.getDistributorPriceTwo()).multiply(new BigDecimal(query.getList().size())).toString());
appDeliveredDetailsVo.setPcDistributorPriceTwoAll(new BigDecimal(busDeliveredApply.getDistributorPriceTwo()).multiply(new BigDecimal(busDeliveredApplyDetailsList.size())).toString());
}
List<AppCarListVo> carList = new ArrayList<>();
List<BusDeliveredApplyDetails> detailsList = busDeliveredApplyDetailsService.selectByApplySid(query.getOutboundSid());
@ -432,8 +435,8 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
appCarListVo.setDiscount(busDeliveredApplyDetails.getSingleCarDiscountPrice());
appCarListVo.setVinSid(busDeliveredApplyDetails.getVinSid());
//查询该车辆是否有挂车
ResultBean<TraliveredVo> trailerList = baseTrailerFeign.trailerList(busDeliveredApplyDetails.getVinSid());
if (trailerList.getData().getList().isEmpty()) {
ResultBean<TraliveredVo> trailerList = baseTrailerFeign.trailerList(busDeliveredApplyDetails.getVinSid(),busDeliveredApply.getContractNo());
if (trailerList.getData().getList().isEmpty() && trailerList.getData().getVehillModelList().isEmpty()) {
appCarListVo.setShowHandCarBtn(false);
} else {
appCarListVo.setShowHandCarBtn(true);
@ -533,4 +536,61 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
return baseMapper.updateStateByContractNo(contractNo, vinSidList, i);
}
public ResultBean<List<AppCarListVo>> selectInfo(DeliverDetailsQuery query) {
ResultBean<List<AppCarListVo>> rb = ResultBean.fireFail();
//移动端:排除已选车辆后的所有未提交及未出库的车辆集合
//PC端:前端传的已勾选的所有的车辆的集合
String contractNo = query.getContractNo();
List<String> vinSelectSid = query.getVinSelectsid();
vinSelectSid.removeAll(Collections.singleton(null));
List<String> vinSids = query.getVinSids();
vinSids.removeAll(Collections.singleton(null));
List<AppCarListVo> list = new ArrayList<>();
List<BusSalesOrderVehicle> busSalesOrderVehicleList = busSalesOrderVehicleService.selectByNoAndVinSids(contractNo);
for (int i = 0; i < busSalesOrderVehicleList.size(); i++) {
AppCarListVo appCarListVo = new AppCarListVo();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleList.get(i);
String vinSid = busSalesOrderVehicle.getLinkSid();
if(!vinSelectSid.isEmpty()){
if(vinSelectSid.contains(vinSid)){
continue;
}
}
if(!vinSids.isEmpty()){
if(vinSids.contains(vinSid)){
appCarListVo.setVinSid(vinSid);
}else{
continue;
}
}else{
appCarListVo.setVinSid(vinSid);
}
ResultBean<TraliveredVo> trailerList = baseTrailerFeign.trailerList(vinSid,query.getContractNo());
if (trailerList.getData().getList().isEmpty() && trailerList.getData().getVehillModelList().isEmpty()) {
appCarListVo.setShowHandCarBtn(false);
} else {
appCarListVo.setShowHandCarBtn(true);
}
//优惠包使用情况
List<BusDeliveredDetailsDiscountsVo> discountList = new ArrayList<>();
List<BusSalesOrderDiscount> busSalesOrderDiscountList = busSalesOrderDiscountService.selectListByContractNo(contractNo);
for (int j = 0; j < busSalesOrderDiscountList.size(); j++) {
BusDeliveredDetailsDiscountsVo busDeliveredDetailsDiscountsVo = new BusDeliveredDetailsDiscountsVo();
BusSalesOrderDiscount orderDiscountVo = busSalesOrderDiscountList.get(j);
busDeliveredDetailsDiscountsVo.setDiscountInfo(orderDiscountVo.getDiscountExplain());
busDeliveredDetailsDiscountsVo.setDiscountSid(orderDiscountVo.getSid());
busDeliveredDetailsDiscountsVo.setDiscountPrice(orderDiscountVo.getPrice());
busDeliveredDetailsDiscountsVo.setDiscountNum(0);
busDeliveredDetailsDiscountsVo.setTotalNum(orderDiscountVo.getNum());
busDeliveredDetailsDiscountsVo.setDiscountName(orderDiscountVo.getName());
discountList.add(busDeliveredDetailsDiscountsVo);
}
appCarListVo.setDiscountUse(discountList);
BusDeliveredUseMessagesVo deliveredUseMessagesVo = new BusDeliveredUseMessagesVo();
deliveredUseMessagesVo.setVin(busSalesOrderVehicle.getLinkNo().substring(busSalesOrderVehicle.getLinkNo().length() - 8));
appCarListVo.setRealBuyer(deliveredUseMessagesVo);
list.add(appCarListVo);
}
return rb.success().setData(list);
}
}

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

@ -1299,7 +1299,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
appCarListVo.setDiscount(busDeliveredApplyDetails.getSingleCarDiscountPrice());
appCarListVo.setVinSid(busDeliveredApplyDetails.getVinSid());
//查询该车辆是否有挂车
ResultBean<TraliveredVo> trailerList = baseTrailerFeign.trailerList(busDeliveredApplyDetails.getVinSid());
ResultBean<TraliveredVo> trailerList = baseTrailerFeign.trailerList(busDeliveredApplyDetails.getVinSid(),busDeliveredApply.getContractNo());
if (trailerList.getData().getList().isEmpty()) {
appCarListVo.setShowHandCarBtn(false);
} else {

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdiscountpackagehandover/BusDiscountpackageHandoverService.java

@ -200,7 +200,7 @@ public class BusDiscountpackageHandoverService extends MybatisBaseService<BusDis
//如果当前登录用户角色包含分公司销售专员,将当前用户sid保存到查询条件中
if ("分公司销售专员".equals(sysRoleVo.getName())) {
dto.setState("3");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd:HH:mm:ss");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String currentTime = simpleDateFormat.format(System.currentTimeMillis());
Date currentDate = simpleDateFormat.parse(currentTime);
dto.setRecTime(currentDate);
@ -226,7 +226,7 @@ public class BusDiscountpackageHandoverService extends MybatisBaseService<BusDis
} else {
listDto.setState("2");
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd:HH:mm:ss");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String currentTime = simpleDateFormat.format(System.currentTimeMillis());
Date currentDate = simpleDateFormat.parse(currentTime);
listDto.setModifyTime(currentDate);

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupMapper.xml

@ -92,7 +92,7 @@
contractPath,
topName,
remarks,
buyTypeKey
buyTypeKey,topPrice
FROM bus_sales_order_makeup
where salesOrderSid = #{sid}
</select>

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.java

@ -107,4 +107,6 @@ public interface BusSalesOrderVehicleMapper extends BaseMapper<BusSalesOrderVehi
BusSalesOrderVehicle selectBySalesOrderVehiclerSid(String busVinSid);
BusSalesOrderVehicle selectByNoAndVinSid(@Param("contractNo") String contractNo,@Param("vinSid") String vinSid);
List<BusSalesOrderVehicle> selectByNoAndVinSids(String contractNo);
}

26
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml

@ -39,7 +39,8 @@
linkNo as vin,
topSid
from bus_sales_order_vehicle
where salesOrderSid = #{saleOrderSid} and length(linkSid)>0
where salesOrderSid = #{saleOrderSid}
and length(linkSid) > 0
</select>
<select id="selectListBySid" resultType="java.lang.String">
@ -61,21 +62,36 @@
</select>
<select id="selectListBySids" resultType="com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinListsVo">
select sid,linkSid as vinSid,linkNo as vinNo from bus_sales_order_vehicle where salesOrderSid = #{sid}
select sid, linkSid as vinSid, linkNo as vinNo
from bus_sales_order_vehicle
where salesOrderSid = #{sid}
</select>
<update id="updateTemporaryNo">
update bus_sales_order_vehicle set temporaryNo = #{temporaryNo} where sid = #{sid}
update bus_sales_order_vehicle
set temporaryNo = #{temporaryNo}
where sid = #{sid}
</update>
<select id="selectByOrderSid" resultType="com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle">
select * from bus_sales_order_vehicle where salesOrderSid = #{salesOrderSid}
select *
from bus_sales_order_vehicle
where salesOrderSid = #{salesOrderSid}
</select>
<select id="selectByNoAndVinSid" resultType="com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle">
select bv.*
from bus_sales_order_vehicle bv
left join bus_sales_order bo on bo.sid = bv.salesOrderSid
where bo.contractNo = #{contractNo} and bv.linkSid = #{vinSid}
where bo.contractNo = #{contractNo}
and bv.linkSid = #{vinSid}
</select>
<select id="selectByNoAndVinSids"
resultType="com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle">
select bv.*
from bus_delivered bd
left join bus_sales_order_vehicle bv on bv.sid = bd.busVinSid
where bd.contractNo = #{contractNo} and bd.state = 1 and length(bv.linkSid)>0
</select>
</mapper>

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java

@ -226,4 +226,8 @@ public class BusSalesOrderVehicleService extends MybatisBaseService<BusSalesOrde
public BusSalesOrderVehicle selectByNoAndVinSid(String contractNo,String vinSid){
return baseMapper.selectByNoAndVinSid(contractNo,vinSid);
}
public List<BusSalesOrderVehicle> selectByNoAndVinSids(String contractNo) {
return baseMapper.selectByNoAndVinSids(contractNo);
}
}

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppBillApplicationPageQuery.java

@ -10,13 +10,9 @@ public class AppBillApplicationPageQuery implements Query {
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("组织全路径")
private String orgPath;
@ApiModelProperty("是否欠款开票")
private String isArrears; // 是否欠款开票
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationQuery.java

@ -51,6 +51,8 @@ public class FinBillApplicationQuery implements Query {
@ApiModelProperty("创建人sid")
private String createBySid; // 创建人sid
@ApiModelProperty("组织全路径")
private String orgPath; // 组织全路径
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty(value = "销售类型key")

1
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbilltrailer/FinBillTrailerDto.java

@ -69,5 +69,4 @@ public class FinBillTrailerDto implements Dto {
private String billAppSid; // 开票申请单sid
@ApiModelProperty("单台开票金额")
private String oneBillMoney; // 单台开票金额
}

12
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java

@ -151,6 +151,10 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<FinBillApplication> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getOrgPath())){
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(query.getOrgPath()).getData();
query.setUseOrgSid(useOrgSid);
}
qw.ne("fba.billStateKey", "003");
qw.eq("fba.useOrgSid", query.getUseOrgSid());
qw.eq("fba.createBySid", query.getCreateBySid());
@ -369,6 +373,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
}
FinBillApplication entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
entity.setArrearsMoney("0");
baseMapper.updateById(entity);
}
@ -401,7 +406,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
} else {
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) {
BaseVehicle baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(finBillVehicleVo.getVinNo(), entity.getUseOrgSid()).getData();
TraliveredVo data = baseTrailerFeign.trailerList(baseVehicle.getSid()).getData();
TraliveredVo data = baseTrailerFeign.trailerList(baseVehicle.getSid(),entity.getContractNo()).getData();
List<TrailerVo> trailerVoList = data.getList();
for (TrailerVo trailerVo : trailerVoList) {
FinBillTrailerVo finBillTrailerVo = new FinBillTrailerVo();
@ -1113,11 +1118,6 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
if (StringUtils.isNotBlank(useOrgSid)) {
qw.eq("fba.useOrgSid", useOrgSid);
}
if ("是".equals(pagerQuery.getParams().getIsArrears())) {
qw.eq("fba.billStateKey", "003");
} else {
qw.ne("fba.billStateKey", "003");
}
String name = pagerQuery.getParams().getName();
IPage<AppBillApplicationPageVo> iPage = baseMapper.getInvoicedApplyList(page, qw, name);
List<AppBillApplicationPageVo> records = iPage.getRecords();

2
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundDto.java

@ -163,8 +163,6 @@ public class ScmApplyInboundDto implements Dto {
private String orgSid;
@ApiModelProperty("销售指导价")
private String guidedPrice; // 销售指导价
@ApiModelProperty("价格")
private String price; // 价格
@ApiModelProperty("最新更新时间")
private String newUpdateDate; // 最新更新时间

6
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundVo.java

@ -162,10 +162,8 @@ public class ScmApplyInboundVo implements Vo {
private String configSid;
@ApiModelProperty("部门sid")
private String orgSid;
@ApiModelProperty("销售指导价")
private String guidedPrice; // 销售指导价
@ApiModelProperty("价格")
private String price; // 价格
@ApiModelProperty("全款/贷款销售指导价")
private String guidedPrice; // 全款/贷款销售指导价
@ApiModelProperty("最新更新时间")
private String newUpdateDate; // 最新更新时间
}

20
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java

@ -21,6 +21,8 @@ import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrand;
import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrandFeign;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelVo;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApplyDetailsVo;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApplyFeign;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetail;
@ -141,6 +143,8 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
private BasePurchaseSystemFeign basePurchaseSystemFeign;
@Autowired
private ScmApplyInboundQueryService scmApplyInboundQueryService;
@Autowired
private BaseVehmodelConfigFeign baseVehmodelConfigFeign;
public PagerVo<ScmApplyInbound> listPage(PagerQuery<ScmApplyInboundQuery> pq) {
ScmApplyInboundQuery query = pq.getParams();
@ -246,9 +250,6 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
}
return new ResultBean().success().setMsg("保存成功").setData(inboundVehicle.getSid());
} else { // 修改
if (StringUtils.isBlank(dto.getGuidedPrice())) {
return new ResultBean().fail().setMsg("请填写销售指导价");
}
if (StringUtils.isBlank(dto.getDepartureDate())) {
return new ResultBean().fail().setMsg("请填写厂家发车日期");
}
@ -326,6 +327,14 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
ScmApplyInboundVo vo = new ScmApplyInboundVo();
ScmApplyInbound scmApplyInbound = fetchBySid(sid);
BeanUtil.copyProperties(scmApplyInbound, vo);
String modelSid = scmApplyInbound.getModelSid();
String configSid = scmApplyInbound.getConfigSid();
String useOrgSid = scmApplyInbound.getUseOrgSid();
BaseVehmodelVo baseVehmodelVo = baseVehmodelConfigFeign.selectOne(modelSid, configSid, useOrgSid).getData();
String guidedPrice = baseVehmodelVo.getGuidedPrice();
String manufactorSettlementPrice = baseVehmodelVo.getManufactorSettlementPrice();
vo.setGuidedPrice(guidedPrice + "/" + manufactorSettlementPrice);
vo.setNewUpdateDate(DateUtil.formatDate(baseVehmodelVo.getModifyTime()));
List<ScmApplyInboundVehicleVo> list = scmApplyInboundVehicleService.selectListByAppSid(sid);
List<ScmFileVo> scmFileVos = scmFileService.fetchByMainSid(sid);
for (ScmFileVo scmFileVo : scmFileVos) {
@ -405,6 +414,11 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
public ResultBean submitRecordApplication(SubmitScmApplyInboundDto dto) {
String busSid = dto.getSid();
String num = dto.getNum();
String guidedPrice = dto.getGuidedPrice();
String[] split = guidedPrice.split("/");
if (split.length < 2){
return new ResultBean().fail().setMsg("车型与配置贷款或全款销售指导价未维护,不可提交");
}
List<ScmApplyInboundVehicleDto> vehicleList = dto.getVehicleList();
ScmApplyInbound scmApplyInbound1 = fetchBySid(busSid);
if (StringUtils.isBlank(busSid)) {

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoDto.java

@ -63,6 +63,8 @@ public class BillApplicationIInfoDto implements Dto {
private String orgPath;
@ApiModelProperty("流程实列id")
private String procInsId;
@ApiModelProperty("流程状态")
private String nodeState;
@ApiModelProperty("合同sid")
private String contractSid;
@ApiModelProperty("合同编号")

11
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoVo.java

@ -55,14 +55,10 @@ public class BillApplicationIInfoVo implements Vo {
private List<String> registerContractImages;
@ApiModelProperty("确认书")
private List<String> invoiceApplyConfirmImages;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("组织全路径")
private String orgPath;
@ApiModelProperty("流程实列id")
private String procInsId;
@ApiModelProperty("合同sid")
private String contractSid;
@ApiModelProperty("合同编号")
@ -71,4 +67,11 @@ public class BillApplicationIInfoVo implements Vo {
private String billNo; // 单据编号
@ApiModelProperty("是否可以编辑开票价")
private Boolean isCanEdit; // 是否可以编辑开票价
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("流程实列id")
private String procInsId;
@ApiModelProperty("流程状态")
private String nodeState;
}

6
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationPageQuery.java

@ -14,8 +14,6 @@ public class BillApplicationPageQuery implements Query {
private String userSid;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("分公司sid")
private String useOrgSid;
@ApiModelProperty("是否欠款开票")
private String isArrears;
@ApiModelProperty("组织全路径")
private String orgPath;
}

3
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationPageVo.java

@ -9,6 +9,9 @@ import lombok.Data;
public class BillApplicationPageVo implements Vo {
private static final long serialVersionUID = -6197889357871997515L;
@ApiModelProperty("sid")
private String sid;
@ApiModelProperty("合同sid")
@JsonProperty("contractSid")
private String contractSid;

5
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/FinBillTrailerDto.java

@ -31,6 +31,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Project: anrui-fin(开票挂车信息) <br/>
* File: FinBillTrailerDto.java <br/>
@ -68,5 +70,6 @@ public class FinBillTrailerDto implements Dto {
private String billAppSid; // 开票申请单sid
@ApiModelProperty("单台开票金额")
private String oneBillMoney; // 单台开票金额
@ApiModelProperty("合格证图片")
private List<String> files;
}

5
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/FinBillTrailerVo.java

@ -31,6 +31,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Project: anrui-fin(开票挂车信息) <br/>
* File: FinBillTrailerVo.java <br/>
@ -62,5 +64,6 @@ public class FinBillTrailerVo implements Vo {
private String billAppSid; // 开票申请单sid
@ApiModelProperty("单台开票金额")
private String oneBillMoney; // 单台开票金额
@ApiModelProperty("合格证图片")
private List<String> files;
}

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

@ -133,8 +133,13 @@ public interface AppBusDeliveredApplyFeign {
@ResponseBody
ResultBean<String> getFlowOperateTitle(@Valid @SpringQueryMap RetrievalQuery query);
@ApiOperation("主车的挂车信息")
@ApiOperation("主车的挂车信息/上装信息")
@GetMapping("/tralieredDetailsList")
@ResponseBody
ResultBean<DeliveredTralierVo> tralieredDetailsList(@RequestParam("vinSid") String vinSid);
ResultBean<DeliveredTralierVo> tralieredDetailsList(@RequestParam("vinSid") String vinSid,@RequestParam("contractNo")String contractNo);
@ApiOperation("待补充车辆")
@GetMapping("/appendRetrievalCars")
@ResponseBody
public ResultBean<List<CarListVo>> appendRetrievalCars(@SpringQueryMap DeliveredDetailssQuery query);
}

7
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/AppBusDeliveredApplyFeignFallback.java

@ -124,7 +124,12 @@ public class AppBusDeliveredApplyFeignFallback implements AppBusDeliveredApplyFe
}
@Override
public ResultBean<DeliveredTralierVo> tralieredDetailsList(String vinSid) {
public ResultBean<DeliveredTralierVo> tralieredDetailsList(String vinSid,String contractNo) {
return null;
}
@Override
public ResultBean<List<CarListVo>> appendRetrievalCars(DeliveredDetailssQuery query) {
return null;
}
}

22
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredDetailssQuery.java

@ -0,0 +1,22 @@
package com.yxt.anrui.terminal.api.autoservice.retrieval;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2023/4/18 11:50
* @Description
*/
@Data
public class DeliveredDetailssQuery {
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("当前申请页面已选车辆的sid:app需要排除")
private List<String> vinSelectsid = new ArrayList<>();
}

8
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredTralierVo.java

@ -3,6 +3,7 @@ package com.yxt.anrui.terminal.api.autoservice.retrieval;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
@ -15,6 +16,9 @@ public class DeliveredTralierVo {
@ApiModelProperty("车型信息")
private List<ConfigVo> modeInfo;
@ApiModelProperty("挂车列表信息")
private List<List<ConfigVo>> handCarInfo;
@ApiModelProperty("挂车/上装列表信息")
private List<List<ConfigVo>> handCarInfo = new ArrayList<>();
private List<String> titles = new ArrayList<>();
}

74
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java

@ -66,12 +66,36 @@ public class InvoicedService {
public ResultBean<PagerVo<BillApplicationPageVo>> getInvoicedApplyList(PagerQuery<BillApplicationPageQuery> pagerQuery) {
ResultBean<PagerVo<BillApplicationPageVo>> rb = ResultBean.fireFail();
PagerQuery<AppBillApplicationPageQuery> pq = CoverUtils.getPagerQuery(pagerQuery);
ResultBean<PagerVo<AppBillApplicationPageVo>> resultBean = finBillApplicationFeign.getInvoicedApplyList(pq);
List<BillApplicationPageVo> voList = Optional.ofNullable(resultBean.getData().getRecords()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), BillApplicationPageVo.class)).collect(Collectors.toList());
BillApplicationPageQuery params = pagerQuery.getParams();
FinBillApplicationQuery finBillApplicationQuery = new FinBillApplicationQuery();
finBillApplicationQuery.setCreateBySid(params.getUserSid());
finBillApplicationQuery.setCustomerName(params.getName());
finBillApplicationQuery.setOrgPath(params.getOrgPath());
PagerQuery<FinBillApplicationQuery> pcq = new PagerQuery<>();
pcq.setParams(finBillApplicationQuery);
ResultBean<PagerVo<FinBillApplicationVo>> resultBean = finBillApplicationFeign.listPage(pcq);
List<FinBillApplicationVo> records = resultBean.getData().getRecords();
List<BillApplicationPageVo> billApplicationPageVos = new ArrayList<>();
PagerVo<BillApplicationPageVo> v = new PagerVo<>();
BeanUtil.copyProperties(resultBean.getData(), v);
v.setRecords(voList);
for (FinBillApplicationVo record : records) {
BillApplicationPageVo billApplicationPageVo = new BillApplicationPageVo();
billApplicationPageVo.setSaleType(record.getSaleTypeValue());
billApplicationPageVo.setBillUnit(record.getOpenTickUnitName());
billApplicationPageVo.setCustomerName(record.getCustomerName());
billApplicationPageVo.setModel(record.getModelName());
billApplicationPageVo.setApplyName(record.getCreateByName());
billApplicationPageVo.setApplyDate(record.getApplyDate());
billApplicationPageVo.setNum(record.getNum().toString());
billApplicationPageVo.setContractNo(record.getContractNo());
billApplicationPageVo.setSid(record.getSid());
if (record.getNodeState().equals("待提交") || record.getNodeState().equals("发起申请")){
billApplicationPageVo.setShowUpData(true);
}else {
billApplicationPageVo.setShowUpData(false);
}
billApplicationPageVos.add(billApplicationPageVo);
}
v.setRecords(billApplicationPageVos);
return rb.success().setData(v);
}
@ -84,6 +108,21 @@ public class InvoicedService {
}
FinBillApplicationDetailsVo finBillApplicationDetailsVo = resultBean.getData();
BeanUtil.copyProperties(finBillApplicationDetailsVo, vo);
vo.setInvoiceTotal(finBillApplicationDetailsVo.getTotalBillMoney());
vo.setOrgPath(finBillApplicationDetailsVo.getOrgSidPath());
vo.setSaleType(finBillApplicationDetailsVo.getSaleTypeValue());
vo.setSellerDept(finBillApplicationDetailsVo.getSaleDeptName());
vo.setSellerName(finBillApplicationDetailsVo.getStaffName());
vo.setInvoicingUnit(finBillApplicationDetailsVo.getOpenTickUnitName());
vo.setName(finBillApplicationDetailsVo.getCustomerName());
vo.setInvoiceMoney(finBillApplicationDetailsVo.getOneBillMoney());
vo.setOpenTickTypeKey(finBillApplicationDetailsVo.getOpenTickTypeKey());
vo.setOpenTickTypeValue(finBillApplicationDetailsVo.getOpenTickTypeValue());
vo.setOpenTickName(finBillApplicationDetailsVo.getOpenTickName());
vo.setInvoiceStateKey(finBillApplicationDetailsVo.getBillStateKey());
vo.setInvoiceState(finBillApplicationDetailsVo.getBillStateValue());
vo.setContractId(finBillApplicationDetailsVo.getContractNo());
vo.setDate(finBillApplicationDetailsVo.getApplyDate());
vo.setUserSid(finBillApplicationDetailsVo.getCreateBySid());
vo.setPublishInfo(finBillApplicationDetailsVo.getDeptName() + "-" + finBillApplicationDetailsVo.getCreateByName());
//车辆信息
@ -108,6 +147,10 @@ public class InvoicedService {
for (com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerVo finBillTrailer : finBillTrailers) {
FinBillTrailerVo finBillTrailerVo = new FinBillTrailerVo();
BeanUtil.copyProperties(finBillTrailer,finBillTrailerVo);
String hgzImageUrl = finBillTrailer.getHgzImageUrl();
List<String> files = new ArrayList<>();
files.add(hgzImageUrl);
finBillTrailerVo.setFiles(files);
finBillTrailerVos.add(finBillTrailerVo);
}
}
@ -140,7 +183,6 @@ public class InvoicedService {
vo.setInvoiceMoney(busSalesOrderIsDTKPJVo.getOneBillMoney());
}else {
vo.setIsCanEdit(true);
vo.setInvoiceMoney(busSalesOrderIsDTKPJVo.getOneBillMoney());
}
return rb.success().setData(vo);
}
@ -148,7 +190,27 @@ public class InvoicedService {
public ResultBean saveInvoicedApplyInfo(BillApplicationIInfoDto dto) {
FinBillApplicationDto finBillApplicationDto = new FinBillApplicationDto();
BeanUtil.copyProperties(dto, finBillApplicationDto);
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData();
finBillApplicationDto.setUseOrgSid(useOrgSid);
finBillApplicationDto.setCreateBySid(dto.getUserSid());
finBillApplicationDto.setTotalBillMoney(dto.getInvoiceMoney());
finBillApplicationDto.setOrgSidPath(dto.getOrgPath());
finBillApplicationDto.setSaleTypeValue(dto.getSaleType());
finBillApplicationDto.setSaleDeptName(dto.getSellerName());
finBillApplicationDto.setStaffName(dto.getSellerName());
finBillApplicationDto.setOpenTickUnitName(dto.getOpenTickName());
finBillApplicationDto.setCustomerName(dto.getName());
finBillApplicationDto.setOneBillMoney(dto.getInvoiceMoney());
finBillApplicationDto.setOpenTickTypeKey(dto.getOpenTickTypeKey());
finBillApplicationDto.setOpenTickTypeValue(dto.getOpenTickTypeValue());
finBillApplicationDto.setOpenTickName(dto.getOpenTickName());
finBillApplicationDto.setBillStateKey(dto.getInvoiceStateKey());
finBillApplicationDto.setBillStateValue(dto.getInvoiceState());
finBillApplicationDto.setContractNo(dto.getContractId());
finBillApplicationDto.setApplyDate(dto.getDate());
finBillApplicationDto.setCreateBySid(dto.getUserSid());
finBillApplicationDto.setNodeState(dto.getNodeState());
finBillApplicationDto.setBillNo(dto.getBillNo());
String publishInfo = dto.getPublishInfo();
finBillApplicationDto.setDeptName(publishInfo.substring(0,publishInfo.lastIndexOf("-")));
finBillApplicationDto.setCreateByName(publishInfo.substring(publishInfo.lastIndexOf("-")));

9
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/retrieval/AppBusDeliveredApplyRest.java

@ -132,7 +132,12 @@ public class AppBusDeliveredApplyRest implements AppBusDeliveredApplyFeign {
}
@Override
public ResultBean<DeliveredTralierVo> tralieredDetailsList(String vinSid) {
return appBusDeliveredApplyService.tralieredDetailsList(vinSid);
public ResultBean<DeliveredTralierVo> tralieredDetailsList(String vinSid,String contractNo) {
return appBusDeliveredApplyService.tralieredDetailsList(vinSid,contractNo);
}
@Override
public ResultBean<List<CarListVo>> appendRetrievalCars(DeliveredDetailssQuery query) {
return appBusDeliveredApplyService.appendRetrievalCars(query);
}
}

310
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/retrieval/AppBusDeliveredApplyService.java

@ -30,8 +30,10 @@ import com.alibaba.fastjson.JSON;
import com.yxt.anrui.base.api.basetrailer.BaseTrailerFeign;
import com.yxt.anrui.base.api.basetrailer.TrailerVo;
import com.yxt.anrui.base.api.basetrailer.TraliveredVo;
import com.yxt.anrui.base.api.basevehinstallmodel.BaseVehinstallmodelDetailsVo;
import com.yxt.anrui.buscenter.api.busdelivered.*;
import com.yxt.anrui.buscenter.api.busdeliveredapply.*;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarListVo;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarVinListVo;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.BusDeliveredApplyDetailsFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
@ -266,149 +268,200 @@ public class AppBusDeliveredApplyService {
return rb.success().setData(data);
}
public ResultBean<DeliveredTralierVo> tralieredDetailsList(String vinSid) {
public ResultBean<DeliveredTralierVo> tralieredDetailsList(String vinSid, String contractNo) {
ResultBean<DeliveredTralierVo> rb = ResultBean.fireFail();
DeliveredTralierVo deliveredTralierVo = new DeliveredTralierVo();
ResultBean<TraliveredVo> resultBean = baseTrailerFeign.trailerList(vinSid);
ResultBean<TraliveredVo> resultBean = baseTrailerFeign.trailerList(vinSid, contractNo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
TraliveredVo traliveredVo = resultBean.getData();
//车型信息
List<ConfigVo> modelInfo = new ArrayList<>();
//挂车/上装列表的拼接list
List<List<ConfigVo>> handCarInfo = new ArrayList<>();
List<String> titles = new ArrayList<>();
String vinNo = traliveredVo.getVinNo();
modelInfo.add(getConfigValueSpanSize("主车车架号", vinNo, 2));
String modelName = traliveredVo.getModelName();
modelInfo.add(getConfigValueSpanSize("车型", modelName, 2));
deliveredTralierVo.setModeInfo(modelInfo);
List<TrailerVo> list = traliveredVo.getList();
for (int i = 0; i < list.size(); i++) {
TrailerVo trailerVo = list.get(i);
List<ConfigVo> configVoList = new ArrayList<>();
//挂车车架号
String trailerVinNo = trailerVo.getTrailerVinNo();
configVoList.add(getConfigValueSpanSize("车架号", trailerVinNo, 1));
//成交价
String dealPrice = trailerVo.getDealPrice();
configVoList.add(getConfigValueSpanSize("成交价", dealPrice, 1));
//车辆品牌
String brandName = trailerVo.getBrandName();
configVoList.add(getConfigValueSpanSize("车辆品牌", brandName, 1));
//车辆型号
String carModelName = trailerVo.getCarModelName();
configVoList.add(getConfigValueSpanSize("车辆型号", carModelName, 1));
//生产厂商名称
String manufacturerName = trailerVo.getManufacturerName();
configVoList.add(getConfigValueSpanSize("生产厂商名称", manufacturerName, 2));
//挂车类型
String trailerTypeValue = trailerVo.getTrailerTypeValue();
List<BaseVehinstallmodelDetailsVo> vehillModelList = traliveredVo.getVehillModelList();
if (!list.isEmpty()) {
for (int i = 0; i < list.size(); i++) {
String title = "挂车" + i + 1;
titles.add(title);
TrailerVo trailerVo = list.get(i);
List<ConfigVo> configVoList = new ArrayList<>();
//挂车车架号
String trailerVinNo = trailerVo.getTrailerVinNo();
configVoList.add(getConfigValueSpanSize("车架号", trailerVinNo, 1));
//成交价
String dealPrice = trailerVo.getDealPrice();
configVoList.add(getConfigValueSpanSize("成交价", dealPrice, 1));
//车辆品牌
String brandName = trailerVo.getBrandName();
configVoList.add(getConfigValueSpanSize("车辆品牌", brandName, 1));
//车辆型号
String carModelName = trailerVo.getCarModelName();
configVoList.add(getConfigValueSpanSize("车辆型号", carModelName, 1));
//生产厂商名称
String manufacturerName = trailerVo.getManufacturerName();
configVoList.add(getConfigValueSpanSize("生产厂商名称", manufacturerName, 2));
//挂车类型
String trailerTypeValue = trailerVo.getTrailerTypeValue();
configVoList.add(getConfigValueSpanSize("挂车类型", trailerTypeValue, 2));
//外观尺寸
String appearanceSizeAll = "";
String appearanceSizeLong = trailerVo.getAppearanceSizeLong();
if (StringUtils.isNotBlank(appearanceSizeLong)) {
appearanceSizeAll = appearanceSizeAll + "长 " + appearanceSizeLong + "mm,";
}else{
appearanceSizeAll = appearanceSizeAll + "长 mm,";
}
String appearanceSizeWide = trailerVo.getAppearanceSizeWide();
if (StringUtils.isNotBlank(appearanceSizeWide)) {
appearanceSizeAll = appearanceSizeAll + "宽 " + appearanceSizeWide + "mm,";
}else{
appearanceSizeAll = appearanceSizeAll + "宽 mm,";
}
//高
String appearanceSizeHigh = trailerVo.getAppearanceSizeHigh();
if (StringUtils.isNotBlank(appearanceSizeHigh)) {
appearanceSizeAll = appearanceSizeAll + "高 " + appearanceSizeHigh + "mm,";
}else{
appearanceSizeAll = appearanceSizeAll + "高 mm,";
}
//总高
String appearanceSizeTotalHigh = trailerVo.getAppearanceSizeTotalHigh();
if (StringUtils.isNotBlank(appearanceSizeTotalHigh)) {
appearanceSizeAll = appearanceSizeAll + "总高" + appearanceSizeTotalHigh+"mm";
}else{
appearanceSizeAll = appearanceSizeAll + "总高 mm";
}
//外观尺寸
configVoList.add(getConfigValueSpanSize("外观尺寸", appearanceSizeAll, 2));
//内部尺寸
String insideSizeAll = "";
String insideSizeLong = trailerVo.getInsideSizeLong();
if (StringUtils.isNotBlank(insideSizeLong)) {
insideSizeAll = insideSizeAll + "长 " + insideSizeLong + "mm,";
} else {
insideSizeAll = insideSizeAll + "长 mm,";
}
String insideSizeWide = trailerVo.getInsideSizeWide();
if (StringUtils.isNotBlank(insideSizeWide)) {
insideSizeAll = insideSizeAll + "宽 " + insideSizeWide + "mm,";
} else {
insideSizeAll = insideSizeAll + "宽 mm,";
}
String insideSizeHigh = trailerVo.getInsideSizeHigh();
if (StringUtils.isNotBlank(insideSizeHigh)) {
insideSizeAll = insideSizeAll + "高 " + insideSizeHigh + "mm";
} else {
insideSizeAll = insideSizeAll + "高 mm";
}
configVoList.add(getConfigValueSpanSize("内部尺寸", insideSizeAll, 2));
String saddleLeaveLandHigh = trailerVo.getSaddleLeaveLandHigh();
configVoList.add(getConfigValueSpanSize("鞍座离地高度", saddleLeaveLandHigh, 2));
//大梁尺寸
String girderSizeAll = "";
String girderSizeHigh = trailerVo.getGirderSizeHigh();
if (StringUtils.isNotBlank(girderSizeHigh)) {
girderSizeAll = girderSizeAll + "高度 " + girderSizeHigh + "mm,";
}else{
girderSizeAll = girderSizeAll + "高度 mm,";
}
String girderSizeWide = trailerVo.getGirderSizeWide();
if (StringUtils.isNotBlank(girderSizeWide)) {
girderSizeAll = girderSizeAll + "宽度 " + girderSizeWide + "mm,";
}else{
girderSizeAll = girderSizeAll + "宽度 mm,";
}
String girderSizeStandPlate = trailerVo.getGirderSizeStandPlate();
if (StringUtils.isNotBlank(girderSizeStandPlate)) {
girderSizeAll = girderSizeAll + "立板 " + girderSizeStandPlate + "mm";
}else{
girderSizeAll = girderSizeAll + "立板 mm";
configVoList.add(getConfigValueSpanSize("挂车类型", trailerTypeValue, 2));
//外观尺寸
String appearanceSizeAll = "";
String appearanceSizeLong = trailerVo.getAppearanceSizeLong();
if (StringUtils.isNotBlank(appearanceSizeLong)) {
appearanceSizeAll = appearanceSizeAll + "长 " + appearanceSizeLong + "mm,";
} else {
appearanceSizeAll = appearanceSizeAll + "长 mm,";
}
String appearanceSizeWide = trailerVo.getAppearanceSizeWide();
if (StringUtils.isNotBlank(appearanceSizeWide)) {
appearanceSizeAll = appearanceSizeAll + "宽 " + appearanceSizeWide + "mm,";
} else {
appearanceSizeAll = appearanceSizeAll + "宽 mm,";
}
//高
String appearanceSizeHigh = trailerVo.getAppearanceSizeHigh();
if (StringUtils.isNotBlank(appearanceSizeHigh)) {
appearanceSizeAll = appearanceSizeAll + "高 " + appearanceSizeHigh + "mm,";
} else {
appearanceSizeAll = appearanceSizeAll + "高 mm,";
}
//总高
String appearanceSizeTotalHigh = trailerVo.getAppearanceSizeTotalHigh();
if (StringUtils.isNotBlank(appearanceSizeTotalHigh)) {
appearanceSizeAll = appearanceSizeAll + "总高" + appearanceSizeTotalHigh + "mm";
} else {
appearanceSizeAll = appearanceSizeAll + "总高 mm";
}
//外观尺寸
configVoList.add(getConfigValueSpanSize("外观尺寸", appearanceSizeAll, 2));
//内部尺寸
String insideSizeAll = "";
String insideSizeLong = trailerVo.getInsideSizeLong();
if (StringUtils.isNotBlank(insideSizeLong)) {
insideSizeAll = insideSizeAll + "长 " + insideSizeLong + "mm,";
} else {
insideSizeAll = insideSizeAll + "长 mm,";
}
String insideSizeWide = trailerVo.getInsideSizeWide();
if (StringUtils.isNotBlank(insideSizeWide)) {
insideSizeAll = insideSizeAll + "宽 " + insideSizeWide + "mm,";
} else {
insideSizeAll = insideSizeAll + "宽 mm,";
}
String insideSizeHigh = trailerVo.getInsideSizeHigh();
if (StringUtils.isNotBlank(insideSizeHigh)) {
insideSizeAll = insideSizeAll + "高 " + insideSizeHigh + "mm";
} else {
insideSizeAll = insideSizeAll + "高 mm";
}
configVoList.add(getConfigValueSpanSize("内部尺寸", insideSizeAll, 2));
String saddleLeaveLandHigh = trailerVo.getSaddleLeaveLandHigh();
configVoList.add(getConfigValueSpanSize("鞍座离地高度", saddleLeaveLandHigh, 2));
//大梁尺寸
String girderSizeAll = "";
String girderSizeHigh = trailerVo.getGirderSizeHigh();
if (StringUtils.isNotBlank(girderSizeHigh)) {
girderSizeAll = girderSizeAll + "高度 " + girderSizeHigh + "mm,";
} else {
girderSizeAll = girderSizeAll + "高度 mm,";
}
String girderSizeWide = trailerVo.getGirderSizeWide();
if (StringUtils.isNotBlank(girderSizeWide)) {
girderSizeAll = girderSizeAll + "宽度 " + girderSizeWide + "mm,";
} else {
girderSizeAll = girderSizeAll + "宽度 mm,";
}
String girderSizeStandPlate = trailerVo.getGirderSizeStandPlate();
if (StringUtils.isNotBlank(girderSizeStandPlate)) {
girderSizeAll = girderSizeAll + "立板 " + girderSizeStandPlate + "mm";
} else {
girderSizeAll = girderSizeAll + "立板 mm";
}
configVoList.add(getConfigValueSpanSize("大梁尺寸", girderSizeAll, 2));
//牵引销
String towPin = trailerVo.getTowPin();
configVoList.add(getConfigValueSpanSize("牵引销(底盘)", towPin, 2));
//板簧
String plateSpring = trailerVo.getPlateSpring();
configVoList.add(getConfigValueSpanSize("板簧(底盘)", plateSpring, 2));
//车桥
String axle = trailerVo.getAxle();
configVoList.add(getConfigValueSpanSize("车桥(底盘)", axle, 2));
//轮胎及钢圈
String tyreAndSteelCircle = trailerVo.getTyreAndSteelCircle();
configVoList.add(getConfigValueSpanSize("轮胎及钢圈(底盘)", tyreAndSteelCircle, 2));
//底板
String floorSize = trailerVo.getFloorSize();
if (StringUtils.isNotBlank(floorSize)) {
configVoList.add(getConfigValueSpanSize("底板(底盘)", floorSize + "mm", 2));
} else {
configVoList.add(getConfigValueSpanSize("底板(底盘)", " mm", 2));
}
//门扇要求
String doorFanRequirement = trailerVo.getDoorFanRequirement();
configVoList.add(getConfigValueSpanSize("门扇要求", doorFanRequirement, 1));
//箱体颜色
String boxColor = trailerVo.getBoxColor();
configVoList.add(getConfigValueSpanSize("箱体颜色", boxColor, 1));
//更多配置
String moreConfig = trailerVo.getMoreConfig();
configVoList.add(getConfigValueSpanSize("更多配置", moreConfig, 2));
handCarInfo.add(configVoList);
}
configVoList.add(getConfigValueSpanSize("大梁尺寸", girderSizeAll, 2));
//牵引销
String towPin = trailerVo.getTowPin();
configVoList.add(getConfigValueSpanSize("牵引销(底盘)", towPin, 2));
//板簧
String plateSpring = trailerVo.getPlateSpring();
configVoList.add(getConfigValueSpanSize("板簧(底盘)", plateSpring, 2));
//车桥
String axle = trailerVo.getAxle();
configVoList.add(getConfigValueSpanSize("车桥(底盘)", axle, 2));
//轮胎及钢圈
String tyreAndSteelCircle = trailerVo.getTyreAndSteelCircle();
configVoList.add(getConfigValueSpanSize("轮胎及钢圈(底盘)", tyreAndSteelCircle, 2));
//底板
String floorSize = trailerVo.getFloorSize();
if(StringUtils.isNotBlank(floorSize)){
configVoList.add(getConfigValueSpanSize("底板(底盘)", floorSize + "mm", 2));
}else{
configVoList.add(getConfigValueSpanSize("底板(底盘)", " mm", 2));
}
if (!vehillModelList.isEmpty()) {
for (int i = 0; i < vehillModelList.size(); i++) {
String title = "上装" + i + 1;
titles.add(title);
BaseVehinstallmodelDetailsVo baseVehinstallmodelDetailsVo = vehillModelList.get(i);
List<ConfigVo> configVoList = new ArrayList<>();
//成交价2个格
String topPrice = baseVehinstallmodelDetailsVo.getTopPrice();
configVoList.add(getConfigValueSpanSize("成交价", topPrice, 2));
//车辆功能
String vehicleTypeValue = baseVehinstallmodelDetailsVo.getVehicleTypeValue();
configVoList.add(getConfigValueSpanSize("车辆功能", vehicleTypeValue, 1));
//上装名称
String installNameValue = baseVehinstallmodelDetailsVo.getInstallNameValue();
configVoList.add(getConfigValueSpanSize("上装名称", installNameValue, 1));
//委改方式
String refitMethodValue = baseVehinstallmodelDetailsVo.getRefitMethodValue();
configVoList.add(getConfigValueSpanSize("委改方式", refitMethodValue, 1));
//委改厂
configVoList.add(getConfigValueSpanSize("委改厂", baseVehinstallmodelDetailsVo.getRefitFactory(), 1));
//外廓尺寸
configVoList.add(getConfigValueSpanSize("外廓尺寸", baseVehinstallmodelDetailsVo.getWk_long() + "*" + baseVehinstallmodelDetailsVo.getWk_wide() + "*" + baseVehinstallmodelDetailsVo.getWk_high(), 1));
//颜色
configVoList.add(getConfigValueSpanSize("颜色", baseVehinstallmodelDetailsVo.getColorValue(), 1));
//板材材质
configVoList.add(getConfigValueSpanSize("板材材质", baseVehinstallmodelDetailsVo.getPlateMaterialValue(), 1));
//板材厚度
configVoList.add(getConfigValueSpanSize("板材厚度", baseVehinstallmodelDetailsVo.getPlateThicknessBottom() + "*" + baseVehinstallmodelDetailsVo.getPlateThicknessEdge(), 1));
//篷布滑道
configVoList.add(getConfigValueSpanSize("篷布滑道", baseVehinstallmodelDetailsVo.getTarpaulinSlide(), 1));
//冷藏冷机
configVoList.add(getConfigValueSpanSize("冷藏冷机", baseVehinstallmodelDetailsVo.getRefrigerator(), 1));
//自卸液压盖版
configVoList.add(getConfigValueSpanSize("自卸液压盖版", baseVehinstallmodelDetailsVo.getSelfUnHyCoPl(), 1));
//底板加热
configVoList.add(getConfigValueSpanSize("底板加热", baseVehinstallmodelDetailsVo.getFloorHeating(), 1));
//更多配置2个格
configVoList.add(getConfigValueSpanSize("更多配置", baseVehinstallmodelDetailsVo.getMoreConfig(), 2));
handCarInfo.add(configVoList);
}
//门扇要求
String doorFanRequirement = trailerVo.getDoorFanRequirement();
configVoList.add(getConfigValueSpanSize("门扇要求", doorFanRequirement, 1));
//箱体颜色
String boxColor = trailerVo.getBoxColor();
configVoList.add(getConfigValueSpanSize("箱体颜色", boxColor, 1));
//更多配置
String moreConfig = trailerVo.getMoreConfig();
configVoList.add(getConfigValueSpanSize("更多配置", moreConfig, 2));
handCarInfo.add(configVoList);
}
deliveredTralierVo.setHandCarInfo(handCarInfo);
return rb.success().setData(deliveredTralierVo);
}
@ -424,4 +477,13 @@ public class AppBusDeliveredApplyService {
}
return configInfoSpanSize;
}
public ResultBean<List<CarListVo>> appendRetrievalCars(DeliveredDetailssQuery query) {
ResultBean<List<CarListVo>> rb = ResultBean.fireFail();
DeliverDetailsQuery deliverDetailsQuery = new DeliverDetailsQuery();
BeanUtil.copyProperties(query, deliverDetailsQuery);
ResultBean<List<AppCarListVo>> selectInfo = busDeliveredFeign.selectInfo(deliverDetailsQuery);
List<CarListVo> voList = Optional.ofNullable(selectInfo.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), CarListVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
}
Loading…
Cancel
Save