Browse Source

修改

master
ligaode 3 days ago
parent
commit
f7ecc432c9
  1. 6
      anrui-scm/anrui-scm-api/pom.xml
  2. 103
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateExcelNewVo.java
  3. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java
  4. 52
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml
  5. 16
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java
  6. 134
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java

6
anrui-scm/anrui-scm-api/pom.xml

@ -31,6 +31,12 @@
<version>1.18.24</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel-core</artifactId>
<version>3.3.2</version>
<scope>compile</scope>
</dependency>
</dependencies>
<distributionManagement>

103
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateExcelNewVo.java

@ -0,0 +1,103 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.scm.api.scmvehrebate;
import com.alibaba.excel.annotation.ExcelProperty;
import com.yxt.common.core.utils.ExportEntityMap;
import lombok.Data;
@Data
public class ScmVehRebateExcelNewVo {
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
private Integer rankNo;
@ExportEntityMap(CnName = "采购系统", EnName = "purchaseSystemName")
private String purchaseSystemName;
@ExportEntityMap(CnName = "车架号", EnName = "vinNo")
private String vinNo;
@ExportEntityMap(CnName = "车型", EnName = "vehModelName")
private String vehModelName;
@ExportEntityMap(CnName = "所属年月", EnName = "palceGenDate")
private String palceGenDate;
@ExportEntityMap(CnName = "返利类型", EnName = "rebateTypeValue")
private String rebateTypeValue;
@ExportEntityMap(CnName = "返利名称", EnName = "rebateName")
private String rebateName;
@ExcelProperty({"返利金额", "预提"})
private String estimateRebate;
@ExcelProperty({"返利金额", "上传"})
private String uploadMoney;
@ExcelProperty({"返利金额", "二次上传"})
private String secondaryUploadMoney;
@ExcelProperty({"返利金额", "待确定"})
private String stayDetermineMoney;
@ExcelProperty({"返利金额", "调整"})
private String adjustmentMoney;
@ExcelProperty({"返利金额", "未上传"})
private String notUploadMoney;
@ExcelProperty({"其中费用", "预提"})
private String withholdCost;
@ExcelProperty({"其中费用", "上传"})
private String money;
@ExcelProperty({"日期", "创建"})
private String createTime;
@ExcelProperty({"日期", "预提"})
private String withholdingDate;
@ExcelProperty({"日期", "上传"})
private String uploadDate;
@ExcelProperty({"日期", "二次上传"})
private String secondaryUploadDate;
@ExcelProperty({"状态", "流程"})
private String state;
@ExcelProperty({"状态", "一次核对"})
private String onceCheckState;
@ExcelProperty({"状态", "二次核对"})
private String secondCheckState;
@ExportEntityMap(CnName = "车辆入库价", EnName = "manufactorSettlementPrice")
private String manufactorSettlementPrice;
@ExcelProperty({"其中", "运费"})
private String freight;
@ExcelProperty({"其中", "上装"})
private String topAmount;
@ExcelProperty({"返利计算", "方式"})
private String calculationModeValue;
@ExcelProperty({"返利计算", "标准"})
private String calculationStandard;
@ExportEntityMap(CnName = "备注", EnName = "remarks")
private String remarks;
@ExportEntityMap(CnName = "品牌", EnName = "brandName")
private String brandName;
@ExportEntityMap(CnName = "分公司", EnName = "createOrgName")
private String createOrgName;
}

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java

@ -86,4 +86,6 @@ public interface ScmVehRebateMapper extends BaseMapper<ScmVehRebate> {
List<ScmVehRebateTypeStatMxVo> getTypeDetail(@Param("sids") List<String> sids);
List<ScmVehRebateCarsSoldProfitVo> getDetailByVinSid(String vinSid);
List<ScmVehRebateExcelNewVo> excelListNew(@Param(Constants.WRAPPER) QueryWrapper<ScmVehRebate> qw);
}

52
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml

