Browse Source

调车开票接口对接完成。

调账流程接口对接有疑问,待解决。
调车业务、流程接口对接。
采购订单文档测试问题修改完成。
车辆台账文档测试问题修改完成。
客户补充缺少的字段属性。
master
God 3 years ago
parent
commit
90fab121d1
  1. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApplyByVehQuery.java
  2. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApplyDetailsVo.java
  3. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApplyFeign.java
  4. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApplyFeignFallback.java
  5. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeign.java
  6. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeignFallback.java
  7. 8
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseQuery.java
  8. 6
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleDetailsVo.java
  9. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleDto.java
  10. 36
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleVo.java
  11. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicinapplyeveh/BaseShuntingInvoicinApplyeVehDetailsVo.java
  12. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyDetailsVo.java
  13. 8
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeign.java
  14. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeignFallback.java
  15. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingByVehQuery.java
  16. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicle.java
  17. 6
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleActualVo.java
  18. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleDto.java
  19. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleSelectVo.java
  20. 11
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/ExiCarConfigDetailVo.java
  21. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleinquiry/BusVehicleInquiry.java
  22. 6
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleinquiry/BusVehicleInquiryDto.java
  23. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyMapper.java
  24. 10
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyMapper.xml
  25. 8
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyRest.java
  26. 77
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java
  27. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseMapper.xml
  28. 8
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseRest.java
  29. 730
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java
  30. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleMapper.java
  31. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleService.java
  32. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicinapplyeveh/BaseShuntingInvoicinApplyeVehMapper.xml
  33. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyMapper.java
  34. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyMapper.xml
  35. 12
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyRest.java
  36. 62
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyService.java
  37. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java
  38. 322
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  39. 10
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java
  40. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleinquiry/BusVehicleInquiryService.java
  41. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderMapper.xml
  42. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java
  43. 7
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempVo.java

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApplyByVehQuery.java

