God 8 months ago
parent
commit
591d74f550
  1. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleRebateQuery.java
  2. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  3. 5
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/dictcommon/DictCommonFeign.java
  4. 5
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/dictcommon/DictCommonFeignFallback.java
  5. 4
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonMapper.java
  6. 7
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonRest.java
  7. 4
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonService.java
  8. 23
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateExcelInfo.java
  9. 18
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java
  10. 14
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeignFallback.java
  11. 12
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/VehRebateExcelInfo.java
  12. 14
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java
  13. 343
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java
  14. BIN
      anrui-scm/anrui-scm-biz/src/main/resources/static/单车返利管理.xls

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleRebateQuery.java

@ -16,6 +16,8 @@ import java.util.List;
public class BaseVehicleRebateQuery implements Query { public class BaseVehicleRebateQuery implements Query {
private static final long serialVersionUID = 10773711417444473L; private static final long serialVersionUID = 10773711417444473L;
@ApiModelProperty(value = "车架号")
private String vinNo;
@ApiModelProperty(value = "品牌") @ApiModelProperty(value = "品牌")
private String brandSid; private String brandSid;
@ApiModelProperty(value = "功能") @ApiModelProperty(value = "功能")

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java

@ -3366,6 +3366,10 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
String orgSid = sysStaffOrgFeign.getPathSidByUserSid(params.getUserSid()).getData(); String orgSid = sysStaffOrgFeign.getPathSidByUserSid(params.getUserSid()).getData();
qw.eq("bv.useOrgSid", orgSid); qw.eq("bv.useOrgSid", orgSid);
} }
//车架号
if (StringUtils.isNotBlank(params.getVinNo())) {
qw.like("bv.vinNo", params.getVinNo());
}
//品牌 //品牌
if (StringUtils.isNotBlank(params.getBrandSid())) { if (StringUtils.isNotBlank(params.getBrandSid())) {
qw.eq("bvm.carBrand", params.getBrandSid()); qw.eq("bvm.carBrand", params.getBrandSid());

5
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/dictcommon/DictCommonFeign.java

@ -62,4 +62,9 @@ public interface DictCommonFeign {
@ResponseBody @ResponseBody
@ApiOperation("根据分类编码和数据分组查询数据字典") @ApiOperation("根据分类编码和数据分组查询数据字典")
ResultBean<List<DictCommonVo>> getTypeValueList(@RequestParam("type")String type,@RequestParam("groupNum")String groupNum); ResultBean<List<DictCommonVo>> getTypeValueList(@RequestParam("type")String type,@RequestParam("groupNum")String groupNum);
@GetMapping("/selectByValue")
@ResponseBody
@ApiOperation("根据数据字典value查询key")
ResultBean<String> selectByValue(@RequestParam("dictValue") String dictValue);
} }

5
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/dictcommon/DictCommonFeignFallback.java

@ -54,4 +54,9 @@ public class DictCommonFeignFallback implements DictCommonFeign {
public ResultBean<List<DictCommonVo>> getTypeValueList(String type, String groupNum) { public ResultBean<List<DictCommonVo>> getTypeValueList(String type, String groupNum) {
return null; return null;
} }
@Override
public ResultBean<String> selectByValue(String dictValue) {
return null;
}
} }

4
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonMapper.java

@ -10,6 +10,7 @@ import com.yxt.anrui.portal.api.dictcommon.DictCommonQuery;
import com.yxt.anrui.portal.api.dictcommon.DictCommonVo; import com.yxt.anrui.portal.api.dictcommon.DictCommonVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List; import java.util.List;
@ -60,4 +61,7 @@ public interface DictCommonMapper extends BaseMapper<DictCommon> {
* @return * @return
*/ */
List<DictCommonVo> getList(@Param("type") String type, @Param("groupNum") String groupNum); List<DictCommonVo> getList(@Param("type") String type, @Param("groupNum") String groupNum);
@Select("select dictKey from dict_common where dictValue = #{dictValue} and dictType = 'rebateType'")
String selectByValue(String dictValue);
} }