@ -431,4 +431,56 @@
scm_veh_rebate r
WHERE r.vehSid = #{vinSid}
</select>
<select id="excelListNew" resultType="com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateExcelNewVo">
SELECT
purchaseSystemName,
vinNo,
vehModelName,
palceGenDate,
rebateTypeValue,
rebateName,
estimateRebate,
uploadMoney,
secondaryUploadMoney,
stayDetermineMoney,
adjustmentMoney,
date_format(createTime, '%Y-%m-%d') as createTime,
withholdingDate,
uploadDate,
secondaryUploadDate,
case state
WHEN '0' THEN '未预提'
WHEN '1' THEN '预提中'
WHEN '2' THEN '待核对'
WHEN '3' THEN '核对中'
WHEN '4' THEN '已核对'
end as state,
case onceCheckState
WHEN '0' THEN '否'
WHEN '1' THEN '是'
WHEN '2' THEN '一次核对中'
end as onceCheckState,
manufactorSettlementPrice,
freight,
topAmount,
calculationModeValue,
calculationStandard,
remarks,
brandName,
createOrgName,
expectTreatCost + expectSuppCost AS withholdCost,
onceTreatCost + onceSuppCost + secondTreatCost + secondSuppCost AS money,
estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0) AS notUploadMoney,
IF(secondaryUploadMoney > 0 AND isAdjustment = '是','是','否') AS secondCheckState,
@row_number := @row_number + 1 AS rankNo
FROM
scm_veh_rebate,(
SELECT
@row_number := 0
) AS t
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

16
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java