@ -52,8 +52,8 @@ public class BaseAccadjApplyByVehQuery implements Query {
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("调车类型(0调入,1调出)")
private String shuntingType; // 调车类型(0调入,1调出)
@ApiModelProperty("调车类型key")
private String shuntingTypeKey; // 调车类型key
@ApiModelProperty("调出分公司sid")
private String callOutOrgSid; // 调出分公司sid
@ApiModelProperty("调入分公司sid")

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApplyDetailsVo.java

@ -69,6 +69,10 @@ public class BaseAccadjApplyDetailsVo implements Vo {
private String callInOrgSid; // 调入分公司sid
@ApiModelProperty("调入分公司名称")
private String callInOrgName; // 调入分公司名称
@ApiModelProperty("流程实例的sid")
private String instanceId; // 流程实例的sid
@ApiModelProperty("taskId")
private String taskId; // taskId
@ApiModelProperty("调账车辆列表")
private List<BaseInternalPurchaseVehicle> baseInternalPurchaseVehicles; // 调账车辆列表
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApplyFeign.java

@ -30,6 +30,7 @@ import com.yxt.anrui.base.api.baseaccadjapply.flow.BaseAccAdjApplyTaskQuery;
import com.yxt.anrui.base.api.baseaccadjapply.flow.SubmitBaseAccAdjApplyDto;
import com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchaseDetailsVo;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleDetailsVo;
import com.yxt.anrui.base.api.baseshuntinginvoicingapply.flow.BaseShuntingInvoicingApplyCompleteDto;
import com.yxt.anrui.base.api.busvehicleapply.flow.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -99,6 +100,10 @@ public interface BaseAccadjApplyFeign {
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody BaseAccAdjApplyCompleteDto query);
@ApiOperation(value = "办理(同意)")
@PostMapping("/InitiatorToAnswer")
public ResultBean InitiatorToAnswer(@Valid @RequestBody BaseAccAdjApplyCompleteDto query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<GetNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query);

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApplyFeignFallback.java

@ -91,6 +91,11 @@ public class BaseAccadjApplyFeignFallback implements BaseAccadjApplyFeign {
return null;
}
@Override
public ResultBean InitiatorToAnswer(BaseAccAdjApplyCompleteDto query) {
return null;
}
@Override
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
return null;

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeign.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.base.api.baseinternalpurchase;
import com.yxt.anrui.base.api.baseaccadjapply.flow.BaseAccAdjApplyCompleteDto;
import com.yxt.anrui.base.api.baseinternalpurchase.flow.BaseInterNalPurchaseCompleteDto;
import com.yxt.anrui.base.api.baseinternalpurchase.flow.BaseInterNalPurchaseTaskQuery;
import com.yxt.anrui.base.api.baseinternalpurchase.flow.SubmitBaseInterNalPurchaseDto;
@ -94,6 +95,10 @@ public interface BaseInternalPurchaseFeign {
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody BaseInterNalPurchaseCompleteDto bvd);
@ApiOperation(value = "办理(同意)")
@PostMapping("/InitiatorToAnswer")
public ResultBean InitiatorToAnswer(@Valid @RequestBody BaseInterNalPurchaseCompleteDto bvd);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean getNextNodesForSubmit(@Valid @SpringQueryMap GetNextNodeDto query);

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeignFallback.java

@ -85,6 +85,11 @@ public class BaseInternalPurchaseFeignFallback implements BaseInternalPurchaseFe
return null;
}
@Override
public ResultBean InitiatorToAnswer(BaseInterNalPurchaseCompleteDto bvd) {
return null;
}
@Override
public ResultBean getNextNodesForSubmit(GetNextNodeDto query) {
return null;

8
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseQuery.java

@ -55,8 +55,12 @@ public class BaseInternalPurchaseQuery implements Query {
private String createStartTime; // 申请开始日期
@ApiModelProperty("申请结束日期")
private String createEndTime; // 申请结束日期
@ApiModelProperty("售方机构sid")
private String sellerOrgSid; // 售方机构sid
@ApiModelProperty("调入分公司sid")
private String buyerOrgSid; // 调入分公司sid
@ApiModelProperty("调出分公司sid")
private String sellerOrgSid; // 调出分公司sid
@ApiModelProperty("调车类型key")
private String shuntingTypeKey; // 调车类型key
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid

6
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleDetailsVo.java

@ -83,8 +83,10 @@ public class BaseInternalPurchaseVehicleDetailsVo implements Vo {
private String isInvoicing; // 是否开票(0未开票,1已开票)
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("调车类型")
private String shuntingType;
@ApiModelProperty("调车类型key")
private String shuntingTypeKey; // 调车类型key
@ApiModelProperty("调车类型value")
private String shuntingTypeValue; // 调车类型value
@ApiModelProperty("调入分公司名称")
private String buyerOrgName;
@ApiModelProperty("调入分公司sid")

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleDto.java

@ -53,8 +53,8 @@ public class BaseInternalPurchaseVehicleDto implements Dto {
@ApiModelProperty("内购申请sid")
private String mainSid; // 内购申请sid
@ApiModelProperty("车型sid")
private String modelSid; // 车型sid
@ApiModelProperty("车型sid")
private String vehicleSid; // 车型sid
@ApiModelProperty("车型别名")
private String vehicleAlias; // 车型别名
@ApiModelProperty("常用配置sid")

36
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleVo.java

@ -51,20 +51,40 @@ public class BaseInternalPurchaseVehicleVo implements Vo {
private String sid; // sid
@ApiModelProperty("内购申请sid")
@ApiModelProperty("内购申请sid")
private String mainSid; // 内购申请sid
@ApiModelProperty("车型sid")
private String modelSid; // 车型sid
@ApiModelProperty("车型别名")
@ApiModelProperty("车型sid")
private String vehicleSid; // 车型sid
@ApiModelProperty("车型别名")
private String vehicleAlias; // 车型别名
@ApiModelProperty("常用配置sid")
@ApiModelProperty("常用配置sid")
private String configSid; // 常用配置sid
@ApiModelProperty("常用配置名称")
@ApiModelProperty("常用配置名称")
private String configName; // 常用配置名称
@ApiModelProperty("运费")
@ApiModelProperty("运费")
private String freight; // 运费
@ApiModelProperty("车架号")
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("库存地点sid")
private String inventoryLocationSid; // 库存地点sid
@ApiModelProperty("库存地点名称")
private String inventoryLocationName; // 库存地点名称
@ApiModelProperty("内销价格")
private String witPinMoney; // 内销价格
@ApiModelProperty("发票类型key")
private String invoiceTypeKey; // 发票类型key
@ApiModelProperty("发票类型value")
private String invoiceTypeValue; // 发票类型value
@ApiModelProperty("运费承担方sid")
private String freightUndertakerSid; // 运费承担方sid
@ApiModelProperty("运费承担方名称")
private String freightUndertakerName; // 运费承担方名称
@ApiModelProperty("运费承担方类型")
private String freightUndertakerType; // 运费承担方类型
@ApiModelProperty("是否调账(0未调账,1已调账)")
private String isAccadj; // 是否调账(0未调账,1已调账)
@ApiModelProperty("是否开票(0未开票,1已开票)")
private String isInvoicing; // 是否开票(0未开票,1已开票)
}

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicinapplyeveh/BaseShuntingInvoicinApplyeVehDetailsVo.java

@ -95,4 +95,6 @@ public class BaseShuntingInvoicinApplyeVehDetailsVo implements Vo {
private String isAccadj; // 是否调账(0未调账,1已调账)
@ApiModelProperty("是否开票(0未开票,1已开票)")
private String isInvoicing; // 是否开票(0未开票,1已开票)
@ApiModelProperty("备注")
private String remarks; // 备注
}

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyDetailsVo.java

@ -63,6 +63,10 @@ public class BaseShuntingInvoicingApplyDetailsVo implements Vo {
private String callInOrgSid; // 调入分公司sid
@ApiModelProperty("调入分公司名称")
private String callInOrgName; // 调入分公司名称
@ApiModelProperty("流程实例的sid")
private String instanceId; // 流程实例的sid
@ApiModelProperty("taskId")
private String taskId; // taskId
@ApiModelProperty("调车开票车辆列表")
private List<BaseShuntingInvoicinApplyeVehDetailsVo> baseShuntingInvoicinApplyeVehs; // 调车开票车辆列表
}

8
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeign.java

@ -103,13 +103,17 @@ public interface BaseShuntingInvoicingApplyFeign {
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody BaseShuntingInvoicingApplyCompleteDto query);
@ApiOperation(value = "办理(同意)")
@PostMapping("/callInOrgToCallOutOrg")
public ResultBean callInOrgToCallOutOrg(@Valid @RequestBody BaseShuntingInvoicingApplyCompleteDto query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<GetNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query);
ResultBean getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<GetNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap GetNodeQuery query);
ResultBean getNextNodesForSubmit(@Valid @SpringQueryMap GetNodeQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeignFallback.java

@ -91,6 +91,11 @@ public class BaseShuntingInvoicingApplyFeignFallback implements BaseShuntingInvo
return null;
}
@Override
public ResultBean callInOrgToCallOutOrg(BaseShuntingInvoicingApplyCompleteDto query) {
return null;
}
@Override
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
return null;

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingByVehQuery.java

@ -31,6 +31,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel(value = "调车申请表 查询条件", description = "调车申请表 查询条件")
public class BaseShuntingInvoicingByVehQuery implements Query {
@ -39,4 +41,6 @@ public class BaseShuntingInvoicingByVehQuery implements Query {
private String callOutOrgSid; // 调出分公司sid
@ApiModelProperty("调入分公司sid")
private String callInOrgSid; // 调入分公司sid
@ApiModelProperty("调车车辆列表sid")
private List<String> sids; // 调车车辆列表sid
}

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicle.java

@ -64,7 +64,7 @@ public class BaseVehicle extends BaseEntity {
private String orderingNo;
@ApiModelProperty(value = "入库价")
private Integer costPriced;
private Integer costPrice;
@ApiModelProperty(value = "运费")
private Integer freight;
@ApiModelProperty(value = "厂家合同价")

6
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleActualVo.java

@ -20,18 +20,24 @@ public class BaseVehicleActualVo implements Vo {
private String brandName;
@ApiModelProperty(value = "车型")
private String vehicleAlias;
@ApiModelProperty(value = "车型sid")
private String modelSid;
@ApiModelProperty(value = "车架号")
private String vinNo;
@ApiModelProperty(value = "颜色")
private String color;
@ApiModelProperty(value = "存放地点")
private String location;
@ApiModelProperty(value = "存放地点sid")
private String locationSid;
@ApiModelProperty(value = "销售指导价")
@JsonSerialize(using = ToStringSerializer.class)
private String guidedPrice;
@ApiModelProperty(value = "常用配置")
private String configName;
@ApiModelProperty(value = "常用配置sid")
private String configSid;
@ApiModelProperty(value = "入库日期")
private String priceDate;

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleDto.java

@ -80,7 +80,7 @@ public class BaseVehicleDto implements Dto {
@ApiModelProperty("存放地点名称(陕汽必须的字段)")
private String locationName;
@ApiModelProperty(value = "厂家入库价")
private Integer costPriced;
private Integer costPrice;
@ApiModelProperty(value = "厂家合同价")
private Integer contractPrice;
@ApiModelProperty(value = "成交价")

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

@ -70,11 +70,13 @@ public class BaseVehicleSelectVo implements Vo {
@ApiModelProperty("存放地点名称(陕汽必须的字段)")
private String locationName;
@ApiModelProperty(value = "厂家入库价")
private float costPriced;
private float costPrice;
@ApiModelProperty(value = "成交价")
private float salePrice;
@ApiModelProperty("保修卡号")
private String warrantyCardNo;
@ApiModelProperty("内部编码")
private String insideCode;
@ApiModelProperty("锁定状态")
private String lockedState;
@ApiModelProperty("锁定状态Value")

11
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/ExiCarConfigDetailVo.java

@ -8,10 +8,16 @@ import lombok.Data;
public class ExiCarConfigDetailVo implements Vo {
private static final long serialVersionUID = 5960160515593151936L;
@ApiModelProperty(value = "车型信息")
private String vehModelInfor;
@ApiModelProperty(value = "车型别名")
private String vehicleAlias;
@ApiModelProperty(value = "常用配置名称")
private String configName;
@ApiModelProperty(value = "品牌")
private String brandName;
@ApiModelProperty(value = "品牌sid")
private String brandSid;
@ApiModelProperty(value = "功能")
private String vehicleTypeValue;
@ApiModelProperty(value = "排放标准")
@ -82,4 +88,9 @@ public class ExiCarConfigDetailVo implements Vo {
private String configuringBao;
@ApiModelProperty(value = "更多配置")
private String otherConfig;
@ApiModelProperty(value = "车型sid")
private String modelSid;
@ApiModelProperty(value = "常用配置sid")
private String configSid;
}

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleinquiry/BusVehicleInquiry.java

@ -76,6 +76,10 @@ public class BusVehicleInquiry extends BaseEntity {
private String customerSid;
@ApiModelProperty("常用配置更多配置")
private String moreConfig;
@ApiModelProperty("换装配置")
private String replacementConfig;
@ApiModelProperty("选装配置")
private String optionalConfig;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
}

6
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleinquiry/BusVehicleInquiryDto.java

@ -75,6 +75,12 @@ public class BusVehicleInquiryDto implements Dto {
private String customerSid;
@ApiModelProperty("常用配置更多配置")
private String moreConfig;
@ApiModelProperty("换装配置")
private String replacementConfig;
@ApiModelProperty("选装配置")
private String optionalConfig;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("申请人sid")
private String createBySid;
}

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyMapper.java

@ -71,4 +71,6 @@ public interface BaseAccadjApplyMapper extends BaseMapper<BaseAccadjApply> {
IPage<BaseInternalPurchaseVehicleDetailsVo> fetchVeh(IPage<BaseInternalPurchaseVehicleDetailsVo> page, @Param(Constants.WRAPPER) Wrapper<BaseInternalPurchaseVehicleDetailsVo> qw);
int updateFlowFiled(Map<String, Object> map);
int selectBySid(String join);
}

10
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyMapper.xml

@ -15,7 +15,8 @@
resultType="com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleDetailsVo">
SELECT
bipv.*,
bip.`shuntingType`,
bip.`shuntingTypeKey`,
bip.`shuntingTypeValue`,
bip.`buyerOrgName`,
bip.`buyerOrgSid`,
bip.`sellerOrgName`,
@ -42,4 +43,11 @@
</if>
WHERE sid = #{sid}
</update>
<select id="selectBySid" resultType="int">
SELECT COUNT(*)
FROM base_accadj_apply
WHERE nodeState != '待提交'
and find_in_set(sid, #{list})
</select>
</mapper>

8
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyRest.java

@ -114,6 +114,14 @@ public class BaseAccadjApplyRest implements BaseAccadjApplyFeign {
return baseAccadjApplyService.complete(bv);
}
@Override
public ResultBean InitiatorToAnswer(BaseAccAdjApplyCompleteDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASEACCADJAPPLY.getProDefId());
return baseAccadjApplyService.InitiatorToAnswer(bv);
}
@Override
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
return baseAccadjApplyService.getPreviousNodesForReject(query);

77
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java

@ -57,6 +57,7 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.api.sysuser.UserQuery;
import com.yxt.common.base.utils.DateUtils;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
@ -132,12 +133,13 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
return p;
}
public ResultBean saveOrUpdateDto(BaseAccadjApplyDto dto) {
public ResultBean<String> saveOrUpdateDto(BaseAccadjApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid();
List<String> accSids = dto.getAccSids();
if (StringUtils.isBlank(dtoSid)) {//新增
dto.setApplyDate(DateUtil.today());
dto.setNodeState("待提交");
ResultBean resultBean = this.insertByDto(dto);
String sid = (String) resultBean.getData();
for (String accSid : accSids) {
@ -146,7 +148,7 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
baseAccadjApplyeVeh.setPurchaseSid(accSid);
baseAccadjApplyeVehService.save(baseAccadjApplyeVeh);
}
return rb.success().setMsg("保存成功");
return rb.success().setMsg("保存成功").setData(resultBean.getData());
}
BaseAccadjApply baseAccadjApply = fetchBySid(dtoSid);
if (baseAccadjApply == null) {
@ -160,10 +162,10 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
baseAccadjApplyeVeh.setPurchaseSid(accSid);
baseAccadjApplyeVehService.save(baseAccadjApplyeVeh);
}
return rb.success().setMsg("修改成功");
return rb.success().setMsg("修改成功").setData(dtoSid);
}
public ResultBean insertByDto(BaseAccadjApplyDto dto) {
public ResultBean<String> insertByDto(BaseAccadjApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
BaseAccadjApply entity = new BaseAccadjApply();
BeanUtil.copyProperties(dto, entity, "id", "sid");
@ -187,6 +189,7 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
BaseAccadjApplyDetailsVo vo = new BaseAccadjApplyDetailsVo();
List<BaseInternalPurchaseVehicle> baseInternalPurchaseVehicles = new ArrayList<>();
BeanUtil.copyProperties(entity, vo);
vo.setInstanceId(entity.getProcInstId());
String sid1 = vo.getSid();
List<String> stringList = baseAccadjApplyeVehService.fetchByMainSid(sid1);
for (String s : stringList) {
@ -212,8 +215,8 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("bipv.vinNo", query.getVinNo());
}
if (StringUtils.isNotBlank(query.getShuntingType())){
qw.eq("bip.shuntingType",query.getShuntingType());
if (StringUtils.isNotBlank(query.getShuntingTypeKey())) {
qw.eq("bip.shuntingTypeKey", query.getShuntingTypeKey());
}
qw.eq("bip.buyerOrgSid", callInOrgSid);
qw.eq("bip.sellerOrgSid", callOutOrgSid);
@ -229,6 +232,11 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
public ResultBean delAll(String[] sids) {
ResultBean rb = ResultBean.fireFail();
//查询该sid中是否有流程不是待提交的
int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
if (count > 0) {
return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败");
}
delBySids(sids);
for (String sid : sids) {
baseAccadjApplyeVehService.delByMainSid(sid);
@ -355,6 +363,61 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
}
}
public ResultBean InitiatorToAnswer(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
BaseAccadjApply baseAccadjApply = fetchBySid(bv.getBusinessSid());
if (baseAccadjApply.getAccadjTypeValue().equals("调入")) {
String callOutOrgSid = baseAccadjApply.getCallOutOrgSid();
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
List<String> candidateGroups = voList.get(0).getCandidateGroups();
UserQuery userQuery = new UserQuery();
userQuery.setRoleSid(candidateGroups.get(0));
userQuery.setOrgSidPath("11/11/" + callOutOrgSid + "/11");
List<SysUserVo> sysUserVos = sysUserFeign.getUserByRole(userQuery).getData();
StringBuilder nextNodeUserSids =new StringBuilder();
if (sysUserVos.size() > 0) {
for (SysUserVo sysUserVo : sysUserVos) {
String sid = sysUserVo.getSid();
nextNodeUserSids.append(sid).append(",");
}
}
String substring = nextNodeUserSids.substring(0,nextNodeUserSids.lastIndexOf(","));
bv.setNextNodeUserSids(substring);
}
if (baseAccadjApply.getAccadjTypeValue().equals("调出")) {
String callInOrgSid = baseAccadjApply.getCallInOrgSid();
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
List<String> candidateGroups = voList.get(0).getCandidateGroups();
UserQuery userQuery = new UserQuery();
userQuery.setRoleSid(candidateGroups.get(0));
userQuery.setOrgSidPath("11/11/" + callInOrgSid + "/11");
List<SysUserVo> sysUserVos = sysUserFeign.getUserByRole(userQuery).getData();
StringBuilder nextNodeUserSids =new StringBuilder();
if (sysUserVos.size() > 0) {
for (SysUserVo sysUserVo : sysUserVos) {
String sid = sysUserVo.getSid();
nextNodeUserSids.append(sid).append(",");
}
}
String substring = nextNodeUserSids.substring(0,nextNodeUserSids.lastIndexOf(","));
bv.setNextNodeUserSids(substring);
}
if (bv.getTaskId().equals(baseAccadjApply.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
@ -457,4 +520,6 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
}

1
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseMapper.xml

@ -6,6 +6,7 @@
<select id="selectPageVo" resultType="com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchaseVo">
SELECT DISTINCT
bip.sid,
bip.shuntingTypeValue,
bip.`applyNo`,
bip.`applyPeoName`,
bip.`createTime`,

8
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseRest.java

@ -108,6 +108,14 @@ public class BaseInternalPurchaseRest implements BaseInternalPurchaseFeign {
return baseInternalPurchaseService.complete(bv);
}
@Override
public ResultBean InitiatorToAnswer(BaseInterNalPurchaseCompleteDto bvd) {
BusinessVariables bv=new BusinessVariables();
BeanUtil.copyProperties(bvd,bv);
bv.setModelId(ProcDefEnum.BASEINTERNALPURCHASE.getProDefId());
return baseInternalPurchaseService.InitiatorToAnswer(bv);
}
@Override
public ResultBean getNextNodesForSubmit(GetNextNodeDto gnnd) {
return baseInternalPurchaseService.getNextNodesForSubmit(gnnd);

730
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java

@ -57,6 +57,7 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.api.sysuser.UserQuery;
import com.yxt.common.base.utils.ConstantUtils;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
@ -90,347 +91,422 @@ import java.util.stream.Collectors;
@Service
public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternalPurchaseMapper, BaseInternalPurchase> {
@Autowired
private BaseInternalPurchaseVehicleService baseInternalPurchaseVehicleService;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private BaseInternalPurchaseVehicleService baseInternalPurchaseVehicleService;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
private QueryWrapper<BaseInternalPurchase> createQueryWrapper(BaseInternalPurchaseQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<BaseInternalPurchase> qw = new QueryWrapper<>();
return qw;
}
public PagerVo<BaseInternalPurchaseVo> listPageVo(PagerQuery<BaseInternalPurchaseQuery> pq) {
BaseInternalPurchaseQuery query = pq.getParams();
QueryWrapper<BaseInternalPurchase> qw = new QueryWrapper<>();
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
qw.eq("bip.createOrgSid",query.getCreateOrgSid());
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (bip.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(createEndTime), "date_format (bip.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
if (StringUtils.isNotBlank(query.getNodeState())){
//qw.eq("bip.nodeState",query.getNodeState());
}
if (StringUtils.isNotBlank(query.getSellerOrgSid())){
qw.like("bip.sellerOrgSid",query.getSellerOrgSid());
}
IPage<BaseInternalPurchase> page = PagerUtil.queryToPage(pq);
IPage<BaseInternalPurchaseVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<BaseInternalPurchaseVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean<BaseInternalPurchaseDetailsVo> fetchDetailsVoBySid(String sid){
ResultBean rb = ResultBean.fireFail();
BaseInternalPurchaseDetailsVo baseInternalPurchaseDetailsVo = new BaseInternalPurchaseDetailsVo();
BaseInternalPurchase entity = fetchBySid(sid);
BeanUtil.copyProperties(entity, baseInternalPurchaseDetailsVo);
List<BaseInternalPurchaseVehicleVo> baseInternalPurchaseVehicleVos = baseInternalPurchaseVehicleService.fetchByMainSid(sid);
baseInternalPurchaseDetailsVo.setBaseInternalPurchaseVehicles(baseInternalPurchaseVehicleVos);
return rb.success().setData(baseInternalPurchaseDetailsVo);
}
private QueryWrapper<BaseInternalPurchase> createQueryWrapper(BaseInternalPurchaseQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<BaseInternalPurchase> qw = new QueryWrapper<>();
return qw;
}
public ResultBean<String> saveAll(BaseInternalPurchaseDto dto) {
ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid();
List<BaseInternalPurchaseVehicleDto> baseInternalPurchaseVehicles = dto.getBaseInternalPurchaseVehicles();
if (StringUtils.isBlank(dtoSid)) {//新增
String sellerOrgName = dto.getSellerOrgName();
if (StringUtils.isBlank(sellerOrgName)){
return rb.setMsg("售方机构不能为空");
}
BaseInternalPurchase baseInternalPurchase = new BaseInternalPurchase();
String sid = baseInternalPurchase.getSid();
BeanUtil.copyProperties(dto,baseInternalPurchase);
baseInternalPurchase.setSid(sid);
//申请编号规则:单据名称大写首字母+品牌编码+分公司编码+年份+月份+4位顺序号
//获取单据名称大写首字母+品牌编码+分公司编码+年份+月份
String billNo = getApplyCode(dto.getCreateBySid());
baseInternalPurchase.setNodeState("待提交");
baseInternalPurchase.setApplyNo(billNo);
save(baseInternalPurchase);
for (BaseInternalPurchaseVehicleDto baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) {
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = new BaseInternalPurchaseVehicle();
String sid1 = baseInternalPurchaseVehicle1.getSid();
BeanUtil.copyProperties(baseInternalPurchaseVehicle,baseInternalPurchaseVehicle1);
baseInternalPurchaseVehicle1.setSid(sid1);
baseInternalPurchaseVehicle1.setMainSid(sid);
baseInternalPurchaseVehicleService.save(baseInternalPurchaseVehicle1);
}
return rb.success().setMsg("保存成功").setData(baseInternalPurchase.getSid());
}
BaseInternalPurchase baseInternalPurchase = fetchBySid(dtoSid);
if (baseInternalPurchase == null){
return rb.setMsg("该内购申请单不存在");
}
updateBySid(dto.toMap(),dtoSid);
baseInternalPurchaseVehicleService.delByMainSid(dtoSid);
for (BaseInternalPurchaseVehicleDto baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) {
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = new BaseInternalPurchaseVehicle();
String sid1 = baseInternalPurchaseVehicle1.getSid();
BeanUtil.copyProperties(baseInternalPurchaseVehicle,baseInternalPurchaseVehicle1);
baseInternalPurchaseVehicle1.setSid(sid1);
baseInternalPurchaseVehicle1.setMainSid(dtoSid);
baseInternalPurchaseVehicleService.save(baseInternalPurchaseVehicle1);
}
return rb.success().setMsg("修改成功").setData(dtoSid);
}
public PagerVo<BaseInternalPurchaseVo> listPageVo(PagerQuery<BaseInternalPurchaseQuery> pq) {
BaseInternalPurchaseQuery query = pq.getParams();
QueryWrapper<BaseInternalPurchase> qw = new QueryWrapper<>();
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
qw.eq("bip.createOrgSid", query.getCreateOrgSid());
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (bip.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(createEndTime), "date_format (bip.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
if (StringUtils.isNotBlank(query.getNodeState())) {
//qw.eq("bip.nodeState",query.getNodeState());
}
if (StringUtils.isNotBlank(query.getSellerOrgSid())) {
qw.like("bip.sellerOrgSid", query.getSellerOrgSid());
}
IPage<BaseInternalPurchase> page = PagerUtil.queryToPage(pq);
IPage<BaseInternalPurchaseVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<BaseInternalPurchaseVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public String getApplyCode(String userSid) {
//获取分公司sid
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid);
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(resultBean.getData());
String orgCode = resultBean1.getData().getOrgCode();
BillNo b = new BillNo();
b.setOrgCode(orgCode);
b.setBillType(BillTypeEnum.NGSQ.getBillType());
String bill = Rule.getBill(b);
int i = baseMapper.selectNum(bill);
String billNo = Rule.getBillNo(bill, i);
return billNo;
}
public ResultBean<BaseInternalPurchaseDetailsVo> fetchDetailsVoBySid(String sid) {
ResultBean rb = ResultBean.fireFail();
BaseInternalPurchaseDetailsVo baseInternalPurchaseDetailsVo = new BaseInternalPurchaseDetailsVo();
BaseInternalPurchase entity = fetchBySid(sid);
BeanUtil.copyProperties(entity, baseInternalPurchaseDetailsVo);
//调入分公司sid
String buyerOrgSid = baseInternalPurchaseDetailsVo.getBuyerOrgSid();
//调出分公司sid
String sellerOrgSid = baseInternalPurchaseDetailsVo.getSellerOrgSid();
List<BaseInternalPurchaseVehicleVo> baseInternalPurchaseVehicleVos = baseInternalPurchaseVehicleService.fetchByMainSid(sid);
for (BaseInternalPurchaseVehicleVo baseInternalPurchaseVehicleVo : baseInternalPurchaseVehicleVos) {
//运费承担方sid
String freightUndertakerSid = baseInternalPurchaseVehicleVo.getFreightUndertakerSid();
if (freightUndertakerSid.equals(buyerOrgSid)) {
baseInternalPurchaseVehicleVo.setFreightUndertakerType("调入分公司");
} else if (freightUndertakerSid.equals(sellerOrgSid)) {
baseInternalPurchaseVehicleVo.setFreightUndertakerType("调出分公司");
}
}
baseInternalPurchaseDetailsVo.setBaseInternalPurchaseVehicles(baseInternalPurchaseVehicleVos);
return rb.success().setData(baseInternalPurchaseDetailsVo);
}
public ResultBean delAll(String[] sids) {
ResultBean rb = ResultBean.fireFail();
//查询该sid中是否有流程不是待提交的
int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
if (count > 0) {
return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败");
}
delBySids(sids);
for (String sid : sids) {
baseInternalPurchaseVehicleService.delByMainSid(sid);
}
return rb.success().setMsg("删除成功");
}
public ResultBean<String> saveAll(BaseInternalPurchaseDto dto) {
ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid();
List<BaseInternalPurchaseVehicleDto> baseInternalPurchaseVehicles = dto.getBaseInternalPurchaseVehicles();
if (StringUtils.isBlank(dtoSid)) {//新增
String sellerOrgName = dto.getSellerOrgName();
if (StringUtils.isBlank(sellerOrgName)) {
return rb.setMsg("售方机构不能为空");
}
BaseInternalPurchase baseInternalPurchase = new BaseInternalPurchase();
String sid = baseInternalPurchase.getSid();
BeanUtil.copyProperties(dto, baseInternalPurchase);
baseInternalPurchase.setSid(sid);
//申请编号规则:单据名称大写首字母+品牌编码+分公司编码+年份+月份+4位顺序号
//获取单据名称大写首字母+品牌编码+分公司编码+年份+月份
String billNo = getApplyCode(dto.getCreateBySid());
baseInternalPurchase.setNodeState("待提交");
baseInternalPurchase.setApplyNo(billNo);
save(baseInternalPurchase);
for (BaseInternalPurchaseVehicleDto baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) {
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = new BaseInternalPurchaseVehicle();
String sid1 = baseInternalPurchaseVehicle1.getSid();
BeanUtil.copyProperties(baseInternalPurchaseVehicle, baseInternalPurchaseVehicle1);
baseInternalPurchaseVehicle1.setSid(sid1);
baseInternalPurchaseVehicle1.setMainSid(sid);
baseInternalPurchaseVehicle1.setModelSid(baseInternalPurchaseVehicle.getVehicleSid());
baseInternalPurchaseVehicleService.save(baseInternalPurchaseVehicle1);
}
return rb.success().setMsg("保存成功").setData(baseInternalPurchase.getSid());
}
BaseInternalPurchase baseInternalPurchase = fetchBySid(dtoSid);
if (baseInternalPurchase == null) {
return rb.setMsg("该内购申请单不存在");
}
updateBySid(dto.toMap(), dtoSid);
baseInternalPurchaseVehicleService.delByMainSid(dtoSid);
for (BaseInternalPurchaseVehicleDto baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) {
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = new BaseInternalPurchaseVehicle();
String sid1 = baseInternalPurchaseVehicle1.getSid();
BeanUtil.copyProperties(baseInternalPurchaseVehicle, baseInternalPurchaseVehicle1);
baseInternalPurchaseVehicle1.setSid(sid1);
baseInternalPurchaseVehicle1.setMainSid(dtoSid);
baseInternalPurchaseVehicleService.save(baseInternalPurchaseVehicle1);
}
return rb.success().setMsg("修改成功").setData(dtoSid);
}
public ResultBean submitBaseInternalPurchase(SubmitBaseInterNalPurchaseDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getCreateBySid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> orgByStaffSid = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!orgByStaffSid.getSuccess()) {
return rb.setMsg(orgByStaffSid.getMsg());
}
//用户的组织全路径
String orgSidPath = orgByStaffSid.getData().getOrgSidPath();
BaseInternalPurchase baseInternalPurchase = fetchBySid(dto.getSid());
int r = submitBusinessData(dto, baseInternalPurchase);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//新增修改保存
ResultBean<String> resultBean = saveAll(dto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
String businessSid = resultBean.getData();
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值
Map<String, Object> variables = BeanUtil.beanToMap(dto);
//若有网关,则赋值网关中判断的字段。
variables.put("businessSid", businessSid);
//用户的部门全路径sid
bv.setOrgSidPath(orgSidPath);
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(dto.getCreateBySid());
bv.setFormVariables(variables);
//流程定义id
bv.setModelId(ProcDefEnum.BASEINTERNALPURCHASE.getProDefId());
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
return voResultBean;
}
if (r == 2) {
// ToDo:驳回到发起人后再次提交
if (StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
bv.setTaskId(baseInternalPurchase.getTaskId());
bv.setTaskDefKey(baseInternalPurchase.getNodeSid());
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
}
public String getApplyCode(String userSid) {
//获取分公司sid
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid);
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(resultBean.getData());
String orgCode = resultBean1.getData().getOrgCode();
BillNo b = new BillNo();
b.setOrgCode(orgCode);
b.setBillType(BillTypeEnum.NGSQ.getBillType());
String bill = Rule.getBill(b);
int i = baseMapper.selectNum(bill);
String billNo = Rule.getBillNo(bill, i);
return billNo;
}
/**
* 判断提交的流程是否被允许
*
* @param dto
* @return
*/
private synchronized int submitBusinessData(SubmitBaseInterNalPurchaseDto dto, BaseInternalPurchase baseInternalPurchase) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {
r = 1;
} else {
if (baseInternalPurchase != null) {
String businessTaskId = baseInternalPurchase.getTaskId();
if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) {
//新提交
r = 1;
} else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) {
//二次提交//只有数据一致的时候才能进行下一步
r = 2;
}
} else {
r = 3;
}
public ResultBean delAll(String[] sids) {
ResultBean rb = ResultBean.fireFail();
//查询该sid中是否有流程不是待提交的
int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
if (count > 0) {
return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败");
}
delBySids(sids);
for (String sid : sids) {
baseInternalPurchaseVehicleService.delByMainSid(sid);
}
return rb.success().setMsg("删除成功");
}
}
return r;
}
public ResultBean submitBaseInternalPurchase(SubmitBaseInterNalPurchaseDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getCreateBySid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> orgByStaffSid = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!orgByStaffSid.getSuccess()) {
return rb.setMsg(orgByStaffSid.getMsg());
}
//用户的组织全路径
String orgSidPath = orgByStaffSid.getData().getOrgSidPath();
BaseInternalPurchase baseInternalPurchase = fetchBySid(dto.getSid());
int r = submitBusinessData(dto, baseInternalPurchase);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//新增修改保存
ResultBean<String> resultBean = saveAll(dto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
String businessSid = resultBean.getData();
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值
Map<String, Object> variables = BeanUtil.beanToMap(dto);
//若有网关,则赋值网关中判断的字段。
variables.put("businessSid", businessSid);
//用户的部门全路径sid
bv.setOrgSidPath(orgSidPath);
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(dto.getCreateBySid());
bv.setFormVariables(variables);
//流程定义id
bv.setModelId(ProcDefEnum.BASEINTERNALPURCHASE.getProDefId());
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
return voResultBean;
}
if (r == 2) {
// ToDo:驳回到发起人后再次提交
if (StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
bv.setTaskId(baseInternalPurchase.getTaskId());
bv.setTaskDefKey(baseInternalPurchase.getNodeSid());
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
}
private int updateFlowFiled(Map<String, Object> beanToMap) {
return baseMapper.updateFlowFiled(beanToMap);
}
/**
* 判断提交的流程是否被允许
*
* @param dto
* @return
*/
private synchronized int submitBusinessData(SubmitBaseInterNalPurchaseDto dto, BaseInternalPurchase baseInternalPurchase) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {
r = 1;
} else {
if (baseInternalPurchase != null) {
String businessTaskId = baseInternalPurchase.getTaskId();
if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) {
//新提交
r = 1;
} else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) {
//二次提交//只有数据一致的时候才能进行下一步
r = 2;
}
} else {
r = 3;
}
public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
BaseInternalPurchase baseInternalPurchase = fetchBySid(bv.getBusinessSid());
Map<String, Object> formVariables = bv.getFormVariables();
if (formVariables != null){
List<Map<String,Object>> l = ConstantUtils.getListData(formVariables,"baseInternalPurchaseVehicles");
for (int i = 0;i<l.size();i++){
Map<String,Object> map = l.get(i);
String sid = map.get("sid").toString();
String vinNo = map.get("vinNo").toString();
if (StringUtils.isBlank(vinNo)){
return rb.setMsg("请填写车架号");
}
baseInternalPurchaseVehicleService.updateVinNoBySid(sid,vinNo);
}
}
if (bv.getTaskId().equals(baseInternalPurchase.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
}
return r;
}
public ResultBean getNextNodesForSubmit(GetNextNodeDto query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASEINTERNALPURCHASE.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
private int updateFlowFiled(Map<String, Object> beanToMap) {
return baseMapper.updateFlowFiled(beanToMap);
}
public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
BaseInternalPurchase baseInternalPurchase = fetchBySid(bv.getBusinessSid());
Map<String, Object> formVariables = bv.getFormVariables();
if (formVariables != null) {
List<Map<String, Object>> l = ConstantUtils.getListData(formVariables, "baseInternalPurchaseVehicles");
for (int i = 0; i < l.size(); i++) {
Map<String, Object> map = l.get(i);
String sid = map.get("sid").toString();
String vinNo = map.get("vinNo").toString();
String inventoryLocationSid = map.get("inventoryLocationSid").toString();
String inventoryLocationName = map.get("inventoryLocationName").toString();
if (StringUtils.isBlank(vinNo)) {
return rb.setMsg("请填写车架号");
}
if (StringUtils.isBlank(inventoryLocationSid)){
return rb.setMsg("请选择存放地点");
}
baseInternalPurchaseVehicleService.updateVinNoBySid(sid, vinNo,inventoryLocationSid,inventoryLocationName);
}
}
if (bv.getTaskId().equals(baseInternalPurchase.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public ResultBean InitiatorToAnswer(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
BaseInternalPurchase baseInternalPurchase = fetchBySid(bv.getBusinessSid());
String shuntingTypeValue = baseInternalPurchase.getShuntingTypeValue();
if (shuntingTypeValue.equals("调入")) {
String callOutOrgSid = baseInternalPurchase.getSellerOrgSid();
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
List<String> candidateGroups = voList.get(0).getCandidateGroups();
UserQuery userQuery = new UserQuery();
userQuery.setRoleSid(candidateGroups.get(0));
userQuery.setOrgSidPath("11/11/" + callOutOrgSid + "/11");
List<SysUserVo> sysUserVos = sysUserFeign.getUserByRole(userQuery).getData();
StringBuilder nextNodeUserSids =new StringBuilder();
if (sysUserVos.size() > 0) {
for (SysUserVo sysUserVo : sysUserVos) {
String sid = sysUserVo.getSid();
nextNodeUserSids.append(sid).append(",");
}
}
String substring = nextNodeUserSids.substring(0,nextNodeUserSids.lastIndexOf(","));
bv.setNextNodeUserSids(substring);
}
if (shuntingTypeValue.equals("调出")) {
String callInOrgSid = baseInternalPurchase.getBuyerOrgSid();
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
List<String> candidateGroups = voList.get(0).getCandidateGroups();
UserQuery userQuery = new UserQuery();
userQuery.setRoleSid(candidateGroups.get(0));
userQuery.setOrgSidPath("11/11/" + callInOrgSid + "/11");
List<SysUserVo> sysUserVos = sysUserFeign.getUserByRole(userQuery).getData();
StringBuilder nextNodeUserSids =new StringBuilder();
if (sysUserVos.size() > 0) {
for (SysUserVo sysUserVo : sysUserVos) {
String sid = sysUserVo.getSid();
nextNodeUserSids.append(sid).append(",");
}
}
String substring = nextNodeUserSids.substring(0,nextNodeUserSids.lastIndexOf(","));
bv.setNextNodeUserSids(substring);
}
if (bv.getTaskId().equals(baseInternalPurchase.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public ResultBean getNextNodesForSubmit(GetNextNodeDto query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASEINTERNALPURCHASE.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
// List<GetNodeVo> voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
return rb.success().setData(voList);
}
public ResultBean getPreviousNodesForReject(GetNextNodeDto query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASEINTERNALPURCHASE.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
public ResultBean getPreviousNodesForReject(GetNextNodeDto query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASEINTERNALPURCHASE.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
// List<GetNodeVo> voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
return rb.success().setData(voList);
}
public ResultBean taskReject(BaseInterNalPurchaseTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BaseInternalPurchase baseInternalPurchase = fetchBySid(query.getBusinessSid());
if (baseInternalPurchase == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = baseInternalPurchase.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
//更新业务中的流程相关的参数
updateFlowFiled(map);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean taskReject(BaseInterNalPurchaseTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BaseInternalPurchase baseInternalPurchase = fetchBySid(query.getBusinessSid());
if (baseInternalPurchase == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = baseInternalPurchase.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
//更新业务中的流程相关的参数
updateFlowFiled(map);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean revokeProcess(BaseInterNalPurchaseTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
//根据业务sid查询排内购申请
BaseInternalPurchase baseInternalPurchase = fetchBySid(query.getBusinessSid());
String businessTaskId = baseInternalPurchase.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.revokeProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败,提交的数据不一致!");
}
public ResultBean revokeProcess(BaseInterNalPurchaseTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
//根据业务sid查询排内购申请
BaseInternalPurchase baseInternalPurchase = fetchBySid(query.getBusinessSid());
String businessTaskId = baseInternalPurchase.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.revokeProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败,提交的数据不一致!");
}
public ResultBean breakProcess(BaseInterNalPurchaseTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
BaseInternalPurchase baseInternalPurchase = fetchBySid(query.getBusinessSid());
String businessTaskId = baseInternalPurchase.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean breakProcess(BaseInterNalPurchaseTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
BaseInternalPurchase baseInternalPurchase = fetchBySid(query.getBusinessSid());
String businessTaskId = baseInternalPurchase.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
}

6
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleMapper.java

@ -64,9 +64,9 @@ public interface BaseInternalPurchaseVehicleMapper extends BaseMapper<BaseIntern
@Delete("delete from base_internal_purchase_vehicle where mainSid = #{dtoSid}")
int delByMainSid(String dtoSid);
@Select("select * from base_internal_purchase_vehicle where mainSid = #{dtoSid}")
@Select("select *,modelSid as vehicleSid from base_internal_purchase_vehicle where mainSid = #{dtoSid}")
List<BaseInternalPurchaseVehicleVo> fetchByMainSid(String sid);
@Update("update base_internal_purchase_vehicle set vinNo = #{vinNo} where sid = #{sid}")
int updateVinNoBySid(@Param("sid") String sid,@Param("vinNo") String vinNo);
@Update("update base_internal_purchase_vehicle set vinNo = #{vinNo},inventoryLocationSid =#{inventoryLocationSid},inventoryLocationName = #{inventoryLocationName} where sid = #{sid}")
int updateVinNoBySid(@Param("sid") String sid,@Param("vinNo") String vinNo,@Param("inventoryLocationSid") String inventoryLocationSid,@Param("inventoryLocationName") String inventoryLocationName);
}

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleService.java

@ -116,7 +116,7 @@ public class BaseInternalPurchaseVehicleService extends MybatisBaseService<BaseI
return baseMapper.fetchByMainSid(sid);
}
public int updateVinNoBySid(String sid, String vinNo) {
return baseMapper.updateVinNoBySid(sid,vinNo);
public int updateVinNoBySid(String sid, String vinNo,String inventoryLocationSid,String inventoryLocationName) {
return baseMapper.updateVinNoBySid(sid,vinNo,inventoryLocationSid,inventoryLocationName);
}
}

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicinapplyeveh/BaseShuntingInvoicinApplyeVehMapper.xml

@ -34,7 +34,7 @@
bsiav.invoicinMoney,
bsiav.invoicinCompanySid,
bsiav.invoicinCompanyName,
bsiav.`remarks`,
bipv.`remarks`,
bsiav.purchaseSid
FROM base_shunting_invoicin_applye_veh bsiav
LEFT JOIN base_internal_purchase_vehicle bipv

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyMapper.java

@ -69,4 +69,6 @@ public interface BaseShuntingInvoicingApplyMapper extends BaseMapper<BaseShuntin
IPage<BaseInternalPurchaseVehicleDetailsVo> fetchVeh(IPage<BaseInternalPurchaseVehicleDetailsVo> page, @Param(Constants.WRAPPER) QueryWrapper<BaseInternalPurchaseVehicleDetailsVo> qw);
int updateFlowFiled(Map<String, Object> map);
int selectBySid(String join);
}

7
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyMapper.xml

@ -43,4 +43,11 @@
</if>
WHERE sid = #{sid}
</update>
<select id="selectBySid" resultType="int">
SELECT COUNT(*)
FROM base_shunting_invoicing_apply
WHERE nodeState != '待提交'
and find_in_set(sid, #{list})
</select>
</mapper>

12
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyRest.java

@ -115,12 +115,20 @@ public class BaseShuntingInvoicingApplyRest implements BaseShuntingInvoicingAppl
}
@Override
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
public ResultBean callInOrgToCallOutOrg(BaseShuntingInvoicingApplyCompleteDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASESHUNINVOICAPPLY.getProDefId());
return baseShuntingInvoicingApplyService.callInOrgToCallOutOrg(bv);
}
@Override
public ResultBean getPreviousNodesForReject(GetNodeQuery query) {
return baseShuntingInvoicingApplyService.getPreviousNodesForReject(query);
}
@Override
public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
public ResultBean getNextNodesForSubmit(GetNodeQuery query) {
return baseShuntingInvoicingApplyService.getNextNodesForSubmit(query);
}

62
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyService.java

@ -26,6 +26,7 @@
package com.yxt.anrui.base.biz.baseshuntinginvoicingapply;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -51,6 +52,7 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.api.sysuser.UserQuery;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -121,17 +123,19 @@ public class BaseShuntingInvoicingApplyService extends MybatisBaseService<BaseSh
return p;
}
public ResultBean saveOrUpdateDto(BaseShuntingInvoicingApplyDto dto) {
public ResultBean<String> saveOrUpdateDto(BaseShuntingInvoicingApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
List<BaseShuntingInvoicinApplyeVehDto> baseShuntingInvoicinApplyeVehs = dto.getBaseShuntingInvoicinApplyeVehs();
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {//新增
dto.setApplyDate(DateUtil.today());
dto.setNodeState("待提交");
String s = this.insertByDto(dto);
for (BaseShuntingInvoicinApplyeVehDto baseShuntingInvoicinApplyeVeh : baseShuntingInvoicinApplyeVehs) {
baseShuntingInvoicinApplyeVeh.setMainSid(s);
baseShuntingInvoicinApplyeVehService.insertByDto(baseShuntingInvoicinApplyeVeh);
}
return rb.success().setMsg("保存成功");
return rb.success().setMsg("保存成功").setData(s);
}
BaseShuntingInvoicingApply baseShuntingInvoicingApply = fetchBySid(dtoSid);
if (baseShuntingInvoicingApply == null) {
@ -143,13 +147,13 @@ public class BaseShuntingInvoicingApplyService extends MybatisBaseService<BaseSh
for (BaseShuntingInvoicinApplyeVehDetailsVo baseShuntingInvoicinApplyeVehDetailsVo : baseShuntingInvoicinApplyeVehDetailsVos) {
for (BaseShuntingInvoicinApplyeVehDto baseShuntingInvoicinApplyeVeh : baseShuntingInvoicinApplyeVehs) {
BaseShuntingInvoicinApplyeVeh baseShuntingInvoicinApplyeVeh1 = new BaseShuntingInvoicinApplyeVeh();
BeanUtil.copyProperties(baseShuntingInvoicinApplyeVeh,baseShuntingInvoicinApplyeVeh1);
BeanUtil.copyProperties(baseShuntingInvoicinApplyeVeh, baseShuntingInvoicinApplyeVeh1);
baseShuntingInvoicinApplyeVeh1.setSid(baseShuntingInvoicinApplyeVehDetailsVo.getSid());
baseShuntingInvoicinApplyeVeh1.setMainSid(dtoSid);
baseShuntingInvoicinApplyeVehService.save(baseShuntingInvoicinApplyeVeh1);
}
}
return rb.success().setMsg("修改成功");
return rb.success().setMsg("修改成功").setData(dtoSid);
}
public String insertByDto(BaseShuntingInvoicingApplyDto dto) {
@ -174,6 +178,7 @@ public class BaseShuntingInvoicingApplyService extends MybatisBaseService<BaseSh
BaseShuntingInvoicingApply entity = fetchBySid(sid);
BaseShuntingInvoicingApplyDetailsVo vo = new BaseShuntingInvoicingApplyDetailsVo();
BeanUtil.copyProperties(entity, vo);
vo.setInstanceId(entity.getProcInstId());
List<BaseShuntingInvoicinApplyeVehDetailsVo> baseShuntingInvoicinApplyeVehDetailsVos = baseShuntingInvoicinApplyeVehService.fetchByMainSid(sid);
vo.setBaseShuntingInvoicinApplyeVehs(baseShuntingInvoicinApplyeVehDetailsVos);
return rb.success().setData(vo);
@ -191,9 +196,12 @@ public class BaseShuntingInvoicingApplyService extends MybatisBaseService<BaseSh
if (StringUtils.isBlank(callOutOrgSid)) {
return rb.setMsg("请选择调出分公司");
}
qw.eq("bip.shuntingType", "0");
qw.eq("bip.shuntingTypeKey", "01");
qw.eq("bip.buyerOrgSid", callInOrgSid);
qw.eq("bip.sellerOrgSid", callOutOrgSid);
if (query.getSids().size() > 0) {
qw.notIn("bipv.sid", query.getSids());
}
IPage<BaseInternalPurchaseVehicleDetailsVo> page = PagerUtil.queryToPage(pq);
IPage<BaseInternalPurchaseVehicleDetailsVo> pagging = baseMapper.fetchVeh(page, qw);
PagerVo<BaseInternalPurchaseVehicleDetailsVo> p = PagerUtil.pageToVo(pagging, null);
@ -202,6 +210,11 @@ public class BaseShuntingInvoicingApplyService extends MybatisBaseService<BaseSh
public ResultBean delAll(String[] sids) {
ResultBean rb = ResultBean.fireFail();
//查询该sid中是否有流程不是待提交的
int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
if (count > 0) {
return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败");
}
delBySids(sids);
for (String sid : sids) {
baseShuntingInvoicinApplyeVehService.delByMainSid(sid);
@ -317,6 +330,40 @@ public class BaseShuntingInvoicingApplyService extends MybatisBaseService<BaseSh
public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
BaseShuntingInvoicingApply baseShuntingInvoicingApply = fetchBySid(bv.getBusinessSid());
return handleProcess(bv, rb, baseShuntingInvoicingApply);
}
/**
* 流程流转调入到调出 跨分公司
*
* @param bv
* @return
*/
public ResultBean callInOrgToCallOutOrg(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
BaseShuntingInvoicingApply baseShuntingInvoicingApply = fetchBySid(bv.getBusinessSid());
String callOutOrg = baseShuntingInvoicingApply.getCallOutOrgSid();
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
List<String> candidateGroups = voList.get(0).getCandidateGroups();
UserQuery userQuery = new UserQuery();
userQuery.setRoleSid(candidateGroups.get(0));
userQuery.setOrgSidPath("11/11/" + callOutOrg + "/11");
List<SysUserVo> sysUserVos = sysUserFeign.getUserByRole(userQuery).getData();
StringBuilder nextNodeUserSids =new StringBuilder();
if (sysUserVos.size() > 0) {
for (SysUserVo sysUserVo : sysUserVos) {
String sid = sysUserVo.getSid();
nextNodeUserSids.append(sid).append(",");
}
}
String substring = nextNodeUserSids.substring(0,nextNodeUserSids.lastIndexOf(","));
bv.setNextNodeUserSids(substring);
return handleProcess(bv, rb, baseShuntingInvoicingApply);
}
private ResultBean handleProcess(BusinessVariables bv, ResultBean rb, BaseShuntingInvoicingApply baseShuntingInvoicingApply) {
if (bv.getTaskId().equals(baseShuntingInvoicingApply.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
@ -329,7 +376,7 @@ public class BaseShuntingInvoicingApplyService extends MybatisBaseService<BaseSh
}
}
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
public ResultBean getPreviousNodesForReject(GetNodeQuery query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
@ -341,7 +388,7 @@ public class BaseShuntingInvoicingApplyService extends MybatisBaseService<BaseSh
return rb.success().setData(voList);
}
public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
public ResultBean getNextNodesForSubmit(GetNodeQuery query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
@ -431,4 +478,5 @@ public class BaseShuntingInvoicingApplyService extends MybatisBaseService<BaseSh
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
}

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

@ -10,6 +10,7 @@ import com.yxt.anrui.base.api.basevehicle.app.AppBaseVehicleOrderVo;
import com.yxt.common.core.result.ResultBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;

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

@ -13,12 +13,12 @@
<!--分页列表-->
<select id="pagerList" resultType="com.yxt.anrui.base.api.basevehicle.BaseVehicleVo">
SELECT bv.sid,
bv.modelName,
bv.vinNo,
bv.engineNo,
bv.vehicleStateValue,
bv.locationName,
bv.modelConfigSid
bv.modelName,
bv.vinNo,
bv.engineNo,
bv.vehicleStateValue,
bv.locationName,
bv.modelConfigSid
FROM base_vehicle bv
<where>
${ew.sqlSegment}
@ -56,10 +56,10 @@
<!--首次发车日期-->
DATE_FORMAT(bv.manufactureDate, '%Y-%m-%d') as firstStartDate
FROM base_vehicle bv
LEFT JOIN base_vehicle_model bvm ON bvm.sid = bv.modelSid
LEFT JOIN base_model_config bmc ON bmc.sid = bv.modelConfigSid
LEFT JOIN anrui_portal.dict_common dc ON dc.dictKey = bv.vehicleState
${ew.customSqlSegment}
LEFT JOIN base_vehicle_model bvm ON bvm.sid = bv.modelSid
LEFT JOIN base_model_config bmc ON bmc.sid = bv.modelConfigSid
LEFT JOIN anrui_portal.dict_common dc ON dc.dictKey = bv.vehicleState
${ew.customSqlSegment}
</select>
<!--删除或批量删除车辆信息-->
<delete id="deleteBySids" parameterType="java.util.List">
@ -99,19 +99,19 @@
<!--发动机型号-->
bvm.engineTypeValue,
<!--系列-->
<!-- bvm.seriesValue,-->
<!-- bvm.seriesValue,-->
<!--悬架value值-->
<!-- bvm.suspensionValue,-->
<!-- bvm.suspensionValue,-->
<!--后桥-->
<!-- bvm.rearAxleValue,-->
<!-- bvm.rearAxleValue,-->
<!--速比value值-->
<!--bvm.speedRatioValue,-->
<!--轴距-->
<!--bvm.wheelbase,-->
<!--轮胎规格-->
<!-- bvm.tyreSpecification,-->
<!-- bvm.tyreSpecification,-->
<!--车型配置代码-->
<!-- bmc.vehicleCode,-->
<!-- bmc.vehicleCode,-->
<!--车身颜色-->
bmc.carColor,
<!--驾驶室规格-->
@ -145,16 +145,16 @@
<!--bvm.isValidity,
bvm.isValidityValue-->
FROM base_vehicle_model bvm
LEFT JOIN base_model_config bmc ON bmc.vehicleSid = bvm.sid
LEFT JOIN base_manufacturer bm ON bvm.manufacturer = bm.sid
LEFT JOIN base_vehicle_brand bvb ON bvb.sid = bvm.carBrand
LEFT JOIN base_model_config bmc ON bmc.vehicleSid = bvm.sid
LEFT JOIN base_manufacturer bm ON bvm.manufacturer = bm.sid
LEFT JOIN base_vehicle_brand bvb ON bvb.sid = bvm.carBrand
WHERE bvm.sid = #{modelSid}
AND bmc.sid = #{modelConfigSid}
AND bmc.sid = #{modelConfigSid}
</select>
<!--导入车辆信息-->
<insert id="saveList">
INSERT INTO base_vehicle(sid, modelSid, modelConfigSid, vinNo, engineNo, manufactureDate, location,
vehicleState, firstStartDate, libraryAge)
vehicleState, firstStartDate, libraryAge)
VALUES
<foreach collection="list" item="item" index="index" separator=",">
(UUID(),<!--sid-->
@ -179,12 +179,12 @@
<select id="namesDown" resultType="java.util.Map">
SELECT bv.vinNo, bv.sid
FROM base_vehicle bv
${ew.customSqlSegment}
${ew.customSqlSegment}
</select>
<select id="selBySid" resultType="com.yxt.anrui.base.api.basevehicle.BaseVehicle">
select bv.sid,
bv.modelSid,
bv.modelConfigSid,
bv.modelSid,
bv.modelConfigSid,
<!--车架号(VIN)-->
bv.vinNo,
<!--发动机号/许可证号-->
@ -211,7 +211,7 @@
<!--出厂价-->
<!--bv.exFactoryPrice,-->
<!--入库价-->
<!-- bv.priced,-->
<!-- bv.priced,-->
<!--入库日期-->
DATE_FORMAT(bv.priceDate, '%Y-%m-%d') as priceDate,
<!--实销日期-->
@ -223,11 +223,11 @@
<!--出库价-->
<!--bv.deliveryPrice,-->
<!--销售合同编号-->
<!-- bv.salesContractNo,-->
<!-- bv.salesContractNo,-->
<!--销售渠道-->
<!--bv.salesType,-->
<!--指导价-->
<!-- bv.guidedPrice,-->
<!-- bv.guidedPrice,-->
<!--财务开票价-->
<!--bv.financialFare,-->
<!--补贴金额-->
@ -243,13 +243,13 @@
<select id="getAppCurrentCarByPageList"
resultType="com.yxt.anrui.base.api.basevehicle.AppCurrentCarModelByPageListVo">
SELECT bvm.sid AS modelSid,
bvm.vehicleAlias,
bvm.brandName,
bvm.vehicleVersionValue,
bvm.fuelTypeValue,
bvm.gearboxTypeValue
bvm.vehicleAlias,
bvm.brandName,
bvm.vehicleVersionValue,
bvm.fuelTypeValue,
bvm.gearboxTypeValue
FROM base_vehicle bv
LEFT JOIN base_vehicle_model bvm ON bv.modelSid = bvm.sid
LEFT JOIN base_vehicle_model bvm ON bv.modelSid = bvm.sid
<where>
${ew.sqlSegment}
</where>
@ -276,8 +276,8 @@
bvm.insideCode,
bmc.packingCase
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
LEFT JOIN base_vehicle_model bvm ON bv.modelSid = bvm.sid
LEFT JOIN base_model_config bmc ON bv.modelConfigSid = bmc.sid
WHERE bv.modelSid = #{modelSid}
GROUP BY bvm.sid
</select>
@ -294,8 +294,8 @@
resultType="com.yxt.anrui.base.api.basevehicle.AppCurrentCarDetailVo">
SELECT bv.guidedPrice AS price
FROM base_vehicle bv
LEFT JOIN base_vehicle_model bvm ON bvm.sid = bv.modelSid
LEFT JOIN base_model_config bmc ON bmc.sid = bv.modelConfigSid
LEFT JOIN base_vehicle_model bvm ON bvm.sid = bv.modelSid
LEFT JOIN base_model_config bmc ON bmc.sid = bv.modelConfigSid
WHERE bvm.sid = #{modelSid}
ORDER BY bv.guidedPrice ASC
</select>
@ -303,14 +303,14 @@
<select id="getModelNumByModelSid" resultType="java.lang.String">
SELECT count(*)
FROM base_vehicle bv
LEFT JOIN base_vehicle_model bvm ON bv.modelSid = bvm.sid
LEFT JOIN base_vehicle_model bvm ON bv.modelSid = bvm.sid
WHERE bvm.sid = #{modelSid}
</select>
<select id="getConfigNumByModelSid" resultType="java.lang.String">
SELECT count(*)
FROM base_vehmodel_config bvc
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.sid
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.sid
WHERE bvc.modelSid = #{modelSid}
</select>
@ -332,8 +332,8 @@
bmc.packingCase,
bvm.insideCode
FROM base_vehmodel_config bvc
LEFT JOIN base_vehicle_model bvm ON bvc.modelSid = bvm.sid
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.sid
LEFT JOIN base_vehicle_model bvm ON bvc.modelSid = bvm.sid
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.sid
WHERE bvc.modelSid = #{modelSid}
AND bvc.configurationItemsSid = #{configSid}
AND bvc.useOrgSid = #{useOrg}
@ -360,9 +360,9 @@
<!--配置Sid-->
bv.modelConfigSid AS configSid
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}
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>
<select id="selectExiCarConfig" resultType="com.yxt.anrui.base.api.basevehicle.ExiCarConfigDetailVo">
@ -400,10 +400,18 @@
bmc.hubMaterial,
bmc.tireCover,
bmc.configuringBao,
bmc.otherConfig
bmc.otherConfig,
bmc.configName,
bvm.vehicleAlias,
bmc.sid as configSid,
bvm.sid as modelSid,
bvm.carBrand as brandSid,
concat_ws('、', bvm.`vehicleVersionValue`, bvm.`fuelTypeValue`, bvm.`gearboxTypeValue`,
bvm.`marketSegmentsValue`, bvm.`engineTypeValue`, bvm.`specifications`,
bvm.`department`) as vehModelInfor
FROM base_vehmodel_config bvc
LEFT JOIN base_vehicle_model bvm ON bvc.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.`sid`
LEFT JOIN base_vehicle_model bvm ON bvc.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.`sid`
WHERE bvc.modelSid = #{modelSid}
AND bvc.configurationItemsSid = #{configSid}
AND bvc.useOrgSid = #{useOrg}
@ -425,8 +433,8 @@
<!--销售指导价-->
<!--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`
LEFT JOIN base_vehicle_model bvm ON bv.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bv.modelConfigSid = bmc.`sid`
WHERE bv.sid = #{sid}
</select>
@ -459,44 +467,45 @@
<!--配置Sid-->
bv.modelConfigSid AS configSid
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}
LEFT JOIN base_vehicle_model bvm ON bv.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bv.modelConfigSid = bmc.`sid`
${ew.customSqlSegment}
ORDER BY
bv.priceDate desc
bv.priceDate desc
</select>
<select id="getModelList" resultType="com.yxt.anrui.base.api.basevehicle.VehicleModelPriceVo">
SELECT DISTINCT bvm.sid AS modelSid,
bvm.vehicleAlias AS modelName,
bvm.carBrand AS brandSid,
bvm.brandName,
bvm.vehicleVersionValue AS versionValue,
bvm.fuelTypeValue,
bvm.gearboxTypeValue,
(SELECT if(MIN(bvc.guidedPrice) = MAX(bvc.guidedPrice), MAX(bvc.guidedPrice),
CONCAT(MIN(bvc.guidedPrice), '-',
MAX(bvc.guidedPrice)))
FROM base_vehmodel_config bvc
WHERE bvc.modelSid
= bvm.sid
AND bvc.useOrgSid = #{useOrgSid}) AS guidedPrice,
(SELECT count(*)
FROM base_vehmodel_config bvc
WHERE bvc.modelSid = bvm.sid
AND bvc.useOrgSid = #{useOrgSid}) AS
configNum,
(SELECT count(*)
FROM base_vehicle bv
WHERE bv.modelSid = bvm.sid
AND lockedState = #{lockedStateKey}
AND bv.useOrgSid =
#{useOrgSid}) AS nowCarNum,
(select SUM(distinct cast((cast(bo.platformNo as signed)-IFNULL(cast(bo.lockingNum as signed),'0')) as signed)) as quantity from bus_vehicle_order bo
SELECT DISTINCT bvm.sid AS modelSid,
bvm.vehicleAlias AS modelName,
bvm.carBrand AS brandSid,
bvm.brandName,
bvm.vehicleVersionValue AS versionValue,
bvm.fuelTypeValue,
bvm.gearboxTypeValue,
(SELECT if(MIN(bvc.guidedPrice) = MAX(bvc.guidedPrice), MAX(bvc.guidedPrice),
CONCAT(MIN(bvc.guidedPrice), '-',
MAX(bvc.guidedPrice)))
FROM base_vehmodel_config bvc
WHERE bvc.modelSid
= bvm.sid
AND bvc.useOrgSid = #{useOrgSid}) AS guidedPrice,
(SELECT count(*)
FROM base_vehmodel_config bvc
WHERE bvc.modelSid = bvm.sid
AND bvc.useOrgSid = #{useOrgSid}) AS
configNum,
(SELECT count(*)
FROM base_vehicle bv
WHERE bv.modelSid = bvm.sid
AND lockedState = #{lockedStateKey}
AND bv.useOrgSid =
#{useOrgSid}) AS nowCarNum,
(select SUM(distinct cast((cast(bo.platformNo as signed)-IFNULL(cast(bo.lockingNum as signed),'0')) as signed))
as quantity from bus_vehicle_order bo
LEFT JOIN bus_vehicle_apply_detail bd on bo.purchaseRequisitionSid = bd.applySid
where bo.useOrgSid = #{useOrgSid} AND bd.vehicleSid = bvm.sid) AS produceCarNum
where bo.useOrgSid = #{useOrgSid} AND bd.vehicleSid = bvm.sid) AS produceCarNum
FROM base_vehicle_model bvm
LEFT JOIN base_vehmodel_config bvc ON bvm.sid = bvc.modelSid
LEFT JOIN base_vehmodel_config bvc ON bvm.sid = bvc.modelSid
<where>
${ew.sqlSegment}
</where>
@ -509,12 +518,15 @@
FROM base_vehicle bv
WHERE bv.modelSid = #{modelSid}
AND bv.lockedState = #{state}
and bv.useOrgSid = bvc.useOrgSid) AS nowCarNum,
(select SUM(distinct cast((cast(bo.platformNo as signed)-IFNULL(cast(bo.lockingNum as signed),'0')) as signed)) as quantity from bus_vehicle_order bo
LEFT JOIN bus_vehicle_apply_detail bd on bo.purchaseRequisitionSid = bd.applySid
where bo.useOrgSid = bvc.useOrgSid AND bd.vehicleSid = bvm.sid) AS produceCarNum
and bv.useOrgSid = bvc.useOrgSid) AS nowCarNum,
(select SUM(distinct cast((cast(bo.platformNo as signed) -
IFNULL(cast(bo.lockingNum as signed), '0')) as signed)) as quantity
from bus_vehicle_order bo
LEFT JOIN bus_vehicle_apply_detail bd on bo.purchaseRequisitionSid = bd.applySid
where bo.useOrgSid = bvc.useOrgSid
AND bd.vehicleSid = bvm.sid) AS produceCarNum
FROM base_vehicle_model bvm
LEFT JOIN base_vehmodel_config bvc ON bvm.sid = bvc.modelSid
LEFT JOIN base_vehmodel_config bvc ON bvm.sid = bvc.modelSid
WHERE bvc.modelSid = #{modelSid}
AND bvc.useOrgSid != #{useOrg}
group by bvc.useOrgSid
@ -533,44 +545,44 @@
WHERE bv.modelSid = bvm.sid
AND bv.modelConfigSid = bvc.configurationItemsSid
AND lockedState = '03')
+
+
(SELECT count(*)
FROM bus_vehicle_apply_detail bvad
WHERE bvad.vehicleSid = bvm.sid
AND bvad.configSid = bvc.configurationItemsSid)
) AS num
) AS num
FROM base_vehmodel_config bvc
LEFT JOIN base_vehicle_model bvm ON bvc.modelSid = bvm.sid
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.sid
LEFT JOIN base_vehicle_model bvm ON bvc.modelSid = bvm.sid
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.sid
WHERE bvc.modelSid = #{modelSid}
AND bvc.configurationItemsSid = #{configSid}
AND bvc.useOrgSid = #{useOrg}
</select>
<select id="getNowModelList" resultType="com.yxt.anrui.base.api.basevehicle.AppBaseVehicleNowModelVo">
SELECT DISTINCT bvm.sid AS modelSid,
bvm.vehicleAlias AS modelName,
bvm.brandName,
bvm.carBrand AS brandSid,
bvm.vehicleVersionValue AS versionValue,
bvm.fuelTypeValue,
bvm.gearboxTypeValue,
(SELECT CONCAT(MIN(bvc.guidedPrice), '-', MAX(bvc.guidedPrice))
FROM base_vehmodel_config bvc
WHERE bvc.modelSid = bvm.sid
AND bvc.useOrgSid = #{useOrgSid}) AS guidedPrice,
(SELECT count(*)
FROM base_vehmodel_config bvc2
WHERE bvc2.modelSid = bvm.sid
AND bvc2.useOrgSid = #{useOrgSid}) AS configNum,
(SELECT count(*)
FROM base_vehicle bv
WHERE bv.modelSid = bvm.sid
AND bv.lockedState = #{state}
and bv.useOrgSid = #{useOrgSid}) AS nowCarNum
SELECT DISTINCT bvm.sid AS modelSid,
bvm.vehicleAlias AS modelName,
bvm.brandName,
bvm.carBrand AS brandSid,
bvm.vehicleVersionValue AS versionValue,
bvm.fuelTypeValue,
bvm.gearboxTypeValue,
(SELECT CONCAT(MIN(bvc.guidedPrice), '-', MAX(bvc.guidedPrice))
FROM base_vehmodel_config bvc
WHERE bvc.modelSid = bvm.sid
AND bvc.useOrgSid = #{useOrgSid}) AS guidedPrice,
(SELECT count(*)
FROM base_vehmodel_config bvc2
WHERE bvc2.modelSid = bvm.sid
AND bvc2.useOrgSid = #{useOrgSid}) AS configNum,
(SELECT count(*)
FROM base_vehicle bv
WHERE bv.modelSid = bvm.sid
AND bv.lockedState = #{state}
and bv.useOrgSid = #{useOrgSid}) AS nowCarNum
FROM base_vehicle bv
LEFT JOIN base_vehicle_model bvm ON bv.modelSid = bvm.sid
left join base_vehmodel_config bvc on bvc.modelSid = bvm.sid
LEFT JOIN base_vehicle_model bvm ON bv.modelSid = bvm.sid
left join base_vehmodel_config bvc on bvc.modelSid = bvm.sid
<where>
${ew.sqlSegment}
<if test="useOrgSid != null and useOrgSid != ''">
@ -585,7 +597,7 @@
bv.modelSid = bvm.sid
AND bv.lockedState = #{state}
AND bv.useOrgSid = #{useOrgSid} )
> 0
> 0
</where>
</select>
@ -606,9 +618,9 @@
bmc.configName,
DATE_FORMAT(bv.priceDate, '%Y-%m-%d') as priceDate
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}
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>
<update id="updateByVinNo">
@ -651,21 +663,26 @@
bvm.brandName,
<!--车型名称-->
bvm.vehicleAlias,
<!--车型sid-->
bvm.sid as modelSid,
<!--车架号-->
bv.vinNo,
<!--颜色-->
bmc.carColor color,
<!--存放地点-->
bv.locationName location,
<!--存放地点sid-->
bv.location locationSid,
<!--销售指导价-->
bv.salePrice as guidedPrice,
bv.salePrice as guidedPrice,
bmc.configName,
bmc.sid as configSid,
DATE_FORMAT(bv.priceDate, '%Y-%m-%d') as priceDate,
bv.costPrice as priced
bv.costPrice as priced
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}
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>
<!--根据车架号查询现车详情-->
<select id="getPurchaseDetails" resultType="com.yxt.anrui.base.api.basevehicle.AppPurchaseDetailsVo">
@ -681,11 +698,11 @@
</select>
<select id="selectVo" resultType="com.yxt.anrui.base.api.basevehicle.PcBaseVehicleOrderVo">
select bv.vinNo linkNo,
bv.location linkText,
bv.sid linkSid,
if(bv.lockedState = 1, 1, 0)
as isFictitious
select bv.vinNo linkNo,
bv.location linkText,
bv.sid linkSid,
if(bv.lockedState = 1, 1, 0)
as isFictitious
from base_vehicle bv
<where>
${ew.sqlSegment}
@ -704,14 +721,14 @@
carColor AS color,
locationName AS address
FROM base_vehicle bv
LEFT JOIN base_model_config bmc ON bmc.sid = bv.modelConfigSid
${ew.customSqlSegment}
LEFT JOIN base_model_config bmc ON bmc.sid = bv.modelConfigSid
${ew.customSqlSegment}
</select>
<select id="selectVehicleCount" resultType="java.lang.Integer">
select count(*)
from base_vehicle bv
${ew.customSqlSegment}
${ew.customSqlSegment}
</select>
<select id="selectByModelSidAndConfigSid"
@ -720,8 +737,8 @@
bc.guidedPrice AS price,
bmc.configName AS commonlyConfig
FROM base_vehmodel_config bc
LEFT JOIN base_vehicle_model bvm ON bc.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bc.configurationItemsSid = bmc.`sid`
LEFT JOIN base_vehicle_model bvm ON bc.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bc.configurationItemsSid = bmc.`sid`
where bc.modelSid = #{modelSid}
AND bc.configurationItemsSid = #{configSid}
AND bc.useOrgSid = #{useOrg}
@ -733,22 +750,22 @@
bvc.guidedPrice AS price,
bmc.configName AS commonlyConfig
from base_vehmodel_config bvc
LEFT JOIN base_vehicle_model bvm ON bvc.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.`sid`
LEFT JOIN base_vehicle_model bvm ON bvc.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.`sid`
where bvc.modelSid = #{modelSid}
AND bvc.configurationItemsSid = #{configSid}
AND bvc.useOrgSid = #{useOrg}
</select>
<select id="getModelOrderCarList" resultType="com.yxt.anrui.base.api.basevehicle.AppBaseNowProduceCarVo">
SELECT bvo.orderNo AS orderId,
bvo.orderStatus AS state,
bvo.orderDate AS `date`,
bvo.expectLaunchDate AS forecastDate,
bvo.launchDate AS `upDate`,
bvo.offlineDate AS downDate,
bvad.quantity as `number`
SELECT bvo.orderNo AS orderId,
bvo.orderStatus AS state,
bvo.orderDate AS `date`,
bvo.expectLaunchDate AS forecastDate,
bvo.launchDate AS `upDate`,
bvo.offlineDate AS downDate,
bvad.quantity as `number`
FROM bus_vehicle_order bvo
left join bus_vehicle_apply_detail bvad on bvo.purchaseApplyMediumModelSid = bvad.sid
left join bus_vehicle_apply_detail bvad on bvo.purchaseApplyMediumModelSid = bvad.sid
<where>
${ew.sqlSegment}
</where>
@ -759,7 +776,7 @@
bv.locationName address,
bv.sid carSid,
if(bv.lockedState = 1, 1, 0)
as isFictitious
as isFictitious
from base_vehicle bv
where bv.modelSid = #{modelSid}
and bv.modelConfigSid = #{configSid}
@ -772,8 +789,7 @@
select filePath
from base_vehicle_appendix
where linkSid = #{vehicleSid}
and attachType = '0001'
limit 1
and attachType = '0001' limit 1
</select>
<select id="getVinByWarehouseSid" resultType="com.yxt.anrui.base.api.basevehicle.AppScmWarehouseVinVo">
@ -796,17 +812,17 @@
<select id="selExistingCar" resultType="com.yxt.anrui.base.api.basevehicle.BaseExistingCarListVo">
SELECT bv.vinNo,
bvm.`carBrand` AS brandSid,
bvm.`brandName`,
bvm.`vehicleAlias`,
bvm.announcementModel AS noticeModel,
bv.priceDate,
bv.salesDate,
bv.vehicleState AS vehicleStateKey,
bv.vehicleStateValue
bvm.`carBrand` AS brandSid,
bvm.`brandName`,
bvm.`vehicleAlias`,
bvm.announcementModel AS noticeModel,
bv.priceDate,
bv.salesDate,
bv.vehicleState AS vehicleStateKey,
bv.vehicleStateValue
FROM base_vehicle bv
LEFT JOIN base_vehicle_model bvm
ON bv.`modelSid` = bvm.`sid`
LEFT JOIN base_vehicle_model bvm
ON bv.`modelSid` = bvm.`sid`
<where>
${ew.sqlSegment}
</where>

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

@ -290,6 +290,16 @@ public class BaseVehicleRest implements BaseVehicleFeign {
public ResultBean<ExiCarConfigDetailVo> selectExiCarConfig(String modelSid, String configSid, String userSid) {
ResultBean rb = ResultBean.fireFail();
ExiCarConfigDetailVo exiCarConfigDetailVo = baseVehicleService.selectExiCarConfig(modelSid, configSid, userSid);
/*StringBuilder s = new StringBuilder();
String marketSegmentsValue = exiCarConfigDetailVo.getMarketSegmentsValue();
String engineTypeValue = exiCarConfigDetailVo.getEngineTypeValue();
String specifications = exiCarConfigDetailVo.getSpecifications();
String departmentValue = exiCarConfigDetailVo.getDepartmentValue();
if (StringUtils.isNotBlank(marketSegmentsValue)){
s.append(marketSegmentsValue)
}else
s.append(exiCarConfigDetailVo.getVehicleVersionValue()).append("、").append(exiCarConfigDetailVo.getFuelTypeValue()).append("、").append(exiCarConfigDetailVo.getGearboxTypeValue()).append("、").append()
*/
return rb.success().setData(exiCarConfigDetailVo);
}

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleinquiry/BusVehicleInquiryService.java

@ -105,7 +105,9 @@ public class BusVehicleInquiryService extends MybatisBaseService<BusVehicleInqui
public void saveOrUpdateDto(BusVehicleInquiryDto dto) {
BusVehicleInquiry entity = new BusVehicleInquiry();
String sid = entity.getSid();
dto.fillEntity(entity);
entity.setSid(sid);
this.saveOrUpdate(entity);
}

1
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderMapper.xml

@ -11,6 +11,7 @@
<where>
${ew.sqlSegment}
</where>
ORDER BY bva.`applicationCode` DESC
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.base.api.busvehicleorder.BusVehicleOrderVo">

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java

@ -217,6 +217,8 @@ public class BusVehicleOrderService extends MybatisBaseService<BusVehicleOrderMa
} else { // 修改
BusVehicleOrder vehicleOrder = fetchBySid(dto.getSid());
BeanUtil.copyProperties(dto, vehicleOrder);
//订单日期
String orderDate = dto.getOrderDate();
//下线日期
String offlineDate = dto.getOfflineDate();
//上线日期
@ -228,6 +230,8 @@ public class BusVehicleOrderService extends MybatisBaseService<BusVehicleOrderMa
} else if (StringUtils.isNotBlank(launchDate)) {
vehicleOrder.setOrderStatus("上线");
} else if (StringUtils.isNotBlank(expectLaunchDate)) {
vehicleOrder.setOrderStatus("预计上线");
} else if (StringUtils.isNotBlank(orderDate)) {
vehicleOrder.setOrderStatus("未上线");
}
updateById(vehicleOrder);

7
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempVo.java

@ -1,6 +1,8 @@
package com.yxt.anrui.crm.api.crmcustomertemp;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.crm.api.crmbusiness.CrmBusinessVo;
import com.yxt.anrui.crm.api.crmvehicledemand.CrmVehicledemand;
import com.yxt.anrui.crm.api.crmvehicledemand.CrmVehicledemandVo;
@ -10,6 +12,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
@ -34,6 +37,10 @@ public class CrmCustomerTempVo implements Vo {
@ApiModelProperty("创建人sid")
private String createBySid;
@ApiModelProperty("登记日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date createTime;
@ApiModelProperty("客户编号(部门编码+客户类型(1位,0个人,1企业)+部门内部流水号(6位))")
private String customerNo;

Loading…
Cancel
Save