Browse Source

Merge remote-tracking branch 'origin/master'

master
God 3 years ago
parent
commit
7631b6023c
  1. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java
  2. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java
  3. 49
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleReturnQuery.java
  4. 30
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleReturnVo.java
  5. 37
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/AdvanceInvoiceListVo.java
  6. 9
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java
  7. 12
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java
  8. 42
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/ContractTemplateEnum.java
  9. 44
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/PrintConfirmDto.java
  10. 23
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/PrintConfirmVo.java
  11. 32
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/PrintItemVo.java
  12. 29
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/VehicleRegistrationListVo.java
  13. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basediscountpackage/BaseDiscountpackageService.java
  14. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelszconfig/BaseModelSzconfigMapper.xml
  15. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerMapper.xml
  16. 9
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java
  17. 52
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  18. 13
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java
  19. 86
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  20. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java
  21. 10
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java
  22. 302
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java
  23. 4
      anrui-base/anrui-base-biz/src/main/resources/application.yml
  24. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busorder/BusOrderVo.java
  25. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busordervehicle/BusOrderVehicleFeign.java
  26. 6
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busordervehicle/BusOrderVehicleFeignFallback.java
  27. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busadvanceginvoiceapply/BusAdvanceGinvoiceapplyService.java
  28. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java
  29. 15
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeposit/BusDepositService.java
  30. 12
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java
  31. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busorder/BusOrderService.java
  32. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busorderdiscount/BusOrderDiscountService.java
  33. 3
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busordervehicle/BusOrderVehicleMapper.java
  34. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busordervehicle/BusOrderVehicleRest.java
  35. 9
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busordervehicle/BusOrderVehicleService.java
  36. 24
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeign.java
  37. 5
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeignFallBack.java
  38. 5
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  39. 17
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlController.java
  40. 10
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlMapper.java
  41. 88
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlMapper.xml
  42. 44
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlService.java
  43. 3
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinboundvehicle/ScmApplyInboundVehicleVo.java
  44. 28
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturndetails/ScmVehicleReturnDetailsFeign.java
  45. 12
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturndetails/ScmVehicleReturnDetailsFeignFallback.java
  46. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundRest.java
  47. 6
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java
  48. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsMapper.java
  49. 6
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsMapper.xml
  50. 29
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsRest.java
  51. 7
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsService.java

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java

