Browse Source

pc端未售买断修改

zhanglei
dimengzhe 3 years ago
parent
commit
fa55cda605
  1. 25
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerbank/BaseManActualVo.java
  2. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerbank/BaseManufacturerBankFeign.java
  3. 7
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerbank/BaseManufacturerBankFeignFallback.java
  4. 8
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleActualVo.java
  5. 12
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualdetails/BaseVehicleActualDetails.java
  6. 13
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualdetails/BaseVehicleActualDetailsDto.java
  7. 14
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualdetails/BaseVehicleActualDetailsVo.java
  8. 35
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualpay/BaseVehicleActualPay.java
  9. 31
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualpay/BaseVehicleActualPayDto.java
  10. 17
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualpay/BaseVehicleActualPayFeign.java
  11. 12
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualpay/BaseVehicleActualPayFeignFallback.java
  12. 31
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualpay/BaseVehicleActualPayVo.java
  13. 8
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehicleActualSales.java
  14. 10
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehicleActualSalesDetailsVo.java
  15. 10
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehicleActualSalesDto.java
  16. 17
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/DictCommonEnum.java
  17. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankMapper.java
  18. 16
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankMapper.xml
  19. 13
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankRest.java
  20. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankService.java
  21. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  22. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  23. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualdetails/BaseVehicleActualDetailsMapper.xml
  24. 24
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualpay/BaseVehicleActualPayMapper.java
  25. 34
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualpay/BaseVehicleActualPayMapper.xml
  26. 16
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualpay/BaseVehicleActualPayRest.java
  27. 56
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualpay/BaseVehicleActualPayService.java
  28. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesMapper.xml
  29. 81
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java
  30. 31
      doc/databases/base_tables.sql

25
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerbank/BaseManActualVo.java

