Browse Source

车辆买卖合同调整

维修工单增加是否外出字段
master
God 11 months ago
parent
commit
092a7a35cb
  1. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/BaseModelConfigFeign.java
  2. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/BaseModelConfigFeignFallback.java
  3. 3
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeign.java
  4. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeignFallback.java
  5. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigRest.java
  6. 8
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelRest.java
  7. 24
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java
  8. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeign.java
  9. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeignFallback.java
  10. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.java
  11. 11
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml
  12. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedRest.java
  13. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java
  14. 452
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitprep/LoanHomevisitPrepService.java
  15. 6416
      anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/ftl/clmmht.ftl
  16. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBill.java
  17. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java
  18. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java
  19. 3
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillVo.java
  20. 3
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.xml

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/BaseModelConfigFeign.java

@ -174,5 +174,7 @@ public interface BaseModelConfigFeign {
@PostMapping("/getNowConfigList")
public ResultBean<ModelConfigVo> getNowConfigList(@Valid @RequestBody PagerQuery<ModelConfigListQuery> pagerQuery);
@ApiOperation("根据sid查询一条")
@GetMapping("/fetchBySid")
ResultBean<BaseModelConfig> fetchBySid(@RequestParam("configSid") String configSid);
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/BaseModelConfigFeignFallback.java

@ -129,4 +129,9 @@ public class BaseModelConfigFeignFallback implements BaseModelConfigFeign {
public ResultBean<ModelConfigVo> getNowConfigList(PagerQuery<ModelConfigListQuery> pagerQuery) {
return null;
}
@Override
public ResultBean<BaseModelConfig> fetchBySid(String configSid) {
return null;
}
}

3
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeign.java

@ -224,4 +224,7 @@ public interface BaseVehicleModelFeign {
@GetMapping("/getVehModelByCreateOrg")
public ResultBean<List<BaseVehModelVo>> getVehModelByCreateOrg(@RequestParam("createOrg") String createOrg);
@ApiOperation("根据sid查询一条")
@GetMapping("/fetchBySid")
ResultBean<BaseVehicleModel> fetchBySid(@RequestParam("modelSid") String modelSid);
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeignFallback.java

@ -130,6 +130,11 @@ public class BaseVehicleModelFeignFallback implements BaseVehicleModelFeign {
return null;
}
@Override
public ResultBean<BaseVehicleModel> fetchBySid(String modelSid) {
return null;
}
/*@Override
public ResultBean<PagerVo<BaseVehicleModelListVo>> selectPage(PagerQuery<BaseVehicleModelListQuery> query) {

7
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigRest.java

@ -589,4 +589,11 @@ public class BaseModelConfigRest implements BaseModelConfigFeign {
ModelConfigVo vo = baseModelConfigService.getNowConfigList(pagerQuery);
return rb.success().setData(vo);
}
@Override
public ResultBean<BaseModelConfig> fetchBySid(String configSid) {
ResultBean rb = ResultBean.fireFail();
BaseModelConfig baseModelConfig = baseModelConfigService.fetchBySid(configSid);
return rb.success().setData(baseModelConfig);
}
}

8
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelRest.java

@ -21,6 +21,7 @@ import com.yxt.common.core.result.FileUploadResult;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import jdk.nashorn.internal.objects.AccessorPropertyDescriptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@ -340,6 +341,13 @@ public class BaseVehicleModelRest implements BaseVehicleModelFeign {
return baseVehicleModelService.getVehModelByCreateOrg(createOrg);
}
@Override
public ResultBean<BaseVehicleModel> fetchBySid(String modelSid) {
ResultBean rb = ResultBean.fireFail();
BaseVehicleModel baseVehicleModel = baseVehicleModelService.fetchBySid(modelSid);
return rb.success().setData(baseVehicleModel);
}
// @Override
// public ResultBean<PagerVo<BaseVehicleModelListVo>> selectPage(PagerQuery<BaseVehicleModelListQuery> query) {

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

@ -921,7 +921,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
//单台主车对应挂车总价
BigDecimal gcPrice = data.get(0).getSingleFinalPrice().multiply(new BigDecimal(data.get(0).getTrailerCount()));
//单台主车加挂车总价
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getOverallPrice()).add(gcPrice);
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getTransactionPrice()).add(gcPrice);
//主车总价
BigDecimal totalPrice = zcPrice.multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
//车价合计
@ -942,7 +942,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
//单台主车对应挂车2总价
BigDecimal gc2Price = data.get(1).getSingleFinalPrice().multiply(new BigDecimal(data.get(1).getTrailerCount()));
//单台主车加挂车总价
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getOverallPrice()).add(gc1Price).add(gc2Price);
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getTransactionPrice()).add(gc1Price).add(gc2Price);
//主车总价
BigDecimal totalPrice = zcPrice.multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
//车价合计
@ -955,7 +955,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
map.put("priceRemarks", priceRemarks);
}else {
//主车总价
BigDecimal totalPrice = new BigDecimal(appBusSalesOrderPriceVo.getOverallPrice()).multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
BigDecimal totalPrice = new BigDecimal(appBusSalesOrderPriceVo.getTransactionPrice()).multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
//车价合计
map.put("totalPrice",totalPrice.toString());
//车价合计大写
@ -1113,7 +1113,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
//单台主车对应挂车总价
BigDecimal gcPrice = data.get(0).getSingleFinalPrice().multiply(new BigDecimal(data.get(0).getTrailerCount()));
//单台主车加挂车总价
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getOverallPrice()).add(gcPrice);
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getTransactionPrice()).add(gcPrice);
//主车总价
BigDecimal totalPrice = zcPrice.multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
//车价合计
@ -1134,7 +1134,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
//单台主车对应挂车2总价
BigDecimal gc2Price = data.get(1).getSingleFinalPrice().multiply(new BigDecimal(data.get(1).getTrailerCount()));
//单台主车加挂车总价
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getOverallPrice()).add(gc1Price).add(gc2Price);
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getTransactionPrice()).add(gc1Price).add(gc2Price);
//主车总价
BigDecimal totalPrice = zcPrice.multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
//车价合计
@ -1147,7 +1147,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
map.put("priceRemarks", priceRemarks);
}else {
//主车总价
BigDecimal totalPrice = new BigDecimal(appBusSalesOrderPriceVo.getOverallPrice()).multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
BigDecimal totalPrice = new BigDecimal(appBusSalesOrderPriceVo.getTransactionPrice()).multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
//车价合计
map.put("totalPrice",totalPrice.toString());
//车价合计大写
@ -1934,7 +1934,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
//单台主车对应挂车总价
BigDecimal gcPrice = data.get(0).getSingleFinalPrice().multiply(new BigDecimal(data.get(0).getTrailerCount()));
//单台主车加挂车总价
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getOverallPrice()).add(gcPrice);
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getTransactionPrice()).add(gcPrice);
//主车总价
BigDecimal totalPrice = zcPrice.multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
//车价合计
@ -1955,7 +1955,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
//单台主车对应挂车2总价
BigDecimal gc2Price = data.get(1).getSingleFinalPrice().multiply(new BigDecimal(data.get(1).getTrailerCount()));
//单台主车加挂车总价
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getOverallPrice()).add(gc1Price).add(gc2Price);
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getTransactionPrice()).add(gc1Price).add(gc2Price);
//主车总价
BigDecimal totalPrice = zcPrice.multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
//车价合计
@ -1968,7 +1968,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
map.put("priceRemarks", priceRemarks);
}else {
//主车总价
BigDecimal totalPrice = new BigDecimal(appBusSalesOrderPriceVo.getOverallPrice()).multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
BigDecimal totalPrice = new BigDecimal(appBusSalesOrderPriceVo.getTransactionPrice()).multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
//车价合计
map.put("totalPrice",totalPrice.toString());
//车价合计大写
@ -2105,7 +2105,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
//单台主车对应挂车总价
BigDecimal gcPrice = data.get(0).getSingleFinalPrice().multiply(new BigDecimal(data.get(0).getTrailerCount()));
//单台主车加挂车总价
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getOverallPrice()).add(gcPrice);
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getTransactionPrice()).add(gcPrice);
//主车总价
BigDecimal totalPrice = zcPrice.multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
//车价合计
@ -2126,7 +2126,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
//单台主车对应挂车2总价
BigDecimal gc2Price = data.get(1).getSingleFinalPrice().multiply(new BigDecimal(data.get(1).getTrailerCount()));
//单台主车加挂车总价
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getOverallPrice()).add(gc1Price).add(gc2Price);
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getTransactionPrice()).add(gc1Price).add(gc2Price);
//主车总价
BigDecimal totalPrice = zcPrice.multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
//车价合计
@ -2139,7 +2139,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
map.put("priceRemarks", priceRemarks);
}else {
//主车总价
BigDecimal totalPrice = new BigDecimal(appBusSalesOrderPriceVo.getOverallPrice()).multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
BigDecimal totalPrice = new BigDecimal(appBusSalesOrderPriceVo.getTransactionPrice()).multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
//车价合计
map.put("totalPrice",totalPrice.toString());
//车价合计大写

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeign.java

@ -136,4 +136,8 @@ public interface FinUncollectedReceivablesDetailedFeign {
@ApiOperation("根据销售订单车辆sid查询")
@PostMapping("/selectByBusVinSid")
ResultBean<String> selectByBusVinSid(@RequestParam("busVinSid") String busVinSid);
@ApiOperation("根据销售订单车辆sid查询已审核订金总和")
@PostMapping("/selectDjByBusVinSid")
ResultBean<String> selectDjByBusVinSid(@RequestParam("busVinSid") String busVinSid);
}

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeignFallback.java

@ -151,4 +151,9 @@ public class FinUncollectedReceivablesDetailedFeignFallback implements FinUncoll
return null;
}
@Override
public ResultBean<String> selectDjByBusVinSid(String busVinSid) {
return null;
}
}

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.java

@ -124,4 +124,6 @@ public interface FinUncollectedReceivablesDetailedMapper extends BaseMapper<FinU
IPage<FinUncollectedReceivablesDetailedVo> selectPageVo2(IPage<FinUncollectedReceivablesDetailed> page, @Param(Constants.WRAPPER)QueryWrapper<FinUncollectedReceivablesDetailed> qw);
List<CustomerBillDetailedListExportVo> exportExcel( @Param(Constants.WRAPPER) QueryWrapper<FinUncollectedReceivablesDetailed> qw);
String selectDjByBusVinSid(String busVinSid);
}

11
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml

@ -617,4 +617,15 @@
${ew.sqlSegment}
</where>
</select>
<select id="selectDjByBusVinSid" resultType="java.lang.String">
SELECT
SUM(sd.subscriptionMoney)
FROM fin_uncollected_receivables_detailed ud
LEFT JOIN fin_selected_receivables_detailed sd
ON ud.sid = sd.`receivablesSid`
WHERE ud.`busVinSid` = #{busVinSid}
AND sd.receivablesName = '订金'
AND sd.auditState = '3'
</select>
</mapper>

5
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedRest.java

@ -192,6 +192,11 @@ public class FinUncollectedReceivablesDetailedRest implements FinUncollectedRece
return finUncollectedReceivablesDetailedService.selectOtherReceivableMoneyByBusVinSid(busVinSid);
}
@Override
public ResultBean<String> selectDjByBusVinSid(String busVinSid) {
return finUncollectedReceivablesDetailedService.selectDjByBusVinSid(busVinSid);
}
@Override
public ResultBean<List<FinUncollectedReceivablesDetailed>> selectByContractNo(String contractNo) {

5
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java

@ -1222,4 +1222,9 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
}
public ResultBean<String> selectDjByBusVinSid(String busVinSid) {
ResultBean rb = ResultBean.fireFail();
String djTotal = baseMapper.selectDjByBusVinSid(busVinSid);
return rb.success().setData(djTotal);
}
}

452
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitprep/LoanHomevisitPrepService.java

@ -29,6 +29,8 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.base.api.basemodelconfig.BaseModelConfig;
import com.yxt.anrui.base.api.basemodelconfig.BaseModelConfigFeign;
import com.yxt.anrui.base.api.basemodelconfig.BaseModelConfigSelectVo;
import com.yxt.anrui.base.api.basetrailer.BaseTrailer;
@ -38,14 +40,17 @@ import com.yxt.anrui.base.api.basetrailermodel.BaseTrailerModelDetailsVo;
import com.yxt.anrui.base.api.basetrailermodel.BaseTrailerModelFeign;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign;
import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateDto;
import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateEnum;
import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateFeign;
import com.yxt.anrui.base.api.commoncontract.*;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDetailsVo;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderTopInfoVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.*;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign;
import com.yxt.anrui.buscenter.api.bussalesorderloancontract.BusSalesOrderLoancontract;
@ -59,14 +64,18 @@ import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModelFeign;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceFeign;
import com.yxt.anrui.buscenter.api.bussalesorderprice.app.AppBusSalesOrderPriceVo;
import com.yxt.anrui.buscenter.api.bussalesordertrailer.BusSalesOrderTrailerDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesordertrailer.BusSalesOrderTrailerFeign;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationDetailsVo;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationFeign;
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo;
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingFeign;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedFeign;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoice;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
@ -101,6 +110,7 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -109,6 +119,7 @@ import java.io.InputStream;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.*;
import java.util.concurrent.*;
import static cn.hutool.json.XMLTokener.entity;
@ -161,9 +172,7 @@ public class LoanHomevisitPrepService extends MybatisBaseService<LoanHomevisitPr
@Autowired
private CrmCustomerTempFeign crmCustomerTempFeign;
@Autowired
private FinVehicleInvoiceFeign finVehicleInvoiceFeign;
@Autowired
private FinBillApplicationFeign finBillApplicationFeign;
private BusSalesOrderTrailerFeign busSalesOrderTrailerFeign;
@Autowired
private LoanSolutionsService loanSolutionsService;
@Autowired
@ -182,6 +191,10 @@ public class LoanHomevisitPrepService extends MybatisBaseService<LoanHomevisitPr
private FinCompanyInvoicingFeign finCompanyInvoicingFeign;
@Autowired
private ScmWarehouseFeign scmWarehouseFeign;
@Autowired
private BaseVehicleModelFeign baseVehicleModelFeign;
@Autowired
private FinUncollectedReceivablesDetailedFeign finUncollectedReceivablesDetailedFeign;
public PagerVo<LoanHomevisitPrepVo> listPageVo(PagerQuery<LoanHomevisitPrepQuery> pq) {
LoanHomevisitPrepQuery query = pq.getParams();
@ -456,19 +469,19 @@ public class LoanHomevisitPrepService extends MybatisBaseService<LoanHomevisitPr
printConfirmDto.setSalesOrderVehicles(salesOrderVehicles);
List<File> filesList = new ArrayList<>();
//贷款车辆买卖合同
List<String> dkclmmhts = dkclmmht(printConfirmDto, conSetUpKey);
List<String> dkclmmhts = clmmContract(printConfirmDto, conSetUpKey);
//生成车辆融资协议
List<String> clrzxyUrls = generateCLRZXY(printConfirmDto, conSetUpKey);
/* List<String> clrzxyUrls = generateCLRZXY(printConfirmDto, conSetUpKey);
//生成还款协议
List<String> hkxyUrls = hkxy(printConfirmDto, conSetUpKey);
//代管车辆委托书
List<String> dgclwtsUrls = dgclwts(printConfirmDto, conSetUpKey);
List<String> dgclwtsUrls = dgclwts(printConfirmDto, conSetUpKey);*/
//判断是否为高低开
BusSalesOrderPrice data = busSalesOrderFeign.selectByContractNoOne(printConfirmDto.getContractNo()).getData();
//查询金融方案
SolutionsDetailsVo solutionsDetailsVo = loanSolutionsService.selectDetails(busSalesOrder.getSid()).getData();
//判断是否为高低开,若是则生成开票申请书
List<String> kpsqsUrls = new ArrayList<>();
/*List<String> kpsqsUrls = new ArrayList<>();
if (!data.getSingleFinalPrice().equals(solutionsDetailsVo.getMainVehicleAmount())) {
//开票申请书
kpsqsUrls = kpsqs(printConfirmDto, conSetUpKey);
@ -495,14 +508,14 @@ public class LoanHomevisitPrepService extends MybatisBaseService<LoanHomevisitPr
if ("0".equals(homeKcCust.getIsSecurity())) {
//生成公司股东会对外担保决议
gsgddwdbjyUrls = gsgddwdbjy(printConfirmDto, conSetUpKey);
}
}*/
if (dkclmmhts != null && dkclmmhts.size() > 0) {
for (String dkclmmht : dkclmmhts) {
File file = new File(docPdfComponent.getUploadTemplateUrl() + dkclmmht);
filesList.add(file);
}
}
if (clrzxyUrls != null && clrzxyUrls.size() > 0) {
/*if (clrzxyUrls != null && clrzxyUrls.size() > 0) {
for (String clrzxyUrl : clrzxyUrls) {
File file = new File(docPdfComponent.getUploadTemplateUrl() + clrzxyUrl);
filesList.add(file);
@ -555,7 +568,7 @@ public class LoanHomevisitPrepService extends MybatisBaseService<LoanHomevisitPr
File file = new File(docPdfComponent.getUploadTemplateUrl() + gsgddwdbjyUrl);
filesList.add(file);
}
}
}*/
//合并pdf文件
if (filesList.size() > 0) {
String dateStr = DateUtil.format(new Date(), "yyyyMMdd");
@ -1201,6 +1214,421 @@ public class LoanHomevisitPrepService extends MybatisBaseService<LoanHomevisitPr
return urls;
}
public List<String> clmmContract(PrintConfirmDto dto, String conSetUpKey) {
Map<String, Object> map = new HashMap<>();
//查询销售订单的信息
ResultBean<AppOrderDetailsVo> resultBean = busSalesOrderFeign.getSaleOrderDetails(dto.getBusSid());
AppOrderDetailsVo appOrderDetailsVo = resultBean.getData();
//获取车辆信息
List<SalesOrderVehicle> salesOrderVehicles = dto.getSalesOrderVehicles();
//获取采购系统、分公司对应的开票信息
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingFeign.getDetailsBySystem(appOrderDetailsVo.getPurchaseSystemSid()).getData();
//甲方
map.put("jf", finCompanyInvoicingDetailsVo.getName());
//乙方
map.put("yf", salesOrderVehicles.get(0).getBorrowName());
//获取贷款人信息
BusSalesOrderBorrowerDetailsVo busSalesOrderBorrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(salesOrderVehicles.get(0).getBorrowerSid()).getData();
//获取贷款人客户信息
CrmCustomerTemp crmCustomerTemp = crmCustomerTempFeign.fetchEntity(busSalesOrderBorrowerDetailsVo.getCustomSid()).getData();
//乙方身份证号
map.put("yfID", crmCustomerTemp.getIDNumber());
//地址
LoanHomevisitInvestigateCustomerDetailsVo loanHomevisitInvestigateCustomerDetailsVo = loanHomevisitInvestigateCustomerService.fetchByBorrowerSid(salesOrderVehicles.get(0).getBorrowerSid());
map.put("qdAddress", loanHomevisitInvestigateCustomerDetailsVo.getBorrowerDomAddress());
//电话
map.put("phone", crmCustomerTemp.getMobile());
//查询销售订单的车型信息
AppOrderModelInfoVo appOrderModelInfoVo = appOrderDetailsVo.getModelInfo();
//根据车型sid查询车型的全称
BaseVehicleModel baseVehicleModel = baseVehicleModelFeign.fetchBySid(appOrderModelInfoVo.getModelSid()).getData();
BaseModelConfig baseModelConfig = baseModelConfigFeign.fetchBySid(appOrderModelInfoVo.getConfigSid()).getData();
String modelName = "车型:";
StringBuilder modeNameValue = new StringBuilder();
//车型名称(小名):系列+驱动+功能+空格+版本
if (StringUtils.isNotBlank(baseVehicleModel.getProductLineValue()) && !"-".equals(baseVehicleModel.getProductLineValue())) {
modeNameValue.append(baseVehicleModel.getProductLineValue());
}
//驱动
if (StringUtils.isNotBlank(baseVehicleModel.getDriveFormValue()) && !"-".equals(baseVehicleModel.getDriveFormValue())) {
modeNameValue.append(baseVehicleModel.getDriveFormValue());
}
//功能
if (StringUtils.isNotBlank(baseVehicleModel.getVehicleTypeValue()) && !"-".equals(baseVehicleModel.getVehicleTypeValue())) {
modeNameValue.append(baseVehicleModel.getVehicleTypeValue());
}
//版本
if (StringUtils.isNotBlank(baseVehicleModel.getVehicleVersionValue()) && !"-".equals(baseVehicleModel.getVehicleVersionValue())) {
modeNameValue.append(baseVehicleModel.getVehicleVersionValue());
}
modelName = modelName + modeNameValue.toString();
//车型全名称:发动机型号(空格)xxx马力+燃料+排放标准发动机、变速箱、缓速器、
// 后桥(若存在“桥”字样后不带“后桥”)、速比、轴距、悬架(若存在“悬架”字样后不带“悬架”)、
// 鞍座(若存在“鞍座”字样后不带“鞍座”)、燃料箱(若存在“油箱”字样后不带“燃料箱”)、轮胎(若存在“胎”字样后不带“轮胎”)、
// 轮毂材质、护轮罩。换行
//驾驶室+颜色驾驶室、导流罩、保险杠、后视镜、座椅、空调、独立热源、多媒体
StringBuilder modelAllName = new StringBuilder();
//发动机型号
if (StringUtils.isNotBlank(baseVehicleModel.getEngineTypeValue()) && !"-".equals(baseVehicleModel.getEngineTypeValue())) {
modelAllName.append(baseVehicleModel.getEngineTypeValue());
}
//马力
if (StringUtils.isNotBlank(baseVehicleModel.getPowerValue()) && !"-".equals(baseVehicleModel.getPowerValue())) {
modelAllName.append(" ").append(baseVehicleModel.getPowerValue()).append("马力");
}
//燃料
if (StringUtils.isNotBlank(baseVehicleModel.getFuelTypeValue()) && !"-".equals(baseVehicleModel.getFuelTypeValue())) {
modelAllName.append(baseVehicleModel.getFuelTypeValue());
}
//排放标准
if (StringUtils.isNotBlank(baseVehicleModel.getEmissionStandardValue()) && !"-".equals(baseVehicleModel.getEmissionStandardValue())) {
modelAllName.append(baseVehicleModel.getEmissionStandardValue());
}
modelAllName.append("发动机");
//变速箱
if (StringUtils.isNotBlank(baseVehicleModel.getGearboxTypeValue()) && !"-".equals(baseVehicleModel.getGearboxTypeValue())) {
modelAllName.append("、").append(baseVehicleModel.getGearboxTypeValue()).append("变速箱");
}
//缓速器
if (StringUtils.isNotBlank(baseModelConfig.getSlowMachine()) && !"-".equals(baseModelConfig.getSlowMachine())) {
modelAllName.append("、").append(baseModelConfig.getSlowMachine());
}
//后桥
if (StringUtils.isNotBlank(baseModelConfig.getRearAxleValue()) && !"-".equals(baseModelConfig.getRearAxleValue())) {
modelAllName.append("、").append(baseModelConfig.getRearAxleValue());
if (!baseModelConfig.getRearAxleValue().contains("桥")) {
modelAllName.append("后桥");
}
}
//速比
if (StringUtils.isNotBlank(baseModelConfig.getRearAxleRatio()) && !"-".equals(baseModelConfig.getRearAxleRatio())) {
modelAllName.append("、").append(baseModelConfig.getRearAxleRatio()).append("速比");
}
//轴距
if (StringUtils.isNotBlank(baseModelConfig.getWheelbase()) && !"-".equals(baseModelConfig.getWheelbase())) {
modelAllName.append("、").append(baseModelConfig.getWheelbase()).append("mm轴距");
}
//悬架
if (StringUtils.isNotBlank(baseModelConfig.getSuspension()) && !"-".equals(baseModelConfig.getSuspension())) {
modelAllName.append("、").append(baseModelConfig.getSuspension());
if (!baseModelConfig.getSuspension().contains("悬架")) {
modelAllName.append("悬架");
}
}
//鞍座
if (StringUtils.isNotBlank(baseModelConfig.getSaddle()) && !"-".equals(baseModelConfig.getSaddle())) {
modelAllName.append("、").append(baseModelConfig.getSaddle());
if (!baseModelConfig.getSaddle().contains("鞍座")) {
modelAllName.append("鞍座");
}
}
//燃料箱
if (StringUtils.isNotBlank(baseModelConfig.getFuelTank()) && !"-".equals(baseModelConfig.getFuelTank())) {
modelAllName.append("、").append(baseModelConfig.getFuelTank());
if (!baseModelConfig.getFuelTank().contains("油箱")) {
modelAllName.append("燃料箱");
}
}
//轮胎
if (StringUtils.isNotBlank(baseModelConfig.getTireSize()) && !"-".equals(baseModelConfig.getTireSize())) {
modelAllName.append("、").append(baseModelConfig.getTireSize());
if (!baseModelConfig.getTireSize().contains("胎")) {
modelAllName.append("轮胎");
}
}
//轮毂材质
if (StringUtils.isNotBlank(baseModelConfig.getHubMaterial()) && !"-".equals(baseModelConfig.getHubMaterial())) {
modelAllName.append("、").append(baseModelConfig.getHubMaterial());
}
//护轮罩
if (StringUtils.isNotBlank(baseModelConfig.getTireCover()) && !"-".equals(baseModelConfig.getTireCover())) {
modelAllName.append("、").append(baseModelConfig.getTireCover());
}
StringBuilder modelAllName2 = new StringBuilder();
modelAllName2.append("\t").append(" ");
//驾驶室
if (StringUtils.isNotBlank(baseModelConfig.getSpecification()) && !"-".equals(baseModelConfig.getSpecification())) {
modelAllName2.append(baseModelConfig.getSpecification());
}
//颜色
if (StringUtils.isNotBlank(baseModelConfig.getCarColor()) && !"-".equals(baseModelConfig.getCarColor())) {
modelAllName2.append("/").append(baseModelConfig.getCarColor()).append("驾驶室");
}
//导流罩
if (StringUtils.isNotBlank(baseModelConfig.getBaffleModel()) && !"-".equals(baseModelConfig.getBaffleModel())) {
modelAllName2.append("、").append(baseModelConfig.getBaffleModel());
}
//保险杠
if (StringUtils.isNotBlank(baseModelConfig.getBumper()) && !"-".equals(baseModelConfig.getBumper())) {
modelAllName2.append("、").append(baseModelConfig.getBumper());
}
//后视镜
if (StringUtils.isNotBlank(baseModelConfig.getRearViewMirror()) && !"-".equals(baseModelConfig.getRearViewMirror())) {
modelAllName2.append("、").append(baseModelConfig.getRearViewMirror());
}
//座椅
if (StringUtils.isNotBlank(baseModelConfig.getSeat()) && !"-".equals(baseModelConfig.getSeat())) {
modelAllName2.append("、").append(baseModelConfig.getSeat());
if (!baseModelConfig.getSeat().contains("椅")) {
modelAllName2.append("座椅");
}
}
//空调
if (StringUtils.isNotBlank(baseModelConfig.getAirConditioner()) && !"-".equals(baseModelConfig.getAirConditioner())) {
modelAllName2.append("、").append(baseModelConfig.getAirConditioner());
}
//独立热源
if (StringUtils.isNotBlank(baseModelConfig.getIndependentSources()) && !"-".equals(baseModelConfig.getIndependentSources())) {
modelAllName2.append("、").append(baseModelConfig.getIndependentSources());
}
//多媒体
if (StringUtils.isNotBlank(baseModelConfig.getMultimedia()) && !"-".equals(baseModelConfig.getMultimedia())) {
modelAllName2.append("、").append(baseModelConfig.getMultimedia());
}
//特殊配置说明
if (StringUtils.isNotBlank(appOrderModelInfoVo.getSpecialInstructions())) {
modelAllName2.append("、").append("特殊配置说明:" + appOrderModelInfoVo.getSpecialInstructions());
}
modelAllName2.append("。");
String modelConfig = "配置:" + modelAllName + "。";
//上装:外廓尺寸+颜色+上装名称、板材厚度、板材材质、篷布滑道、冷藏冷机、自卸液压盖板、底板加热、更多配置
if (appOrderDetailsVo.getTopInfo() != null) {
AppOrderTopInfoVo topInfo = appOrderDetailsVo.getTopInfo();
String topName = appOrderDetailsVo.getTopMessage();
topName = "上装:制造尺寸与公告一致、" + topName + "。";
map.put("topName", topName);
}
map.put("modelConfigs", modelAllName2.toString());
map.put("modelName", modelName);
map.put("modelConfig", modelConfig);
if ("1".equals(appOrderDetailsVo.getIsInsurance())) {
//保险说明
String insuranceInfo = "保险说明:" + appOrderDetailsVo.getInsuranceInfoMessage() + "。";
map.put("insuranceInfo", insuranceInfo);
}
//查询是否有公告型号
String publics = "公告型号:";
String publicModel = appOrderModelInfoVo.getPublicModel();
String publicModelSon = appOrderModelInfoVo.getPublicModelSon();
if (StringUtils.isNotBlank(publicModel)) {
publics = publics + publicModel;
map.put("publicModel", publics + "。");
if (StringUtils.isNotBlank(publicModelSon)) {
map.put("publicModel", publics + "、" + publicModelSon + "。");
}
}
//查询销售订单价格信息
AppBusSalesOrderPriceVo appBusSalesOrderPriceVo = busSalesOrderPriceFeign.getPriceInfo(dto.getBusSid()).getData();
//车辆交付地点
if (StringUtils.isNotBlank(appBusSalesOrderPriceVo.getAddressKey())) {
ScmWarehouseVo scmWarehouseVo = scmWarehouseFeign.fetchBySid(appBusSalesOrderPriceVo.getAddressKey()).getData();
if (StringUtils.isNotBlank(scmWarehouseVo.getCity()) && StringUtils.isNotBlank(scmWarehouseVo.getCounty())) {
map.put("address", scmWarehouseVo.getCity() + scmWarehouseVo.getCounty());
} else {
map.put("address", "暂无市、区/县");
}
} else {
map.put("address", "暂无预计交付地点");
}
//合同生成日期
String date = DateUtil.today();
List<String> dateString = Arrays.asList(date.split("-"));
String year = dateString.get(0);
String month = dateString.get(1);
String day = dateString.get(2);
map.put("year", year);
map.put("month", month);
map.put("day", day);
List<String> urls = new ArrayList<>();
if (conSetUpKey.equals("001")) {//一车一合同
for (SalesOrderVehicle salesOrderVehicle : salesOrderVehicles) {
//获取消贷合同信息
BusSalesOrderLoancontractDetailsVo busSalesOrderLoancontractDetailsVo = busSalesOrderLoancontractFeign.fetchDetailsBySid(salesOrderVehicle.getLoanContractSid()).getData();
//消贷合同编号
map.put("loanContractNo", busSalesOrderLoancontractDetailsVo.getLoanContractNo());
//单台成交价
String transactionPrice = appBusSalesOrderPriceVo.getTransactionPrice();
//车辆数量及单台成交价
String remarks = "数量:1台,单台成交价:" + transactionPrice + "元。";
map.put("remarks", remarks);
//车架号
map.put("vinNo", "车架号:" + salesOrderVehicle.getLinkNo());
// 挂车信息
List<BusSalesOrderTrailerDetailsVo> data = busSalesOrderTrailerFeign.fetchDetailsByOrderSid(dto.getBusSid()).getData();
if (data.size() == 1) {
map.put("trailerName1", "挂车:外廓尺寸-长" + data.get(0).getAppearanceSizeLong() + "m," + data.get(0).getTrailerTypeValue() + "。");
map.put("trailerNumAndPrice1", "数量:" + data.get(0).getTrailerCount() + "台,单台成交价:" + data.get(0).getSingleFinalPrice() + "元。");
//单台主车对应挂车总价
BigDecimal gcPrice = data.get(0).getSingleFinalPrice().multiply(new BigDecimal(data.get(0).getTrailerCount()));
//单台主车加挂车总价
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getTransactionPrice()).add(gcPrice);
//主车总价
BigDecimal totalPrice = zcPrice.multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
//车价合计
map.put("totalPrice", totalPrice.toString());
//车价合计大写
String priceRemarks = "";
if (StringUtils.isNotBlank(totalPrice.toString())) {
priceRemarks = TransformMoney.transform(TransformMoney.getDecimalStr(Double.valueOf(totalPrice.toString()).doubleValue()));
}
map.put("priceRemarks", priceRemarks);
} else if (data.size() == 2) {
map.put("trailerName1", "挂车1:外廓尺寸-长" + data.get(0).getAppearanceSizeLong() + "m," + data.get(0).getTrailerTypeValue() + "。");
map.put("trailerNumAndPrice1", "数量:" + data.get(0).getTrailerCount() + "台,单台成交价:" + data.get(0).getSingleFinalPrice() + "元。");
map.put("trailerName2", "挂车2:外廓尺寸-长" + data.get(1).getAppearanceSizeLong() + "m," + data.get(1).getTrailerTypeValue() + "。");
map.put("trailerNumAndPrice2", "数量:" + data.get(1).getTrailerCount() + "台,单台成交价:" + data.get(1).getSingleFinalPrice() + "元。");
//单台主车对应挂车1总价
BigDecimal gc1Price = data.get(0).getSingleFinalPrice().multiply(new BigDecimal(data.get(0).getTrailerCount()));
//单台主车对应挂车2总价
BigDecimal gc2Price = data.get(1).getSingleFinalPrice().multiply(new BigDecimal(data.get(1).getTrailerCount()));
//单台主车加挂车总价
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getTransactionPrice()).add(gc1Price).add(gc2Price);
//主车总价
BigDecimal totalPrice = zcPrice.multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
//车价合计
map.put("totalPrice", totalPrice.toString());
//车价合计大写
String priceRemarks = "";
if (StringUtils.isNotBlank(totalPrice.toString())) {
priceRemarks = TransformMoney.transform(TransformMoney.getDecimalStr(Double.valueOf(totalPrice.toString()).doubleValue()));
}
map.put("priceRemarks", priceRemarks);
} else {
//主车总价
BigDecimal totalPrice = new BigDecimal(appBusSalesOrderPriceVo.getTransactionPrice()).multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
//车价合计
map.put("totalPrice", totalPrice.toString());
//车价合计大写
String priceRemarks = "";
if (StringUtils.isNotBlank(totalPrice.toString())) {
priceRemarks = TransformMoney.transform(TransformMoney.getDecimalStr(Double.valueOf(totalPrice.toString()).doubleValue()));
}
map.put("priceRemarks", priceRemarks);
}
//订金
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(appOrderDetailsVo.getContractId(), salesOrderVehicle.getLinkSid()).getData();
String djTotal = finUncollectedReceivablesDetailedFeign.selectDjByBusVinSid(busSalesOrderVehicle.getSid()).getData();
map.put("depositTotal", djTotal);
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + "clmmht" + ".ftl");
//生成word文件名
String targetPath = docPdfComponent.getUploadTemplateUrl();
String dateStr = DateUtil.format(new Date(), "yyyyMMdd");
long seconds = System.currentTimeMillis();
String typeName = dateStr + seconds + ".doc";
File file = new File(targetPath + "clmmht" + seconds + ".ftl");
File dir = new File(targetPath);
WordConvertUtils.inputStreamToFile(inputStream, file);
WordConvertUtils.creatWord1(map, file, targetPath, typeName, dir);
//新生成的word路径
String wordPath = targetPath + typeName;
//生成文件名
String pdfName = map.get("loanContractNo").toString() + "车辆买卖合同_" + dateStr + seconds + ".pdf";
WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName);
urls.add(pdfName);
}
} else if (conSetUpKey.equals("002")) {//一人一合同
//获取消贷合同信息
BusSalesOrderLoancontractDetailsVo busSalesOrderLoancontractDetailsVo = busSalesOrderLoancontractFeign.fetchDetailsBySid(salesOrderVehicles.get(0).getLoanContractSid()).getData();
//消贷合同编号
map.put("loanContractNo", busSalesOrderLoancontractDetailsVo.getLoanContractNo());
//车辆总数
BigDecimal num = new BigDecimal(salesOrderVehicles.size());
//单台成交价
String transactionPrice = appBusSalesOrderPriceVo.getTransactionPrice();
//车辆数量及单台成交价
String remarks = "数量:" + num + "台,单台成交价:" + transactionPrice + "元。";
map.put("remarks", remarks);
//车架号
String vinNo = "";
//订金
BigDecimal djTotal = new BigDecimal("0");
for (SalesOrderVehicle salesOrderVehicle : salesOrderVehicles) {
vinNo = vinNo + salesOrderVehicle.getLinkNo() + "、";
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(appOrderDetailsVo.getContractId(), salesOrderVehicle.getLinkSid()).getData();
String dtdjTotal = finUncollectedReceivablesDetailedFeign.selectDjByBusVinSid(busSalesOrderVehicle.getSid()).getData();
djTotal = djTotal.add(new BigDecimal(dtdjTotal));
}
map.put("vinNo", "车架号:" + vinNo.substring(0, vinNo.length() - 1));
map.put("depositTotal", djTotal.toString());
// 挂车信息
List<BusSalesOrderTrailerDetailsVo> data = busSalesOrderTrailerFeign.fetchDetailsByOrderSid(dto.getBusSid()).getData();
if (data.size() == 1) {
map.put("trailerName1", "挂车:外廓尺寸-长" + data.get(0).getAppearanceSizeLong() + "m," + data.get(0).getTrailerTypeValue() + "。");
map.put("trailerNumAndPrice1", "数量:" + new BigDecimal(data.get(0).getTrailerCount()).multiply(num) + "台,单台成交价:" + data.get(0).getSingleFinalPrice() + "元。");
//单台主车对应挂车总价
BigDecimal gcPrice = data.get(0).getSingleFinalPrice().multiply(new BigDecimal(data.get(0).getTrailerCount()));
//单台主车加挂车总价
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getTransactionPrice()).add(gcPrice);
//单台主车总价
BigDecimal dtTotalPrice = zcPrice.multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
//总数合计
BigDecimal totalPrice = dtTotalPrice.multiply(num);
//车价总数合计
map.put("totalPrice", totalPrice.toString());
//车价合计大写
String priceRemarks = "";
if (StringUtils.isNotBlank(totalPrice.toString())) {
priceRemarks = TransformMoney.transform(TransformMoney.getDecimalStr(Double.valueOf(totalPrice.toString()).doubleValue()));
}
map.put("priceRemarks", priceRemarks);
} else if (data.size() == 2) {
map.put("trailerName1", "挂车1:外廓尺寸-长" + data.get(0).getAppearanceSizeLong() + "m," + data.get(0).getTrailerTypeValue() + "。");
map.put("trailerNumAndPrice1", "数量:" + new BigDecimal(data.get(0).getTrailerCount()).multiply(num) + "台,单台成交价:" + data.get(0).getSingleFinalPrice() + "元。");
map.put("trailerName2", "挂车2:外廓尺寸-长" + data.get(1).getAppearanceSizeLong() + "m," + data.get(1).getTrailerTypeValue() + "。");
map.put("trailerNumAndPrice2", "数量:" + new BigDecimal(data.get(1).getTrailerCount()).multiply(num) + "台,单台成交价:" + data.get(1).getSingleFinalPrice() + "元。");
//单台主车对应挂车1总价
BigDecimal gc1Price = data.get(0).getSingleFinalPrice().multiply(new BigDecimal(data.get(0).getTrailerCount()));
//单台主车对应挂车2总价
BigDecimal gc2Price = data.get(1).getSingleFinalPrice().multiply(new BigDecimal(data.get(1).getTrailerCount()));
//单台主车加挂车总价
BigDecimal zcPrice = new BigDecimal(appBusSalesOrderPriceVo.getTransactionPrice()).add(gc1Price).add(gc2Price);
//单台主车总价
BigDecimal dtTotalPrice = zcPrice.multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
//总数合计
BigDecimal totalPrice = dtTotalPrice.multiply(num);
//车价合计
map.put("totalPrice", totalPrice.toString());
//车价合计大写
String priceRemarks = "";
if (StringUtils.isNotBlank(totalPrice.toString())) {
priceRemarks = TransformMoney.transform(TransformMoney.getDecimalStr(Double.valueOf(totalPrice.toString()).doubleValue()));
}
map.put("priceRemarks", priceRemarks);
} else {
//主车总价
BigDecimal dtTotalPrice = new BigDecimal(appBusSalesOrderPriceVo.getTransactionPrice()).multiply(new BigDecimal(appBusSalesOrderPriceVo.getNumber()));
//总数合计
BigDecimal totalPrice = dtTotalPrice.multiply(num);
//车价合计
map.put("totalPrice", totalPrice.toString());
//车价合计大写
String priceRemarks = "";
if (StringUtils.isNotBlank(totalPrice.toString())) {
priceRemarks = TransformMoney.transform(TransformMoney.getDecimalStr(Double.valueOf(totalPrice.toString()).doubleValue()));
}
map.put("priceRemarks", priceRemarks);
}
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + "clmmht" + ".ftl");
//生成word文件名
String targetPath = docPdfComponent.getUploadTemplateUrl();
String dateStr = DateUtil.format(new Date(), "yyyyMMdd");
long seconds = System.currentTimeMillis();
String typeName = dateStr + seconds + ".doc";
File file = new File(targetPath + "clmmht" + seconds + ".ftl");
File dir = new File(targetPath);
WordConvertUtils.inputStreamToFile(inputStream, file);
WordConvertUtils.creatWord1(map, file, targetPath, typeName, dir);
//新生成的word路径
String wordPath = targetPath + typeName;
//生成文件名
String pdfName = map.get("loanContractNo").toString() + "车辆买卖合同_" + dateStr + seconds + ".pdf";
WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName);
urls.add(pdfName);
}
return urls;
}
public List<String> generateCLRZXY(PrintConfirmDto printConfirmDto, String conSetUpKey) {
Map<String, Object> map = new HashMap<>();
List<SalesOrderVehicle> salesOrderVehicles = printConfirmDto.getSalesOrderVehicles();

6416
anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/ftl/clmmht.ftl

File diff suppressed because it is too large

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBill.java

@ -107,4 +107,6 @@ public class AsBusrepairBill extends BaseEntity {
private BigDecimal addAmount;
@ApiModelProperty("税额")
private BigDecimal taxAmount;
@ApiModelProperty("是否外出(1是,2否)")
private String isGoOut;
}

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java

@ -30,6 +30,8 @@ public class AsBusrepairBillDetailsVo implements Vo {
private String addAmount;
@ApiModelProperty("税额")
private String taxAmount;
@ApiModelProperty("是否外出(1是,2否)")
private String isGoOut;
@ApiModelProperty("厂家补助")
private String subsidyAmount;
@ApiModelProperty("其他费用")

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java

@ -18,6 +18,8 @@ import java.util.List;
public class AsBusrepairBillDto implements Dto {
private String sid;
private String orgPath;
@ApiModelProperty("是否外出(1是,2否)")
private String isGoOut;
@ApiModelProperty("应收金额")
private String receivableAmount;
@ApiModelProperty("工时费")

3
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillVo.java

@ -61,7 +61,8 @@ public class AsBusrepairBillVo implements Vo {
private String remarks; //备注
@ApiModelProperty("是否需要开发票(是1,否0)")
private String isInvoicing;
@ApiModelProperty("是否外出(1是,2否)")
private String isGoOut;
}

3
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.xml

@ -55,7 +55,8 @@
b.groupName,
b.mainRepairers,
b.remarks,
i.isInvoicing
i.isInvoicing,
IF(b.isGoOut = 1, '是', '否') as isGoOut
FROM as_busrepair_bill AS b
LEFT JOIN as_busrepair_bill_vech AS v ON b.sid = v.billSid
LEFT JOIN as_busrepair_bill_invoice AS i ON b.sid = i.billSid

Loading…
Cancel
Save