@ -177,6 +177,10 @@ public interface BaseVehicleFeign {
@PostMapping("/selExistingCarPageList")
public ResultBean<PagerVo<BaseExistingCarListPageVo>> selExistingCarPageList(@RequestBody PagerQuery<BaseExistingCarPageQuery> pagerQuery);
@ApiOperation("采购退库选择车辆分页列表")
@PostMapping("/vehicleReturnList")
ResultBean<PagerVo<BaseVehicleReturnVo>> vehicleReturnList(@RequestBody PagerQuery<BaseVehicleReturnQuery> pagerQuery);
/***************************************************** App接口 **********************************************************/
@ApiOperation("手机端现车分页列表")

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java

@ -99,6 +99,11 @@ public class BaseVehicleFeignFallback implements BaseVehicleFeign {
return null;
}
@Override
public ResultBean<PagerVo<BaseVehicleReturnVo>> vehicleReturnList(PagerQuery<BaseVehicleReturnQuery> pagerQuery) {
return null;
}
@Override
public ResultBean<PagerVo<AppCurrentCarModelByPageListVo>> getAppCurrentCarByPageList(PagerQuery<AppCurrentCarByPageListQuery> pagerQuery) {
return null;

49
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleReturnQuery.java

@ -0,0 +1,49 @@
package com.yxt.anrui.base.api.basevehicle;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/4/12 11:30
* @Description
*/
@Data
public class BaseVehicleReturnQuery implements Query {
private static final long serialVersionUID = 10773711417444473L;
@ApiModelProperty(value = "品牌")
private String brandSid;
@ApiModelProperty(value = "功能")
private String vehicleType;
@ApiModelProperty(value = "系列")
private String productLine;
@ApiModelProperty(value = "变速箱")
private String gearboxType;
@ApiModelProperty(value = "驱动")
private String driveForm;
@ApiModelProperty(value = "排放标准")
private String emissionStandard;
@ApiModelProperty(value = "马力")
private String power;
@ApiModelProperty(value = "燃料")
private String fuelType;
@ApiModelProperty(value = "版本")
private String vehicleVersion;
@ApiModelProperty(value = "车型")
private String vehicleAlias;
@ApiModelProperty(value = "快捷检索车型")
private String modelName;
// @ApiModelProperty(value = "采购退库主表sid")
// private String vehicleOutSid;
@ApiModelProperty(value = "已选择的车辆的车架号")
private List<String> vinNoList = new ArrayList<>();
}

30
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleReturnVo.java

@ -0,0 +1,30 @@
package com.yxt.anrui.base.api.basevehicle;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/4/12 11:26
* @Description 采购退库选择车辆数据对象
*/
@Data
public class BaseVehicleReturnVo implements Vo {
private static final long serialVersionUID = -4203703835044248565L;
private String sid;
@ApiModelProperty(value = "品牌")
private String brandName;
@ApiModelProperty(value = "车型")
private String modelName;
@ApiModelProperty(value = "车架号")
private String vinNo;
@ApiModelProperty(value = "颜色")
private String color;
@ApiModelProperty(value = "存放地点")
private String location;
@ApiModelProperty(value = "销售指导价")
private String guidedPrice;
}

37
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/AdvanceInvoiceListVo.java

@ -0,0 +1,37 @@
package com.yxt.anrui.base.api.commoncontract;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liuguohui
* @version 1.0
* @description
* @date 2022/04/08
*/
@ApiModel("提前开票列表")
@Data
public class AdvanceInvoiceListVo implements Vo {
@ApiModelProperty("车架号")
@JsonProperty("VINNo")
private String VINNo;
@ApiModelProperty("发票类型")
private String invoiceType;
@ApiModelProperty("开票金额")
private String invoiceMoney;
@ApiModelProperty("开票名称")
private String invoiceName;
@ApiModelProperty("品牌")
private String brandName;
@ApiModelProperty("发动机号")
private String engineNo;
}

9
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java

@ -12,6 +12,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.validation.Valid;
import java.io.IOException;
import java.text.ParseException;
import java.util.List;
import java.util.Map;
/**
@ -128,6 +129,14 @@ public interface CommonContractFeign {
@ApiOperation(value = "导入")
public ResultBean getExcelInfo(@RequestParam(value = "fileName") String fileName, @RequestParam(value = "file") MultipartFile file) throws IOException, ParseException;
@ApiOperation(value = "打印项设置")
@GetMapping("/printItemSet")
public ResultBean<PrintItemVo> printItemSet(@RequestParam("busSid") String busSid, @RequestParam("customerName") String customerName);
@ApiOperation(value = "打印项确认(生成word后转为pdf)")
@PostMapping("/printConfirm")
public ResultBean<List<PrintConfirmVo>> printConfirm(@RequestBody PrintConfirmDto dto);
/******************************************************新车买卖合同审核(流程)******************************************************/

12
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java

@ -134,6 +134,18 @@ public class CommonContractFeignFallback implements CommonContractFeign {
return null;
}
@Override
public ResultBean printItemSet(String busSid, String customerName) {
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-base/commoncontract/printItemSet无法访问");
}
@Override
public ResultBean printConfirm(PrintConfirmDto dto) {
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-base/commoncontract/printConfirm无法访问");
}
@Override
public ResultBean submitCarSaleContractApprove(CarSaleContractApproveDto dto) {
ResultBean rb = ResultBean.fireFail();

42
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/ContractTemplateEnum.java

@ -0,0 +1,42 @@
package com.yxt.anrui.base.api.commoncontract;
/**
* @author liuguohui
* @version 1.0
* @Description: 合同类型模板枚举类
* @date 2022/04/07
*/
public enum ContractTemplateEnum {
CARSALECONTRACTNEW("car_sale_contract_new", "新车买卖合同(现车)"),
CARSALECONTRACTNEWBLANK("car_sale_contract_new_blank", "新车买卖合同(现车)(空)"), // 空白
CARSALECONTRACTBOOK("car_sale_contract_book", "新车买卖合同(订车)"),
CARSALECONTRACTBOOKBLANK("car_sale_contract_book_blank", "新车买卖合同(订车)(空)"), // 空白
CUSTOMERINVOICINGAPPLICATION("customer_invoicing_application", "客户开票申请书"),
VEHICLEREGISTRATION("vehicle_registration", "车辆登记合同"),
ENTRUSTPICKUPAUTHORIZATION("entrust_pickup_authorization", "委托提车授权书"),
;
/**
* 模板类型
*/
private final String type;
/**
* 模板名称
*/
private final String name;
ContractTemplateEnum(String type, String name) {
this.type = type;
this.name = name;
}
public String getType() {
return type;
}
public String getName() {
return name;
}
}

44
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/PrintConfirmDto.java

@ -0,0 +1,44 @@
package com.yxt.anrui.base.api.commoncontract;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liuguohui
* @version 1.0
* @description
* @date 2022/04/07
*/
@ApiModel("打印项确认")
@Data
public class PrintConfirmDto implements Dto {
@ApiModelProperty("合同sid")
private String sid;
@ApiModelProperty("业务表sid")
private String busSid;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("是否优惠:1是0否")
private int isDiscount;
@ApiModelProperty("是否提前开票:1是0否")
private int isAdvanceInvoice;
@ApiModelProperty("是否委托提车:1是0否")
private int isEntrustVehicle;
@ApiModelProperty("是否在保险公司购买保险:1是0否")
private int isPurchasingInsurance;
}

23
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/PrintConfirmVo.java

@ -0,0 +1,23 @@
package com.yxt.anrui.base.api.commoncontract;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.Data;
/**
* @author liuguohui
* @version 1.0
* @description
* @date 2022/04/09
*/
@ApiOperation("文件名称")
@Data
public class PrintConfirmVo implements Vo {
@ApiModelProperty("文件名称")
private String name;
@ApiModelProperty("下载路径")
private String downloadUrl;
}

32
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/PrintItemVo.java

@ -0,0 +1,32 @@
package com.yxt.anrui.base.api.commoncontract;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liuguohui
* @version 1.0
* @description
* @date 2022/04/06
*/
@ApiModel("打印项设置")
@Data
public class PrintItemVo implements Vo {
@ApiModelProperty("合同sid")
private String sid;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("业务表sid")
private String busSid;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("客户名称")
private String customerName;
}

29
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/VehicleRegistrationListVo.java

@ -0,0 +1,29 @@
package com.yxt.anrui.base.api.commoncontract;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liuguohui
* @version 1.0
* @description
* @date 2022/04/08
*/
@ApiModel("合同车辆信息列表")
@Data
public class VehicleRegistrationListVo implements Vo {
@ApiModelProperty("车架号")
@JsonProperty("VINNo")
private String VINNo;
@ApiModelProperty("品牌")
private String brandName;
@ApiModelProperty("发动机号")
@JsonProperty("engineNo")
private String engineNo;
}

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basediscountpackage/BaseDiscountpackageService.java

@ -8,7 +8,7 @@ import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkDto;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFlowStateEnum;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkTypeEnum;
import com.yxt.anrui.flowable.api.utils.procDefEnum;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.common.core.result.ResultBean;
@ -201,7 +201,7 @@ public class BaseDiscountpackageService extends MybatisBaseService<BaseDiscountp
variables.put("businessSid", businessSid);
variables.put("isLoan", true);
variables.put("orgSid", orgSid);//部门sid
ResultBean resultBean = flowableService.businessStart(procDefEnum.SALESPOLICY.getProDefId(), dto.getUserSid(), variables);
ResultBean resultBean = flowableService.businessStart(ProcDefEnum.SALESPOLICY.getProDefId(), dto.getUserSid(), variables);
if (resultBean.getSuccess() && resultBean.getData() != null) {
Map<String, String> map = (Map<String, String>) resultBean.getData();
saveSysFormLink(map);

1
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelszconfig/BaseModelSzconfigMapper.xml

@ -9,7 +9,6 @@
SELECT bms.refitMethod,
bms.refitFactory,
bms.topName,
bms.refitPrice,
bms.announcementModel,
bms.overallDimension,
bms.plateMaterial,

1
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerMapper.xml

@ -44,7 +44,6 @@
bt.carBrand,
bt.settlement,
bt.vinNo,
bt.trailerPrince,
bt.otherConfig
FROM base_trailer bt
WHERE bt.modelSid = #{modelSid}

9
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java

@ -249,4 +249,13 @@ public interface BaseVehicleMapper extends BaseMapper<BaseVehicle> {
* @return
*/
IPage<AppBaseVehicleNowModelVo> getNowModelList(IPage<AppBaseVehicleNowModelQuery> page, @Param(Constants.WRAPPER) QueryWrapper<AppBaseVehicleNowModelVo> qw);
/**
* 分页列表
*
* @param page 分页
* @param qw 查询条件
* @return
*/
IPage<BaseVehicleReturnVo> vehicleReturnPageList(IPage<BaseVehicleReturnVo> page, @Param(Constants.WRAPPER) QueryWrapper<BaseVehicle> qw);
}

52
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml

@ -255,15 +255,13 @@
<select id="getAppCurrentCarByPageList"
resultType="com.yxt.anrui.base.api.basevehicle.AppCurrentCarModelByPageListVo">
SELECT
bvm.sid AS modelSid,
SELECT bvm.sid AS modelSid,
bvm.vehicleAlias,
bvm.brandName,
bvm.vehicleVersionValue,
bvm.fuelTypeValue,
bvm.gearboxTypeValue
FROM
base_vehicle bv
FROM base_vehicle bv
LEFT JOIN base_vehicle_model bvm ON bv.modelSid = bvm.sid
<where>
${ew.sqlSegment}
@ -355,8 +353,7 @@
</select>
<select id="exiCarPagerList" resultType="com.yxt.anrui.base.api.basevehicle.BaseVehicleListVo">
SELECT
bv.sid,
SELECT bv.sid,
<!--车辆状态-->
bv.vehicleStateValue,
<!--品牌名称-->
@ -425,8 +422,7 @@
AND bvc.useOrg = #{useOrg}
</select>
<select id="getBusDepositVehByVehSid" resultType="com.yxt.anrui.base.api.basevehicle.BusDepositVehListVo">
SELECT
bv.sid,
SELECT bv.sid,
<!--车辆状态-->
bv.vehicleStateValue,
<!--品牌名称-->
@ -462,8 +458,7 @@
<select id="selExistingCarPageList"
resultType="com.yxt.anrui.base.api.basevehicle.BaseExistingCarListPageVo">
SELECT
bv.sid,
SELECT bv.sid,
<!--车辆状态-->
bv.vehicleStateValue,
<!--品牌名称-->
@ -489,8 +484,7 @@
</select>
<select id="getModelList" resultType="com.yxt.anrui.base.api.basevehicle.AppVehicleModelPriceVo">
SELECT
bvm.sid AS modelSid,
SELECT bvm.sid AS modelSid,
bvm.vehicleAlias AS modelName,
bvm.carBrand AS brandSid,
bvm.brandName,
@ -498,17 +492,17 @@
bvm.fuelTypeValue,
bvm.gearboxTypeValue,
bvc.priceValidity,
( SELECT count( * ) FROM base_vehmodel_config WHERE bvc.modelSid = bvm.sid ) AS configNum,
( SELECT count( * ) FROM base_vehicle bv WHERE bv.modelSid = bvm.sid AND lockedState = '0004' ) AS nowCarNum,
( SELECT count( * ) FROM bus_vehicle_apply_detail bvad WHERE bvad.vehicleSid = bvm.sid ) AS produceCarNum
FROM
base_vehicle_model bvm
(SELECT count(*) FROM base_vehmodel_config WHERE bvc.modelSid = bvm.sid) AS configNum,
(SELECT count(*) FROM base_vehicle bv WHERE bv.modelSid = bvm.sid AND lockedState = '0004') AS nowCarNum,
(SELECT count(*)
FROM bus_vehicle_apply_detail bvad
WHERE bvad.vehicleSid = bvm.sid) AS produceCarNum
FROM base_vehicle_model bvm
LEFT JOIN base_vehmodel_config bvc ON bvm.sid = bvc.modelSid
<where>
${ew.sqlSegment}
</where>
ORDER BY
nowCarNum DESC
ORDER BY nowCarNum DESC
</select>
<select id="getCompanyModelList" resultType="com.yxt.anrui.base.api.basevehicle.AppMoreConfigVo">
@ -563,4 +557,24 @@
LEFT JOIN base_vehicle_model bvm ON bv.modelSid = bvm.sid
${ew.customSqlSegment}
</select>
<select id="vehicleReturnPageList" resultType="com.yxt.anrui.base.api.basevehicle.BaseVehicleReturnVo">
SELECT bv.sid,
<!--品牌名称-->
bvm.brandName,
<!--车型名称-->
bvm.vehicleAlias,
<!--车架号-->
bv.vinNo,
<!--颜色-->
bmc.carColor,
<!--存放地点-->
bv.location,
<!--销售指导价-->
bv.guidedPrice
FROM base_vehicle bv
LEFT JOIN base_vehicle_model bvm ON bv.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bv.modelConfigSid = bmc.`sid`
${ew.customSqlSegment}
</select>
</mapper>

13
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java

@ -290,6 +290,19 @@ public class BaseVehicleRest implements BaseVehicleFeign {
return rb.success().setData(pv1);
}
/**
* 采购退库选择车辆分页列表
*
* @param pagerQuery 查询条件
* @return
*/
@Override
public ResultBean<PagerVo<BaseVehicleReturnVo>> vehicleReturnList(PagerQuery<BaseVehicleReturnQuery> pagerQuery) {
ResultBean<PagerVo<BaseVehicleReturnVo>> rb = ResultBean.fireFail();
PagerVo<BaseVehicleReturnVo> pv = baseVehicleService.vehicleReturnList(pagerQuery);
return rb.success().setData(pv);
}
/**
* 手机端现车列表
*

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

@ -2,11 +2,9 @@ package com.yxt.anrui.base.biz.basevehicle;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo;
import com.yxt.anrui.base.api.basemodelconfig.AppModelConfigDetailsVo;
import com.yxt.anrui.base.api.basemodelconfig.AppModelConfigListVo;
import com.yxt.anrui.base.api.basemodelszconfig.BaseModelSzconfigVo;
import com.yxt.anrui.base.api.basevehicle.*;
import com.yxt.anrui.base.biz.basemodelconfig.BaseModelConfigService;
import com.yxt.anrui.base.biz.basemodelszconfig.BaseModelSzconfigService;
@ -16,6 +14,7 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganization;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetailsFeign;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -68,6 +67,9 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private ScmVehicleReturnDetailsFeign scmVehicleReturnDetailsFeign;
/**
* 车辆信息分页列表
*
@ -885,5 +887,85 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
return vo;
}
/**
* 采购退库选择车辆分页列表
*
* @param pagerQuery 查询条件
* @return
*/
public PagerVo<BaseVehicleReturnVo> vehicleReturnList(PagerQuery<BaseVehicleReturnQuery> pagerQuery) {
IPage<BaseVehicleReturnVo> page = vehicleReturnPageList(pagerQuery);
PagerVo<BaseVehicleReturnVo> pv = new PagerVo<>();
PagerVo<BaseVehicleReturnVo> pv1 = PagerUtil.pageToVo(page, pv);
return pv1;
}
private IPage<BaseVehicleReturnVo> vehicleReturnPageList(PagerQuery<BaseVehicleReturnQuery> pagerQuery) {
IPage<BaseVehicleReturnVo> page = PagerUtil.queryToPage(pagerQuery);
QueryWrapper<BaseVehicle> qw = vehicleReturnWrapper(pagerQuery.getParams());
return baseMapper.vehicleReturnPageList(page, qw);
}
/**
* 采购退库构造查询条件
*
* @param params 查询条件
* @return
*/
private QueryWrapper<BaseVehicle> vehicleReturnWrapper(BaseVehicleReturnQuery params) {
QueryWrapper<BaseVehicle> qw = new QueryWrapper<>();
if (params != null) {
//品牌
if (StringUtils.isNotBlank(params.getBrandSid())) {
qw.eq("bvm.carBrand", params.getBrandSid());
}
//功能
if (StringUtils.isNotBlank(params.getVehicleType())) {
qw.like("bvm.vehicleType", params.getVehicleType());
}
//系列
if (StringUtils.isNotBlank(params.getProductLine())) {
qw.like("bvm.productLine", params.getProductLine());
}
//变速箱
if (StringUtils.isNotBlank(params.getGearboxType())) {
qw.eq("bvm.gearboxType", params.getGearboxType());
}
//驱动
if (StringUtils.isNotBlank(params.getDriveForm())) {
qw.eq("bvm.driveForm", params.getDriveForm());
}
//排放标准
if (StringUtils.isNotBlank(params.getEmissionStandard())) {
qw.eq("bvm.emissionStandard", params.getEmissionStandard());
}
//马力
if (StringUtils.isNotBlank(params.getPower())) {
qw.eq("bvm.power", params.getPower());
}
//燃料
if (StringUtils.isNotBlank(params.getFuelType())) {
qw.eq("bvm.fuelType", params.getFuelType());
}
//版本
if (StringUtils.isNotBlank(params.getVehicleVersion())) {
qw.eq("bvm.vehicleVersion", params.getVehicleVersion());
}
//车型
if (StringUtils.isNotBlank(params.getVehicleAlias())) {
qw.eq("bvm.vehicleAlias", params.getVehicleAlias());
}
//快捷检索车型
if (StringUtils.isNotBlank(params.getModelName())) {
qw.like("bvm.modelName", params.getModelName());
}
if (params.getVinNoList().size() > 0) {
qw.notIn("bv.vinNo", params.getVinNoList());
}
//锁定状态
qw.and(wrapper -> wrapper.isNull("bv.lockedStateValue").or().eq("bv.lockedStateValue", ""));
qw.eq("bv.vehicleStateValue", "现车");
}
return qw;
}
}

6
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java

@ -16,7 +16,7 @@ import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkDto;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFlowStateEnum;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkTypeEnum;
import com.yxt.anrui.flowable.api.utils.procDefEnum;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
@ -29,11 +29,9 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.xml.crypto.Data;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* Project: anrui-scm(进销存) <br/>
@ -220,7 +218,7 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
variables.put("businessSid", businessSid);
variables.put("isLoan", true);
variables.put("orgSid", orgSid);//部门sid
ResultBean resultBean = flowableService.businessStart(procDefEnum.VEHICLEAPPLY.getProDefId(), dto.getCreateBySid(), variables);
ResultBean resultBean = flowableService.businessStart(ProcDefEnum.VEHICLEAPPLY.getProDefId(), dto.getCreateBySid(), variables);
if (resultBean.getSuccess() && resultBean.getData() != null) {
Map<String, String> map = (Map<String, String>) resultBean.getData();
saveSysFormLink(map);

10
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java

@ -355,6 +355,16 @@ public class CommonContractRest implements CommonContractFeign {
}
}
@Override
public ResultBean<PrintItemVo> printItemSet(String busSid, String customerName) {
return commonContractService.printItemSet(busSid, customerName);
}
@Override
public ResultBean<List<PrintConfirmVo>> printConfirm(PrintConfirmDto dto) {
return commonContractService.printConfirm(dto);
}
public List getSheetVal(Sheet sheet, int[] resultCell) throws ParseException {
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");
List<CommonContract> punishmentList = new ArrayList<>();

302
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java

@ -3,8 +3,12 @@ package com.yxt.anrui.base.biz.commoncontract;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basemodelszconfig.AppBaseModelSzconfigDetailsVo;
import com.yxt.anrui.base.api.basetrailer.AppBaseTrailerDetailsVo;
import com.yxt.anrui.base.api.commonappendix.CommonAppendix;
import com.yxt.anrui.base.api.commoncontract.*;
import com.yxt.anrui.base.biz.basemodelszconfig.BaseModelSzconfigService;
import com.yxt.anrui.base.biz.basetrailer.BaseTrailerService;
import com.yxt.anrui.base.biz.basevehiclebrand.BaseVehicleBrandService;
import com.yxt.anrui.base.biz.basevehiclemodel.BaseVehicleModelService;
import com.yxt.anrui.base.biz.commonappendix.CommonAppendixService;
@ -13,9 +17,15 @@ import com.yxt.anrui.buscenter.api.busdeposit.BusDepositFeign;
import com.yxt.anrui.buscenter.api.busdepositvehicle.BusDepositVehicleFeign;
import com.yxt.anrui.buscenter.api.busorder.BusOrderFeign;
import com.yxt.anrui.buscenter.api.busorder.BusOrderVo;
import com.yxt.anrui.buscenter.api.busorderdiscount.AppBusOrderDiscountListVo;
import com.yxt.anrui.buscenter.api.busorderdiscount.BusOrderDiscountFeign;
import com.yxt.anrui.buscenter.api.busordermodel.AppBusOrderModelVo;
import com.yxt.anrui.buscenter.api.busordermodel.BusOrderModelFeign;
import com.yxt.anrui.buscenter.api.busordervehicle.BusOrderVehicleFeign;
import com.yxt.anrui.crm.api.crmcustomer.CrmCustomerFeign;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign;
import com.yxt.anrui.flowable.api.sysformlink.SysFormStateVo;
import com.yxt.anrui.flowable.api.utils.procDefEnum;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign;
import com.yxt.anrui.portal.api.dictcommon.DictCommonVo;
import com.yxt.anrui.portal.api.sysorganization.SysOrganization;
@ -25,6 +35,7 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.config.DictCommonType;
import com.yxt.common.base.config.component.DocPdfComponent;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.DateUtils;
@ -34,12 +45,18 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.File;
import java.math.BigDecimal;
import java.text.MessageFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.stream.Collectors;
/**
@ -58,6 +75,15 @@ import java.util.stream.Collectors;
@Service
public class CommonContractService extends MybatisBaseService<CommonContractMapper, CommonContract> {
@Value("${templateUrl.uploadUrl}")
private String uploadTemplateUrl;
@Value("${templateUrl.prefixUrl}")
private String prefixTemplateUrl;
@Autowired
private DocPdfComponent docPdfComponent;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
@ -71,6 +97,12 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
@Autowired
private BusOrderFeign busOrderFeign;
@Autowired
private BusOrderDiscountFeign busOrderDiscountFeign;
@Autowired
private BusOrderModelFeign busOrderModelFeign;
@Autowired
private BusOrderVehicleFeign busOrderVehicleFeign;
@Autowired
private BusDepositVehicleFeign busDepositVehicleFeign;
@Autowired
private FileUploadComponent fileUploadComponent;
@ -84,6 +116,12 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
private FlowableService flowableService;
@Autowired
private SysFormLinkFeign sysFormLinkFeign;
@Autowired
private CrmCustomerFeign crmCustomerFeign;
@Autowired
private BaseModelSzconfigService baseModelSzconfigService;
@Autowired
private BaseTrailerService baseTrailerService;
private QueryWrapper<CommonContract> createQueryWrapper(CommonContractQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -522,6 +560,266 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
return baseMapper.saveList(resultList);
}
/**
* 打印项设置
* @param busSid
* @return
*/
public ResultBean<PrintItemVo> printItemSet(String busSid, String customerName) {
CommonContractBuscenterVo contractBuscenterVo = baseMapper.selectByBusSid(busSid);
PrintItemVo vo = new PrintItemVo();
BeanUtil.copyProperties(contractBuscenterVo, vo);
vo.setCustomerName(customerName);
return new ResultBean<PrintItemVo>().success().setData(vo);
}
/**
* 打印项-确认
* @param dto
* @return
*/
public ResultBean<List<PrintConfirmVo>> printConfirm(PrintConfirmDto dto) {
Map<String, Object> map = new HashMap<String, Object>();
// 合同信息
CommonContract contract = fetchBySid(dto.getSid());
map.put("partyA", contract.getPartyA()); // 甲方
map.put("partyB", contract.getPartyB()); // 乙方
map.put("contractNo", contract.getContractNo()); // 合同编号
map.put("createDate", contract.getCreateDate()); // 签订时间
// 客户信息;
BusOrderVo order = busOrderFeign.fetchSid(dto.getBusSid()).getData();
map.put("customerName", order.getCustomerName()); // 联系电话
map.put("mobile", order.getMobile()); // 联系电话
map.put("IDNumber", order.getIDNumber()); // 身份证号
// 车型、主车信息
ResultBean<AppBusOrderModelVo> model = busOrderModelFeign.getAppBusOrderModelInfoBySid(dto.getBusSid());
map.put("modelName", model.getData().getModelName()); // 车型
map.put("modelConfig", model.getData().getModelotherConfig()); // 配置(只有订车有) ?待确认
map.put("mainVehicleNum", model.getData().getQuantity()); // 主车数量
map.put("mainVehicleSinglePrice", model.getData().getSingle_price()); // 单台成交价
ResultBean<String> vinNo = busOrderVehicleFeign.getVehicleVINNoByOrderSid(dto.getBusSid());
map.put("VINNo", vinNo.getData()); // 车架号
// 上装信息
AppBaseModelSzconfigDetailsVo szconfig = baseModelSzconfigService.getAppBaseModelSzconfigDetailsVo(model.getData().getSid());
map.put("topName", szconfig.getTopName()); // 上装
// 挂车信息
AppBaseTrailerDetailsVo trailer = baseTrailerService.getAppBaseTrailerDetailsVo(model.getData().getSid());
map.put("trailerName", trailer.getOtherConfig()); // 挂车
map.put("trailerNum", model.getData().getQuantity()); // 挂车数量 ?待确认
map.put("trailerSinglePrice", StringUtils.isBlank(trailer.getTrailerPrince()) ? "" : trailer.getTrailerPrince()); // 挂车单台成交价 ?待确认
// 优惠说明信息
ResultBean<List<AppBusOrderDiscountListVo>> discountList = busOrderDiscountFeign.getAppDiscountListVoByOrderSid(order.getOrderSid());
map.put("discountDetail", ""); // 优惠说明 ?待确认
if (discountList.getSuccess()) {
map.put("discountDetail", discountList.getData().get(0).getDetail()); // 优惠说明 ?待确认
}
// 保险说明信息
map.put("insuranceDetail", "首次在本店投保,第二、三年继续在本店续保。(不在公司投保的,不显示)"); // 保险说明 ?待确认
// 车辆交付地点
map.put("deliveryPlace", model.getData().getExpected_takecar_location());
List<PrintConfirmVo> list = new ArrayList<>();
try {
ExecutorService executor = Executors.newFixedThreadPool(5);
Future<String> future1 = executor.submit(() -> {
return genCarSaleContract(dto, map, order);
});
Future<String> future2 = executor.submit(() -> {
return genVehicleRegistration(dto, map);
});
Future<String> future3 = executor.submit(() -> {
// 客户开票申请书(暂时先不考虑)
if (dto.getIsAdvanceInvoice() == 1) {
return genAdvanceInvoice(dto, map);
} else {
return "";
}
});
Future<String> future4 = executor.submit(() -> {
// 委托提车授权书
if (dto.getIsEntrustVehicle() == 1) {
return genEntrustVehicle(dto, map);
} else {
return "";
}
});
Future<String> future5 = executor.submit(() -> {
return genCarSaleContractBlank(dto, map, order);
});
future1.get();
future2.get();
future3.get();
future4.get();
future5.get();
PrintConfirmVo printConfirmVo = null;
if (StringUtils.isNotBlank(future1.get())) {
printConfirmVo = new PrintConfirmVo();
// 待确认:现车或订车
// 现车
// printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CARSALECONTRACTNEW.getName()));
// 订车
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CARSALECONTRACTBOOK.getName()));
printConfirmVo.setDownloadUrl(future1.get());
list.add(printConfirmVo);
}
if (StringUtils.isNotBlank(future2.get())) {
printConfirmVo = new PrintConfirmVo();
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.VEHICLEREGISTRATION.getName()));
printConfirmVo.setDownloadUrl(future2.get());
list.add(printConfirmVo);
}
if (StringUtils.isNotBlank(future3.get())) {
printConfirmVo = new PrintConfirmVo();
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CUSTOMERINVOICINGAPPLICATION.getName()));
printConfirmVo.setDownloadUrl(future3.get());
list.add(printConfirmVo);
}
if (StringUtils.isNotBlank(future4.get())) {
printConfirmVo = new PrintConfirmVo();
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.ENTRUSTPICKUPAUTHORIZATION.getName()));
printConfirmVo.setDownloadUrl(future4.get());
list.add(printConfirmVo);
}
if (StringUtils.isNotBlank(future5.get())) {
printConfirmVo = new PrintConfirmVo();
printConfirmVo.setName(MessageFormat.format("《{0}》", ContractTemplateEnum.CARSALECONTRACTNEWBLANK.getName()));
printConfirmVo.setDownloadUrl(future5.get());
list.add(printConfirmVo);
}
} catch (Exception e) {
e.printStackTrace();
return new ResultBean().fail().setMsg("生成文件失败");
}
return new ResultBean().success().setData(list);
}
/**
* 生成 新车买卖合同(现车或订车) pdf
* @param dto
*/
private String genCarSaleContract(PrintConfirmDto dto, Map<String, Object> map, BusOrderVo order) {
String url = "";
// 车辆税信息
map.put("taxSum", "1111"); // 车辆含税 ?待确认
map.put("taxSumUpper", "壹仟壹佰壹拾壹"); // 车辆含税(大写) ?待确认
// 乙方缴纳订金
map.put("deposit", order.getDeposit()); // 订金
map.put("useDeposit", "true"); // 判断是否展示括号中的内容 ?待确认:用本人交纳的虚拟订金的,需要显示订金后面括弧 中的说明
map.put("date", order.getCreateDate()); // 订金缴纳日期 ?待确认
map.put("deposit1", ""); // 总订金 ?待确认
map.put("deposit2", ""); // 用于缴纳的订金 ?待确认
// 目标路径 ? 待确认:如何区分现车和订车
// 现车
// String typeName = ContractTemplateEnum.CARSALECONTRACTNEW.getName();
// 订车
String typeName = ContractTemplateEnum.CARSALECONTRACTBOOK.getName();
String docName = typeName + "(" + order.getCustomerName() + ").doc";
Map<String, String> resultMap = docPdfComponent.createDocToPdf(map, typeName, docName);
url = resultMap.get("prefixTemplateUrl");
return url;
}
/**
* 生成 新车买卖合同(现车) pdf
* @param dto
* @param map
* @param order
* @return
*/
private String genCarSaleContractBlank(PrintConfirmDto dto, Map<String, Object> map, BusOrderVo order) {
String url = "";
String typeName = "";
String docName = "";
// 涉及高低开票的,需要打印两套合同,一套按照成交价打印(记账用),一套为价格空白的合同(开票用)
// 合同金额 ? 待确定
BigDecimal contractAmount = order.getContractAmount();
if (contractAmount == null) {
// 待确定 ? 现车或订车
// 现车
typeName = ContractTemplateEnum.CARSALECONTRACTNEWBLANK.getName();
// 订车
typeName = ContractTemplateEnum.CARSALECONTRACTBOOKBLANK.getName();
docName = typeName + "(" + order.getCustomerName() + ").doc";
Map<String, String> map2 = docPdfComponent.createDocToPdf(map, typeName, docName);
url += ", " + map2.get("prefixTemplateUrl");
}
return url;
}
/**
* 生成 客户开票申请书 pdf
* @param dto
* @return
*/
private String genAdvanceInvoice(PrintConfirmDto dto, Map<String, Object> map) {
String url = "";
// 列表?待确认
List<AdvanceInvoiceListVo> list = new ArrayList<>();
AdvanceInvoiceListVo vo = new AdvanceInvoiceListVo();
vo.setInvoiceName("开票名称");
vo.setInvoiceMoney("开票金额");
vo.setInvoiceType("发票类型");
vo.setVINNo("002234329");
list.add(vo);
AdvanceInvoiceListVo vo1 = new AdvanceInvoiceListVo();
BeanUtil.copyProperties(vo, vo1);
vo1.setVINNo("002324345");
list.add(vo1);
map.put("list", list); // 列表
// 目标路径
String typeName = ContractTemplateEnum.CUSTOMERINVOICINGAPPLICATION.getName();
String docName = typeName + "(" + map.get("customerName") + ").doc";
Map<String, String> resultMap = docPdfComponent.createDocToPdf(map, typeName, docName);
url = resultMap.get("prefixTemplateUrl");
return url;
}
/**
* 生成 车辆登记合同 pdf
* @param dto
* @return
*/
private String genVehicleRegistration(PrintConfirmDto dto, Map<String, Object> map) {
String url = "";
// 列表?待确认
List<VehicleRegistrationListVo> list = new ArrayList<>();
VehicleRegistrationListVo vo = new VehicleRegistrationListVo();
vo.setBrandName("陕汽");
vo.setVINNo("002234329");
vo.setEngineNo("672342642232323");
list.add(vo);
VehicleRegistrationListVo vo1 = new VehicleRegistrationListVo();
vo1.setBrandName("欧曼");
vo1.setVINNo("002324345");
vo1.setEngineNo("67234299923ad");
list.add(vo1);
map.put("list", list); // 列表
// 目标路径
String typeName = ContractTemplateEnum.VEHICLEREGISTRATION.getName();
String docName = typeName + "(" + map.get("customerName") + ").doc";
Map<String, String> resultMap = docPdfComponent.createDocToPdf(map, typeName, docName);
url = resultMap.get("prefixTemplateUrl");
return url;
}
/**
* 生成 委托提车授权书 pdf
* @param dto
* @return
*/
private String genEntrustVehicle(PrintConfirmDto dto, Map<String, Object> map) {
String url = "";
// 目标路径
String typeName = ContractTemplateEnum.ENTRUSTPICKUPAUTHORIZATION.getName();
String docName = typeName + "(" + map.get("customerName") + ").doc";
Map<String, String> resultMap = docPdfComponent.createDocToPdf(map, typeName, docName);
url = resultMap.get("prefixTemplateUrl");
return url;
}
public List<CommonContractVo> selByBusSid(String userSid, String busSid) {
Map<String, String> map = generateContractNo(userSid);
String staffSid = map.get("staffSid");
@ -604,7 +902,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
variables.put("businessSid", dto.getBusinessSid());
variables.put("orgSid", resultBean.getData());
return flowableService.businessStart(procDefEnum.CARSALECONTRACTAPPROVE.getProDefId(), dto.getUserSid(), variables);
return flowableService.businessStart(ProcDefEnum.CARSALECONTRACTAPPROVE.getProDefId(), dto.getUserSid(), variables);
}
public ResultBean<CommonContractVo> fetchAllBySid(String sid) {

4
anrui-base/anrui-base-biz/src/main/resources/application.yml

@ -55,6 +55,8 @@ ribbon:
ReadTimeout: 30000
ConnectTimeout: 30000
templateUrl:
uploadUrl: D:\anrui\template\
prefixUrl: http://120.46.131.15:8111/template/

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busorder/BusOrderVo.java

@ -36,6 +36,8 @@ public class BusOrderVo implements Vo {
private String customerName;
//联系电话
private String mobile;
//证件号码
private String IDNumber;
//品牌
//单台成交价
//数量

4
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busordervehicle/BusOrderVehicleFeign.java

@ -63,6 +63,10 @@ public interface BusOrderVehicleFeign {
@PostMapping("/checkFinGinvoiceapply")
ResultBean checkFinGinvoiceapply(@RequestBody List<ExpectInvoicevehicleDto> list);
@ApiOperation("根据订单sid查询车辆车架号")
@GetMapping("/getVehicleVINNoByOrderSid/{orderSid}")
ResultBean<String> getVehicleVINNoByOrderSid(@PathVariable ("orderSid") String orderSid);
/******************************************手机端接口********************************************/
@ApiOperation("手机端根据销售订单sid查询车辆信息列表")

6
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busordervehicle/BusOrderVehicleFeignFallback.java

@ -68,6 +68,12 @@ public class BusOrderVehicleFeignFallback implements BusOrderVehicleFeign {
return rb.setMsg("接口anrui-buscenter/busordervehicle/checkFinGinvoiceapply无法访问");
}
@Override
public ResultBean getVehicleVINNoByOrderSid(String orderSid) {
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-buscenter/busordervehicle/getVehicleVINNoByOrderSid无法访问");
}
@Override
public ResultBean getAppOrderVehicleListByOrderSid(String orderSid) {
ResultBean rb = ResultBean.fireFail();

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busadvanceginvoiceapply/BusAdvanceGinvoiceapplyService.java

@ -41,7 +41,7 @@ import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkDto;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFlowStateEnum;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkTypeEnum;
import com.yxt.anrui.flowable.api.utils.procDefEnum;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.common.base.config.component.FileUploadComponent;
@ -291,7 +291,7 @@ public class BusAdvanceGinvoiceapplyService extends MybatisBaseService<BusAdvanc
variables.put("businessSid", businessSid);
variables.put("isLoan", true);
variables.put("orgSid", orgSid);//部门sid
ResultBean resultBean = flowableService.businessStart(procDefEnum.ADVANCEGINVOICEAPPLY.getProDefId(), dto.getUserSid(), variables);
ResultBean resultBean = flowableService.businessStart(ProcDefEnum.ADVANCEGINVOICEAPPLY.getProDefId(), dto.getUserSid(), variables);
if (resultBean.getSuccess() && resultBean.getData() != null) {
Map<String, String> map = (Map<String, String>) resultBean.getData();
saveSysFormLink(map);

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java

@ -14,7 +14,7 @@ import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkDto;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFlowStateEnum;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkTypeEnum;
import com.yxt.anrui.flowable.api.utils.procDefEnum;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.common.core.result.ResultBean;
@ -307,7 +307,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
variables.put("businessSid", businessSid);
variables.put("isLoan", true);
variables.put("orgSid", orgSid);//部门sid
ResultBean resultBean = flowableService.businessStart(procDefEnum.ARREARSCARRYVEHICLE.getProDefId(), dto.getUserSid(), variables);
ResultBean resultBean = flowableService.businessStart(ProcDefEnum.ARREARSCARRYVEHICLE.getProDefId(), dto.getUserSid(), variables);
if (resultBean.getSuccess() && resultBean.getData() != null) {
Map<String, String> map = (Map<String, String>) resultBean.getData();
saveSysFormLink(map);

15
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeposit/BusDepositService.java

@ -1,21 +1,15 @@
package com.yxt.anrui.buscenter.biz.busdeposit;
import com.alibaba.fastjson.JSONObject;
import com.yxt.anrui.buscenter.api.busdeposit.*;
import com.yxt.anrui.buscenter.api.busdeposit.AppBusDepositBusDetailsVo;
import com.yxt.anrui.buscenter.api.busdeposit.AppBusDepositBuscenterDetailVo;
import com.yxt.anrui.buscenter.api.busdeposit.BusDeposit;
import com.yxt.anrui.buscenter.api.busdepositcustomer.AppBusDepositCustomerListVo;
import com.yxt.anrui.buscenter.biz.busdepositcustomer.BusDepositCustomerService;
import com.yxt.anrui.buscenter.biz.busdepositvehicle.BusDepositVehicleService;
import com.yxt.anrui.buscenter.biz.busmaindeposit.BusMainDepositService;
import com.yxt.anrui.buscenter.biz.flow.FlowableService;
import com.yxt.anrui.crm.api.crmcustomer.CrmCustomer;
import com.yxt.anrui.crm.api.crmcustomer.CrmCustomerFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.flowable.api.utils.procDefEnum;
import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign;
import com.yxt.anrui.portal.api.dictcommon.DictCommonVo;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
@ -27,7 +21,8 @@ import org.springframework.stereotype.Service;
import org.springframework.util.concurrent.ListenableFuture;
import org.springframework.util.concurrent.ListenableFutureCallback;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui-buscenter(车辆订单) <br/>

12
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java

@ -46,7 +46,7 @@ import com.yxt.anrui.buscenter.biz.busdepositvehicle.BusDepositVehicleService;
import com.yxt.anrui.buscenter.biz.busdepositvehiclecustomer.BusDepositVehicleCustomerService;
import com.yxt.anrui.buscenter.biz.flow.FlowableService;
import com.yxt.anrui.flowable.api.sysformlink.*;
import com.yxt.anrui.flowable.api.utils.procDefEnum;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign;
import com.yxt.anrui.portal.api.dictcommon.DictCommonVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
@ -713,13 +713,13 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
variables.put("businessSid", businessSid);
variables.put("isLoan", true);
variables.put("orgSid", orgSid);//部门sid
ResultBean resultBean = flowableService.businessStart(procDefEnum.ORDERDEPOSITAPPROVE.getProDefId(), dto.getUserSid(), variables);
ResultBean resultBean = flowableService.businessStart(ProcDefEnum.ORDERDEPOSITAPPROVE.getProDefId(), dto.getUserSid(), variables);
if (resultBean.getSuccess() && resultBean.getData() != null) {
Map<String, String> map = (Map<String, String>) resultBean.getData();
/*saveSysFormLink(map);*/
//更新虚拟订单审批(订金)业务表中的流程状态
modifiBusMainDepositFlowState(businessSid,
procDefEnum.ORDERDEPOSITAPPROVE.getProDefId(),//procDefId
ProcDefEnum.ORDERDEPOSITAPPROVE.getProDefId(),//procDefId
map.get("nodeState"),//state
map.get("procInsId"),//procInstSid
map.get("taskDefKey")//nodeSid
@ -850,7 +850,7 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
variables.put("businessSid", businessSid);
variables.put("isLoan", true);
variables.put("orgSid", orgSid);
ResultBean resultBean = flowableService.businessStart(procDefEnum.ORDERDEPOSITVEHICLEAPPROVE.getProDefId(), dto.getUserSid(), variables);
ResultBean resultBean = flowableService.businessStart(ProcDefEnum.ORDERDEPOSITVEHICLEAPPROVE.getProDefId(), dto.getUserSid(), variables);
if (resultBean.getSuccess() && resultBean.getData() != null) {
Map<String, String> map = (Map<String, String>) resultBean.getData();
saveSysFormLink(map);
@ -885,7 +885,7 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
variables.put("businessSid", businessSid);
variables.put("isLoan", false);
variables.put("orgSid", orgSid);
ResultBean resultBean = flowableService.businessStart(procDefEnum.ORDERDEPOSITAPPROVE.getProDefId(), dto.getUserSid(), variables);
ResultBean resultBean = flowableService.businessStart(ProcDefEnum.ORDERDEPOSITAPPROVE.getProDefId(), dto.getUserSid(), variables);
if (resultBean.getSuccess() && resultBean.getData() != null) {
Map<String, String> map = (Map<String, String>) resultBean.getData();
saveSysFormLink(map);
@ -920,7 +920,7 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
variables.put("businessSid", businessSid);
variables.put("isLoan", true);
variables.put("orgSid", orgSid);
ResultBean resultBean = flowableService.businessStart(procDefEnum.ORDERDEPOSITVEHICLEAPPROVE.getProDefId(), dto.getUserSid(), variables);
ResultBean resultBean = flowableService.businessStart(ProcDefEnum.ORDERDEPOSITVEHICLEAPPROVE.getProDefId(), dto.getUserSid(), variables);
if (resultBean.getSuccess() && resultBean.getData() != null) {
Map<String, String> map = (Map<String, String>) resultBean.getData();
saveSysFormLink(map);

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busorder/BusOrderService.java

@ -36,7 +36,7 @@ import com.yxt.anrui.flowable.api.flowtask.FlowTask;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign;
import com.yxt.anrui.flowable.api.sysformlink.SysFormStateVo;
import com.yxt.anrui.flowable.api.utils.procDefEnum;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessTaskParam;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessTaskQuery;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
@ -813,7 +813,7 @@ public class BusOrderService extends MybatisBaseService<BusOrderMapper, BusOrder
}else{
variables.put("modelName","");//车型名称
}
return flowableService.businessStart(procDefEnum.ORDERAPPROVE.getProDefId(),userSid,variables);
return flowableService.businessStart(ProcDefEnum.ORDERAPPROVE.getProDefId(),userSid,variables);
}
public ResultBean businessComplete(BusOrderflowDto1 dto) {

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busorderdiscount/BusOrderDiscountService.java

@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.buscenter.api.busorderdiscount.*;
import com.yxt.anrui.buscenter.biz.flow.FlowableService;
import com.yxt.anrui.flowable.api.utils.procDefEnum;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.common.base.service.MybatisBaseService;
@ -218,7 +218,7 @@ public class BusOrderDiscountService extends MybatisBaseService<BusOrderDiscount
variables.put("isLoan", true);
variables.put("orgSid", orgSid);
return flowableService.businessStart(procDefEnum.SALESPOLICY.getProDefId(),dto.getUserSid(),variables);
return flowableService.businessStart(ProcDefEnum.SALESPOLICY.getProDefId(),dto.getUserSid(),variables);
}
/**

3
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busordervehicle/BusOrderVehicleMapper.java

@ -41,6 +41,9 @@ public interface BusOrderVehicleMapper extends BaseMapper<BusOrderVehicle> {
*/
List<BusOrderVehicleOneVo> selectByOrderSid(String sid);
@Select("SELECT GROUP_CONCAT(VINNo) FROM bus_order_vehicle WHERE orderSid=#{orderSid}")
String getVehicleVINNoByOrderSid(@Param("orderSid") String orderSid);
List<BusOrderVehicleVo> getBusOrderVehicle(String busOrderSid);
IPage<ExpectInvoicevehicleVo> getExpectInvoiceList(IPage<ExpectInvoicevehicleVo> page, @Param(Constants.WRAPPER) Wrapper<ExpectInvoicevehicleQuery> qw);

5
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busordervehicle/BusOrderVehicleRest.java

@ -88,6 +88,11 @@ public class BusOrderVehicleRest implements BusOrderVehicleFeign {
return busOrderVehicleService.checkFinGinvoiceapply(list);
}
@Override
public ResultBean<String> getVehicleVINNoByOrderSid(String orderSid) {
return new ResultBean<String>().success().setData(busOrderVehicleService.getVehicleVINNoByOrderSid(orderSid));
}
@Override
public ResultBean<List<AppBusOrderVehicleVo>> getAppOrderVehicleListByOrderSid(String orderSid) {
List<AppBusOrderVehicleVo> list = busOrderVehicleService.getAppOrderVehicleListByOrderSid(orderSid);

9
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busordervehicle/BusOrderVehicleService.java

@ -145,6 +145,15 @@ public class BusOrderVehicleService extends MybatisBaseService<BusOrderVehicleMa
return resultBean.success();
}
/**
* 根据订单sid查询车辆车架号
* @param orderSid
* @return
*/
public String getVehicleVINNoByOrderSid(String orderSid) {
return baseMapper.getVehicleVINNoByOrderSid(orderSid);
}
public List<BusOrderVehicleVo> getBusOrderVehicle(String busOrderSid) {
return baseMapper.getBusOrderVehicle(busOrderSid);
}

24
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeign.java

@ -4,6 +4,7 @@ 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.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
@ -20,7 +21,7 @@ public interface SysProUrlFeign {
*/
@PostMapping("/list")
@ResponseBody
public ResultBean<PagerVo<SysProUrlVo>> list(@RequestBody PagerQuery<SysProUrlQuery> pq) ;
public ResultBean<PagerVo<SysProUrlVo>> list(@RequestBody PagerQuery<SysProUrlQuery> pq);
/**
@ -29,6 +30,7 @@ public interface SysProUrlFeign {
@GetMapping(value = "/getSysProUrl/{formId}")
@ResponseBody
public ResultBean getSysProUrl(@PathVariable("formId") int formId);
/**
* 根据流程实例id获取form信息
*/
@ -39,9 +41,9 @@ public interface SysProUrlFeign {
/**
* 新增流程业务表单url对象
*/
@PostMapping(value="/add")
@PostMapping(value = "/add")
@ResponseBody
public ResultBean<String> add(@RequestBody SysProUrl sysProUrl) ;
public ResultBean<String> add(@RequestBody SysProUrl sysProUrl);
/**
* 修改流程业务表单url对象
@ -62,4 +64,20 @@ public interface SysProUrlFeign {
@ApiOperation("app根据流程定义id,节点id,终端及类型查询流程与业务表单url")
@PostMapping("/selectAppUrlByTaskDefKey")
ResultBean<AppUrlVo> selectAppUrlByTaskDefKey(@Valid @RequestBody AppSysProUrlQuery query);
/**
* pc根据流程定义id节点id终端及类型查询流程与业务表单url
*
* @param procDefId 流程定义id
* @param taskDefKey 节点id
* @param type 类型1办理2详情
* @return
*/
@ApiOperation("查询流程与业务表单的url")
@GetMapping("/selectUrlByKey")
ResultBean<String> selectUrlByKey(@ApiParam(value = "流程定义id") @RequestParam(value = "procDefId") String procDefId,
@ApiParam(value = "节点id") @RequestParam(value = "taskDefKey") String taskDefKey,
@ApiParam(value = "类型:1办理,2详情") @RequestParam(value = "type") String type);
}

5
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeignFallBack.java

@ -54,4 +54,9 @@ public class SysProUrlFeignFallBack implements SysProUrlFeign {
public ResultBean<AppUrlVo> selectAppUrlByTaskDefKey(AppSysProUrlQuery query) {
return null;
}
@Override
public ResultBean<String> selectUrlByKey(String procDefId, String taskDefKey, String type) {
return null;
}
}

5
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/procDefEnum.java → anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

@ -3,7 +3,7 @@ package com.yxt.anrui.flowable.api.utils;
/**
* 流程定义流程名称与代号枚举类
*/
public enum procDefEnum {
public enum ProcDefEnum {
ORDERDEPOSITAPPROVE("虚拟订单(订金)审批", "order_deposit_approve_bsf3sgwd:1:230012"),
ORDERDEPOSITVEHICLEAPPROVE("虚拟订单(预订车辆)审批", "order_deposit_vehicle_approve_bsf3sgwd:1:230016"),
@ -14,9 +14,10 @@ public enum procDefEnum {
ADVANCEGINVOICEAPPLY("提前开票申请流程","advance_ginvoiceapply:1:242664"),
ARREARSCARRYVEHICLE("欠款提车审批流程","arrears_carryvehicle:1:232589"),
VEHICLEAPPLY("排产申请流程","process_9egcg169:1:242660"),
RECORDAPPLICATION("入账申请","record_application_7y80d4r8"),
;
procDefEnum(String proDefName, String proDefId) {
ProcDefEnum(String proDefName, String proDefId) {
this.proDefName = proDefName;
this.proDefId = proDefId;
}

17
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlController.java

@ -40,14 +40,14 @@ public class SysProUrlController implements SysProUrlFeign {
@Override
public ResultBean getSysProUrl(int formId) {
ResultBean< SysProUrl> rb = ResultBean.fireFail();
ResultBean<SysProUrl> rb = ResultBean.fireFail();
SysProUrl sysProUrl = sysProUrlService.selectSysProUrlById(formId);
return rb.success().setData(sysProUrl);
}
@Override
public ResultBean getForm(String proId) {
ResultBean< SysForm> rb = ResultBean.fireFail();
ResultBean<SysForm> rb = ResultBean.fireFail();
SysForm sysForm = sysDeployFormService.selectSysDeployFormByDeployId(proId);
return rb.success().setData(sysForm);
}
@ -106,4 +106,17 @@ public class SysProUrlController implements SysProUrlFeign {
}
return new ResultBean<AppUrlVo>().success().setData(appUrlVo);
}
/**
* pc根据流程定义id节点id终端及类型查询流程与业务表单url
*
* @param procDefId 流程定义id
* @param taskDefKey 节点id
* @param type 类型1办理2详情
* @return
*/
@Override
public ResultBean<String> selectUrlByKey(String procDefId, String taskDefKey, String type) {
return sysProUrlService.selectUrlByKey(procDefId, taskDefKey, type);
}
}

10
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlMapper.java

@ -79,4 +79,14 @@ public interface SysProUrlMapper extends BaseMapper<SysProUrl> {
List<SysProUrlVo> selectListByProcDefId(@Param("proc_def_id") String proc_def_id, @Param("taskDefKey") String taskDefKey);
SysProUrlVo selectUniByTaskDefKey(SysProUrlQuery query);
/**
* pc根据流程定义id节点id终端及类型查询流程与业务表单url
*
* @param procDefId 流程id
* @param taskDefKey 节点iD
* @param type 类型1办理2详情
* @return
*/
String selectUrlByKey(@Param("procDefId") String procDefId, @Param("taskDefKey") String taskDefKey, @Param("type") String type);
}

88
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlMapper.xml

@ -6,46 +6,92 @@
from sys_pro_url
</select>
<select id="getSysProUrlVoTotal" resultType="int">
select count(*) as total from sys_pro_url
select count(*) as total
from sys_pro_url
</select>
<insert id="insertSysProUrl" parameterType="com.yxt.anrui.flowable.api.sysprourl.SysProUrl" useGeneratedKeys="true" keyProperty="sid">
<insert id="insertSysProUrl" parameterType="com.yxt.anrui.flowable.api.sysprourl.SysProUrl" useGeneratedKeys="true"
keyProperty="sid">
insert into sys_pro_url
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="url != null">url,</if>
<if test="type != null">type,</if>
<if test="terminal != null">terminal,</if>
<if test="formId != null">formId,</if>
<if test="title != null">title</if>
<if test="url != null">
url,
</if>
<if test="type != null">
type,
</if>
<if test="terminal != null">
terminal,
</if>
<if test="formId != null">
formId,
</if>
<if test="title != null">
title
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="url != null">#{url},</if>
<if test="type != null">#{type},</if>
<if test="terminal != null">#{terminal},</if>
<if test="formId != null">#{formId},</if>
<if test="title != null">#{title},</if>
<if test="url != null">
#{url},
</if>
<if test="type != null">
#{type},
</if>
<if test="terminal != null">
#{terminal},
</if>
<if test="formId != null">
#{formId},
</if>
<if test="title != null">
#{title},
</if>
</trim>
</insert>
<delete id="deleteSysProUrlByIds" parameterType="String">
delete from sys_pro_url where sid in
delete
from sys_pro_url where sid in
<foreach item="formId" collection="array" open="(" separator="," close=")">
#{sid}
</foreach>
</delete>
<select id="selectSysProUrlById" parameterType="Integer" resultType="com.yxt.anrui.flowable.api.sysprourl.SysProUrl">
select id as id, url as url, type as type, terminal as terminal, formId as formId, title as title from sys_pro_url
<select id="selectSysProUrlById" parameterType="Integer"
resultType="com.yxt.anrui.flowable.api.sysprourl.SysProUrl">
select id as id, url as url, type as type, terminal as terminal, formId as formId, title as title
from sys_pro_url
where formId = #{formId}
</select>
<select id="selectListByProcDefId" resultType="com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo">
SELECT url, type, terminal,formId,title,proc_def_id, taskDefKey,modulePluginName
SELECT url,
type,
terminal,
formId,
title,
proc_def_id,
taskDefKey,
modulePluginName
FROM sys_pro_url
WHERE proc_def_id=#{proc_def_id} AND (taskDefKey=#{taskDefKey} OR taskDefKey IS NULL OR taskDefKey = '')
ORDER BY terminal DESC,id ASC
WHERE proc_def_id = #{proc_def_id}
AND (taskDefKey = #{taskDefKey} OR taskDefKey IS NULL OR taskDefKey = '')
ORDER BY terminal DESC, id ASC
</select>
<select id="selectUniByTaskDefKey" parameterType="com.yxt.anrui.flowable.api.sysprourl.SysProUrlQuery" resultType="com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo">
SELECT url,modulePluginName
<select id="selectUniByTaskDefKey" parameterType="com.yxt.anrui.flowable.api.sysprourl.SysProUrlQuery"
resultType="com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo">
SELECT url, modulePluginName
FROM sys_pro_url
WHERE proc_def_id=#{proc_def_id} AND type=#{type} AND terminal=#{terminal} AND taskDefKey=#{taskDefKey}
WHERE proc_def_id = #{proc_def_id}
AND type = #{type}
AND terminal = #{terminal}
AND taskDefKey = #{taskDefKey}
</select>
<select id="selectUrlByKey" resultType="java.lang.String">
select url
from sys_pro_url
where proc_def_id = #{procDefId}
and type = #{type}
and taskDefKey = #{taskDefKey}
and terminal = 1
</select>
</mapper>

44
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlService.java

@ -37,14 +37,13 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
* @param formId 流程表单ID
* @return 流程表单
*/
public SysProUrl selectSysProUrlById(int formId)
{
public SysProUrl selectSysProUrlById(int formId) {
return baseMapper.selectSysProUrlById(formId);
}
public IPage<SysProUrlVo> selectSysProUrlList(PagerQuery<SysProUrlQuery> pagerQuery) {
List<SysProUrlVo> SysProUrls = baseMapper.selectListVo();
IPage<SysProUrlVo> page =new Page<>();// PagerUtil.queryToPage(pagerQuery);
IPage<SysProUrlVo> page = new Page<>();// PagerUtil.queryToPage(pagerQuery);
QueryWrapper<SysProUrlVo> qw = createQueryWrapper(pagerQuery.getParams());
List<SysProUrlVo> SysProUrlVoList = baseMapper.getSysProUrlVoList(page, qw);
int total = baseMapper.getSysProUrlVoTotal(page, qw);
@ -59,8 +58,7 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
* @param SysProUrl 流程表单
* @return 结果
*/
public int insertSysProUrl(SysProUrl SysProUrl)
{
public int insertSysProUrl(SysProUrl SysProUrl) {
SysProUrl.setCreateTime(new Date());
return baseMapper.insertSysProUrl(SysProUrl);
}
@ -71,8 +69,7 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
* @param SysProUrl 流程表单
* @return 结果
*/
public int updateSysProUrl(SysProUrl SysProUrl)
{
public int updateSysProUrl(SysProUrl SysProUrl) {
return 0;//SysProUrlMapper.updateSysProUrl(SysProUrl);
}
@ -82,8 +79,7 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
* @param formIds 需要删除的流程表单ID
* @return 结果
*/
public int deleteSysProUrlByIds(Long[] formIds)
{
public int deleteSysProUrlByIds(Long[] formIds) {
return baseMapper.deleteSysProUrlByIds(formIds);
}
@ -93,8 +89,7 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
* @param formId 流程表单ID
* @return 结果
*/
public int deleteSysProUrlById(Long formId)
{
public int deleteSysProUrlById(Long formId) {
return 0;// SysProUrlMapper.deleteSysProUrlById(formId);
}
@ -115,6 +110,7 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
/**
* 根据流程id及终端查询url
*
* @param proc_def_id
* @return
*/
@ -124,6 +120,7 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
/**
* 根据流程定义id节点id终端及类型查询流程与业务表单url
*
* @param query
* @return
*/
@ -137,6 +134,7 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
/**
* app根据流程定义id节点id终端及类型查询流程与业务表单url
*
* @param query
* @return
*/
@ -163,4 +161,28 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
}
return appUrlVo;
}
/**
* pc根据流程定义id节点id终端及类型查询流程与业务表单url
*
* @param procDefId 流程id
* @param taskDefKey 节点iD
* @param type 类型1办理2详情
* @return
*/
public ResultBean<String> selectUrlByKey(String procDefId, String taskDefKey, String type) {
ResultBean<String> rb = ResultBean.fireFail();
//验证参数
if (StringUtils.isBlank(procDefId)) {
return rb.setMsg("流程定义id不能为空");
}
if (StringUtils.isBlank(taskDefKey)) {
return rb.setMsg("节点id不能为空");
}
if (StringUtils.isBlank(type)) {
return rb.setMsg("请指定要操作的类型");
}
String url = baseMapper.selectUrlByKey(procDefId, taskDefKey, type);
return null;
}
}

3
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinboundvehicle/ScmApplyInboundVehicleVo.java

@ -35,4 +35,7 @@ public class ScmApplyInboundVehicleVo implements Vo {
@ApiModelProperty("车架号(VIN)")
private String vinNo;
@ApiModelProperty("备注")
private String remarks;
}

28
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturndetails/ScmVehicleReturnDetailsFeign.java

@ -0,0 +1,28 @@
package com.yxt.anrui.scm.api.scmvehiclereturndetails;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/4/12 15:30
* @Description
*/
@FeignClient(
contextId = "anrui-scm-ScmVehicleReturnDetails",
name = "anrui-scm",
path = "v1/scmvehiclereturndetails",
fallback = ScmVehicleReturnDetailsFeignFallback.class)
public interface ScmVehicleReturnDetailsFeign {
@ApiOperation("查询车架号列表")
@GetMapping("/selectVinNoList")
@ResponseBody
ResultBean<List<String>> selectVinNoList(@PathVariable(value = "sid") String sid);
}

12
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturndetails/ScmVehicleReturnDetailsFeignFallback.java

@ -0,0 +1,12 @@
package com.yxt.anrui.scm.api.scmvehiclereturndetails;
import org.springframework.stereotype.Component;
/**
* @Author dimengzhe
* @Date 2022/4/12 15:30
* @Description
*/
@Component
public class ScmVehicleReturnDetailsFeignFallback {
}

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundRest.java

@ -53,6 +53,6 @@ public class ScmApplyInboundRest implements ScmApplyInboundFeign {
@Override
public ResultBean<ScmApplyInboundVo> fetchSid(String sid) {
return new ResultBean().setData(scmApplyInboundService.selectBySid(sid));
return new ResultBean().success().setData(scmApplyInboundService.selectBySid(sid));
}
}

6
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java

@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign;
import com.yxt.anrui.flowable.api.sysformlink.SysFormStateVo;
import com.yxt.anrui.flowable.api.utils.procDefEnum;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturn;
@ -153,12 +153,12 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
variables.put("businessSid", businessSid);
variables.put("isLoan", true);
variables.put("orgSid", orgSid);//部门sid
ResultBean businessResultBean = flowableFeign.businessStart(procDefEnum.ORDERDEPOSITAPPROVE.getProDefId(), scmVehicleReturnDto.getUserSid(), variables);
ResultBean businessResultBean = flowableFeign.businessStart(ProcDefEnum.ORDERDEPOSITAPPROVE.getProDefId(), scmVehicleReturnDto.getUserSid(), variables);
if (resultBean.getSuccess() && resultBean.getData() != null) {
Map<String, String> map = (Map<String, String>) resultBean.getData();
//更新退库业务表中的流程状态
modifyFlowState(businessSid,
procDefEnum.ORDERDEPOSITAPPROVE.getProDefId(),//procDefId
ProcDefEnum.ORDERDEPOSITAPPROVE.getProDefId(),//procDefId
map.get("nodeState"),//state
map.get("procInsId"),//procInstSid
map.get("taskDefKey")//nodeSid

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsMapper.java

@ -28,4 +28,6 @@ public interface ScmVehicleReturnDetailsMapper extends BaseMapper<ScmVehicleRetu
* @return
*/
int deleteByReturnSid(String sid);
List<String> selectVinNoList(String sid);
}

6
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsMapper.xml

@ -12,4 +12,10 @@
from scm_vehicle_return_details
where vehicleOutSid = #{sid}
</delete>
<select id="selectVinNoList" resultType="java.lang.String">
select vinNo
from scm_vehicle_return_details
where vehicleOutSid = #{sid}
</select>
</mapper>

29
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsRest.java

@ -0,0 +1,29 @@
package com.yxt.anrui.scm.biz.scmvehiclereturndetails;
import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetailsFeign;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/4/12 15:29
* @Description
*/
@Api(tags = "车辆采购退库详细管理")
@RequestMapping("v1/scmvehiclereturndetails")
@Controller
public class ScmVehicleReturnDetailsRest implements ScmVehicleReturnDetailsFeign {
@Autowired
private ScmVehicleReturnDetailsService scmVehicleReturnDetailsService;
@Override
public ResultBean<List<String>> selectVinNoList(String sid) {
return scmVehicleReturnDetailsService.selectVinNoList(sid);
}
}

7
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturndetails/ScmVehicleReturnDetailsService.java

@ -3,6 +3,7 @@ package com.yxt.anrui.scm.biz.scmvehiclereturndetails;
import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetails;
import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetailsDto;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -54,4 +55,10 @@ public class ScmVehicleReturnDetailsService extends MybatisBaseService<ScmVehicl
baseMapper.deleteByReturnSid(sid);
saveDetails(detailsList, sid);
}
public ResultBean<List<String>> selectVinNoList(String sid) {
ResultBean<List<String>> rb = ResultBean.fireFail();
List<String> vinNoList = baseMapper.selectVinNoList(sid);
return rb.success().setData(vinNoList);
}
}

Loading…
Cancel
Save