@ -0,0 +1,25 @@
package com.yxt.anrui.base.api.basemanufacturerbank;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/9/19 14:07
* @Description
*/
@Data
public class BaseManActualVo implements Vo {
private static final long serialVersionUID = -8356553970394175402L;
@ApiModelProperty("厂家销售通路")
private String accountName;
@ApiModelProperty("开户行")
private String depositBank;
@ApiModelProperty("收款银行账号")
private String bankAccount;
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerbank/BaseManufacturerBankFeign.java

@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import javax.validation.Valid;
import java.util.List;
/**
* Project: anrui-base(安瑞基础信息模块) <br/>
@ -46,4 +47,8 @@ public interface BaseManufacturerBankFeign {
@ApiOperation("查看及修改回显(已测试)")
@GetMapping("/selectDetails/{sid}")
public ResultBean<BaseManufacturerBankVo> selectDetails(@PathVariable("sid") String sid);
@ApiOperation("未售买断获取厂家销售通路")
@GetMapping("/actualList/{useOrgSid}")
ResultBean<List<BaseManActualVo>> actualList(@PathVariable("useOrgSid") String useOrgSid);
}

7
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerbank/BaseManufacturerBankFeignFallback.java

@ -3,6 +3,8 @@ package com.yxt.anrui.base.api.basemanufacturerbank;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* Project: anrui-base(安瑞基础信息模块) <br/>
* File: BaseManufacturerBankFeignFallback.java <br/>
@ -28,4 +30,9 @@ public class BaseManufacturerBankFeignFallback implements BaseManufacturerBankFe
public ResultBean<BaseManufacturerBankVo> selectDetails(String sid) {
return null;
}
@Override
public ResultBean<List<BaseManActualVo>> actualList(String useOrgSid) {
return null;
}
}

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

@ -51,4 +51,12 @@ public class BaseVehicleActualVo implements Vo {
private String insideCode;
@ApiModelProperty("库龄")
private int dayNum;
@ApiModelProperty("版本")
private String vehicleVersionValue;
@ApiModelProperty("燃料")
private String fuelTypeValue;
@ApiModelProperty("变速箱")
private String gearboxTypeValue;
@ApiModelProperty("排放标准")
private String emissionStandardValue;
}

12
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualdetails/BaseVehicleActualDetails.java

@ -4,6 +4,7 @@ import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -31,4 +32,15 @@ public class BaseVehicleActualDetails extends BaseEntity {
private int dayNum;
@ApiModelProperty("车辆数量")
private int vehicleNum;
@ApiModelProperty("版本")
private String vehicleVersionValue;
@ApiModelProperty("燃料")
private String fuelTypeValue;
@ApiModelProperty("变速箱")
private String gearboxTypeValue;
@ApiModelProperty("排放标准")
private String emissionStandardValue;
@ApiModelProperty("买断金额")
private BigDecimal actualMoney;
}

13
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualdetails/BaseVehicleActualDetailsDto.java

@ -4,6 +4,7 @@ import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -31,4 +32,16 @@ public class BaseVehicleActualDetailsDto implements Dto {
@ApiModelProperty("车辆数量")
private int vehicleNum;
@ApiModelProperty("版本")
private String vehicleVersionValue;
@ApiModelProperty("燃料")
private String fuelTypeValue;
@ApiModelProperty("变速箱")
private String gearboxTypeValue;
@ApiModelProperty("排放标准")
private String emissionStandardValue;
@ApiModelProperty("买断金额")
private String actualMoney;
}

14
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualdetails/BaseVehicleActualDetailsVo.java

@ -4,6 +4,8 @@ import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Author dimengzhe
* @Date 2022/4/9 11:35
@ -29,4 +31,16 @@ public class BaseVehicleActualDetailsVo implements Vo {
private int dayNum;
@ApiModelProperty("车辆数量")
private int vehicleNum;
@ApiModelProperty("版本")
private String vehicleVersionValue;
@ApiModelProperty("燃料")
private String fuelTypeValue;
@ApiModelProperty("变速箱")
private String gearboxTypeValue;
@ApiModelProperty("排放标准")
private String emissionStandardValue;
@ApiModelProperty("买断金额")
private String actualMoney;
}

35
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualpay/BaseVehicleActualPay.java

@ -0,0 +1,35 @@
package com.yxt.anrui.base.api.basevehicleactualpay;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Author dimengzhe
* @Date 2022/9/19 11:49
* @Description
*/
@Data
public class BaseVehicleActualPay extends BaseEntity {
private static final long serialVersionUID = -3051690321206077883L;
@ApiModelProperty(value = "车辆未售买断申请sid")
private String vehicleActualSid;
@ApiModelProperty(value = "付款方式")
private String paymentType;
@ApiModelProperty(value = "付款方式key")
private String paymentTypeKey;
@ApiModelProperty(value = "厂家销售通路")
private String actualPay;
@ApiModelProperty(value = "开户行")
private String bank;
@ApiModelProperty("收款银行账号")
private String receivingAccount;
@ApiModelProperty("付款金额")
private BigDecimal payAccount;
@ApiModelProperty("付款备注")
private String payRemark;
}

31
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualpay/BaseVehicleActualPayDto.java

@ -0,0 +1,31 @@
package com.yxt.anrui.base.api.basevehicleactualpay;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/9/19 11:52
* @Description
*/
@Data
public class BaseVehicleActualPayDto implements Dto {
private static final long serialVersionUID = -7136887711471736748L;
@ApiModelProperty(value = "付款方式")
private String paymentType;
@ApiModelProperty(value = "付款方式key")
private String paymentTypeKey;
@ApiModelProperty(value = "厂家销售通路")
private String actualPay;
@ApiModelProperty(value = "开户行")
private String bank;
@ApiModelProperty("收款银行账号")
private String receivingAccount;
@ApiModelProperty("付款金额")
private String payAccount;
@ApiModelProperty("付款备注")
private String payRemark;
}

17
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualpay/BaseVehicleActualPayFeign.java

@ -0,0 +1,17 @@
package com.yxt.anrui.base.api.basevehicleactualpay;
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsFeignFallback;
import org.springframework.cloud.openfeign.FeignClient;
/**
* @Author dimengzhe
* @Date 2022/9/19 11:57
* @Description
*/
@FeignClient(
contextId = "anrui-base-BaseVehicleActualPay",
name = "anrui-base",
path = "v1/basevehicleactualpay",
fallback = BaseVehicleActualPayFeignFallback.class)
public interface BaseVehicleActualPayFeign {
}

12
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualpay/BaseVehicleActualPayFeignFallback.java

@ -0,0 +1,12 @@
package com.yxt.anrui.base.api.basevehicleactualpay;
import org.springframework.stereotype.Component;
/**
* @Author dimengzhe
* @Date 2022/9/19 11:58
* @Description
*/
@Component
public class BaseVehicleActualPayFeignFallback {
}

31
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualpay/BaseVehicleActualPayVo.java

@ -0,0 +1,31 @@
package com.yxt.anrui.base.api.basevehicleactualpay;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/9/19 13:36
* @Description
*/
@Data
public class BaseVehicleActualPayVo implements Vo {
private static final long serialVersionUID = 7103772117018168626L;
@ApiModelProperty(value = "付款方式")
private String paymentType;
@ApiModelProperty(value = "付款方式key")
private String paymentTypeKey;
@ApiModelProperty(value = "厂家销售通路")
private String actualPay;
@ApiModelProperty(value = "开户行")
private String bank;
@ApiModelProperty("收款银行账号")
private String receivingAccount;
@ApiModelProperty("付款金额")
private String payAccount;
@ApiModelProperty("付款备注")
private String payRemark;
}

8
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehicleActualSales.java

@ -29,5 +29,13 @@ public class BaseVehicleActualSales extends BaseEntity {
@ApiModelProperty("未售买断费用")
private String money;
@ApiModelProperty("是否需要付款:1是,0否")
private String isPay;
@ApiModelProperty("分公司名称")
private String useOrgName;
@ApiModelProperty("分公司sid")
private String useOrgSid;
}

10
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehicleActualSalesDetailsVo.java

@ -1,6 +1,7 @@
package com.yxt.anrui.base.api.basevehicleactualsales;
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsVo;
import com.yxt.anrui.base.api.basevehicleactualpay.BaseVehicleActualPayVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -26,6 +27,7 @@ public class BaseVehicleActualSalesDetailsVo implements Vo {
private String reason;
@ApiModelProperty(value = "车辆列表")
private List<BaseVehicleActualDetailsVo> detailsList = new ArrayList<>();
private List<BaseVehicleActualPayVo> detailsPayList = new ArrayList<>();
@ApiModelProperty(value = "创建人sid")
private String userSid;
@ApiModelProperty(value = "任务id")
@ -35,4 +37,12 @@ public class BaseVehicleActualSalesDetailsVo implements Vo {
@ApiModelProperty("未售买断费用")
private String money;
@ApiModelProperty("是否需要付款:1是,0否")
private String isPay;
@ApiModelProperty("分公司名称")
private String useOrgName;
@ApiModelProperty("分公司sid")
private String useOrgSid;
}

10
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleactualsales/BaseVehicleActualSalesDto.java

@ -2,6 +2,7 @@ package com.yxt.anrui.base.api.basevehicleactualsales;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsDto;
import com.yxt.anrui.base.api.basevehicleactualpay.BaseVehicleActualPayDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -33,9 +34,18 @@ public class BaseVehicleActualSalesDto implements Dto {
private String reason;
@ApiModelProperty(value = "车辆列表")
private List<BaseVehicleActualDetailsDto> detailsList;
private List<BaseVehicleActualPayDto> detailsPayList;
@ApiModelProperty("未售买断费用")
private String money;
@ApiModelProperty("付款金额总计")
private String payAccountAll;
@ApiModelProperty("是否需要付款:1是,0否")
private String isPay;
@ApiModelProperty("分公司名称")
private String useOrgName;
@ApiModelProperty("分公司sid")
private String useOrgSid;
}

17
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/DictCommonEnum.java

@ -43,4 +43,21 @@ public class DictCommonEnum {
this.remarks = remarks;
}
}
@Getter
public static enum dueBank {
HK_TYPE("1", "回款账户"),
DJ_TYPE("2", "订金账户"),
XL_TYPE("3", "销量保证金"),
QY_TYPE("4", "牵引车回款账户"),
;
private final String code;
private final String remarks;
dueBank(String code, String remarks) {
this.code = code;
this.remarks = remarks;
}
}
}

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankMapper.java