7
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonRest.java

@ -143,4 +143,11 @@ public class DictCommonRest implements DictCommonFeign {
public ResultBean<List<DictCommonVo>> getTypeValueList(String type, String groupNum) { public ResultBean<List<DictCommonVo>> getTypeValueList(String type, String groupNum) {
return dictCommonService.getList(type,groupNum); return dictCommonService.getList(type,groupNum);
} }
@Override
public ResultBean<String> selectByValue(String dictValue) {
ResultBean rb = ResultBean.fireFail();
String dictKey = dictCommonService.selectByValue(dictValue);
return rb.success().setData(dictKey);
}
} }

4
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonService.java

@ -78,4 +78,8 @@ public class DictCommonService extends MybatisBaseService<DictCommonMapper, Dict
List<DictCommonVo> list = baseMapper.getList(type,groupNum); List<DictCommonVo> list = baseMapper.getList(type,groupNum);
return rb.success().setData(list); return rb.success().setData(list);
} }
public String selectByValue(String dictValue) {
return baseMapper.selectByValue(dictValue);
}
} }

23
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateExcelInfo.java

@ -0,0 +1,23 @@
package com.yxt.anrui.scm.api.scmvehrebate;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class ScmVehRebateExcelInfo {
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("返利类型")
private String rebateTypeValue;
@ApiModelProperty("返利名称")
private String rebateName;
@ApiModelProperty("计算标准")
private String calculationStandard;
@ApiModelProperty("返利金额")
private String estimateRebate;
@ApiModelProperty("所属年月")
private String palceGenDate;
}

18
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java

