Browse Source

车型问题修复,

车型列表上传图片接口开发,
客户账单明细分页列表接口开发
master
God 3 years ago
parent
commit
361c0a706c
  1. 15
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeign.java
  2. 7
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeignFallback.java
  3. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfig.java
  4. 94
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigVo.java
  5. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelMapper.xml
  6. 18
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelRest.java
  7. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelService.java
  8. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java
  9. 68
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml
  10. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java
  11. 10
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java
  12. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailed.java
  13. 14
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedVo.java
  14. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeign.java
  15. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeignFallback.java
  16. 9
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedVo.java
  17. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java
  18. 21
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml
  19. 8
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java
  20. 7
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedRest.java
  21. 285
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java

15
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<BaseVehicleModelSelectVo> getAll(@PathVariable("sid") String sid);
/**
* 车型列表导出
*

7
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;

4
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;
}

94
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;
}

6
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
<where>
${ew.sqlSegment}
@ -273,7 +275,7 @@
<!--创建组织(陕汽必须的字段)-->
bvm.createOrg,
<!--使用组织sid-->
bvm.useOrg useOrgSid,
bvm.useOrg,
bvm.useOrgName,
<!--细分市场(陕汽、欧曼特有)-->
bvm.marketSegments,

18
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<String> sidList = Arrays.asList(sids.split(","));

1
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;

4
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<BaseVehmodelConfig>
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);
}

68
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}
</select>
<select id="getBySid" resultType="com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfig">
SELECT bvm.`modelName`,
bmc.`configName`,
bmc.`otherConfig`,
bvc.`manufactorSettlementPrice`,
bvc.`guidedPrice`
FROM base_vehmodel_config bvc
LEFT JOIN base_vehicle_model bvm ON bvc.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bvc.`configurationItemsSid` = bmc.`sid`
WHERE bvc.sid = #{sid}
</select>
<select id="getAppIntentionVehicleVo"
resultType="com.yxt.anrui.base.api.basevehmodelconfig.AppModelVeDetailVo">
SELECT bvm.vehicleAlias,
@ -164,4 +196,16 @@
AND bvc.configurationItemsSid = #{configSid}
AND bvc.useOrg = #{useOrg}
</select>
<select id="fetchAllBySid" resultType="com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigVo">
SELECT bvm.`modelName`,
bmc.`configName`,
bmc.`otherConfig`,
bvc.`manufactorSettlementPrice`,
bvc.`guidedPrice`
FROM base_vehmodel_config bvc
LEFT JOIN base_vehicle_model bvm ON bvc.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bvc.`configurationItemsSid` = bmc.`sid`
WHERE bvc.sid = #{sid}
</select>
</mapper>

2
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<BaseVehmodelConfigVo> fetchBySid(@PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail();
BaseVehmodelConfig vo = baseVehmodelConfigService.getBySid(sid);
BaseVehmodelConfigVo vo = baseVehmodelConfigService.fetchAllBySid(sid);
return rb.success().setData(vo);
}

10
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<BaseVehmodelCo
return rb.setMsg("当前常用配置信息已关联当前车型,请重新选择");
}
BaseVehmodelConfig baseVehmodelConfig = new BaseVehmodelConfig();
String sid = baseVehmodelConfig.getSid();
BeanUtil.copyProperties(dto,baseVehmodelConfig);
baseVehmodelConfig.setSid(sid);
save(baseVehmodelConfig);
return rb.success().setMsg("关联成功");
}
@ -367,10 +369,6 @@ public class BaseVehmodelConfigService extends MybatisBaseService<BaseVehmodelCo
return rb.success().setMsg("解除成功");
}
public BaseVehmodelConfig getBySid(String sid) {
return baseMapper.getBySid(sid);
}
public AppModelVeDetailVo getAppIntentionVehicleVo(String userSid, String modelSid, String configSid) {
String useOrg = sysOrganizationFeign.getUseOrgByUserSid(userSid).getData().getSid();
AppModelVeDetailVo vo = baseMapper.getAppIntentionVehicleVo(useOrg,modelSid,configSid);
@ -380,4 +378,8 @@ public class BaseVehmodelConfigService extends MybatisBaseService<BaseVehmodelCo
public int delByModelSid(String sid) {
return baseMapper.delByModelSid(sid);
}
public BaseVehmodelConfigVo fetchAllBySid(String sid) {
return baseMapper.fetchAllBySid(sid);
}
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailed.java

@ -80,4 +80,6 @@ public class FinSelectedReceivablesDetailed extends BaseEntity {
private String collSid; // 收款确认单sid
@ApiModelProperty("审核状态(1待审核/2已驳回/3已审核)")
private Integer auditState; // 审核状态
@ApiModelProperty("审核时间")
private String auditDate; // 审核时间
}

14
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedVo.java

@ -83,7 +83,10 @@ public class FinSelectedReceivablesDetailedVo implements Vo {
@ApiModelProperty("认款金额")
private String subscriptionMoney; // 认款金额
@ApiModelProperty("未认款金额")
private String noSubscriptionMoney; // 未认款金额
@ApiModelProperty("认款申请日期")
private String subscriptionDate; // 认款申请日期
@ -92,4 +95,13 @@ public class FinSelectedReceivablesDetailedVo implements Vo {
@ApiModelProperty("审核状态(1待审核/2已驳回/3已审核)")
private Integer auditState; // 审核状态
@ApiModelProperty("审核时间")
private String auditDate; // 审核时间
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("款项类型value")
private String paymentTypeValue; // 款项类型value
}

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

@ -77,4 +77,8 @@ public interface FinUncollectedReceivablesDetailedFeign {
@PostMapping("/customerBillListPage")
public ResultBean<PagerVo<FinUncollectedReceivablesDetailedVo>> customerBillListPage(@RequestBody PagerQuery<FinUncollectedReceivablesDetailedQuery> pq);
@ApiOperation("客户账单明细分页列表")
@PostMapping("/customerBillDetailedListPage")
public ResultBean<PagerVo<FinUncollectedReceivablesDetailedVo>> customerBillDetailedListPage(@RequestBody PagerQuery<FinUncollectedReceivablesDetailedQuery> pq);
}

5
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<PagerVo<FinUncollectedReceivablesDetailedVo>> customerBillListPage(PagerQuery<FinUncollectedReceivablesDetailedQuery> pq) {
return null;
}
@Override
public ResultBean<PagerVo<FinUncollectedReceivablesDetailedVo>> customerBillDetailedListPage(PagerQuery<FinUncollectedReceivablesDetailedQuery> pq) {
return null;
}
}

9
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(销售相关) <br/>
* File: FinUncollectedReceivablesDetailedVo.java <br/>
@ -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<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos; // 应收款项明细
}

4
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<FinSele
@Update("update fin_selected_receivables_detailed set auditState = 3 where sid = #{sid}")
void cashierConfirm(String sid);
List<FinSelectedReceivablesDetailedVo> selectGroupConAndRecAndPay();
List<FinSelectedReceivablesDetailedVo> selectDetailedGroupConAndRecAndPay();
}

21
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml

@ -48,4 +48,25 @@
#{sids}
</foreach>
</select>
<select id="selectGroupConAndRecAndPay"
resultType="com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo">
SELECT receivablesName,
SUM(subscriptionMoney) subscriptionMoney
FROM fin_selected_receivables_detailed fsrd
WHERE auditState = 3
GROUP BY contractNo, receivablesName
</select>
<select id="selectDetailedGroupConAndRecAndPay"
resultType="com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo">
SELECT receivablesName,
subscriptionMoney,
auditDate,
remarks
FROM fin_selected_receivables_detailed fsrd
WHERE auditState = 3
ORDER BY auditDate GROUP BY contractNo,
receivablesName
</select>
</mapper>

8
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<Fi
public void cashierConfirm(String sid) {
baseMapper.cashierConfirm(sid);
}
public List<FinSelectedReceivablesDetailedVo> selectGroupConAndRecAndPay() {
return baseMapper.selectGroupConAndRecAndPay();
}
public List<FinSelectedReceivablesDetailedVo> selectDetailedGroupConAndRecAndPay() {
return baseMapper.selectDetailedGroupConAndRecAndPay();
}
}

7
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<FinUncollectedReceivablesDetailedVo> pv = finUncollectedReceivablesDetailedService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean<PagerVo<FinUncollectedReceivablesDetailedVo>> customerBillDetailedListPage(PagerQuery<FinUncollectedReceivablesDetailedQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<FinUncollectedReceivablesDetailedVo> pv = finUncollectedReceivablesDetailedService.detailedListPageVo(pq);
return rb.success().setData(pv);
}
}

285
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<FinUncollectedReceivablesDetailedMapper, FinUncollectedReceivablesDetailed> {
@Autowired
private CommonContractFeign commonContractFeign;
@Autowired
private CommonContractFeign commonContractFeign;
@Autowired
private FinSelectedReceivablesDetailedService finSelectedReceivablesDetailedService;
private QueryWrapper<FinUncollectedReceivablesDetailed> createQueryWrapper(FinUncollectedReceivablesDetailedQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<FinUncollectedReceivablesDetailed> 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<FinUncollectedReceivablesDetailedVo> listAllVo(FinUncollectedReceivablesDetailedQuery query) {
QueryWrapper<FinUncollectedReceivablesDetailed> 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<FinUncollectedReceivablesDetailed> createQueryWrapper(FinUncollectedReceivablesDetailedQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<FinUncollectedReceivablesDetailed> 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<FinUncollectedReceivablesDetailedVo> listAllVo(FinUncollectedReceivablesDetailedQuery query) {
QueryWrapper<FinUncollectedReceivablesDetailed> 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<FinUncollectedReceivablesDetailedVo> listPageVo(PagerQuery<FinUncollectedReceivablesDetailedQuery> pq) {
FinUncollectedReceivablesDetailedQuery params = pq.getParams();
QueryWrapper<FinUncollectedReceivablesDetailed> qw = createQueryWrapper(params);
IPage<FinUncollectedReceivablesDetailed> page = PagerUtil.queryToPage(pq);
IPage<FinUncollectedReceivablesDetailedVo> pagging = baseMapper.selectPageVo(page, qw);
List<FinUncollectedReceivablesDetailedVo> 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<CommonContractVo> 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<FinUncollectedReceivablesDetailedVo> 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<FinUncollectedReceivablesDetailedVo> 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<FinUncollectedReceivablesDetailedVo> listPageVo(PagerQuery<FinUncollectedReceivablesDetailedQuery> pq) {
FinUncollectedReceivablesDetailedQuery params = pq.getParams();
QueryWrapper<FinUncollectedReceivablesDetailed> qw = createQueryWrapper(params);
IPage<FinUncollectedReceivablesDetailed> page = PagerUtil.queryToPage(pq);
IPage<FinUncollectedReceivablesDetailedVo> pagging = baseMapper.selectPageVo(page, qw);
List<FinUncollectedReceivablesDetailedVo> 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<CommonContractVo> 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<FinSelectedReceivablesDetailedVo> 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<FinUncollectedReceivablesDetailedVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public PagerVo<FinUncollectedReceivablesDetailedVo> detailedListPageVo(PagerQuery<FinUncollectedReceivablesDetailedQuery> pq) {
FinUncollectedReceivablesDetailedQuery params = pq.getParams();
QueryWrapper<FinUncollectedReceivablesDetailed> qw = createQueryWrapper(params);
IPage<FinUncollectedReceivablesDetailed> page = PagerUtil.queryToPage(pq);
IPage<FinUncollectedReceivablesDetailedVo> pagging = baseMapper.selectPageVo(page, qw);
List<FinUncollectedReceivablesDetailedVo> 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<CommonContractVo> 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<FinSelectedReceivablesDetailedVo> 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<FinSelectedReceivablesDetailedVo> 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<FinUncollectedReceivablesDetailedVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
}
Loading…
Cancel
Save