@ -1,6 +1,7 @@
package com.yxt.anrui.base.biz.basemanufacturerbank;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.base.api.basemanufacturerbank.BaseManActualVo;
import com.yxt.anrui.base.api.basemanufacturerbank.BaseManufacturerBank;
import com.yxt.anrui.base.api.basemanufacturerbank.BaseManufacturerBankVo;
import com.yxt.anrui.base.api.busvehicleapply.BusApplyVo;
@ -59,4 +60,6 @@ public interface BaseManufacturerBankMapper extends BaseMapper<BaseManufacturerB
void deleteByMainSid(String sid);
List<BusApplyVo> selectByApplySid(String modelSid);
List<BaseManActualVo> actualList(@Param("useOrgSid") String useOrgSid, @Param("code") String code);
}

16
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankMapper.xml

@ -55,7 +55,7 @@
bmb.remarks
FROM base_manufacturer_bank bmb
WHERE bmb.manufacturerSid = #{sid}
AND bmb.isDelete = 0
AND bmb.isDelete = 0
</select>
<select id="selectByApplySid" resultType="com.yxt.anrui.base.api.busvehicleapply.BusApplyVo">
@ -64,6 +64,18 @@
left join base_manufacturer bm on bm.sid = bmb.manufacturerSid
left join base_vehicle_brand bvb on bvb.manufacturerSid = bm.sid
left join base_vehicle_model bvm on bvm.carBrand = bvb.sid
where bvm.sid = #{modelSid} and bmb.dueBankKey = '2'
where bvm.sid = #{modelSid}
and bmb.dueBankKey = '2'
</select>
<select id="actualList" resultType="com.yxt.anrui.base.api.basemanufacturerbank.BaseManActualVo">
select bmb.accountName,
bmb.depositBank,
bmb.bankAccount
from base_manufacturer_bank bmb
left join base_manufacturer bm on bmb.manufacturerSid = bm.sid
where bmb.isDelete = 0
AND bm.useOrg = #{useOrgSid}
and bmb.dueBankKey = #{code}
</select>
</mapper>

