Browse Source

修改

master
ligaode 3 days ago
parent
commit
78d0f34680
  1. 86
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateExcelNewVo.java
  2. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java
  3. 17
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml
  4. 14
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateRest.java
  5. 144
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java

86
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateExcelNewVo.java

@ -0,0 +1,86 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.scm.api.scmspecialrebate;
import com.alibaba.excel.annotation.ExcelProperty;
import com.yxt.common.core.utils.ExportEntityMap;
import lombok.Data;
@Data
public class ScmSpecialRebateExcelNewVo {
@ExcelProperty("序号")
private Integer rankNo;
@ExcelProperty("采购系统")
private String purchaseSystemName;
@ExcelProperty("所属年月")
private String palceGenDate;
@ExcelProperty("返利类型")
private String rebateTypeValue;
@ExcelProperty("返利名称")
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;
@ExcelProperty("备注")
private String remarks;
@ExcelProperty("品牌")
private String brandName;
@ExcelProperty("分公司")
private String createOrgName;
}

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java

@ -78,4 +78,6 @@ public interface ScmSpecialRebateMapper extends BaseMapper<ScmSpecialRebate> {
List<ScmSpecialRebateVo> listAll(@Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
List<ScmVehRebateTypeStatMxVo> getTypeDetail(@Param("sids") List<String> sids);
List<ScmSpecialRebateExcelNewVo> excelListNew(@Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
}

17
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml

@ -225,4 +225,21 @@
</foreach>
</if>
</select>
<select id="excelListNew" resultType="com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateExcelNewVo">
SELECT
*,
expectItureCost + expectTreatCost + expectSuppCost AS withholdCost,
onceItureCost + onceTreatCost + onceSuppCost + secondItureCost + 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_special_rebate,(
SELECT
@row_number := 0
) AS t
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

14
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateRest.java

@ -25,8 +25,10 @@
*********************************************************/
package com.yxt.anrui.scm.biz.scmspecialrebate;
import com.alibaba.excel.EasyExcel;
import com.yxt.anrui.scm.api.scmspecialrebate.*;
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateDetailsVo;
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateExcelNewVo;
import com.yxt.common.base.utils.ExportExcelUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -77,6 +79,18 @@ public class ScmSpecialRebateRest implements ScmSpecialRebateFeign {
return rb.success().setData(scmSpecialRebateVoList);
}
@ApiOperation("导出")
@PostMapping("/excelListNew")
public void excelListNew(@RequestBody ScmSpecialRebateQuery query) throws IOException {
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=rebate.xlsx");
//得到所有要导出的数据
List<ScmSpecialRebateExcelNewVo> dataList = scmSpecialRebateService.excelListNew(query);
EasyExcel.write(response.getOutputStream(), ScmVehRebateExcelNewVo.class)
.sheet("专项返利管理")
.doWrite(dataList);
}
@ApiOperation("导出")
@PostMapping("/excelList")
public void excelList(@RequestBody ScmSpecialRebateQuery query) {

144
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java

@ -2520,4 +2520,148 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
ScmSpecialRebateDetailsVo scmSpecialRebateDetailsVo = fetchDetailsVoBySid(sid);
return scmSpecialRebateDetailsVo;
}
public List<ScmSpecialRebateExcelNewVo> excelListNew(ScmSpecialRebateQuery query) {
QueryWrapper<ScmSpecialRebate> 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<ScmSpecialRebateExcelNewVo> scmSpecialRebateExcelVos = new ArrayList<>();
return scmSpecialRebateExcelVos;
}
} else {
List<ScmSpecialRebateExcelNewVo> scmSpecialRebateExcelVos = new ArrayList<>();
return scmSpecialRebateExcelVos;
}
}
if (StringUtils.isNotBlank(query.getCreateOrgName())) {
qw.like("createOrgName", query.getCreateOrgName());
}
if (StringUtils.isNotBlank(query.getBrandName())) {
qw.like("brandName", query.getBrandName());
}
if (StringUtils.isNotBlank(query.getPurchaseSystemName())) {
qw.like("purchaseSystemName", query.getPurchaseSystemName());
}
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.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<ScmSpecialRebateExcelNewVo> scmSpecialRebateExcelVos = baseMapper.excelListNew(qw);
for (ScmSpecialRebateExcelNewVo scmSpecialRebateExcelVo : scmSpecialRebateExcelVos) {
if (scmSpecialRebateExcelVo.getState().equals("0")) {
scmSpecialRebateExcelVo.setState("未预提");
} else if (scmSpecialRebateExcelVo.getState().equals("1")) {
scmSpecialRebateExcelVo.setState("预提中");
} else if (scmSpecialRebateExcelVo.getState().equals("2")) {
scmSpecialRebateExcelVo.setState("待核对");
} else if (scmSpecialRebateExcelVo.getState().equals("3")) {
scmSpecialRebateExcelVo.setState("核对中");
} else if (scmSpecialRebateExcelVo.getState().equals("4")) {
scmSpecialRebateExcelVo.setState("已核对");
} else if (scmSpecialRebateExcelVo.getState().equals("5")) {
scmSpecialRebateExcelVo.setState("分配中");
} else if (scmSpecialRebateExcelVo.getState().equals("6")) {
scmSpecialRebateExcelVo.setState("已分配");
}
if (scmSpecialRebateExcelVo.getOnceCheckState().equals("0")) {
scmSpecialRebateExcelVo.setOnceCheckState("否");
} else if (scmSpecialRebateExcelVo.getOnceCheckState().equals("1")) {
scmSpecialRebateExcelVo.setOnceCheckState("是");
} else if (scmSpecialRebateExcelVo.getOnceCheckState().equals("2")) {
scmSpecialRebateExcelVo.setOnceCheckState("一次核对中");
}
scmSpecialRebateExcelVo.setCreateTime(DateUtil.formatDate(DateUtil.parse(scmSpecialRebateExcelVo.getCreateTime())));
}
return scmSpecialRebateExcelVos;
}
}
Loading…
Cancel
Save