diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeign.java index b64a36b39e..f472e178d3 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeign.java @@ -1,6 +1,8 @@ package com.yxt.anrui.base.api.basevehiclemodel; +import com.yxt.anrui.base.api.basevehiclemodelappendix.BaseVehicleModelAppendixDto; import com.yxt.common.core.query.PagerQuery; +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; @@ -8,6 +10,7 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; import java.util.List; @@ -63,6 +66,16 @@ public interface BaseVehicleModelFeign { @PostMapping("/saveOrUpdate") public ResultBean saveOrUpdate(@Valid @RequestBody BaseVehicleModelDto dto); + /** + * 车型图片上传 + * + * @return + */ + @ApiOperation("车型图片上传") + @ApiImplicitParam(name = "file", value = "文件", required = true, dataType = "MultipartFile", dataTypeClass = MultipartFile.class) + @PostMapping("/pictureUpload") + public ResultBean pictureUpload (@RequestParam("modelSid") String modelSid, @RequestParam(value = "file") MultipartFile file); + /** * 删除、批量删除 * @@ -94,6 +107,8 @@ public interface BaseVehicleModelFeign { @GetMapping("/getAll/{sid}") public ResultBean getAll(@PathVariable("sid") String sid); + + /** * 车型列表导出 * diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeignFallback.java index 451f76ee5b..17d4f0747c 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeignFallback.java @@ -1,9 +1,11 @@ package com.yxt.anrui.base.api.basevehiclemodel; import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.FileUploadResult; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import org.springframework.stereotype.Component; +import org.springframework.web.multipart.MultipartFile; import java.util.List; import java.util.Map; @@ -40,6 +42,11 @@ public class BaseVehicleModelFeignFallback implements BaseVehicleModelFeign { return ResultBean.fireFail().setMsg("接口anrui-base/basevehiclemodel/saveOrUpdate无法访问"); } + @Override + public ResultBean pictureUpload(String modelSid, MultipartFile file) { + return null; + } + @Override public ResultBean deleteBySids(String sids) { return null; diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfig.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfig.java index 2bb6afbf38..f616630cb0 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfig.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfig.java @@ -71,7 +71,7 @@ public class BaseVehmodelConfig extends BaseEntity { @ApiModelProperty(value = "是否常用车型") private Integer isCommonModel; - @ApiModelProperty(value = "使用组织(分公司)") - private String useOrg; + @ApiModelProperty(value = "使用组织sid(分公司)") + private String useOrgSid; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigVo.java index 0cf13fe522..36ea7ccef8 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigVo.java @@ -73,4 +73,98 @@ public class BaseVehmodelConfigVo implements Vo { private String priceValidity; // 价格有效期 @ApiModelProperty(value = "是否常用车型") private Integer isCommonModel; + @ApiModelProperty("车身颜色key") + private String carColorKey; + @ApiModelProperty("车身颜色(陕汽必须的字段)") + private String carColor; + @ApiModelProperty("驾驶室规格key") + private String specificationKey; + @ApiModelProperty("驾驶室规格(陕汽必须的字段)") + private String specification; + @ApiModelProperty("油箱/气罐key") + private String fuelTankKey; + @ApiModelProperty("油箱/气罐(陕汽必须的字段)") + private String fuelTank; + @ApiModelProperty("导流罩key") + private String baffleModelKey; + @ApiModelProperty("导流罩(陕汽必须的字段)") + private String baffleModel; + @ApiModelProperty("独立热源key(1有、0无)") + private String independentSourcesKey; + @ApiModelProperty("独立热源(有、无)") + private String independentSources; + @ApiModelProperty("护轮罩key(有、无)") + private String tireCoverKey; + @ApiModelProperty("护轮罩(有、无)") + private String tireCover; + @ApiModelProperty("鞍座key") + private String saddleKey; + @ApiModelProperty("鞍座(陕汽必须的字段)") + private String saddle; + @ApiModelProperty("空调key") + private String airConditionerKey; + @ApiModelProperty("空调(陕汽必须的字段)") + private String airConditioner; + /* @ApiModelProperty("彩色仪表盘(是、否)") + private String isColorPanel; + @ApiModelProperty("基础单位") + private String basedUnit; + @ApiModelProperty("公司指导价(陕汽必须的字段)") + private String companyGuidePrice;*/ + @ApiModelProperty("后桥速比key") + private String rearAxleRatioKey; + @ApiModelProperty("后桥速比") + private String rearAxleRatio; + /* @ApiModelProperty("委改厂(欧曼)") + private String appointToFactory;*/ + @ApiModelProperty("轮胎规格key") + private String tireSizeKey; + @ApiModelProperty("轮胎规格") + private String tireSize; + @ApiModelProperty("缓速器key") + private String slowMachineKey; + @ApiModelProperty("缓速器") + private String slowMachine; + @ApiModelProperty("后视镜key") + private String rearViewMirrorKey; + @ApiModelProperty("后视镜") + private String rearViewMirror; + @ApiModelProperty("轴距key") + private String wheelbaseKey; + @ApiModelProperty("轴距(重汽、欧曼)") + private String wheelbase; + @ApiModelProperty("悬架key") + private String suspensionKey; + @ApiModelProperty("悬架(重汽、欧曼)") + private String suspension; + @ApiModelProperty("货箱(重汽、欧曼)") + private String packingCase; + /* @ApiModelProperty("上装装置(欧曼)") + private String installingDevice;*/ + @ApiModelProperty("座椅key") + private String seatKey; + @ApiModelProperty("座椅(陕汽、欧曼)") + private String seat; + @ApiModelProperty("轮毂材质key") + private String hubMaterialKey; + @ApiModelProperty("轮毂材质(重汽)") + private String hubMaterial; + @ApiModelProperty("配置包key") + private String configuringBaoKey; + @ApiModelProperty("配置包(陕汽)") + private String configuringBao; + @ApiModelProperty("多媒体key") + private String multimediaKey; + @ApiModelProperty("多媒体(陕汽)") + private String multimedia; + @ApiModelProperty("保险杠key") + private String bumperKey; + @ApiModelProperty("保险杠(欧曼)") + private String bumper; + @ApiModelProperty("品牌名称") + private String brandName; + @ApiModelProperty("是否可以删除(1是,0否)") + private Integer isDel; + @ApiModelProperty(value = "备注") + private String remarks; } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelMapper.xml index 35281bff61..93a737144a 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelMapper.xml @@ -13,7 +13,9 @@ bvm.fuelTypeValue, bvm.vehicleVersionValue, bvm.modelName, - bvm.engineTypeValue + bvm.engineTypeValue, + bvm.`vehicleVersionValue` vehicleVersion, + bvm.`vehicleTypeCode` FROM base_vehicle_model bvm ${ew.sqlSegment} @@ -273,7 +275,7 @@ bvm.createOrg, - bvm.useOrg useOrgSid, + bvm.useOrg, bvm.useOrgName, bvm.marketSegments, diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelRest.java index 86587b93af..a1a3255a12 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelRest.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturer; import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrand; import com.yxt.anrui.base.api.basevehiclemodel.*; +import com.yxt.anrui.base.api.basevehiclemodelappendix.BaseVehicleModelAppendix; import com.yxt.anrui.base.api.basevehiclemodelappendix.BaseVehicleModelAppendixVo; import com.yxt.anrui.base.biz.basemanufacturer.BaseManufacturerService; import com.yxt.anrui.base.biz.basemodelconfig.BaseModelConfigService; @@ -15,6 +16,7 @@ import com.yxt.common.base.utils.ExportExcelUtils; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.query.PagerQuery; +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; @@ -22,6 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.UnsupportedEncodingException; @@ -105,6 +108,21 @@ public class BaseVehicleModelRest implements BaseVehicleModelFeign { return baseVehicleModelService.saveOrUpdateAll(dto); } + @Override + public ResultBean pictureUpload(String modelSid, MultipartFile file) { + ResultBean rb = ResultBean.fireFail(); + if (file == null || file.isEmpty()) { + return rb.setMsg("文件为空"); + } + rb = fileUploadComponent.uploadFile(file); + FileUploadResult data = (FileUploadResult)rb.getData(); + BaseVehicleModelAppendix baseVehicleModelAppendix = new BaseVehicleModelAppendix(); + baseVehicleModelAppendix.setModelSid(modelSid); + baseVehicleModelAppendix.setFilePath(data.getFilePath()); + baseVehicleModelAppendixService.save(baseVehicleModelAppendix); + return rb.success().setMsg("上传成功"); + } + @Override public ResultBean deleteBySids(String sids) { List sidList = Arrays.asList(sids.split(",")); diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelService.java index 0b79518738..fe371802d9 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelService.java @@ -31,6 +31,7 @@ import com.yxt.common.core.result.ResultBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.validation.constraints.NotBlank; import java.util.Arrays; import java.util.List; import java.util.Map; diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java index 5bfc0211ab..fa7b78af9e 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java @@ -110,10 +110,10 @@ public interface BaseVehmodelConfigMapper extends BaseMapper BaseVehmodelConfigVo checkSave(@Param("modelSid") String modelSid, @Param("configurationItemsSid") String configurationItemsSid); - BaseVehmodelConfig getBySid(String sid); - AppModelVeDetailVo getAppIntentionVehicleVo(@Param("useOrg") String useOrg, @Param("modelSid") String modelSid, @Param("configSid") String configSid); @Delete("delete from base_vehmodel_config where modelSid = #{sid}") int delByModelSid(String sid); + + BaseVehmodelConfigVo fetchAllBySid(String sid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml index 7ea3d4bb1e..5053ff8785 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml @@ -7,6 +7,50 @@ SELECT bvc.*, bvm.modelName, + bvm.`vehicleVersionValue`, + bvm.`vehicleTypeCode`, + + bmc.carColor, + + bmc.specification, + + bmc.fuelTank, + + bmc.baffleModel, + + bmc.independentSources, + + bmc.tireCover, + + bmc.saddle, + + bmc.airConditioner, + + bmc.otherConfig, + + bmc.rearAxleRatio, + + bmc.tireSize, + + bmc.slowMachine, + + bmc.rearViewMirror, + + bmc.wheelbase, + + bmc.suspension, + + bmc.packingCase, + + bmc.seat, + + bmc.hubMaterial, + + bmc.configuringBao, + + bmc.multimedia, + + bmc.bumper, bmc.configName FROM base_vehmodel_config bvc @@ -139,18 +183,6 @@ and configurationItemsSid = #{configurationItemsSid} - - + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java index 4b10b7b089..467bf58661 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java @@ -97,7 +97,7 @@ public class BaseVehmodelConfigRest implements BaseVehmodelConfigFeign { @GetMapping("/fetchBySid/{sid}") public ResultBean fetchBySid(@PathVariable("sid") String sid) { ResultBean rb = ResultBean.fireFail(); - BaseVehmodelConfig vo = baseVehmodelConfigService.getBySid(sid); + BaseVehmodelConfigVo vo = baseVehmodelConfigService.fetchAllBySid(sid); return rb.success().setData(vo); } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java index 1101236559..6c933f8b9b 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java @@ -351,7 +351,9 @@ public class BaseVehmodelConfigService extends MybatisBaseService> customerBillListPage(@RequestBody PagerQuery pq); + @ApiOperation("客户账单明细分页列表") + @PostMapping("/customerBillDetailedListPage") + public ResultBean> customerBillDetailedListPage(@RequestBody PagerQuery pq); + } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeignFallback.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeignFallback.java index b93e84d6a7..18bd183e3f 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeignFallback.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeignFallback.java @@ -69,4 +69,9 @@ public class FinUncollectedReceivablesDetailedFeignFallback implements FinUncoll public ResultBean> customerBillListPage(PagerQuery pq) { return null; } + + @Override + public ResultBean> customerBillDetailedListPage(PagerQuery pq) { + return null; + } } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedVo.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedVo.java index 3832c0ce46..61ad4dd1ea 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedVo.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedVo.java @@ -26,11 +26,14 @@ package com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed; +import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo; import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * Project: anrui-fin(销售相关)
* File: FinUncollectedReceivablesDetailedVo.java
@@ -74,8 +77,10 @@ public class FinUncollectedReceivablesDetailedVo implements Vo { private String noSubscriptionMoney; // 未认款金额 @ApiModelProperty("生成时间") private String createTime; // 生成时间 - @ApiModelProperty("最新处理时间") - private String newModifyTime; // 最新处理时间 + @ApiModelProperty("审核时间") + private String auditDate; // 审核时间 @ApiModelProperty("备注") private String remarks; // 备注 + @ApiModelProperty("应收款项明细") + private List finSelectedReceivablesDetailedVos; // 应收款项明细 } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java index dad0dd1bec..deb46f4a9e 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java @@ -86,4 +86,8 @@ public interface FinSelectedReceivablesDetailedMapper extends BaseMapper selectGroupConAndRecAndPay(); + + List selectDetailedGroupConAndRecAndPay(); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml index 7310fcbd88..b749f101e1 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml @@ -48,4 +48,25 @@ #{sids} + + + + \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java index 0ed4f64904..aa4732f201 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java @@ -189,4 +189,12 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService selectGroupConAndRecAndPay() { + return baseMapper.selectGroupConAndRecAndPay(); + } + + public List selectDetailedGroupConAndRecAndPay() { + return baseMapper.selectDetailedGroupConAndRecAndPay(); + } } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedRest.java index cae0725d47..cf85ae6082 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedRest.java @@ -92,4 +92,11 @@ public class FinUncollectedReceivablesDetailedRest implements FinUncollectedRece PagerVo pv = finUncollectedReceivablesDetailedService.listPageVo(pq); return rb.success().setData(pv); } + + @Override + public ResultBean> customerBillDetailedListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = finUncollectedReceivablesDetailedService.detailedListPageVo(pq); + return rb.success().setData(pv); + } } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java index e3a791cf6b..8cee61651d 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java @@ -33,10 +33,12 @@ import com.yxt.anrui.base.api.commoncontract.CommonContractVo; import com.yxt.anrui.fin.api.fincollectionconfirmation.FinCollectionConfirmation; import com.yxt.anrui.fin.api.fincollectionconfirmation.FinCollectionConfirmationQuery; import com.yxt.anrui.fin.api.fincollectionconfirmation.FinCollectionConfirmationVo; +import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailed; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedDto; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedQuery; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedVo; +import com.yxt.anrui.fin.biz.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedService; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; @@ -48,6 +50,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.List; /** @@ -66,121 +69,177 @@ import java.util.List; @Service public class FinUncollectedReceivablesDetailedService extends MybatisBaseService { - @Autowired - private CommonContractFeign commonContractFeign; + @Autowired + private CommonContractFeign commonContractFeign; + @Autowired + private FinSelectedReceivablesDetailedService finSelectedReceivablesDetailedService; - private QueryWrapper createQueryWrapper(FinUncollectedReceivablesDetailedQuery query) { - // todo: 这里根据具体业务调整查询条件 - // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); - QueryWrapper qw = new QueryWrapper<>(); - qw.ne("currentReceivableMoney",0); - qw.eq("useOrgSid", query.getUseOrgSid()); - qw.eq("createBySid",query.getCreateBySid()); - if (StringUtils.isNotBlank(query.getContractNo())) { - qw.eq("contractNo", query.getContractNo()); - } - if (StringUtils.isNotBlank(query.getCustomerName())) { - qw.eq("customerName", query.getCustomerName()); - } - if (StringUtils.isNotBlank(query.getCustomerPhone())) { - qw.eq("customerPhone", query.getCustomerPhone()); - } - if (StringUtils.isNotBlank(query.getPaymentTypeKey())) { - qw.eq("paymentTypeKey", query.getPaymentTypeKey()); - } - if (StringUtils.isNotBlank(query.getSubscriptionState())) { - qw.eq("subscriptionState", query.getSubscriptionState()); - } - String createStartTime = query.getCreateStartTime(); - String createEndTime = query.getCreateEndTime(); - qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). - apply(StringUtils.isNotEmpty(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" - ); - return qw; - } - - public List listAllVo(FinUncollectedReceivablesDetailedQuery query) { - QueryWrapper qw = createQueryWrapper(query); - return baseMapper.selectListAllVo(qw); - } - - public ResultBean saveOrUpdateDto(FinUncollectedReceivablesDetailedDto dto){ - ResultBean rb = ResultBean.fireFail(); - String sid = dto.getSid(); - FinUncollectedReceivablesDetailed entity = new FinUncollectedReceivablesDetailed(); - if (StringUtils.isBlank(sid)){//新增 - BeanUtils.copyProperties(dto,entity); - save(entity); - return rb.success().setMsg("添加成功"); - } - updateBySid(dto,sid); - return rb.success().setMsg("修改成功"); - } + private QueryWrapper createQueryWrapper(FinUncollectedReceivablesDetailedQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + qw.ne("currentReceivableMoney", 0); + qw.eq("useOrgSid", query.getUseOrgSid()); + qw.eq("createBySid", query.getCreateBySid()); + if (StringUtils.isNotBlank(query.getContractNo())) { + qw.eq("contractNo", query.getContractNo()); + } + if (StringUtils.isNotBlank(query.getCustomerName())) { + qw.eq("customerName", query.getCustomerName()); + } + if (StringUtils.isNotBlank(query.getCustomerPhone())) { + qw.eq("customerPhone", query.getCustomerPhone()); + } + if (StringUtils.isNotBlank(query.getPaymentTypeKey())) { + qw.eq("paymentTypeKey", query.getPaymentTypeKey()); + } + if (StringUtils.isNotBlank(query.getSubscriptionState())) { + qw.eq("subscriptionState", query.getSubscriptionState()); + } + String createStartTime = query.getCreateStartTime(); + String createEndTime = query.getCreateEndTime(); + qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" + ); + return qw; + } - public FinUncollectedReceivablesDetailedVo fetchByVinAndRecName(String vin, String receivablesName) { - return baseMapper.fetchByVinAndRecName(vin,receivablesName); - } + public List listAllVo(FinUncollectedReceivablesDetailedQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectListAllVo(qw); + } - public void updateCurRecMoneyBySid(String curRecMoney, String sid) { - baseMapper.updateCurRecMoneyBySid(curRecMoney,sid); - } + public ResultBean saveOrUpdateDto(FinUncollectedReceivablesDetailedDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + FinUncollectedReceivablesDetailed entity = new FinUncollectedReceivablesDetailed(); + if (StringUtils.isBlank(sid)) {//新增 + BeanUtils.copyProperties(dto, entity); + save(entity); + return rb.success().setMsg("添加成功"); + } + updateBySid(dto, sid); + return rb.success().setMsg("修改成功"); + } - public PagerVo listPageVo(PagerQuery pq) { - FinUncollectedReceivablesDetailedQuery params = pq.getParams(); - QueryWrapper qw = createQueryWrapper(params); - IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPageVo(page, qw); - List records = pagging.getRecords(); - for (FinUncollectedReceivablesDetailedVo record : records) { - BigDecimal totalDeposit = null; - BigDecimal totalPrice = null; - BigDecimal noSubscriptionMoney = null; - String contractSid = record.getContractSid(); - String contractNo = record.getContractNo(); - String receivablesName = record.getReceivablesName(); - String paymentTypeValue = record.getPaymentTypeValue(); - ResultBean commonContractVoResultBean = commonContractFeign.fetchBySid(contractSid); - CommonContractVo data = commonContractVoResultBean.getData(); - if (receivablesName.equals("订金")){ - BigDecimal oneDeposit = new BigDecimal(data.getOneDeposit()); - BigDecimal num = new BigDecimal(data.getNum()); - totalDeposit = oneDeposit.multiply(num); - record.setCurrentReceivableMoney(String.valueOf(totalDeposit)); - }else if (receivablesName.equals("车款")){ - BigDecimal price = new BigDecimal(data.getPrice()); - BigDecimal num = new BigDecimal(data.getNum()); - totalPrice = price.multiply(num); - record.setCurrentReceivableMoney(String.valueOf(totalPrice)); - } - List finUncollectedReceivablesDetailedVos = baseMapper.selectGroupConAndRecAndPay(contractNo, receivablesName, paymentTypeValue); - for (FinUncollectedReceivablesDetailedVo finUncollectedReceivablesDetailedVo : finUncollectedReceivablesDetailedVos) { - String receivablesName1 = finUncollectedReceivablesDetailedVo.getReceivablesName(); - String subscriptionMoney = finUncollectedReceivablesDetailedVo.getSubscriptionMoney(); - if (receivablesName1.equals("订金")){ - record.setSubscriptionMoney(subscriptionMoney); - noSubscriptionMoney = totalDeposit.subtract(new BigDecimal(subscriptionMoney)); - record.setNoSubscriptionMoney(String.valueOf(noSubscriptionMoney)); - if (subscriptionMoney.equals(0)){ - record.setSubscriptionState("未认款"); - }else if(subscriptionMoney.equals(totalDeposit)){ - record.setSubscriptionState("已认款"); - }else { - record.setSubscriptionState("部分认款"); - } - }else if (receivablesName1.equals("车款")){ - noSubscriptionMoney = totalPrice.subtract(new BigDecimal(subscriptionMoney)); - record.setNoSubscriptionMoney(String.valueOf(noSubscriptionMoney)); - if (subscriptionMoney.equals(0)){ - record.setSubscriptionState("未认款"); - }else if(subscriptionMoney.equals(totalPrice)){ - record.setSubscriptionState("已认款"); - }else { - record.setSubscriptionState("部分认款"); - } - } - } - } - PagerVo p = PagerUtil.pageToVo(pagging, null); - return p; - } + public FinUncollectedReceivablesDetailedVo fetchByVinAndRecName(String vin, String receivablesName) { + return baseMapper.fetchByVinAndRecName(vin, receivablesName); + } + + public void updateCurRecMoneyBySid(String curRecMoney, String sid) { + baseMapper.updateCurRecMoneyBySid(curRecMoney, sid); + } + + public PagerVo listPageVo(PagerQuery pq) { + FinUncollectedReceivablesDetailedQuery params = pq.getParams(); + QueryWrapper qw = createQueryWrapper(params); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + List records = pagging.getRecords(); + for (FinUncollectedReceivablesDetailedVo record : records) { + BigDecimal totalDeposit = null; + BigDecimal totalPrice = null; + BigDecimal noSubscriptionMoney = null; + String contractSid = record.getContractSid(); + String contractNo = record.getContractNo(); + String receivablesName = record.getReceivablesName(); + String paymentTypeValue = record.getPaymentTypeValue(); + ResultBean commonContractVoResultBean = commonContractFeign.fetchBySid(contractSid); + CommonContractVo data = commonContractVoResultBean.getData(); + if (receivablesName.equals("订金")) { + BigDecimal oneDeposit = new BigDecimal(data.getOneDeposit()); + BigDecimal num = new BigDecimal(data.getNum()); + totalDeposit = oneDeposit.multiply(num); + record.setCurrentReceivableMoney(String.valueOf(totalDeposit)); + } else if (receivablesName.equals("车款")) { + BigDecimal price = new BigDecimal(data.getPrice()); + BigDecimal num = new BigDecimal(data.getNum()); + totalPrice = price.multiply(num); + record.setCurrentReceivableMoney(String.valueOf(totalPrice)); + } + List finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.selectGroupConAndRecAndPay(); + for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) { + String receivablesName1 = finSelectedReceivablesDetailedVo.getReceivablesName(); + String subscriptionMoney = finSelectedReceivablesDetailedVo.getSubscriptionMoney(); + if (receivablesName1.equals("订金")) { + record.setSubscriptionMoney(subscriptionMoney); + noSubscriptionMoney = totalDeposit.subtract(new BigDecimal(subscriptionMoney)); + record.setNoSubscriptionMoney(String.valueOf(noSubscriptionMoney)); + if (subscriptionMoney.equals(0)) { + record.setSubscriptionState("未认款"); + } else if (subscriptionMoney.equals(totalDeposit)) { + record.setSubscriptionState("已认款"); + } else { + record.setSubscriptionState("部分认款"); + } + } else if (receivablesName1.equals("车款")) { + noSubscriptionMoney = totalPrice.subtract(new BigDecimal(subscriptionMoney)); + record.setNoSubscriptionMoney(String.valueOf(noSubscriptionMoney)); + if (subscriptionMoney.equals(0)) { + record.setSubscriptionState("未认款"); + } else if (subscriptionMoney.equals(totalPrice)) { + record.setSubscriptionState("已认款"); + } else { + record.setSubscriptionState("部分认款"); + } + } + } + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public PagerVo detailedListPageVo(PagerQuery pq) { + FinUncollectedReceivablesDetailedQuery params = pq.getParams(); + QueryWrapper qw = createQueryWrapper(params); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + List records = pagging.getRecords(); + for (FinUncollectedReceivablesDetailedVo record : records) { + BigDecimal totalDeposit = null; + BigDecimal totalPrice = null; + BigDecimal noSubscriptionMoney = null; + String contractSid = record.getContractSid(); + String contractNo = record.getContractNo(); + String receivablesName = record.getReceivablesName(); + String paymentTypeValue = record.getPaymentTypeValue(); + ResultBean commonContractVoResultBean = commonContractFeign.fetchBySid(contractSid); + CommonContractVo data = commonContractVoResultBean.getData(); + if (receivablesName.equals("订金")) { + BigDecimal oneDeposit = new BigDecimal(data.getOneDeposit()); + BigDecimal num = new BigDecimal(data.getNum()); + totalDeposit = oneDeposit.multiply(num); + record.setCurrentReceivableMoney(String.valueOf(totalDeposit)); + record.setSubscriptionMoney("0"); + record.setNoSubscriptionMoney(String.valueOf(totalDeposit)); + List finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.selectDetailedGroupConAndRecAndPay(); + BigDecimal lastSubscriptionMoney = null; + for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) { + BigDecimal subscriptionMoney = new BigDecimal(finSelectedReceivablesDetailedVo.getSubscriptionMoney()); + noSubscriptionMoney = totalDeposit.subtract(subscriptionMoney.add(lastSubscriptionMoney)); + lastSubscriptionMoney = subscriptionMoney.add(lastSubscriptionMoney); + finSelectedReceivablesDetailedVo.setNoSubscriptionMoney(String.valueOf(noSubscriptionMoney)); + } + record.setFinSelectedReceivablesDetailedVos(finSelectedReceivablesDetailedVos); + } else if (receivablesName.equals("车款")) { + BigDecimal price = new BigDecimal(data.getPrice()); + BigDecimal num = new BigDecimal(data.getNum()); + totalPrice = price.multiply(num); + record.setCurrentReceivableMoney(String.valueOf(totalPrice)); + record.setSubscriptionMoney("0"); + record.setNoSubscriptionMoney(String.valueOf(totalPrice)); + List finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.selectDetailedGroupConAndRecAndPay(); + BigDecimal lastSubscriptionMoney = null; + for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) { + BigDecimal subscriptionMoney = new BigDecimal(finSelectedReceivablesDetailedVo.getSubscriptionMoney()); + noSubscriptionMoney = totalPrice.subtract(subscriptionMoney.add(lastSubscriptionMoney)); + lastSubscriptionMoney = subscriptionMoney.add(lastSubscriptionMoney); + finSelectedReceivablesDetailedVo.setNoSubscriptionMoney(String.valueOf(noSubscriptionMoney)); + } + record.setFinSelectedReceivablesDetailedVos(finSelectedReceivablesDetailedVos); + } + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } } \ No newline at end of file