13
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankRest.java

@ -1,11 +1,9 @@
package com.yxt.anrui.base.biz.basemanufacturerbank;
import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturer;
import com.yxt.anrui.base.api.basemanufacturerbank.BaseManufacturerBank;
import com.yxt.anrui.base.api.basemanufacturerbank.BaseManufacturerBankDto;
import com.yxt.anrui.base.api.basemanufacturerbank.BaseManufacturerBankFeign;
import com.yxt.anrui.base.api.basemanufacturerbank.BaseManufacturerBankVo;
import com.yxt.anrui.base.api.basemanufacturerbank.*;
import com.yxt.anrui.base.biz.basemanufacturer.BaseManufacturerService;
import com.yxt.anrui.base.common.enums.DictCommonEnum;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
@ -78,5 +76,12 @@ public class BaseManufacturerBankRest implements BaseManufacturerBankFeign {
return rb.success().setData(vo);
}
@Override
public ResultBean<List<BaseManActualVo>> actualList(String useOrgSid) {
ResultBean<List<BaseManActualVo>> rb = ResultBean.fireFail();
List<BaseManActualVo> voList = baseManufacturerBankService.actualList(useOrgSid, DictCommonEnum.dueBank.HK_TYPE.getCode());
return rb.success().setData(voList);
}
}

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerbank/BaseManufacturerBankService.java

@ -1,5 +1,6 @@
package com.yxt.anrui.base.biz.basemanufacturerbank;
import com.yxt.anrui.base.api.basemanufacturerbank.BaseManActualVo;
import com.yxt.anrui.base.api.basemanufacturerbank.BaseManufacturerBank;
import com.yxt.anrui.base.api.basemanufacturerbank.BaseManufacturerBankVo;
import com.yxt.anrui.base.api.busvehicleapply.BusApplyVo;
@ -68,4 +69,8 @@ public class BaseManufacturerBankService extends MybatisBaseService<BaseManufact
public List<BusApplyVo> selectByApplySid(String modelSid) {
return baseMapper.selectByApplySid(modelSid);
}
public List<BaseManActualVo> actualList(String useOrgSid, String code) {
return baseMapper.actualList(useOrgSid,code);
}
}

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