@ -34,7 +34,11 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.text.ParseException;
import java.util.List; import java.util.List;
/** /**
@ -92,15 +96,25 @@ public interface ScmVehRebateFeign {
@PostMapping("/adjustment") @PostMapping("/adjustment")
@ResponseBody @ResponseBody
public ResultBean adjustment(@RequestBody ScmVehRebateVehAdjDto dto); public ResultBean adjustment(@RequestBody ScmVehRebateVehAdjDto dto);
@ApiOperation("根据sid删除记录") @ApiOperation("根据sid删除记录")
@DeleteMapping("/delBySids") @DeleteMapping("/delBySids")
@ResponseBody @ResponseBody
public ResultBean delBySids(@RequestBody String[] sids); public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("根据SID获取一条记录") @ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}") @GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody @ResponseBody
public ResultBean<ScmVehRebateDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid); public ResultBean<ScmVehRebateDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@PostMapping("/download")
@ApiOperation(value = "下载模板")
@ResponseBody
public void downloadExcel();
@ApiOperation(value = "导入")
@PostMapping("/getExcelInfo")
@ResponseBody
public ResultBean getExcelInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request,@RequestParam("userSid") String userSid,@RequestParam("orgPath") String orgPath) throws IOException, ParseException;
} }

14
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeignFallback.java

@ -29,7 +29,11 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.text.ParseException;
import java.util.List; import java.util.List;
/** /**
@ -94,4 +98,14 @@ public class ScmVehRebateFeignFallback implements ScmVehRebateFeign {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-scm/scmvehrebate/fetchDetailsBySid无法访问"); return rb.setMsg("接口anrui-scm/scmvehrebate/fetchDetailsBySid无法访问");
} }
@Override
public void downloadExcel() {
}
@Override
public ResultBean getExcelInfo(MultipartFile file, HttpServletRequest request, String userSid, String orgPath) throws IOException, ParseException {
return null;
}
} }

12
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/VehRebateExcelInfo.java

@ -0,0 +1,12 @@
package com.yxt.anrui.scm.api.scmvehrebate;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class VehRebateExcelInfo {
private String checkInfo;
private List<ScmVehRebateExcelInfo> infos = new ArrayList<>();
}

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

@ -34,7 +34,11 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.text.ParseException;
import java.util.List; import java.util.List;
/** /**
@ -139,4 +143,14 @@ public class ScmVehRebateRest implements ScmVehRebateFeign {
ScmVehRebateDetailsVo vo = scmVehRebateService.fetchDetailsVoBySid(sid); ScmVehRebateDetailsVo vo = scmVehRebateService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo); return rb.success().setData(vo);
} }
@Override
public void downloadExcel() {
scmVehRebateService.downloadExcel();
}
@Override
public ResultBean getExcelInfo(MultipartFile file, HttpServletRequest request,String userSid, String orgPath) throws IOException, ParseException {
return scmVehRebateService.getExcelInfo(file,request,userSid,orgPath);
}
} }

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

@ -30,6 +30,10 @@ import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleRebateQuery;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleRebateVo;
import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
@ -44,12 +48,26 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.net.URLEncoder;
import java.util.List; import java.util.*;
import java.util.regex.Pattern;
/** /**
* Project: anrui-scm(单车返利) <br/> * Project: anrui-scm(单车返利) <br/>
@ -73,6 +91,12 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
private SysStaffOrgFeign sysStaffOrgFeign; private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired @Autowired
private SysOrganizationFeign sysOrganizationFeign; private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private HttpServletResponse response;
@Autowired
private BaseVehicleFeign baseVehicleFeign;
@Autowired
private DictCommonFeign dictCommonFeign;
public PagerVo<ScmVehRebateVo> listPageVo(PagerQuery<ScmVehRebateQuery> pq) { public PagerVo<ScmVehRebateVo> listPageVo(PagerQuery<ScmVehRebateQuery> pq) {
ScmVehRebateQuery query = pq.getParams(); ScmVehRebateQuery query = pq.getParams();
@ -150,7 +174,7 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
public PagerVo<ScmVehRebateVo> withApplyGetVehRebate(PagerQuery<ScmVehRebateQuery> pq) { public PagerVo<ScmVehRebateVo> withApplyGetVehRebate(PagerQuery<ScmVehRebateQuery> pq) {
ScmVehRebateQuery query = pq.getParams(); ScmVehRebateQuery query = pq.getParams();
QueryWrapper<ScmVehRebate> qw = new QueryWrapper<>(); QueryWrapper<ScmVehRebate> qw = new QueryWrapper<>();
qw.eq("createOrgSid",query.getCreateOrgSid()); qw.eq("createOrgSid", query.getCreateOrgSid());
if (StringUtils.isNotBlank(query.getBrandSid())) { if (StringUtils.isNotBlank(query.getBrandSid())) {
qw.eq("brandSid", query.getBrandSid()); qw.eq("brandSid", query.getBrandSid());
} }
@ -261,23 +285,23 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
record.setUploadState("1"); record.setUploadState("1");
} }
//是否调整 //是否调整
if (new BigDecimal(record.getStayDetermineMoney()).compareTo(BigDecimal.ZERO) == 0){ if (new BigDecimal(record.getStayDetermineMoney()).compareTo(BigDecimal.ZERO) == 0) {
BigDecimal decimal = new BigDecimal(StringUtils.isNotBlank(record.getUploadMoney()) ? record.getUploadMoney() : "0").add(new BigDecimal(StringUtils.isNotBlank(record.getSecondaryUploadMoney()) ? record.getSecondaryUploadMoney() : "0")).subtract(new BigDecimal(StringUtils.isNotBlank(record.getMoney()) ? record.getMoney() : "0")).subtract(new BigDecimal(StringUtils.isNotBlank(record.getStayDetermineMoney()) ? record.getStayDetermineMoney() : "0")).subtract(new BigDecimal(StringUtils.isNotBlank(record.getEstimateRebate()) ? record.getEstimateRebate() : "0")); BigDecimal decimal = new BigDecimal(StringUtils.isNotBlank(record.getUploadMoney()) ? record.getUploadMoney() : "0").add(new BigDecimal(StringUtils.isNotBlank(record.getSecondaryUploadMoney()) ? record.getSecondaryUploadMoney() : "0")).subtract(new BigDecimal(StringUtils.isNotBlank(record.getMoney()) ? record.getMoney() : "0")).subtract(new BigDecimal(StringUtils.isNotBlank(record.getStayDetermineMoney()) ? record.getStayDetermineMoney() : "0")).subtract(new BigDecimal(StringUtils.isNotBlank(record.getEstimateRebate()) ? record.getEstimateRebate() : "0"));
int i = decimal.compareTo(BigDecimal.ZERO); int i = decimal.compareTo(BigDecimal.ZERO);
if (i < 0){//小于 if (i < 0) {//小于
record.setIsAdjustment("否"); record.setIsAdjustment("否");
record.setAdjustmentMoney("0"); record.setAdjustmentMoney("0");
record.setAdjustOrNot(true); record.setAdjustOrNot(true);
}else if (i == 0){//等于 } else if (i == 0) {//等于
record.setIsAdjustment("是"); record.setIsAdjustment("是");
record.setAdjustmentMoney("0"); record.setAdjustmentMoney("0");
record.setAdjustOrNot(false); record.setAdjustOrNot(false);
}else{//大于 } else {//大于
record.setIsAdjustment("是"); record.setIsAdjustment("是");
record.setAdjustmentMoney(decimal.toString()); record.setAdjustmentMoney(decimal.toString());
record.setAdjustOrNot(true); record.setAdjustOrNot(true);
} }
}else { } else {
record.setIsAdjustment("否"); record.setIsAdjustment("否");
record.setAdjustmentMoney("0"); record.setAdjustmentMoney("0");
record.setAdjustOrNot(false); record.setAdjustOrNot(false);
@ -408,4 +432,307 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
public void updateWithholdingDateBySid(String vehRebateSid) { public void updateWithholdingDateBySid(String vehRebateSid) {
baseMapper.updateWithholdingDateBySid(vehRebateSid); baseMapper.updateWithholdingDateBySid(vehRebateSid);
} }
public void downloadExcel() {
try {
InputStream resourceAsStream = this.getClass().getClassLoader().getResourceAsStream("static/单车返利管理.xls");
//获取要下载的模板名称
String fileName = "单车返利管理.xls";
response.setHeader("content-type", "application/octet-stream");
response.setContentType("application/octet-stream");
// 下载文件能正常显示中文
fileName = URLEncoder.encode(fileName, "UTF-8");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
response.setHeader("fileName", fileName);
response.setHeader("Access-Control-Expose-Headers", "filename");
OutputStream out = response.getOutputStream();
byte[] b = new byte[2048];
int len;
while ((len = resourceAsStream.read(b)) != -1) {
out.write(b, 0, len);
}
out.close();
resourceAsStream.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
public ResultBean getExcelInfo(MultipartFile file, HttpServletRequest request, String userSid, String orgPath) throws IOException {
ResultBean rb = ResultBean.fireFail();
String temp = request.getSession().getServletContext().getRealPath(File.separator) + "temp";// 临时目录
File tempFile = new File(temp);
if (!tempFile.exists()) {
tempFile.mkdirs();
}
String fileName = file.getOriginalFilename();
if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) {
return rb.fail().setMsg("上传文件不正确");
}
int[] resultCell = new int[]{0, 1, 2, 3, 4, 5};
boolean isExcel2003 = true;
if (fileName.matches("^.+\\.(?i)(xlsx)$")) {
isExcel2003 = false;
}
InputStream is = file.getInputStream();
Workbook wb = null;
if (isExcel2003) {
wb = new HSSFWorkbook(is);
} else {
wb = new XSSFWorkbook(is);
}
Sheet sheet = wb.getSheetAt(0);
VehRebateExcelInfo importReturn = getSheetVal(sheet, resultCell, userSid);
if (StringUtils.isNotBlank(importReturn.getCheckInfo())) {
return rb.setMsg(importReturn.getCheckInfo());
} else {
List<ScmVehRebateExcelInfo> infos = importReturn.getInfos();
for (ScmVehRebateExcelInfo info : infos) {
PagerQuery<BaseVehicleRebateQuery> pq = new PagerQuery<>();
BaseVehicleRebateQuery params = new BaseVehicleRebateQuery();
params.setVinNo(info.getVinNo());
params.setUserSid(userSid);
pq.setParams(params);
PagerVo<BaseVehicleRebateVo> data = baseVehicleFeign.vehicleRebateList(pq).getData();
BaseVehicleRebateVo baseVehicleRebateVo = data.getRecords().get(0);
ScmVehRebate scmVehRebate = new ScmVehRebate();
scmVehRebate.setState(0);
scmVehRebate.setCreateBySid(userSid);
scmVehRebate.setBrandSid(baseVehicleRebateVo.getCarBrand());
scmVehRebate.setBrandName(baseVehicleRebateVo.getBrandName());
scmVehRebate.setVehModelSid(baseVehicleRebateVo.getModelSid());
scmVehRebate.setVehModelName(baseVehicleRebateVo.getVehicleAlias());
scmVehRebate.setVehSid(baseVehicleRebateVo.getSid());
scmVehRebate.setVinNo(baseVehicleRebateVo.getVinNo());
scmVehRebate.setManufactorSettlementPrice(baseVehicleRebateVo.getCostPrice());
scmVehRebate.setFreight(baseVehicleRebateVo.getFreight());
String dictKey = dictCommonFeign.selectByValue(info.getRebateTypeValue()).getData();
scmVehRebate.setRebateTypeKey(dictKey);
scmVehRebate.setRebateTypeValue(info.getRebateTypeValue());
scmVehRebate.setRebateName(info.getRebateName());
scmVehRebate.setCalculationStandard(info.getCalculationStandard());
scmVehRebate.setEstimateRebate(info.getEstimateRebate());
scmVehRebate.setPalceGenDate(info.getPalceGenDate());
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
scmVehRebate.setCreateOrgSid(useOrgSid);
scmVehRebate.setCreateOrgName(sysOrganizationVo.getName());
scmVehRebate.setUseOrgSid(useOrgSid);
scmVehRebate.setUseOrgName(sysOrganizationVo.getName());
scmVehRebate.setOrgPath(orgPath);
save(scmVehRebate);
}
return rb.success().setMsg("成功导入数据,请点击确定按钮");
}
}
private VehRebateExcelInfo getSheetVal(Sheet sheet, int[] resultCell, String userSid) {
VehRebateExcelInfo importReturn = new VehRebateExcelInfo();
List<ScmVehRebateExcelInfo> importVoList = new ArrayList<>();
Set<String> checkWord = new HashSet<>();
for (int r = 1; r <= sheet.getLastRowNum(); r++) {
Row row = sheet.getRow(r);
if (row == null) {
continue;
}
ScmVehRebateExcelInfo importVo = new ScmVehRebateExcelInfo();
int physicalNumberOfCells = row.getPhysicalNumberOfCells();
if (physicalNumberOfCells < 8) {
physicalNumberOfCells = 8;
}
for (int i = 0; i < physicalNumberOfCells; i++) {
String trim = new String();
try {
trim = getCellVal(row.getCell(i)).toString().trim();
if (StringUtils.isBlank(trim)) {
NullPointerException nullPointerException = new NullPointerException();
}
String temp = getCellVal(row.getCell(i)).toString().trim();
for (int j = 0; j < resultCell.length; j++) {
if (i == resultCell[j]) {
switch (i) {
case 0:
importVo.setVinNo(temp);
break;
case 1:
importVo.setRebateTypeValue(temp);
break;
case 2:
importVo.setRebateName(temp);
break;
case 3:
importVo.setCalculationStandard(temp);
break;
case 4:
importVo.setEstimateRebate(temp);
break;
case 5:
importVo.setPalceGenDate(temp);
break;
default:
break;
}
} else {
continue;
}
}
} catch (Exception e) {
if (StringUtils.isBlank(trim)) {
String word = new String();
switch (i) {
case 0:
word = "车架号";
break;
case 1:
word = "返利类型";
break;
case 2:
word = "返利名称";
break;
case 3:
word = "计算标准";
break;
case 4:
word = "返利金额";
break;
case 5:
word = "所属年月";
break;
default:
break;
}
continue;
}
}
}
importVoList.add(importVo);
}
if (!importVoList.isEmpty()) {
for (ScmVehRebateExcelInfo excelInfo : importVoList) {
if (StringUtils.isBlank(excelInfo.getVinNo())) {
checkWord.add("车架号不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getVinNo())){
PagerQuery<BaseVehicleRebateQuery> pq = new PagerQuery<>();
BaseVehicleRebateQuery params = new BaseVehicleRebateQuery();
params.setVinNo(excelInfo.getVinNo());
params.setUserSid(userSid);
pq.setParams(params);
PagerVo<BaseVehicleRebateVo> data = baseVehicleFeign.vehicleRebateList(pq).getData();
if (data.getRecords().size() == 0){
checkWord.add("车架号" + excelInfo.getVinNo() + "不存在");
break;
}
}
if (StringUtils.isBlank(excelInfo.getRebateTypeValue())) {
checkWord.add("返利类型不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getRebateTypeValue())) {
String dictKey = dictCommonFeign.selectByValue(excelInfo.getRebateTypeValue()).getData();
if (StringUtils.isBlank(dictKey)) {
checkWord.add("车架号" + excelInfo.getVinNo() + "导入的返利类型填写不正确");
break;
}
}
if (StringUtils.isBlank(excelInfo.getRebateName())) {
checkWord.add("返利名称不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getCalculationStandard())) {
checkWord.add("计算标准不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getEstimateRebate())) {
checkWord.add("返利金额不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getPalceGenDate())) {
checkWord.add("所属年月不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getPalceGenDate())) {
String palceGenDate = excelInfo.getPalceGenDate();
String[] split = palceGenDate.split("-");
if (split.length != 2){
checkWord.add("车架号" + excelInfo.getVinNo() + "导入的所属年月填写不正确,格式yyyy-MM");
break;
}else if (!isFourDigitNumber(split[0]) || !isTwoDigitNumber(split[1])){
checkWord.add("车架号" + excelInfo.getVinNo() + "导入的所属年月填写不正确,格式yyyy-MM");
break;
}
}
}
}
StringBuffer sbcheck1 = new StringBuffer();
if (!checkWord.isEmpty()) {
for (String s : checkWord) {
if (StringUtils.isBlank(s)) {
continue;
}
sbcheck1.append(s).append(";");
}
}
if (sbcheck1.length() > 0) {
sbcheck1.delete(sbcheck1.length() - 1, sbcheck1.length());
importReturn.setCheckInfo(sbcheck1.toString());
importReturn.setInfos(new ArrayList<>());
return importReturn;
}
importReturn.setInfos(importVoList);
return importReturn;
}
public Object getCellVal(Cell cell) {
Object obj = null;
if (cell != null) {
switch (cell.getCellTypeEnum()) {
case BOOLEAN:
obj = cell.getBooleanCellValue();
break;
case ERROR:
obj = cell.getErrorCellValue();
break;
case NUMERIC:
obj = cell.getNumericCellValue();
break;
case STRING:
obj = cell.getStringCellValue();
break;
default:
break;
}
}
return obj;
}
public boolean isFourDigitNumber(String input) {
// 判断输入是否为数字
try {
int number = Integer.parseInt(input);
} catch (NumberFormatException e) {
return false;
}
// 判断输入是否为四位数
if (input.length() != 4) {
return false;
}
return true;
}
public boolean isTwoDigitNumber(String input) {
// 判断输入是否为数字
try {
int number = Integer.parseInt(input);
} catch (NumberFormatException e) {
return false;
}
// 判断输入是否为二位数
if (input.length() != 2) {
return false;
}
return true;
}
} }

BIN
anrui-scm/anrui-scm-biz/src/main/resources/static/单车返利管理.xls

Binary file not shown.
Loading…
Cancel
Save