@ -108,6 +108,22 @@ public class ScmVehRebateRest implements ScmVehRebateFeign {
return rb.success().setData(scmVehRebateTypeStatMxVos);
}
@ApiOperation("导出")
@PostMapping("/excelListNew")
public void excelListNew(ScmVehRebateQuery query) {
//得到所有要导出的数据
List<ScmVehRebateExcelNewVo> dataList = scmVehRebateService.excelListNew(query);
//定义导出的excel名字
String excelName = "单车返利管理";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
ExportExcelUtils.export(fileNameURL, dataList, ScmVehRebateExcelNewVo.class, response);
}
@ApiOperation("导出")
@PostMapping("/excelList")
public void excelList(@RequestBody ScmVehRebateQuery query) {

134
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java

@ -2725,20 +2725,20 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
ResultBean<List<ScmVehRebateCarsSoldProfitVo>> rb = ResultBean.fireFail();
List<ScmVehRebateCarsSoldProfitVo> list = baseMapper.getDetailByVinSid(vinSid);
list.removeAll(Collections.singleton(null));
if(!list.isEmpty()){
if (!list.isEmpty()) {
for (int i = 0; i < list.size(); i++) {
ScmVehRebateCarsSoldProfitVo scmVehRebateCarsSoldProfitVo = list.get(i);
String expectedRebate = scmVehRebateCarsSoldProfitVo.getEstimateRebate();
BigDecimal expectAll = BigDecimal.ZERO;
String expectTreatCost = scmVehRebateCarsSoldProfitVo.getExpectTreatCost();
String expectSuppCost = scmVehRebateCarsSoldProfitVo.getExpectSuppCost();
if(StringUtils.isNotBlank(expectedRebate)){
if (StringUtils.isNotBlank(expectedRebate)) {
expectAll = expectAll.add(new BigDecimal(expectedRebate));
}
if(StringUtils.isNotBlank(expectTreatCost)){
if (StringUtils.isNotBlank(expectTreatCost)) {
expectAll = expectAll.subtract(new BigDecimal(expectTreatCost));
}
if(StringUtils.isNotBlank(expectSuppCost)){
if (StringUtils.isNotBlank(expectSuppCost)) {
expectAll = expectAll.subtract(new BigDecimal(expectSuppCost));
}
scmVehRebateCarsSoldProfitVo.setEstimateRebate(expectAll.toString());
@ -2769,4 +2769,130 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
ScmVehRebateDetailsVo scmVehRebateDetailsVo = fetchDetailsVoBySid(sid);
return scmVehRebateDetailsVo;
}
public List<ScmVehRebateExcelNewVo> excelListNew(ScmVehRebateQuery query) {
QueryWrapper<ScmVehRebate> qw = new QueryWrapper<>();
//========================================数据授权开始
if (StringUtils.isNotBlank(query.getMenuUrl())) {
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setMenuSid(query.getMenuSid());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("orgPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("orgPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("orgPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("orgPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("createBySid", query.getUserSid());
} else {
List<ScmVehRebateExcelNewVo> scmVehRebateExcelVos = new ArrayList<>();
return scmVehRebateExcelVos;
}
} else {
List<ScmVehRebateExcelNewVo> scmVehRebateExcelVos = new ArrayList<>();
return scmVehRebateExcelVos;
}
}
if (StringUtils.isNotBlank(query.getBrandName())) {
qw.like("brandName", query.getBrandName());
}
if (StringUtils.isNotBlank(query.getVehModelName())) {
qw.like("vehModelName", query.getVehModelName());
}
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("vinNo", query.getVinNo());
}
if (StringUtils.isNotBlank(query.getRebateTypeKey())) {
qw.eq("rebateTypeKey", query.getRebateTypeKey());
}
if (StringUtils.isNotBlank(query.getRebateName())) {
qw.like("rebateName", query.getRebateName());
}
if (StringUtils.isNotBlank(query.getState())) {
qw.eq("state", query.getState());
}
if (StringUtils.isNotBlank(query.getUseOrgName())) {
qw.like("useOrgName", query.getUseOrgName());
}
if (StringUtils.isNotBlank(query.getPurchaseSystemName())) {
qw.like("purchaseSystemName", query.getPurchaseSystemName());
}
if (StringUtils.isNotBlank(query.getPalceGenDate())) {
qw.eq("palceGenDate", query.getPalceGenDate());
}
if (StringUtils.isNotBlank(query.getWithholdingDate())) {
String[] w = query.getWithholdingDate().split("-");
String withholdingDate = w[0] + "年" + Integer.parseInt(w[1]) + "月";
qw.eq("withholdingDate", withholdingDate);
}
if (StringUtils.isNotBlank(query.getUploadState())) {
if (query.getUploadState().equals("0")) {
qw.and(wrapper -> wrapper.eq("uploadDate", "")
.or().isNull("uploadDate")
);
} else {
qw.ne("uploadDate", "");
qw.isNotNull("uploadDate");
}
}
if (StringUtils.isNotBlank(query.getIsAdjustment())) {
qw.eq("isAdjustment", query.getIsAdjustment());
}
if (StringUtils.isNotBlank(query.getIsUploadFinish())) {
if (query.getIsUploadFinish().equals("1")) {
qw.eq("estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0)", 0);
} else {
qw.ne("estimateRebate - IFNULL(uploadMoney,0) - IFNULL(secondaryUploadMoney,0) + IFNULL(adjustmentMoney,0)", 0);
}
}
if (StringUtils.isNotBlank(query.getOnceCheckState())) {
qw.eq("onceCheckState", query.getOnceCheckState());
}
if (StringUtils.isNotBlank(query.getSecondUploadState())) {
if (query.getSecondUploadState().equals("1")) {
qw.isNotNull("secondaryUploadMoney");
qw.ne("secondaryUploadMoney", "");
qw.ne("secondaryUploadMoney", 0);
qw.eq("isAdjustment", "是");
} else {
qw.and(wrapper -> wrapper.eq("isAdjustment", '否').or().isNull("secondaryUploadMoney").or().eq("secondaryUploadMoney", ""));
}
}
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
String uploadStartDate = query.getUploadStartDate();
String uploadEndDate = query.getUploadEndDate();
qw.apply(StringUtils.isNotBlank(uploadStartDate), "(date_format (uploadDate,'%Y-%m-%d') >= date_format('" + uploadStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(uploadEndDate), "date_format (uploadDate,'%Y-%m-%d') <= date_format('" + uploadEndDate + "','%Y-%m-%d')").
or().
apply(StringUtils.isNotBlank(uploadStartDate), "date_format (secondaryUploadDate,'%Y-%m-%d') >= date_format('" + uploadStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(uploadEndDate), "date_format (secondaryUploadDate,'%Y-%m-%d') <= date_format('" + uploadEndDate + "','%Y-%m-%d'))"
);
qw.orderByDesc("createTime");
List<ScmVehRebateExcelNewVo> scmVehRebateExcelVos = baseMapper.excelListNew(qw);
return scmVehRebateExcelVos;
}
}
Loading…
Cancel
Save