@ -793,8 +793,11 @@
bv.insideCode,
(select count(*) from base_vehicle bvv where bvv.insideCode = bv.insideCode and (bvv.vehicleStateValue = '库存' or
bvv.vehicleStateValue = '调入')) as vehicleNum,
(select datediff(now(),DATE_FORMAT(bv.priceDate,'%Y-%m-%d'))) as dayNum
(select datediff(now(),DATE_FORMAT(bv.priceDate,'%Y-%m-%d'))) as dayNum,
bvm.vehicleVersionValue,
bvm.fuelTypeValue,
bvm.gearboxTypeValue,
bvm.emissionStandardValue
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`

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

@ -1434,6 +1434,7 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
if (StringUtils.isNotBlank(params.getOrderingNo())) {
qw.like("bv.orderingNo", params.getOrderingNo());
}
qw.eq("bv.isProblemVeh",0);
}
return qw;

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualdetails/BaseVehicleActualDetailsMapper.xml

@ -21,7 +21,8 @@
inboundPrice,
insideCode,
vehicleNum,
dayNum
dayNum,
actualMoney
from base_vehicle_actual_details
where vehicleActualSid = #{sid}
</select>

24
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualpay/BaseVehicleActualPayMapper.java

@ -0,0 +1,24 @@
package com.yxt.anrui.base.biz.basevehicleactualpay;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.base.api.basevehicleactualpay.BaseVehicleActualPay;
import com.yxt.anrui.base.api.basevehicleactualpay.BaseVehicleActualPayVo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/9/19 11:55
* @Description
*/
@Mapper
public interface BaseVehicleActualPayMapper extends BaseMapper<BaseVehicleActualPay> {
List<BaseVehicleActualPay> selectBySaleSid(String sid);
int deleteBySaleSid(String sid);
List<BaseVehicleActualPayVo> detailsList(String sid);
int deleteByActualSid(String s);
}

34
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualpay/BaseVehicleActualPayMapper.xml

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.anrui.base.biz.basevehicleactualpay.BaseVehicleActualPayMapper">
<select id="selectBySaleSid" resultType="com.yxt.anrui.base.api.basevehicleactualpay.BaseVehicleActualPay">
select *
from base_vehicle_actual_pay
where vehicleActualSid = #{sid}
</select>
<delete id="deleteBySaleSid">
delete
from base_vehicle_actual_pay
where vehicleActualSid = #{sid}
</delete>
<select id="detailsList" resultType="com.yxt.anrui.base.api.basevehicleactualpay.BaseVehicleActualPayVo">
select sid,
paymentType,
paymentTypeKey,
actualPay,
bank,
receivingAccount,
payAccount,
payRemark
from base_vehicle_actual_pay
where vehicleActualSid = #{sid}
</select>
<delete id="deleteByActualSid">
delete
from base_vehicle_actual_pay
where vehicleActualSid = #{s}
</delete>
</mapper>

16
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualpay/BaseVehicleActualPayRest.java

@ -0,0 +1,16 @@
package com.yxt.anrui.base.biz.basevehicleactualpay;
import io.swagger.annotations.Api;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @Author dimengzhe
* @Date 2022/9/19 11:54
* @Description
*/
@Api(tags = "车辆未售买断管理")
@RequestMapping("v1/basevehicleactualsales")
@Controller
public class BaseVehicleActualPayRest {
}

56
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualpay/BaseVehicleActualPayService.java

@ -0,0 +1,56 @@
package com.yxt.anrui.base.biz.basevehicleactualpay;
import com.yxt.anrui.base.api.basevehicleactualpay.BaseVehicleActualPay;
import com.yxt.anrui.base.api.basevehicleactualpay.BaseVehicleActualPayDto;
import com.yxt.anrui.base.api.basevehicleactualpay.BaseVehicleActualPayVo;
import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/9/19 11:55
* @Description
*/
@Service
public class BaseVehicleActualPayService extends MybatisBaseService<BaseVehicleActualPayMapper, BaseVehicleActualPay> {
@Transactional(rollbackFor = Exception.class)
public void saveDetails(List<BaseVehicleActualPayDto> detailsPayList, String sid) {
BaseVehicleActualPay BaseVehicleActualPay = null;
for (BaseVehicleActualPayDto dto : detailsPayList) {
BaseVehicleActualPay = new BaseVehicleActualPay();
BeanUtils.copyProperties(dto, BaseVehicleActualPay, "sid");
BaseVehicleActualPay.setVehicleActualSid(sid);
save(BaseVehicleActualPay);
}
}
public List<BaseVehicleActualPay> selectBySaleSid(String sid) {
return baseMapper.selectBySaleSid(sid);
}
public void deleteBySaleSid(String sid) {
baseMapper.deleteBySaleSid(sid);
}
@Transactional(rollbackFor = Exception.class)
public void updateListByReturnSid(String sid, List<BaseVehicleActualPayDto> detailsPayList) {
saveDetails(detailsPayList, sid);
}
public List<BaseVehicleActualPayVo> detailsList(String sid) {
return baseMapper.detailsList(sid);
}
public void deleteByActualSid(String[] sidsList) {
List<String> stringList = Arrays.asList(sidsList);
for (int i = 0; i < stringList.size(); i++) {
baseMapper.deleteByActualSid(stringList.get(i));
}
}
}

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesMapper.xml

@ -23,7 +23,10 @@
taskId,
procInstId,
createBySid userSid,
money
money,
isPay,
useOrgSid,
useOrgName
from base_vehicle_actual_sales
where sid = #{sid}
</select>

81
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java

@ -11,6 +11,8 @@ import com.yxt.anrui.base.api.basevehicleactualdetails.AppBaseVehicleActualDetai
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetails;
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsDto;
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsVo;
import com.yxt.anrui.base.api.basevehicleactualpay.BaseVehicleActualPay;
import com.yxt.anrui.base.api.basevehicleactualpay.BaseVehicleActualPayVo;
import com.yxt.anrui.base.api.basevehicleactualsales.*;
import com.yxt.anrui.base.api.basevehicleactualsales.flow.ActualGetNodeQuery;
import com.yxt.anrui.base.api.basevehicleactualsales.flow.ActualGetNodeVo;
@ -18,6 +20,7 @@ import com.yxt.anrui.base.api.basevehicleactualsales.flow.BaseActualSalesTaskQue
import com.yxt.anrui.base.api.basevehicleactualsales.flow.SubmitActualSalesDto;
import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService;
import com.yxt.anrui.base.biz.basevehicleactualdetails.BaseVehicleActualDetailsService;
import com.yxt.anrui.base.biz.basevehicleactualpay.BaseVehicleActualPayService;
import com.yxt.anrui.base.common.enums.VehicleState;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
@ -47,6 +50,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@ -60,6 +64,8 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
@Autowired
private BaseVehicleActualDetailsService baseVehicleActualDetailsService;
@Autowired
private BaseVehicleActualPayService baseVehicleActualPayService;
@Autowired
private SysUserFeign sysUserFeign;
@ -148,6 +154,13 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
if (scmVehicleActualSalesDto.getDetailsList().size() > 0) {
baseVehicleActualDetailsService.saveDetails(scmVehicleActualSalesDto.getDetailsList(), baseVehicleActualSales.getSid());
}
if ("1".equals(scmVehicleActualSalesDto.getIsPay())) {
if (scmVehicleActualSalesDto.getDetailsPayList().size() > 0) {
baseVehicleActualPayService.saveDetails(scmVehicleActualSalesDto.getDetailsPayList(), sid);
}
}
}
} else {
//编辑
@ -165,6 +178,18 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
if (scmVehicleActualSalesDto.getDetailsList().size() > 0) {
baseVehicleActualDetailsService.updateListByReturnSid(sid, scmVehicleActualSalesDto.getDetailsList());
}
//查询pay中是否有关于sales的该条sid数据
List<BaseVehicleActualPay> scmVehicleActualPayList = baseVehicleActualPayService.selectBySaleSid(sid);
if (scmVehicleActualPayList.size() > 0) {
baseVehicleActualPayService.deleteBySaleSid(sid);
}
if ("1".equals(scmVehicleActualSalesDto.getIsPay())) {
if (scmVehicleActualSalesDto.getDetailsPayList().size() > 0) {
baseVehicleActualPayService.updateListByReturnSid(sid, scmVehicleActualSalesDto.getDetailsPayList());
}
}
}
return rb.success().setData(sid);
}
@ -200,7 +225,9 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
}
vo = baseMapper.details(sid);
List<BaseVehicleActualDetailsVo> voList = baseVehicleActualDetailsService.detailsList(sid);
List<BaseVehicleActualPayVo> voPayList = baseVehicleActualPayService.detailsList(sid);
vo.setDetailsList(voList);
vo.setDetailsPayList(voPayList);
return rb.success().setData(vo);
}
@ -245,12 +272,13 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
@Transactional(rollbackFor = Exception.class)
public ResultBean delete(String[] sidsList) {
ResultBean rb = ResultBean.fireFail();
baseVehicleActualDetailsService.deleteByActualSid(sidsList);
//查询该sid中是否有流程不是待提交的
int count = baseMapper.selectBySid(StringUtils.join(sidsList, ","));
if (count > 0) {
return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败");
}
baseVehicleActualDetailsService.deleteByActualSid(sidsList);
baseVehicleActualPayService.deleteByActualSid(sidsList);
delBySids(sidsList);
return rb.success().setMsg("删除成功");
}
@ -285,6 +313,11 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
if ("1".equals(dto.getIsPay())) {
if (new BigDecimal(dto.getMoney()).compareTo(new BigDecimal(dto.getPayAccountAll())) != 0) {
return rb.setMsg("买断费用合计与付款费用合计不一致,不允许提交");
}
}
//保存或修改未售买断申请
ResultBean<String> resultBean = saveOrUpdateVehicleSales(dto);
if (!resultBean.getSuccess()) {
@ -318,7 +351,7 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
//结算状态设置为预买断
List<BaseVehicleActualDetailsDto> detailsList = dto.getDetailsList();
for (BaseVehicleActualDetailsDto f : detailsList) {
BaseVehicle baseVehicle = baseVehicleService.selectByVinNoAndOrgSid(f.getVinNo(),useOrgSid);
BaseVehicle baseVehicle = baseVehicleService.selectByVinNoAndOrgSid(f.getVinNo(), useOrgSid);
baseVehicle.setVinNo(f.getVinNo());
baseVehicle.setSettlementStatus(VehicleState.BuyoutEnum.PRE_BUYOUT.getCode());
baseVehicle.setSettlementStatusValue(VehicleState.BuyoutEnum.PRE_BUYOUT.getRemarks());
@ -328,12 +361,12 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
baseVehicleActualSales = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo,messageFlowVo);
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("未售买断申请");
messageFlowableQuery.setMsgContent(baseVehicleActualSales.getApplicationName()+"提交的"+messageFlowableQuery.getModuleName()+",请审批");
messageFlowableQuery.setMsgContent(baseVehicleActualSales.getApplicationName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("供应链");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
return voResultBean;
@ -388,10 +421,10 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
BaseVehicleActualSales baseVehicleActualSales = fetchBySid(bv.getBusinessSid());
if (bv.getTaskId().equals(baseVehicleActualSales.getTaskId())) {
//判断车辆的结算状态是否包含预买断的状态,如果是的话,返回审核失败
Map<String,Object> variables = new HashMap<>();
Map<String,Object> appMap = new HashMap<>();
appMap.put("sid",bv.getBusinessSid());
variables.put("app",appMap);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", bv.getBusinessSid());
variables.put("app", appMap);
bv.setFormVariables(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
@ -399,19 +432,19 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if(!"Event_end".equals(ufVo.getTaskDefKey())){
if (!"Event_end".equals(ufVo.getTaskDefKey())) {
//极光推送
baseVehicleActualSales = fetchBySid(bv.getBusinessSid());
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo,messageFlowVo);
BeanUtil.copyProperties(ufVo, messageFlowVo);
ufVo.setProcDefId(baseVehicleActualSales.getProcDefId());
ufVo.setProcInsId(baseVehicleActualSales.getProcInstId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(bv.getBusinessSid());
messageFlowableQuery.setModuleName("未售买断申请");
messageFlowableQuery.setMsgContent(baseVehicleActualSales.getApplicationName()+"提交的"+messageFlowableQuery.getModuleName()+",请审批");
messageFlowableQuery.setMsgContent(baseVehicleActualSales.getApplicationName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("供应链");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
}
@ -491,10 +524,10 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
}
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
Map<String,Object> variables = new HashMap<>();
Map<String,Object> appMap = new HashMap<>();
appMap.put("sid",query.getBusinessSid());
variables.put("app",appMap);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", query.getBusinessSid());
variables.put("app", appMap);
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
@ -508,7 +541,7 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
baseVehicleActualSales = fetchBySid(query.getBusinessSid());
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo,messageFlowVo);
BeanUtil.copyProperties(ufVo, messageFlowVo);
String procId = baseVehicleActualSales.getProcInstId();
ufVo.setProcInsId(procId);
ufVo.setProcDefId(baseVehicleActualSales.getProcDefId());
@ -516,13 +549,13 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(query.getBusinessSid());
messageFlowableQuery.setModuleName("未售买断申请");
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
if(receiveSidList.size() == 1 && receiveSidList.get(0).equals(baseVehicleActualSales.getCreateBySid())){
messageFlowableQuery.setMsgContent("您提交的"+messageFlowableQuery.getModuleName()+"已被驳回,请重新提交");
}else{
messageFlowableQuery.setMsgContent(baseVehicleActualSales.getApplicationName()+"提交的"+messageFlowableQuery.getModuleName()+",请审批");
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(baseVehicleActualSales.getCreateBySid())) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
} else {
messageFlowableQuery.setMsgContent(baseVehicleActualSales.getApplicationName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
messageFlowableQuery.setMsgTitle("供应链");
@ -557,7 +590,7 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if(query.getUserSid().equals(baseVehicleActualSales.getCreateBySid())){
if (query.getUserSid().equals(baseVehicleActualSales.getCreateBySid())) {
//更新车辆状态为未买断
String settlementStatus = VehicleState.BuyoutEnum.UN_BUYOUT.getCode();
String settlementStatusValue = VehicleState.BuyoutEnum.UN_BUYOUT.getRemarks();
@ -633,7 +666,9 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
map.put("selectType", 0);
appSubVersionVo.setJson(JSONObject.toJSONString(map));
BeanUtil.copyProperties(appSubVersionVo, appVehicleVersionVo);
vos.setCarDetailPage(appVehicleVersionVo);});}
vos.setCarDetailPage(appVehicleVersionVo);
});
}
vo.setRecords(records);
return rb.success().setData(vo);
}

31
doc/databases/base_tables.sql

@ -859,7 +859,7 @@ CREATE TABLE `bus_vehicle_apply_sz`
`szSid` varchar(64) DEFAULT NULL COMMENT '上装sid',
`detailsSid` varchar(64) DEFAULT NULL COMMENT '排产车型sid',
`costPrice` int(64) DEFAULT NULL COMMENT '厂家结算价',
`guidePrice` int(64) DEFAULT NULL COMMENT '销售指导价',
`guidePrice` int(64) DEFAULT NULL COMMENT '销售指导价',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE = INNODB
@ -867,5 +867,34 @@ CREATE TABLE `bus_vehicle_apply_sz`
DROP TABLE IF EXISTS `base_vehicle_actual_pay`;
CREATE TABLE `base_vehicle_actual_pay`
(
`id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id',
`sid` varchar(64) NOT NULL COMMENT 'sid',
`lockVersion` int(32) DEFAULT '0' COMMENT '版本锁',
`createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用',
`state` int(32) DEFAULT '1' COMMENT '状态',
`isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除',
`remarks` varchar(255) DEFAULT NULL COMMENT '备注',
`createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid',
`updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid',
`vehicleActualSid` VARCHAR(64) DEFAULT NULL COMMENT '车辆未售买断',
`paymentType` varchar(64) DEFAULT NULL COMMENT '付款方式',
`paymentTypeKey` varchar(64) DEFAULT NULL COMMENT '付款方式key',
`actualPay` varchar(255) DEFAULT NULL COMMENT '厂家销售通路',
`bank` varchar(255) DEFAULT NULL COMMENT '开户行',
`receivingAccount` varchar(255) DEFAULT NULL COMMENT '收款银行账号',
`payAccount` varchar(255) DEFAULT NULL COMMENT '付款金额',
`payRemark` varchar(255) DEFAULT NULL COMMENT '付款备注',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='未售买断付款';

Loading…
Cancel
Save