Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 8 months ago
parent
commit
a17ce8034f
  1. 7
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleRebateQuery.java
  2. 9
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  3. 31
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelInfo.java
  4. 49
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelVo.java
  5. 37
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeign.java
  6. 25
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeignFallback.java
  7. 3
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateQuery.java
  8. 3
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateVo.java
  9. 12
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/SpecialRebateOneExcelInfo.java
  10. 13
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/SpecialRebateTwoExcelInfo.java
  11. 35
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelInfo.java
  12. 56
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelVo.java
  13. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateQuery.java
  14. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateVo.java
  15. 1
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/VehRebateTwoExcelInfo.java
  16. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailDetailsVo.java
  17. 3
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewith/ScmVehRebateWithDetailsVo.java
  18. 3
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewithapply/ScmVehRebateWithApplyVo.java
  19. 14
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java
  20. 53
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml
  21. 241
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateRest.java
  22. 890
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java
  23. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewith/ScmSpecialRebateWithMapper.xml
  24. 8
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java
  25. 30
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml
  26. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java
  27. 69
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java
  28. 6
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java
  29. 13
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyService.java
  30. 84
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/bwdiffapply/AppBwdiffapplyDetailDetailsVo.java
  31. 37
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/bwdiffapply/AppBwdiffapplyDetailFile.java
  32. 61
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/bwdiffapply/AppBwdiffapplyDetailsVo.java
  33. 64
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/bwdiffapply/AppBwdiffapplyFeign.java
  34. 25
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/bwdiffapply/flowable/AppDelegateQuery.java
  35. 37
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/bwdiffapply/flowable/AppFlowDto.java
  36. 28
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/bwdiffapply/flowable/AppFlowQuery.java
  37. 47
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/bwdiffapply/flowable/AppFlowTaskQuery.java
  38. 2
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/bwdiffapply/AppOldparthandleApplyRest.java
  39. 7
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/bwdiffapply/AppOldparthandleApplyService.java
  40. 82
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/oldparthandleapply/AppBwdiffapplyRest.java
  41. 185
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/oldparthandleapply/AppBwdiffapplyService.java
  42. 90
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/AsBwdiffapplyDetailDetailsVo.java
  43. 37
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/AsBwdiffapplyDetailFile.java
  44. 80
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/AsBwdiffapplyDetailsVo.java
  45. 59
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/AsBwdiffapplyFegin.java
  46. 37
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/AsBwdiffapplyFile.java
  47. 23
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/flowable/BwdiffApplyDelegateQuery.java
  48. 18
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/flowable/BwdiffApplyNodeQuery.java
  49. 24
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/flowable/BwdiffApplyNodeVo.java
  50. 43
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/flowable/BwdiffApplyTaskQuery.java
  51. 35
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/flowable/CompleteBwdiffApplyDto.java

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

@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@ -40,6 +41,12 @@ public class BaseVehicleRebateQuery implements Query {
private String vehicleAlias;
@ApiModelProperty(value = "快捷检索车型")
private String modelName;
@ApiModelProperty("销售日期")
private String salesDateStart;
private String salesDateEnd;
@ApiModelProperty("买断日期")
private String solidDateStart;
private String solidDateEnd;
@ApiModelProperty(value = "已选择的车辆的车架号")
private List<String> vinNoList = new ArrayList<>();

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

@ -3281,6 +3281,9 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
public PagerVo<BaseVehicleRebateVo> vehicleRebateList(PagerQuery<BaseVehicleRebateQuery> pagerQuery) {
IPage<BaseVehicleRebateVo> page = vehicleRebatePageList(pagerQuery);
for (BaseVehicleRebateVo record : page.getRecords()) {
record.setVinNo(record.getVinNo().substring(record.getVinNo().length() - 8));
}
PagerVo<BaseVehicleRebateVo> pv = new PagerVo<>();
PagerVo<BaseVehicleRebateVo> pv1 = PagerUtil.pageToVo(page, pv);
return pv1;
@ -3410,6 +3413,12 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
if (StringUtils.isNotBlank(params.getVehicleAlias())) {
qw.like("bvm.vehicleAlias", params.getVehicleAlias());
}
qw.apply(StringUtils.isNotBlank(params.getSalesDateStart()), "date_format (bv.salesDate,'%Y-%m-%d') >= date_format('" + params.getSalesDateStart() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(params.getSalesDateEnd()), "date_format (bv.salesDate,'%Y-%m-%d') <= date_format('" + params.getSalesDateEnd() + "','%Y-%m-%d')"
);
qw.apply(StringUtils.isNotBlank(params.getSolidDateStart()), "date_format (bv.solidDate,'%Y-%m-%d') >= date_format('" + params.getSolidDateStart() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(params.getSolidDateEnd()), "date_format (bv.solidDate,'%Y-%m-%d') <= date_format('" + params.getSolidDateEnd() + "','%Y-%m-%d')"
);
//快捷检索车型
if (StringUtils.isNotBlank(params.getModelName())) {
qw.like("bvm.modelName", params.getModelName());

31
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelInfo.java

@ -0,0 +1,31 @@
package com.yxt.anrui.scm.api.scmspecialrebate;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Data
public class OneExcelInfo {
//创建日期
private String createTime;
//返利名称
private String rebateName;
//返利类型
private String rebateTypeValue;
//预提返利
private String estimateRebate;
//上传日期
private String uploadDate;
//上传金额
private String uploadMoney;
//待确定金额
private String stayDetermineMoney;
//费用
private String money;
//调整说明
private String adjustmentRemarks;
}

49
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelVo.java

@ -0,0 +1,49 @@
package com.yxt.anrui.scm.api.scmspecialrebate;
import com.yxt.common.core.utils.ExportEntityMap;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Data
public class OneExcelVo {
//创建日期
@ExportEntityMap(CnName = "创建日期", EnName = "createTime")
private String createTime;
//返利名称
@ExportEntityMap(CnName = "返利名称", EnName = "rebateName")
private String rebateName;
//返利类型
@ExportEntityMap(CnName = "返利类型", EnName = "rebateTypeValue")
private String rebateTypeValue;
//预提返利
@ExportEntityMap(CnName = "预提返利", EnName = "estimateRebate")
private String estimateRebate;
//上传日期
@ExportEntityMap(CnName = "上传日期", EnName = "uploadDate")
private String uploadDate;
//上传金额
@ExportEntityMap(CnName = "上传金额", EnName = "uploadMoney")
private String uploadMoney;
//待确定金额
@ExportEntityMap(CnName = "待确定金额", EnName = "stayDetermineMoney")
private String stayDetermineMoney;
//费用
@ExportEntityMap(CnName = "费用", EnName = "money")
private String money;
//调整说明
@ExportEntityMap(CnName = "调整说明", EnName = "adjustmentRemarks")
private String adjustmentRemarks;
}

37
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeign.java

@ -32,20 +32,12 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.cloud.openfeign.FeignClient;
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;
/**
* Project: anrui-scm(专项返利管理) <br/>
* File: ScmSpecialRebateFeign.java <br/>
* Class: com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateFeign <br/>
* Description: 专项返利表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-09-08 16:11:43 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "专项返利表")
@FeignClient(
contextId = "anrui-scm-ScmSpecialRebate",
@ -98,4 +90,23 @@ public interface ScmSpecialRebateFeign {
@PostMapping("/stayDisRebate")
@ResponseBody
public ResultBean<PagerVo<ScmStayDisRebateVo>> stayDisRebate(@RequestBody PagerQuery<ScmSpecialRebateQuery> pq);
@ApiOperation("一次导出")
@PostMapping("/excelListOne")
public void excelListOne(@RequestBody ScmSpecialRebateQuery scmSpecialRebateQuery);
@ApiOperation(value = "一次导入")
@PostMapping("/getExcelOneInfo")
@ResponseBody
public ResultBean getExcelOneInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request, @RequestParam("userSid") String userSid) throws IOException, ParseException;
@ApiOperation("二次导出")
@PostMapping("/excelListTwo")
public void excelListTwo(@RequestBody ScmSpecialRebateQuery scmSpecialRebateQuery);
@ApiOperation(value = "二次导入")
@PostMapping("/getExcelTwoInfo")
@ResponseBody
public ResultBean getExcelTwoInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request,@RequestParam("userSid") String userSid) throws IOException, ParseException;
}

25
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeignFallback.java

@ -29,6 +29,11 @@ import com.yxt.common.core.query.PagerQuery;
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 javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.text.ParseException;
/**
* Project: anrui-scm(专项返利管理) <br/>
@ -92,4 +97,24 @@ public class ScmSpecialRebateFeignFallback implements ScmSpecialRebateFeign {
public ResultBean<PagerVo<ScmStayDisRebateVo>> stayDisRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
return null;
}
@Override
public void excelListOne(ScmSpecialRebateQuery scmSpecialRebateQuery) {
}
@Override
public ResultBean getExcelOneInfo(MultipartFile file, HttpServletRequest request, String userSid) throws IOException, ParseException {
return null;
}
@Override
public void excelListTwo(ScmSpecialRebateQuery scmSpecialRebateQuery) {
}
@Override
public ResultBean getExcelTwoInfo(MultipartFile file, HttpServletRequest request, String userSid) throws IOException, ParseException {
return null;
}
}

3
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateQuery.java

@ -68,6 +68,9 @@ public class ScmSpecialRebateQuery implements Query {
@ApiModelProperty("专项返利sid")
private List<String> sidList; // 专项返利sid
@ApiModelProperty("页面分配数量(0查询分配数量大于0的 1查询所有)")
private String isPage;
private String userSid;
private String orgPath;
private String menuUrl;

3
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateVo.java

@ -74,8 +74,7 @@ public class ScmSpecialRebateVo implements Vo {
@ApiModelProperty("预计返利")
private String estimateRebate; // 预计返利
@ApiModelProperty("预提日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date withholdingDate; // 预提日期
private String withholdingDate; // 预提日期
@ApiModelProperty("预提日期(页面展示)")
private String withholdingDateCopy; // 预提日期(页面展示)
@ApiModelProperty("上传日期")

12
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/SpecialRebateOneExcelInfo.java

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

13
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/SpecialRebateTwoExcelInfo.java

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

35
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelInfo.java

@ -0,0 +1,35 @@
package com.yxt.anrui.scm.api.scmspecialrebate;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Data
public class TwoExcelInfo {
//创建日期
private String createTime;
//返利名称
private String rebateName;
//返利类型
private String rebateTypeValue;
//预提返利
private String estimateRebate;
//上传日期
private String uploadDate;
//上传金额
private String uploadMoney;
//待确定金额
private String stayDetermineMoney;
//二次上传日期
private String secondaryUploadDate;
//二次上传金额
private String secondaryUploadMoney;
//费用
private String money;
//调整说明
private String adjustmentRemarks;
}

56
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelVo.java

@ -0,0 +1,56 @@
package com.yxt.anrui.scm.api.scmspecialrebate;
import com.yxt.common.core.utils.ExportEntityMap;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Data
public class TwoExcelVo {
@ExportEntityMap(CnName = "创建日期", EnName = "createTime")
private String createTime;
//返利名称
@ExportEntityMap(CnName = "返利名称", EnName = "rebateName")
private String rebateName;
//返利类型
@ExportEntityMap(CnName = "返利类型", EnName = "rebateTypeValue")
private String rebateTypeValue;
//预提返利
@ExportEntityMap(CnName = "预提返利", EnName = "estimateRebate")
private String estimateRebate;
//上传日期
@ExportEntityMap(CnName = "上传日期", EnName = "uploadDate")
private String uploadDate;
//上传金额
@ExportEntityMap(CnName = "上传金额", EnName = "uploadMoney")
private String uploadMoney;
//待确定金额
@ExportEntityMap(CnName = "待确定金额", EnName = "stayDetermineMoney")
private String stayDetermineMoney;
//二次上传日期
@ExportEntityMap(CnName = "二次上传日期", EnName = "secondaryUploadDate")
private String secondaryUploadDate;
//二次上传金额
@ExportEntityMap(CnName = "二次上传金额", EnName = "secondaryUploadMoney")
private String secondaryUploadMoney;
//费用
@ExportEntityMap(CnName = "费用", EnName = "money")
private String money;
//调整说明
@ExportEntityMap(CnName = "调整说明", EnName = "adjustmentRemarks")
private String adjustmentRemarks;
}

2
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateQuery.java

@ -71,6 +71,8 @@ public class ScmVehRebateQuery implements Query {
private String createOrgSid;
@ApiModelProperty("单车返利sid")
private List<String> sidList;
@ApiModelProperty("调整状态")
private String adjustmentState;
private String userSid;
private String orgPath;

2
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateVo.java

@ -91,8 +91,6 @@ public class ScmVehRebateVo implements Vo {
private String palceGenDateCopy; // 所属年月(页面展示)
@ApiModelProperty("预提日期")
private String withholdingDate; // 预提日期
@ApiModelProperty("预提日期(页面展示)")
private String withholdingDateCopy; // 预提日期(页面展示)
@ApiModelProperty("上传日期")
private String uploadDate; // 上传日期
@ApiModelProperty("上传金额")

1
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/VehRebateTwoExcelInfo.java

@ -1,5 +1,6 @@
package com.yxt.anrui.scm.api.scmvehrebate;
import com.yxt.anrui.scm.api.scmvehrebate.TwoExcelInfo;
import lombok.Data;
import java.util.ArrayList;

2
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailDetailsVo.java

@ -59,8 +59,6 @@ public class ScmVehrebateCheckapplydetailDetailsVo implements Vo {
private String palceGenDateCopy; // 所属年月(页面展示)
@ApiModelProperty("预提日期")
private String withholdingDate; // 预提日期
@ApiModelProperty("预提日期(页面展示)")
private String withholdingDateCopy; // 预提日期(页面展示)
@ApiModelProperty("返利类型key")
private String rebateTypeKey; // 返利类型key
@ApiModelProperty("返利类型value")

3
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewith/ScmVehRebateWithDetailsVo.java

@ -32,6 +32,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
/**
@ -56,7 +57,7 @@ public class ScmVehRebateWithDetailsVo implements Vo {
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("预提返利")
private String withRebate; // 预提返利
private BigDecimal withRebate; // 预提返利
@ApiModelProperty("台数")
private String num; // 台数
@ApiModelProperty("单车返利sid")

3
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewithapply/ScmVehRebateWithApplyVo.java

@ -33,6 +33,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -64,7 +65,7 @@ public class ScmVehRebateWithApplyVo implements Vo {
@ApiModelProperty("预提申请")
private String withApply; // 预提申请
@ApiModelProperty("预提返利合计")
private String withRebateTotal; // 预提返利合计
private BigDecimal withRebateTotal; // 预提返利合计
@ApiModelProperty("创建人姓名")
private String createByName; // 创建人姓名
@ApiModelProperty("使用组织sid")

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

@ -30,12 +30,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.scm.api.scmspecialrebate.ScmStayDisRebateVo;
import com.yxt.anrui.scm.api.scmspecialrebate.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebate;
import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateVo;
import org.apache.ibatis.annotations.Update;
import java.util.List;
@ -73,4 +71,14 @@ public interface ScmSpecialRebateMapper extends BaseMapper<ScmSpecialRebate> {
void updateWithholdingDateBySid(String sid);
IPage<ScmStayDisRebateVo> stayDisRebate(IPage<ScmSpecialRebate> page,@Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
ScmSpecialRebateVo selectExcelInfo(@Param("createTime") String createTime,@Param("rebateName") String rebateName,@Param("rebateTypeValue") String rebateTypeValue,@Param("estimateRebate") String estimateRebate);
void updateOneExcelInfo(@Param("uploadDate") String uploadDate,@Param("uploadMoney") String uploadMoney,@Param("stayDetermineMoney") String stayDetermineMoney,@Param("money") String money,@Param("adjustmentRemarks") String adjustmentRemarks,@Param("sid") String sid);
void updateTwoExcelInfo(@Param("secondaryUploadDate") String secondaryUploadDate,@Param("secondaryUploadMoney") String secondaryUploadMoney,@Param("money") String money,@Param("adjustmentRemarks") String adjustmentRemarks,@Param("sid") String sid);
List<OneExcelVo> excelListOne(@Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
List<TwoExcelVo> excelListTwo(@Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
}

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

@ -28,7 +28,7 @@
ssr.rebateTypeKey,
ssr.rebateTypeValue,
ssr.estimateRebate,
ssr.uploadMoney
ssr.uploadMoney + ssr.secondaryUploadMoney as uploadMoney
FROM scm_specialrebate_checkapplydetail sscad
LEFT JOIN scm_special_rebate ssr
ON sscad.`specialRebateSid` = ssr.`sid`
@ -38,4 +38,55 @@
${ew.sqlSegment}
</where>
</select>
<select id="selectExcelInfo" resultType="com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateVo">
SELECT * FROM scm_special_rebate
WHERE createTime LIKE CONCAT( '%', #{createTime}, '%' )
AND rebateName = #{rebateName}
AND rebateTypeValue = #{rebateTypeValue}
AND estimateRebate = #{estimateRebate}
</select>
<update id="updateOneExcelInfo">
UPDATE
scm_special_rebate
SET
uploadDate = #{uploadDate},
uploadMoney = #{uploadMoney},
stayDetermineMoney = #{stayDetermineMoney},
money = #{money},
adjustmentRemarks = #{adjustmentRemarks}
WHERE sid = #{sid}
</update>
<update id="updateTwoExcelInfo">
UPDATE
scm_special_rebate
SET
secondaryUploadDate = #{secondaryUploadDate},
secondaryUploadMoney = #{secondaryUploadMoney},
money = #{money},
adjustmentRemarks = #{adjustmentRemarks}
WHERE sid = #{sid}
</update>
<select id="excelListOne" resultType="com.yxt.anrui.scm.api.scmspecialrebate.OneExcelVo">
SELECT
*
FROM
scm_special_rebate
<where>
${ew.sqlSegment}
</where>
</select>
<select id="excelListTwo" resultType="com.yxt.anrui.scm.api.scmspecialrebate.TwoExcelVo">
SELECT
*
FROM
scm_special_rebate
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

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

@ -27,10 +27,9 @@ package com.yxt.anrui.scm.biz.scmspecialrebate;
import com.yxt.anrui.scm.api.scmspecialrebate.*;
import com.yxt.anrui.scm.api.scmspecialrebatewithapply.ScmSpecialRebateWithApply;
import com.yxt.anrui.scm.api.scmspecialrebatewithapply.ScmSpecialRebateWithApplyVo;
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebate;
import com.yxt.anrui.scm.biz.scmspecialrebatewith.ScmSpecialRebateWithService;
import com.yxt.anrui.scm.biz.scmspecialrebatewithapply.ScmSpecialRebateWithApplyService;
import com.yxt.common.base.utils.ExportExcelUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -38,114 +37,150 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.text.ParseException;
import java.util.List;
/**
* Project: anrui-scm(专项返利管理) <br/>
* File: ScmSpecialRebateFeignFallback.java <br/>
* Class: com.yxt.anrui.scm.biz.scmspecialrebate.ScmSpecialRebateRest <br/>
* Description: 专项返利表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-09-08 16:11:43 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "专项返利表")
@RestController("com.yxt.anrui.scm.biz.scmspecialrebate.ScmSpecialRebateRest")
@RestController
@RequestMapping("v1/scmspecialrebate")
public class ScmSpecialRebateRest implements ScmSpecialRebateFeign {
@Autowired
private ScmSpecialRebateService scmSpecialRebateService;
@Autowired
private ScmSpecialRebateWithService scmSpecialRebateWithService;
@Autowired
private ScmSpecialRebateWithApplyService scmSpecialRebateWithApplyService;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<ScmSpecialRebateVo>> listPage(@RequestBody PagerQuery<ScmSpecialRebateQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<ScmSpecialRebateVo> pv = scmSpecialRebateService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody ScmSpecialRebateDto dto){
ResultBean rb = ResultBean.fireFail();
scmSpecialRebateService.saveOrUpdateDto(dto);
return rb.success();
}
@Override
public ResultBean adjustment(ScmSpecialRebateSpecialAdjDto dto) {
return scmSpecialRebateService.adjustment(dto);
}
@Override
@ApiOperation("根据sid批量删除")
@Autowired
private ScmSpecialRebateService scmSpecialRebateService;
@Autowired
private ScmSpecialRebateWithService scmSpecialRebateWithService;
@Autowired
private ScmSpecialRebateWithApplyService scmSpecialRebateWithApplyService;
@Autowired
HttpServletResponse response;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<ScmSpecialRebateVo>> listPage(@RequestBody PagerQuery<ScmSpecialRebateQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<ScmSpecialRebateVo> pv = scmSpecialRebateService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody ScmSpecialRebateDto dto) {
ResultBean rb = ResultBean.fireFail();
scmSpecialRebateService.saveOrUpdateDto(dto);
return rb.success();
}
@Override
public ResultBean adjustment(ScmSpecialRebateSpecialAdjDto dto) {
return scmSpecialRebateService.adjustment(dto);
}
@Override
@ApiOperation("根据sid批量删除")
@DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
ResultBean rb = ResultBean.fireFail();
for (String sid : sids) {
List<String> stringList = scmSpecialRebateWithService.fetchBySpecialReBateSid(sid);
for (String s : stringList) {
ScmSpecialRebateWithApply scmSpecialRebateWithApply = scmSpecialRebateWithApplyService.fetchBySid(s);
if (!scmSpecialRebateWithApply.getNodeState().equals("待提交")){
return rb.setMsg("所选数据中包含已提交专项返利信息,无法删除");
}
}
ScmSpecialRebate scmSpecialRebate = scmSpecialRebateService.fetchBySid(sid);
Integer state = scmSpecialRebate.getState();
if (state == 1){
return rb.setMsg("所选数据中包含已预提专项返利信息,无法删除");
}
}
scmSpecialRebateService.delBySids(sids);
return rb.success();
}
@Override
@ApiOperation("根据SID获取一条记录")
public ResultBean delBySids(@RequestBody String[] sids) {
ResultBean rb = ResultBean.fireFail();
for (String sid : sids) {
List<String> stringList = scmSpecialRebateWithService.fetchBySpecialReBateSid(sid);
for (String s : stringList) {
ScmSpecialRebateWithApply scmSpecialRebateWithApply = scmSpecialRebateWithApplyService.fetchBySid(s);
if (!scmSpecialRebateWithApply.getNodeState().equals("待提交")) {
return rb.setMsg("所选数据中包含已提交专项返利信息,无法删除");
}
}
ScmSpecialRebate scmSpecialRebate = scmSpecialRebateService.fetchBySid(sid);
Integer state = scmSpecialRebate.getState();
if (state == 1) {
return rb.setMsg("所选数据中包含已预提专项返利信息,无法删除");
}
}
scmSpecialRebateService.delBySids(sids);
return rb.success();
}
@Override
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<ScmSpecialRebateDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
ScmSpecialRebateDetailsVo vo = scmSpecialRebateService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@Override
public ResultBean<PagerVo<ScmSpecialRebateVo>> withApplyGetSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<ScmSpecialRebateVo> pv = scmSpecialRebateService.withApplyGetSpecialRebate(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean<PagerVo<ScmSpecialRebateVo>> checkApplyGetSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<ScmSpecialRebateVo> pv = scmSpecialRebateService.checkApplyGetSpecialRebate(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean<PagerVo<ScmSpecialRebateVo>> checkApplyGetAlreadyUploadSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<ScmSpecialRebateVo> pv = scmSpecialRebateService.checkApplyGetAlreadyUploadSpecialRebate(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean<PagerVo<ScmStayDisRebateVo>> stayDisRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<ScmStayDisRebateVo> pv = scmSpecialRebateService.stayDisRebate(pq);
return rb.success().setData(pv);
}
public ResultBean<ScmSpecialRebateDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail();
ScmSpecialRebateDetailsVo vo = scmSpecialRebateService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@Override
public ResultBean<PagerVo<ScmSpecialRebateVo>> withApplyGetSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<ScmSpecialRebateVo> pv = scmSpecialRebateService.withApplyGetSpecialRebate(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean<PagerVo<ScmSpecialRebateVo>> checkApplyGetSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<ScmSpecialRebateVo> pv = scmSpecialRebateService.checkApplyGetSpecialRebate(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean<PagerVo<ScmSpecialRebateVo>> checkApplyGetAlreadyUploadSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<ScmSpecialRebateVo> pv = scmSpecialRebateService.checkApplyGetAlreadyUploadSpecialRebate(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean<PagerVo<ScmStayDisRebateVo>> stayDisRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<ScmStayDisRebateVo> pv = scmSpecialRebateService.stayDisRebate(pq);
return rb.success().setData(pv);
}
@Override
public void excelListOne(ScmSpecialRebateQuery scmSpecialRebateQuery) {
//得到所有要导出的数据
List<OneExcelVo> exportVoList = scmSpecialRebateService.excelListOne(scmSpecialRebateQuery);
//定义导出的excel名字
String excelName = "一次导出";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
ExportExcelUtils.export(fileNameURL, exportVoList, OneExcelVo.class, response);
}
@Override
public ResultBean getExcelOneInfo(MultipartFile file, HttpServletRequest request, String userSid) throws IOException, ParseException {
return scmSpecialRebateService.getExcelOneInfo(file, request, userSid);
}
@Override
public void excelListTwo(ScmSpecialRebateQuery scmSpecialRebateQuery) {
//得到所有要导出的数据
List<TwoExcelVo> exportVoList = scmSpecialRebateService.excelListTwo(scmSpecialRebateQuery);
//定义导出的excel名字
String excelName = "二次导出";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
ExportExcelUtils.export(fileNameURL, exportVoList, TwoExcelVo.class, response);
}
@Override
public ResultBean getExcelTwoInfo(MultipartFile file, HttpServletRequest request, String userSid) throws IOException, ParseException {
return scmSpecialRebateService.getExcelTwoInfo(file, request, userSid);
}
}

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

@ -29,10 +29,12 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.scm.api.scmcollectionrebatecheckapply.ScmCollectionrebateCheckapplyVo;
import com.yxt.anrui.scm.api.scmspecialrebate.*;
import com.yxt.anrui.scm.api.scmspecialrebate.OneExcelInfo;
import com.yxt.anrui.scm.api.scmspecialrebate.TwoExcelInfo;
import com.yxt.anrui.scm.biz.scmspecialrebatevehs.ScmSpecialrebateVehsService;
import com.yxt.common.core.result.ResultBean;
import org.apache.commons.lang3.StringUtils;
@ -41,26 +43,25 @@ import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
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.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.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.regex.Pattern;
/**
* Project: anrui-scm(专项返利管理) <br/>
* File: ScmSpecialRebateService.java <br/>
* Class: com.yxt.anrui.scm.biz.scmspecialrebate.ScmSpecialRebateService <br/>
* Description: 专项返利表 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-09-08 16:11:43 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebateMapper, ScmSpecialRebate> {
@ -68,13 +69,10 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
private ScmSpecialrebateVehsService scmSpecialrebateVehsService;
@Autowired
private SysUserFeign sysUserFeign;
private QueryWrapper<ScmSpecialRebate> createQueryWrapper(ScmSpecialRebateQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<ScmSpecialRebate> qw = new QueryWrapper<>();
return qw;
}
@Autowired
HttpServletResponse response;
@Autowired
private DictCommonFeign dictCommonFeign;
public PagerVo<ScmSpecialRebateVo> listPageVo(PagerQuery<ScmSpecialRebateQuery> pq) {
ScmSpecialRebateQuery query = pq.getParams();
@ -367,18 +365,21 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
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')"
);
qw.eq("state", 3);
qw.eq("adjustmentState", 1);
qw.isNotNull("uploadDate");
if (query.getSidList().size() > 0) {
qw.notIn("sid", query.getSidList());
}
IPage<ScmSpecialRebate> page = PagerUtil.queryToPage(pq);
IPage<ScmSpecialRebateVo> pagging = baseMapper.selectPageVo(page, qw);
for (ScmSpecialRebateVo record : pagging.getRecords()) {
Date withholdingDate = record.getWithholdingDate();
int year = DateUtil.year(withholdingDate);
int month = DateUtil.month(withholdingDate) + 1;
String withholdingDateCopy = year + "年" + month + "月";
record.setWithholdingDateCopy(withholdingDateCopy);
if (StringUtils.isNotBlank(record.getWithholdingDate())){
Date withholdingDate = DateUtil.parseDate(record.getWithholdingDate());
int year = DateUtil.year(withholdingDate);
int month = DateUtil.month(withholdingDate) + 1;
String withholdingDateCopy = year + "年" + month + "月";
record.setWithholdingDateCopy(withholdingDateCopy);
}
}
PagerVo<ScmSpecialRebateVo> p = PagerUtil.pageToVo(pagging, null);
return p;
@ -460,7 +461,7 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
if (StringUtils.isNotBlank(query.getRebateName())) {
qw.like("ssr.rebateName", query.getRebateName());
}
qw.eq("ssr.state", 3);
qw.eq("ssr.state", 4);
qw.eq("ssca.nodeState","已办结");
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
@ -472,13 +473,832 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
}
IPage<ScmSpecialRebate> page = PagerUtil.queryToPage(pq);
IPage<ScmStayDisRebateVo> pagging = baseMapper.stayDisRebate(page, qw);
List<ScmStayDisRebateVo> records = pagging.getRecords();
for (ScmStayDisRebateVo record : records) {
String sid = record.getSid();
int disVehCount = scmSpecialrebateVehsService.getDisVehCount(sid);
record.setDisNum(String.valueOf(disVehCount));
Iterator<ScmStayDisRebateVo> iterator = pagging.getRecords().iterator();
while (iterator.hasNext()) {
ScmStayDisRebateVo record = iterator.next();
int disVehCount = scmSpecialrebateVehsService.getDisVehCount(record.getSid());
if ("0".equals(query.getIsPage()) && disVehCount == 0){
iterator.remove();
continue;
}else {
record.setDisNum(String.valueOf(disVehCount));
}
}
PagerVo<ScmStayDisRebateVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean getExcelOneInfo(MultipartFile file, HttpServletRequest request, String userSid) 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, 6, 7, 8};
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);
SpecialRebateOneExcelInfo importReturn = getSheetValOne(sheet, resultCell, userSid);
if (StringUtils.isNotBlank(importReturn.getCheckInfo())) {
return rb.setMsg(importReturn.getCheckInfo());
} else {
List<OneExcelInfo> infos = importReturn.getInfos();
for (OneExcelInfo info : infos) {
ScmSpecialRebateVo scmSpecialRebateVo = baseMapper.selectExcelInfo(info.getCreateTime(), info.getRebateName(), info.getRebateTypeValue(), info.getEstimateRebate());
Date javaDate = new Date((long) ((Double.valueOf(info.getUploadDate()) - 25569) * 86400 * 1000));
String uploadDate = DateUtil.formatDate(javaDate);
baseMapper.updateOneExcelInfo(uploadDate, info.getUploadMoney(), info.getStayDetermineMoney(), info.getMoney(), info.getAdjustmentRemarks(), scmSpecialRebateVo.getSid());
}
return rb.success().setMsg("成功导入数据,请点击确定按钮");
}
}
private SpecialRebateOneExcelInfo getSheetValOne(Sheet sheet, int[] resultCell, String userSid) {
SpecialRebateOneExcelInfo importReturn = new SpecialRebateOneExcelInfo();
List<OneExcelInfo> 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;
}
OneExcelInfo importVo = new OneExcelInfo();
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.setCreateTime(temp);
break;
case 1:
importVo.setRebateName(temp);
break;
case 2:
importVo.setRebateTypeValue(temp);
break;
case 3:
importVo.setEstimateRebate(temp);
break;
case 4:
importVo.setUploadDate(temp);
break;
case 5:
importVo.setUploadMoney(temp);
break;
case 6:
importVo.setStayDetermineMoney(temp);
break;
case 7:
importVo.setMoney(temp);
break;
case 8:
importVo.setAdjustmentRemarks(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;
case 6:
word = "待确定金额";
break;
case 7:
word = "费用";
break;
case 8:
word = "调整说明";
break;
default:
break;
}
continue;
}
}
}
importVoList.add(importVo);
}
if (!importVoList.isEmpty()) {
for (OneExcelInfo excelInfo : importVoList) {
ScmSpecialRebateVo scmSpecialRebateVo = baseMapper.selectExcelInfo(excelInfo.getCreateTime(), excelInfo.getRebateName(), excelInfo.getRebateTypeValue(), excelInfo.getEstimateRebate());
if (scmSpecialRebateVo == null || StringUtils.isBlank(scmSpecialRebateVo.getSid())) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的返利信息不存在");
break;
}
if (scmSpecialRebateVo.getAdjustmentState() == 1) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的返利信息已调整");
break;
}
if (StringUtils.isBlank(excelInfo.getCreateTime())) {
checkWord.add("创建日期不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getCreateTime())) {
String createTime = "";
if (isNumber(excelInfo.getCreateTime())){
Date javaDate = new Date((long) ((Double.valueOf(excelInfo.getCreateTime()) - 25569) * 86400 * 1000));
createTime = DateUtil.formatDate(javaDate);
}else {
createTime = excelInfo.getCreateTime();
}
String[] split = createTime.split("-");
if (split.length != 3) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的创建日期填写不正确,格式yyyy-MM-dd");
break;
} else if (!isFourDigitNumber(split[0]) || !isTwoDigitNumber(split[1]) || !isTwoDigitNumber(split[2])) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的创建日期填写不正确,格式yyyy-MM-dd");
break;
}
}
if (StringUtils.isBlank(excelInfo.getRebateName())) {
checkWord.add("返利名称不能为空");
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.getRebateName() + "导入的返利类型填写不正确");
break;
}
}
if (StringUtils.isBlank(excelInfo.getEstimateRebate())) {
checkWord.add("预提返利不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getEstimateRebate())) {
String estimateRebate = excelInfo.getEstimateRebate();
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$");
boolean matches = pattern.matcher(estimateRebate).matches();
if (!matches) {
checkWord.add("预提返利必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getUploadDate())) {
checkWord.add("上传日期不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getUploadDate())) {
String uploadDate = "";
if (isNumber(excelInfo.getUploadDate())){
Date javaDate = new Date((long) ((Double.valueOf(excelInfo.getUploadDate()) - 25569) * 86400 * 1000));
uploadDate = DateUtil.formatDate(javaDate);
}else {
uploadDate = excelInfo.getUploadDate();
}
String[] split = uploadDate.split("-");
if (split.length != 3) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的上传日期填写不正确,格式yyyy-MM-dd");
break;
} else if (!isFourDigitNumber(split[0]) || !isTwoDigitNumber(split[1]) || !isTwoDigitNumber(split[2])) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的上传日期填写不正确,格式yyyy-MM-dd");
break;
}
}
if (StringUtils.isBlank(excelInfo.getUploadMoney())) {
checkWord.add("上传金额不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getUploadMoney())) {
String uploadMoney = excelInfo.getUploadMoney();
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$");
boolean matches = pattern.matcher(uploadMoney).matches();
if (!matches) {
checkWord.add("上传金额必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getStayDetermineMoney())) {
checkWord.add("待确定金额不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getStayDetermineMoney())) {
String stayDetermineMoney = excelInfo.getStayDetermineMoney();
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$");
boolean matches = pattern.matcher(stayDetermineMoney).matches();
if (!matches) {
checkWord.add("待确定金额必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getMoney())) {
checkWord.add("费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getMoney())) {
String money = excelInfo.getMoney();
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$");
boolean matches = pattern.matcher(money).matches();
if (!matches) {
checkWord.add("费用必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getAdjustmentRemarks())) {
checkWord.add("调整说明不能为空");
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;
}
public boolean isNumber(String input) {
// 判断输入是否为数字
try {
double v = Double.parseDouble(input);
} catch (NumberFormatException e) {
return false;
}
return true;
}
public ResultBean getExcelTwoInfo(MultipartFile file, HttpServletRequest request, String userSid) 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, 6, 7, 8, 9, 10};
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);
SpecialRebateTwoExcelInfo importReturn = getSheetValTwo(sheet, resultCell, userSid);
if (StringUtils.isNotBlank(importReturn.getCheckInfo())) {
return rb.setMsg(importReturn.getCheckInfo());
} else {
List<TwoExcelInfo> infos = importReturn.getInfos();
for (TwoExcelInfo info : infos) {
ScmSpecialRebateVo scmSpecialRebateVo = baseMapper.selectExcelInfo(info.getCreateTime(), info.getRebateName(), info.getRebateTypeValue(), info.getEstimateRebate());
Date javaDate = new Date((long) ((Double.valueOf(info.getSecondaryUploadDate()) - 25569) * 86400 * 1000));
String secondaryUploadDate = DateUtil.formatDate(javaDate);
baseMapper.updateTwoExcelInfo(secondaryUploadDate, info.getSecondaryUploadMoney(), info.getMoney(), info.getAdjustmentRemarks(), scmSpecialRebateVo.getSid());
}
return rb.success().setMsg("成功导入数据,请点击确定按钮");
}
}
private SpecialRebateTwoExcelInfo getSheetValTwo(Sheet sheet, int[] resultCell, String userSid) {
SpecialRebateTwoExcelInfo importReturn = new SpecialRebateTwoExcelInfo();
List<TwoExcelInfo> 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;
}
TwoExcelInfo importVo = new TwoExcelInfo();
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.setCreateTime(temp);
break;
case 1:
importVo.setRebateName(temp);
break;
case 2:
importVo.setRebateTypeValue(temp);
break;
case 3:
importVo.setEstimateRebate(temp);
break;
case 4:
importVo.setUploadDate(temp);
break;
case 5:
importVo.setUploadMoney(temp);
break;
case 6:
importVo.setStayDetermineMoney(temp);
break;
case 7:
importVo.setSecondaryUploadDate(temp);
break;
case 8:
importVo.setSecondaryUploadMoney(temp);
break;
case 9:
importVo.setMoney(temp);
break;
case 10:
importVo.setAdjustmentRemarks(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;
case 6:
word = "待确定金额";
break;
case 7:
word = "二次上传日期";
break;
case 8:
word = "二次上传金额";
break;
case 9:
word = "费用";
break;
case 10:
word = "调整说明";
break;
default:
break;
}
continue;
}
}
}
importVoList.add(importVo);
}
if (!importVoList.isEmpty()) {
for (TwoExcelInfo excelInfo : importVoList) {
ScmSpecialRebateVo scmSpecialRebateVo = baseMapper.selectExcelInfo(excelInfo.getCreateTime(), excelInfo.getRebateName(), excelInfo.getRebateTypeValue(), excelInfo.getEstimateRebate());
if (scmSpecialRebateVo == null || StringUtils.isBlank(scmSpecialRebateVo.getSid())) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的返利信息不存在");
break;
}
if (scmSpecialRebateVo.getAdjustmentState() == 1) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的返利信息已调整");
break;
}
if (StringUtils.isBlank(excelInfo.getCreateTime())) {
checkWord.add("创建日期不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getCreateTime())) {
String createTime = "";
if (isNumber(excelInfo.getCreateTime())){
Date javaDate = new Date((long) ((Double.valueOf(excelInfo.getCreateTime()) - 25569) * 86400 * 1000));
createTime = DateUtil.formatDate(javaDate);
}else {
createTime = excelInfo.getCreateTime();
}
String[] split = createTime.split("-");
if (split.length != 3) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的创建日期填写不正确,格式yyyy-MM-dd");
break;
} else if (!isFourDigitNumber(split[0]) || !isTwoDigitNumber(split[1]) || !isTwoDigitNumber(split[2])) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的创建日期填写不正确,格式yyyy-MM-dd");
break;
}
}
if (StringUtils.isBlank(excelInfo.getRebateName())) {
checkWord.add("返利名称不能为空");
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.getRebateName() + "导入的返利类型填写不正确");
break;
}
}
if (StringUtils.isBlank(excelInfo.getEstimateRebate())) {
checkWord.add("预提返利不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getEstimateRebate())) {
String estimateRebate = excelInfo.getEstimateRebate();
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$");
boolean matches = pattern.matcher(estimateRebate).matches();
if (!matches) {
checkWord.add("预提返利必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getUploadDate())) {
checkWord.add("上传日期不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getUploadDate())) {
String uploadDate = "";
if (isNumber(excelInfo.getUploadDate())){
Date javaDate = new Date((long) ((Double.valueOf(excelInfo.getUploadDate()) - 25569) * 86400 * 1000));
uploadDate = DateUtil.formatDate(javaDate);
}else {
uploadDate = excelInfo.getUploadDate();
}
String[] split = uploadDate.split("-");
if (split.length != 3) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的上传日期填写不正确,格式yyyy-MM-dd");
break;
} else if (!isFourDigitNumber(split[0]) || !isTwoDigitNumber(split[1]) || !isTwoDigitNumber(split[2])) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的上传日期填写不正确,格式yyyy-MM-dd");
break;
}
}
if (StringUtils.isBlank(excelInfo.getUploadMoney())) {
checkWord.add("上传金额不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getUploadMoney())) {
String uploadMoney = excelInfo.getUploadMoney();
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$");
boolean matches = pattern.matcher(uploadMoney).matches();
if (!matches) {
checkWord.add("上传金额必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getStayDetermineMoney())) {
checkWord.add("待确定金额不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getStayDetermineMoney())) {
String stayDetermineMoney = excelInfo.getStayDetermineMoney();
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$");
boolean matches = pattern.matcher(stayDetermineMoney).matches();
if (!matches) {
checkWord.add("待确定金额必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getUploadDate())) {
checkWord.add("二次上传日期不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getSecondaryUploadDate())) {
String secondaryUploadDate = "";
if (isNumber(excelInfo.getSecondaryUploadDate())){
Date javaDate = new Date((long) ((Double.valueOf(excelInfo.getSecondaryUploadDate()) - 25569) * 86400 * 1000));
secondaryUploadDate = DateUtil.formatDate(javaDate);
}else {
secondaryUploadDate = excelInfo.getSecondaryUploadDate();
}
String[] split = secondaryUploadDate.split("-");
if (split.length != 3) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的二次上传日期填写不正确,格式yyyy-MM-dd");
break;
} else if (!isFourDigitNumber(split[0]) || !isTwoDigitNumber(split[1]) || !isTwoDigitNumber(split[2])) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的二次上传日期填写不正确,格式yyyy-MM-dd");
break;
}
}
if (StringUtils.isBlank(excelInfo.getSecondaryUploadMoney())) {
checkWord.add("二次上传金额不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getSecondaryUploadMoney())) {
String secondaryUploadMoney = excelInfo.getSecondaryUploadMoney();
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$");
boolean matches = pattern.matcher(secondaryUploadMoney).matches();
if (!matches) {
checkWord.add("二次上传金额必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getMoney())) {
checkWord.add("费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getMoney())) {
String money = excelInfo.getMoney();
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$");
boolean matches = pattern.matcher(money).matches();
if (!matches) {
checkWord.add("费用必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getAdjustmentRemarks())) {
checkWord.add("调整说明不能为空");
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 List<OneExcelVo> excelListOne(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<OneExcelVo> p = new ArrayList<>();
return p;
}
} else {
List<OneExcelVo> p = new ArrayList<>();
return p;
}
}
if (StringUtils.isNotBlank(query.getBrandSid())) {
qw.eq("brandSid", query.getBrandSid());
}
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());
}
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')"
);
qw.ne("adjustmentState", 1);
qw.eq("state", 2);
qw.orderByDesc("createTime");
List<OneExcelVo> oneExcelVos = baseMapper.excelListOne(qw);
for (OneExcelVo oneExcelVo : oneExcelVos) {
oneExcelVo.setCreateTime(DateUtil.formatDate(DateUtil.parseDate(oneExcelVo.getCreateTime())));
}
return oneExcelVos;
}
public List<TwoExcelVo> excelListTwo(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<TwoExcelVo> p = new ArrayList<>();
return p;
}
} else {
List<TwoExcelVo> p = new ArrayList<>();
return p;
}
}
if (StringUtils.isNotBlank(query.getBrandSid())) {
qw.eq("brandSid", query.getBrandSid());
}
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());
}
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')"
);
qw.ne("adjustmentState", 1);
qw.eq("state", 2);
qw.isNotNull("uploadDate");
qw.orderByDesc("createTime");
List<TwoExcelVo> twoExcelVos = baseMapper.excelListTwo(qw);
for (TwoExcelVo twoExcelVo : twoExcelVos) {
twoExcelVo.setCreateTime(DateUtil.formatDate(DateUtil.parseDate(twoExcelVo.getCreateTime())));
}
return twoExcelVos;
}
}

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewith/ScmSpecialRebateWithMapper.xml

@ -27,7 +27,7 @@
LEFT JOIN scm_special_rebate ssr
ON ssr.`sid` = ssrw.`specialRebateSid`
WHERE ssrw.`mainSid` = #{sid}
GROUP BY ssr.`calculationModeKey`
GROUP BY ssr.rebateTypeKey
</select>
<select id="fetchBySpecialReBateSid" resultType="java.lang.String">

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

@ -67,10 +67,8 @@ public interface ScmVehRebateMapper extends BaseMapper<ScmVehRebate> {
@Update("update scm_veh_rebate set state = #{state} where sid = #{sid}")
void updateState(@Param("sid") String sid,@Param("state") Integer state);
ScmVehRebateVo selectByVinNoAndOrgSid(@Param("vinNo") String vinNo,@Param("createOrgSid") String createOrgSid);
@Update("update scm_veh_rebate set withholdingDate = CURRENT_TIMESTAMP where sid = #{vehRebateSid}")
void updateWithholdingDateBySid(String vehRebateSid);
@Update("update scm_veh_rebate set withholdingDate = #{withApply} where sid = #{vehRebateSid}")
void updateWithholdingDateBySid(@Param("vehRebateSid") String vehRebateSid,@Param("withApply") String withApply);
List<OneExcelVo> excelListOne(@Param(Constants.WRAPPER) QueryWrapper<ScmVehRebate> qw);
@ -81,4 +79,6 @@ public interface ScmVehRebateMapper extends BaseMapper<ScmVehRebate> {
void updateOneExcelInfo(@Param("uploadDate") String uploadDate,@Param("uploadMoney") String uploadMoney,@Param("stayDetermineMoney") String stayDetermineMoney,@Param("money") String money,@Param("adjustmentRemarks") String adjustmentRemarks,@Param("sid") String sid);
void updateTwoExcelInfo(@Param("secondaryUploadDate") String secondaryUploadDate,@Param("secondaryUploadMoney") String secondaryUploadMoney,@Param("money") String money,@Param("adjustmentRemarks") String adjustmentRemarks,@Param("sid") String sid);
ScmVehRebateVo selectByVinNoAndOrgSid(@Param("vinNo") String vinNo,@Param("rebateTypeKey") String rebateTypeKey,@Param("rebateName") String rebateName,@Param("palceGenDate") String palceGenDate,@Param("useOrgSid") String useOrgSid);
}

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

@ -21,7 +21,10 @@
SELECT *
FROM scm_veh_rebate
WHERE vinNo = #{vinNo}
AND createOrgSid = #{createOrgSid}
AND rebateTypeKey = #{rebateTypeKey}
AND rebateName = #{rebateName}
AND palceGenDate = #{palceGenDate}
AND createOrgSid = #{useOrgSid}
</select>
<select id="excelListOne" resultType="com.yxt.anrui.scm.api.scmvehrebate.OneExcelVo">
@ -45,8 +48,9 @@
</select>
<select id="selectExcelInfo" resultType="com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateVo">
SELECT * FROM scm_veh_rebate
WHERE vinNo LIKE CONCAT( '%', #{vinNo}, '%' )
SELECT *
FROM scm_veh_rebate
WHERE vinNo LIKE CONCAT('%', #{vinNo}, '%')
AND rebateName = #{rebateName}
AND palceGenDate = #{palceGenDate}
</select>
@ -54,23 +58,21 @@
<update id="updateOneExcelInfo">
UPDATE
scm_veh_rebate
SET
uploadDate = #{uploadDate},
uploadMoney = #{uploadMoney},
stayDetermineMoney = #{stayDetermineMoney},
money = #{money},
adjustmentRemarks = #{adjustmentRemarks}
SET uploadDate = #{uploadDate},
uploadMoney = #{uploadMoney},
stayDetermineMoney = #{stayDetermineMoney},
money = #{money},
adjustmentRemarks = #{adjustmentRemarks}
WHERE sid = #{sid}
</update>
<update id="updateTwoExcelInfo">
UPDATE
scm_veh_rebate
SET
secondaryUploadDate = #{secondaryUploadDate},
secondaryUploadMoney = #{secondaryUploadMoney},
money = #{money},
adjustmentRemarks = #{adjustmentRemarks}
SET secondaryUploadDate = #{secondaryUploadDate},
secondaryUploadMoney = #{secondaryUploadMoney},
money = #{money},
adjustmentRemarks = #{adjustmentRemarks}
WHERE sid = #{sid}
</update>
</mapper>

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

@ -117,7 +117,7 @@ public class ScmVehRebateRest implements ScmVehRebateFeign {
//得到所有要导出的数据
List<TwoExcelVo> exportVoList = scmVehRebateService.excelListTwo(scmVehRebateQuery);
//定义导出的excel名字
String excelName = "二导出";
String excelName = "二导出";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");

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

@ -263,6 +263,9 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
if (StringUtils.isNotBlank(query.getRebateName())) {
qw.like("rebateName", query.getRebateName());
}
if (StringUtils.isNotBlank(query.getAdjustmentState())) {
qw.eq("adjustmentState", query.getAdjustmentState());
}
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')").
@ -494,13 +497,6 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
IPage<ScmVehRebate> page = PagerUtil.queryToPage(pq);
IPage<ScmVehRebateVo> pagging = baseMapper.selectPageVo(page, qw);
for (ScmVehRebateVo record : pagging.getRecords()) {
String withholdingDate = record.getWithholdingDate();
Date parse = DateUtil.parse(withholdingDate);
int year = DateUtil.year(parse);
int month = DateUtil.month(parse) + 1;
String withholdingDateCopy = year + "年" + month + "月";
record.setWithholdingDate(parse.toString());
record.setWithholdingDateCopy(withholdingDateCopy);
//所属年月
String palceGenDate = record.getPalceGenDate();
String[] split = palceGenDate.split("-");
@ -535,7 +531,7 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
ScmVehRebate scmVehRebate = new ScmVehRebate();
BeanUtil.copyProperties(scmVehRebateVeh, scmVehRebate, "sid");
String vinNo = scmVehRebateVeh.getVinNo();
ScmVehRebateVo scmVehRebateVo = baseMapper.selectByVinNoAndOrgSid(vinNo, useOrgSid);
ScmVehRebateVo scmVehRebateVo = baseMapper.selectByVinNoAndOrgSid(vinNo,dto.getRebateTypeKey(),dto.getRebateName(),dto.getPalceGenDate(), useOrgSid);
if (scmVehRebateVo != null) {
return rb.setMsg("车架号为" + vinNo + "的单车返利信息已存在");
}
@ -582,8 +578,8 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
return rb.success().setMsg("调整成功");
}
public void updateWithholdingDateBySid(String vehRebateSid) {
baseMapper.updateWithholdingDateBySid(vehRebateSid);
public void updateWithholdingDateBySid(String vehRebateSid,String withApply) {
baseMapper.updateWithholdingDateBySid(vehRebateSid,withApply);
}
public void downloadExcel() {
@ -895,6 +891,16 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
return true;
}
public boolean isNumber(String input) {
// 判断输入是否为数字
try {
double v = Double.parseDouble(input);
} catch (NumberFormatException e) {
return false;
}
return true;
}
public ResultBean getExcelOneInfo(MultipartFile file, HttpServletRequest request, String userSid, String orgPath) throws IOException {
ResultBean rb = ResultBean.fireFail();
String temp = request.getSession().getServletContext().getRealPath(File.separator) + "temp";// 临时目录
@ -1122,8 +1128,13 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
break;
}
if (StringUtils.isNotBlank(excelInfo.getCreateTime())) {
Date javaDate = new Date((long) ((Double.valueOf(excelInfo.getCreateTime()) - 25569) * 86400 * 1000));
String createTime = DateUtil.formatDate(javaDate);
String createTime = "";
if (isNumber(excelInfo.getCreateTime())){
Date javaDate = new Date((long) ((Double.valueOf(excelInfo.getCreateTime()) - 25569) * 86400 * 1000));
createTime = DateUtil.formatDate(javaDate);
}else {
createTime = excelInfo.getCreateTime();
}
String[] split = createTime.split("-");
if (split.length != 3) {
checkWord.add("车架号" + excelInfo.getVinNo() + "导入的创建日期填写不正确,格式yyyy-MM-dd");
@ -1181,8 +1192,13 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
break;
}
if (StringUtils.isNotBlank(excelInfo.getUploadDate())) {
Date javaDate = new Date((long) ((Double.valueOf(excelInfo.getUploadDate()) - 25569) * 86400 * 1000));
String uploadDate = DateUtil.formatDate(javaDate);
String uploadDate = "";
if (isNumber(excelInfo.getUploadDate())){
Date javaDate = new Date((long) ((Double.valueOf(excelInfo.getUploadDate()) - 25569) * 86400 * 1000));
uploadDate = DateUtil.formatDate(javaDate);
}else {
uploadDate = excelInfo.getUploadDate();
}
String[] split = uploadDate.split("-");
if (split.length != 3) {
checkWord.add("车架号" + excelInfo.getVinNo() + "导入的上传日期填写不正确,格式yyyy-MM-dd");
@ -1231,10 +1247,6 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
break;
}
}
if (StringUtils.isBlank(excelInfo.getAdjustmentRemarks())) {
checkWord.add("调整说明不能为空");
break;
}
}
}
StringBuffer sbcheck1 = new StringBuffer();
@ -1553,7 +1565,13 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
break;
}
if (StringUtils.isNotBlank(excelInfo.getUploadDate())) {
String uploadDate = excelInfo.getUploadDate();
String uploadDate = "";
if (isNumber(excelInfo.getUploadDate())){
Date javaDate = new Date((long) ((Double.valueOf(excelInfo.getUploadDate()) - 25569) * 86400 * 1000));
uploadDate = DateUtil.formatDate(javaDate);
}else {
uploadDate = excelInfo.getUploadDate();
}
String[] split = uploadDate.split("-");
if (split.length != 3) {
checkWord.add("车架号" + excelInfo.getVinNo() + "导入的上传日期填写不正确,格式yyyy-MM-dd");
@ -1594,8 +1612,13 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
break;
}
if (StringUtils.isNotBlank(excelInfo.getSecondaryUploadDate())) {
Date javaDate = new Date((long) ((Double.valueOf(excelInfo.getSecondaryUploadDate()) - 25569) * 86400 * 1000));
String secondaryUploadDate = DateUtil.formatDate(javaDate);
String secondaryUploadDate = "";
if (isNumber(excelInfo.getSecondaryUploadDate())){
Date javaDate = new Date((long) ((Double.valueOf(excelInfo.getSecondaryUploadDate()) - 25569) * 86400 * 1000));
secondaryUploadDate = DateUtil.formatDate(javaDate);
}else {
secondaryUploadDate = excelInfo.getSecondaryUploadDate();
}
String[] split = secondaryUploadDate.split("-");
if (split.length != 3) {
checkWord.add("车架号" + excelInfo.getVinNo() + "导入的二次上传日期填写不正确,格式yyyy-MM-dd");
@ -1631,10 +1654,6 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
break;
}
}
if (StringUtils.isBlank(excelInfo.getAdjustmentRemarks())) {
checkWord.add("调整说明不能为空");
break;
}
}
}
StringBuffer sbcheck1 = new StringBuffer();

6
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java

@ -309,12 +309,6 @@ public class ScmVehrebateCheckapplyService extends MybatisBaseService<ScmVehreba
scmLastVehrebateCheckapplydetailDetailsVo.setStayDetermineMoney(scmLastVehrebateCheckapplydetailDetailsVo.getStayDetermineMoney().substring(0, scmLastVehrebateCheckapplydetailDetailsVo.getStayDetermineMoney().lastIndexOf(".")));
scmLastVehrebateCheckapplydetailDetailsVo.setAdjustmentMoney(scmLastVehrebateCheckapplydetailDetailsVo.getAdjustmentMoney().substring(0, scmLastVehrebateCheckapplydetailDetailsVo.getAdjustmentMoney().lastIndexOf(".")));
scmLastVehrebateCheckapplydetailDetailsVo.setMoney(scmLastVehrebateCheckapplydetailDetailsVo.getMoney().substring(0, scmLastVehrebateCheckapplydetailDetailsVo.getMoney().lastIndexOf(".")));
String withholdingDate = scmLastVehrebateCheckapplydetailDetailsVo.getWithholdingDate();
Date parse = DateUtil.parse(withholdingDate);
int year = DateUtil.year(parse);
int month = DateUtil.month(parse) + 1;
String withholdingDateCopy = year + "年" + month + "月";
scmLastVehrebateCheckapplydetailDetailsVo.setWithholdingDateCopy(withholdingDateCopy);
}
}
scmVehrebateCheckapplyDetailsVo.setScmLastVehrebateCheckapplydetailDetails(scmLastVehrebateCheckapplydetailDetailsVos);

13
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyService.java

@ -166,14 +166,6 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService<ScmVehRebat
qw.orderByDesc("svrwa.createTime");
IPage<ScmVehRebateWithApply> page = PagerUtil.queryToPage(pq);
IPage<ScmVehRebateWithApplyVo> pagging = baseMapper.selectPageVo(page, qw);
for (ScmVehRebateWithApplyVo record : pagging.getRecords()) {
String withRebateTotal = record.getWithRebateTotal();
if (StringUtils.isBlank(withRebateTotal)) {
withRebateTotal = "0.0";
}
withRebateTotal = withRebateTotal.substring(0, withRebateTotal.lastIndexOf("."));
record.setWithRebateTotal(withRebateTotal);
}
PagerVo<ScmVehRebateWithApplyVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
@ -265,9 +257,6 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService<ScmVehRebat
for (ScmVehRebateWithDetailsVo scmVehRebateWithDetailsVo : scmVehRebateWithDetailsVos) {
String[] vehRebateSids = scmVehRebateWithDetailsVo.getVehRebateSid().split(",");
scmVehRebateWithDetailsVo.setVehRebateSids(Arrays.asList(vehRebateSids));
String withRebate = scmVehRebateWithDetailsVo.getWithRebate();
withRebate = withRebate.substring(0, withRebate.lastIndexOf("."));
scmVehRebateWithDetailsVo.setWithRebate(withRebate);
}
scmVehRebateWithApplyDetailsVo.setScmVehRebateWiths(scmVehRebateWithDetailsVos);
return rb.success().setData(scmVehRebateWithApplyDetailsVo);
@ -325,7 +314,6 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService<ScmVehRebat
for (ScmVehRebateWithDto scmVehRebateWith : scmVehRebateWiths) {
List<String> vehRebateSids = scmVehRebateWith.getVehRebateSids();
for (String vehRebateSid : vehRebateSids) {
scmVehRebateService.updateWithholdingDateBySid(vehRebateSid);
scmVehRebateService.updateState(vehRebateSid, 1);
}
}
@ -394,6 +382,7 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService<ScmVehRebat
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
for (String vehRebateSid : vehRebateSids) {
scmVehRebateService.updateState(vehRebateSid, 2);
scmVehRebateService.updateWithholdingDateBySid(vehRebateSid,scmVehRebateWithApply.getWithApply());
}
}
return rb.success().setData(resultBean.getData());

84
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/bwdiffapply/AppBwdiffapplyDetailDetailsVo.java

@ -0,0 +1,84 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.api.as.bwdiffapply;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Data
@ApiModel(value = "保外应收调差工单列表 视图数据详情", description = "保外应收调差工单列表 视图数据详情")
public class AppBwdiffapplyDetailDetailsVo implements Vo {
@ApiModelProperty("维修工单号")
private String sourceBillNo;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("车架号")
private String vinNo;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("结算日期")
private Date settleTime;
@ApiModelProperty("工时费")
private BigDecimal hourAmount;
@ApiModelProperty("材料费")
private BigDecimal goodsAmount;
@ApiModelProperty("外出费")
private BigDecimal outAmount;
@ApiModelProperty("施救费")
private BigDecimal rescueAmount;
@ApiModelProperty("其他费用")
private BigDecimal otherAmount;
@ApiModelProperty("费用合计")
private BigDecimal totalAmount;
@ApiModelProperty("调整工时费")
private BigDecimal diffHourAmount;
@ApiModelProperty("调整材料费")
private BigDecimal diffGoodsAmount;
@ApiModelProperty("调整外出费")
private BigDecimal diffOutAomunt;
@ApiModelProperty("调整施救费")
private BigDecimal diffRescueAmount;
@ApiModelProperty("调整其他费用")
private BigDecimal diffOtherAmount;
@ApiModelProperty("调整费用合计")
private BigDecimal diffTotalAmount;
@ApiModelProperty("调整说明")
private BigDecimal adjustmentRemarks;
@ApiModelProperty("附件")
private List<String> files = new ArrayList<>();
@ApiModelProperty("附件")
private List<AppBwdiffapplyDetailFile> fileList = new ArrayList<>();
}

37
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/bwdiffapply/AppBwdiffapplyDetailFile.java

@ -0,0 +1,37 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.api.as.bwdiffapply;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@Data
@ApiModel(value = "保外工单开票申请 视图数据对象", description = "保外工单开票申请 视图数据对象")
public class AppBwdiffapplyDetailFile implements Vo {
private String url;
}

61
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/bwdiffapply/AppBwdiffapplyDetailsVo.java

@ -0,0 +1,61 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.api.as.bwdiffapply;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Data
@ApiModel(value = "保外工单应收调差申请 视图数据详情", description = "保外工单应收调差申请 视图数据详情")
public class AppBwdiffapplyDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("申请人")
private String createByName;
@ApiModelProperty("申请部门名称")
private String deptName;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("申请日期")
private Date createTime;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("附件")
private List<String> files = new ArrayList<>();
@ApiModelProperty("实例id")
private String procInsId;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("工单列表")
private List<AppBwdiffapplyDetailDetailsVo> asBwdiffapplyDetailList = new ArrayList<>();
}

64
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/bwdiffapply/AppBwdiffapplyFeign.java

@ -0,0 +1,64 @@
package com.yxt.anrui.terminal.api.as.bwdiffapply;
import com.yxt.anrui.terminal.api.as.bwdiffapply.flowable.AppDelegateQuery;
import com.yxt.anrui.terminal.api.as.bwdiffapply.flowable.AppFlowDto;
import com.yxt.anrui.terminal.api.as.bwdiffapply.flowable.AppFlowQuery;
import com.yxt.anrui.terminal.api.as.bwdiffapply.flowable.AppFlowTaskQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
/**
* @Author
* @Date
* @Description
*/
@FeignClient(
contextId = "terminal-AppBwdiffapply",
name = "anrui-terminal",
path = "v1/bwdiffapply")
public interface AppBwdiffapplyFeign {
@ApiOperation("详情")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<AppBwdiffapplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
/**********************************************流程********************************************/
@ApiOperation("办理")
@PutMapping("/agreeCreditInfo")
@ResponseBody
ResultBean agreeCreditInfo(@RequestBody AppFlowDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectCreditInfo")
@ResponseBody
ResultBean rejectCreditInfo(@RequestBody AppFlowTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallCreditInfo")
@ResponseBody
ResultBean recallCreditInfo(@RequestBody AppFlowTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopCreditInfo")
@ResponseBody
ResultBean stopCreditInfo(@RequestBody AppFlowTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap AppFlowQuery query);
@ApiOperation(value = "加签")
@PutMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody AppDelegateQuery delegateQuery);
@ApiOperation(value = "转办")
@PutMapping(value = "/assignTask")
@ResponseBody
public ResultBean assignTask(@RequestBody AppDelegateQuery delegateQuery);
}

25
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/bwdiffapply/flowable/AppDelegateQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.terminal.api.as.bwdiffapply.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/28 10:16
*/
@Data
public class AppDelegateQuery {
@ApiModelProperty
private String userSid;
@ApiModelProperty("流程实例id")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("审批人sid")
private String assignee;
@ApiModelProperty("填写意见")
private String views;
}

37
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/bwdiffapply/flowable/AppFlowDto.java

@ -0,0 +1,37 @@
package com.yxt.anrui.terminal.api.as.bwdiffapply.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/8/9 14:09
* @Description
*/
@Data
public class AppFlowDto implements Dto {
private static final long serialVersionUID = 3626473483180150495L;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:procInsId")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
}

28
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/bwdiffapply/flowable/AppFlowQuery.java

@ -0,0 +1,28 @@
package com.yxt.anrui.terminal.api.as.bwdiffapply.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @Author dimengzhe
* @Date 2022/8/9 14:15
* @Description
*/
@Data
public class AppFlowQuery implements Query {
private static final long serialVersionUID = 5514095179438249641L;
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
@ApiModelProperty("组织机构全路径")
private String orgPath;
}

47
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/bwdiffapply/flowable/AppFlowTaskQuery.java

@ -0,0 +1,47 @@
package com.yxt.anrui.terminal.api.as.bwdiffapply.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/8/9 14:11
* @Description
*/
@Data
public class AppFlowTaskQuery implements Query {
private static final long serialVersionUID = -7082170710942810289L;
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
@JsonProperty("procInsId")
private String instanceId;
}

2
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/oldparthandleapply/AppOldparthandleApplyRest.java → anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/bwdiffapply/AppOldparthandleApplyRest.java

@ -23,7 +23,7 @@
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.as.oldparthandleapply;
package com.yxt.anrui.terminal.biz.as.bwdiffapply;
import com.yxt.anrui.terminal.api.as.oldparthandleapply.AppOldparthandleApplyDetailsVo;
import com.yxt.anrui.terminal.api.as.oldparthandleapply.AppOldparthandleApplyFeign;

7
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/oldparthandleapply/AppOldparthandleApplyService.java → anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/bwdiffapply/AppOldparthandleApplyService.java

@ -23,7 +23,7 @@
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.as.oldparthandleapply;
package com.yxt.anrui.terminal.biz.as.bwdiffapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
@ -32,7 +32,10 @@ import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.terminal.api.as.oldparthandleapply.AppOldparthandleApplyDetailsVo;
import com.yxt.anrui.terminal.api.as.oldparthandleapply.AppOldparthandleDetailsVo;
import com.yxt.anrui.terminal.api.as.oldparthandleapply.flowable.*;
import com.yxt.anrui.terminal.api.as.oldparthandleapply.flowable.AppDelegateQuery;
import com.yxt.anrui.terminal.api.as.oldparthandleapply.flowable.AppFlowDto;
import com.yxt.anrui.terminal.api.as.oldparthandleapply.flowable.AppFlowQuery;
import com.yxt.anrui.terminal.api.as.oldparthandleapply.flowable.AppFlowTaskQuery;
import com.yxt.anrui.terminal.fegin.asoldparthandleapply.AsOldparthandleApplyDetailsVo;
import com.yxt.anrui.terminal.fegin.asoldparthandleapply.AsOldparthandleApplyFegin;
import com.yxt.anrui.terminal.fegin.asoldparthandleapply.flowable.*;

82
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/oldparthandleapply/AppBwdiffapplyRest.java

@ -0,0 +1,82 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.as.oldparthandleapply;
import com.yxt.anrui.terminal.api.as.bwdiffapply.AppBwdiffapplyDetailsVo;
import com.yxt.anrui.terminal.api.as.bwdiffapply.AppBwdiffapplyFeign;
import com.yxt.anrui.terminal.api.as.bwdiffapply.flowable.*;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("v1/bwdiffapply")
public class AppBwdiffapplyRest implements AppBwdiffapplyFeign {
@Autowired
private AppBwdiffapplyService appBwdiffapplyService;
@Override
public ResultBean<AppBwdiffapplyDetailsVo> fetchDetailsBySid(String sid) {
return appBwdiffapplyService.fetchDetailsBySid(sid);
}
@Override
public ResultBean agreeCreditInfo(AppFlowDto dto) {
return appBwdiffapplyService.agreeCreditInfo(dto);
}
@Override
public ResultBean rejectCreditInfo(AppFlowTaskQuery query) {
return appBwdiffapplyService.rejectCreditInfo(query);
}
@Override
public ResultBean recallCreditInfo(AppFlowTaskQuery query) {
return appBwdiffapplyService.recallCreditInfo(query);
}
@Override
public ResultBean stopCreditInfo(AppFlowTaskQuery query) {
return appBwdiffapplyService.stopCreditInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(AppFlowQuery query) {
return appBwdiffapplyService.getFlowOperateTitle(query);
}
@Override
public ResultBean delegate(AppDelegateQuery delegateQuery) {
return appBwdiffapplyService.delegate(delegateQuery);
}
@Override
public ResultBean assignTask(AppDelegateQuery delegateQuery) {
return appBwdiffapplyService.assignTask(delegateQuery);
}
}

185
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/oldparthandleapply/AppBwdiffapplyService.java

@ -0,0 +1,185 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.as.oldparthandleapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.terminal.api.as.bwdiffapply.AppBwdiffapplyDetailDetailsVo;
import com.yxt.anrui.terminal.api.as.bwdiffapply.AppBwdiffapplyDetailFile;
import com.yxt.anrui.terminal.api.as.bwdiffapply.AppBwdiffapplyDetailsVo;
import com.yxt.anrui.terminal.api.as.bwdiffapply.flowable.*;
import com.yxt.anrui.terminal.fegin.asbwdiffapply.*;
import com.yxt.anrui.terminal.fegin.asbwdiffapply.flowable.*;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@Service
public class AppBwdiffapplyService {
@Resource
private AsBwdiffapplyFegin asBwdiffapplyFegin;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysUserFeign sysUserFeign;
public ResultBean<AppBwdiffapplyDetailsVo> fetchDetailsBySid(String sid) {
ResultBean rb = ResultBean.fireFail();
AsBwdiffapplyDetailsVo data = asBwdiffapplyFegin.fetchDetailsBySid(sid).getData();
AppBwdiffapplyDetailsVo appBwdiffapplyDetailsVo = new AppBwdiffapplyDetailsVo();
BeanUtil.copyProperties(data,appBwdiffapplyDetailsVo);
appBwdiffapplyDetailsVo.setProcInsId(data.getProcInstId());
List<AsBwdiffapplyFile> fileList = data.getFileList();
ArrayList<String> files = new ArrayList<>();
for (AsBwdiffapplyFile asBwdiffapplyFile : fileList) {
files.add(asBwdiffapplyFile.getUrl());
}
appBwdiffapplyDetailsVo.setFiles(files);
List<AppBwdiffapplyDetailDetailsVo> asBwdiffapplyDetailList = appBwdiffapplyDetailsVo.getAsBwdiffapplyDetailList();
for (AppBwdiffapplyDetailDetailsVo appBwdiffapplyDetailDetailsVo : asBwdiffapplyDetailList) {
List<AppBwdiffapplyDetailFile> fileList1 = appBwdiffapplyDetailDetailsVo.getFileList();
ArrayList<String> files1 = new ArrayList<>();
for (AppBwdiffapplyDetailFile appBwdiffapplyDetailFile : fileList1) {
files1.add(appBwdiffapplyDetailFile.getUrl());
}
appBwdiffapplyDetailDetailsVo.setFiles(files1);
}
return rb.success().setData(appBwdiffapplyDetailsVo);
}
public ResultBean agreeCreditInfo(AppFlowDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
CompleteBwdiffApplyDto completeBwdiffApplyDto = new CompleteBwdiffApplyDto();
BeanUtil.copyProperties(dto, completeBwdiffApplyDto);
completeBwdiffApplyDto.setOrgSidPath(orgSidPath);
ResultBean resultBean = asBwdiffapplyFegin.complete(completeBwdiffApplyDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectCreditInfo(AppFlowTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BwdiffApplyTaskQuery bwdiffApplyTaskQuery = new BwdiffApplyTaskQuery();
BeanUtil.copyProperties(query, bwdiffApplyTaskQuery);
ResultBean resultBean = asBwdiffapplyFegin.taskReject(bwdiffApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallCreditInfo(AppFlowTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BwdiffApplyTaskQuery bwdiffApplyTaskQuery = new BwdiffApplyTaskQuery();
BeanUtil.copyProperties(query, bwdiffApplyTaskQuery);
ResultBean resultBean = asBwdiffapplyFegin.revokeProcess(bwdiffApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopCreditInfo(AppFlowTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BwdiffApplyTaskQuery bwdiffApplyTaskQuery = new BwdiffApplyTaskQuery();
BeanUtil.copyProperties(query, bwdiffApplyTaskQuery);
ResultBean resultBean = asBwdiffapplyFegin.breakProcess(bwdiffApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(AppFlowQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
BwdiffApplyNodeQuery getNodeQuery = new BwdiffApplyNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<BwdiffApplyNodeVo>> getPreviousNodesForReject = asBwdiffapplyFegin.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<BwdiffApplyNodeVo>> getNextNodesForSubmit = asBwdiffapplyFegin.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
public ResultBean delegate(AppDelegateQuery delegateQuery) {
ResultBean rb = ResultBean.fireFail();
BwdiffApplyDelegateQuery delegateQuery1 = new
BwdiffApplyDelegateQuery();
BeanUtil.copyProperties(delegateQuery, delegateQuery1);
asBwdiffapplyFegin.delegate(delegateQuery1);
return rb.success();
}
public ResultBean assignTask(AppDelegateQuery delegateQuery) {
ResultBean rb = ResultBean.fireFail();
BwdiffApplyDelegateQuery delegateQuery1 = new
BwdiffApplyDelegateQuery();
BeanUtil.copyProperties(delegateQuery, delegateQuery1);
asBwdiffapplyFegin.assignTask(delegateQuery1);
return rb.success();
}
}

90
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/AsBwdiffapplyDetailDetailsVo.java

@ -0,0 +1,90 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.fegin.asbwdiffapply;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Data
@ApiModel(value = "保外应收调差工单列表 视图数据详情", description = "保外应收调差工单列表 视图数据详情")
public class AsBwdiffapplyDetailDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("业务sid")
private String mainSid; // 业务sid
@ApiModelProperty("维修工单sid")
private String sourceBillSid; // 维修工单sid
@ApiModelProperty("维修工单号")
private String sourceBillNo; // 维修工单号
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("车牌号")
private String vehMark; // 车牌号
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("结算日期")
private Date settleTime; // 结算日期
@ApiModelProperty("工时费")
private BigDecimal hourAmount; // 工时费
@ApiModelProperty("材料费")
private BigDecimal goodsAmount; // 材料费
@ApiModelProperty("外出费")
private BigDecimal outAmount; // 外出费
@ApiModelProperty("施救费")
private BigDecimal rescueAmount; // 施救费
@ApiModelProperty("其他费用")
private BigDecimal otherAmount; // 其他费用
@ApiModelProperty("费用合计")
private BigDecimal totalAmount; // 费用合计
@ApiModelProperty("调整工时费")
private BigDecimal diffHourAmount; // 调整工时费
@ApiModelProperty("调整材料费")
private BigDecimal diffGoodsAmount; // 调整材料费
@ApiModelProperty("调整外出费")
private BigDecimal diffOutAomunt; // 调整外出费
@ApiModelProperty("调整施救费")
private BigDecimal diffRescueAmount; // 调整施救费
@ApiModelProperty("调整其他费用")
private BigDecimal diffOtherAmount; // 调整其他费用
@ApiModelProperty("调整费用合计")
private BigDecimal diffTotalAmount; // 调整费用合计
@ApiModelProperty("附件")
private List<AsBwdiffapplyDetailFile> fileList = new ArrayList<>();
}

37
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/AsBwdiffapplyDetailFile.java

@ -0,0 +1,37 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.fegin.asbwdiffapply;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@Data
@ApiModel(value = "保外工单开票申请 视图数据对象", description = "保外工单开票申请 视图数据对象")
public class AsBwdiffapplyDetailFile implements Vo {
private String url;
}

80
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/AsBwdiffapplyDetailsVo.java

@ -0,0 +1,80 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.fegin.asbwdiffapply;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Data
@ApiModel(value = "保外工单应收调差申请 视图数据详情", description = "保外工单应收调差申请 视图数据详情")
public class AsBwdiffapplyDetailsVo implements Vo {
private String sid; // sid
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("申请日期")
private Date createTime;
@ApiModelProperty("单据编号")
private String billNo; // 单据编号
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("申请人sid")
private String createBySid;
@ApiModelProperty("申请人")
private String createByName; // 申请人
@ApiModelProperty("申请部门sid")
private String deptSid; // 申请部门sid
@ApiModelProperty("申请部门名称")
private String deptName; // 申请部门名称
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("办结日期")
private Date finishTime; // 办结日期
@ApiModelProperty("实例id")
private String procInstId; // 实例id
@ApiModelProperty("流程定义id")
private String procDefId; // 流程定义id
@ApiModelProperty("任务id")
private String taskId; // 任务id
@ApiModelProperty("环节id")
private String nodeId; // 环节id
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("附件")
private List<AsBwdiffapplyFile> fileList = new ArrayList<>();
@ApiModelProperty("工单列表")
private List<AsBwdiffapplyDetailDetailsVo> asBwdiffapplyDetailList = new ArrayList<>();
}

59
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/AsBwdiffapplyFegin.java

@ -0,0 +1,59 @@
package com.yxt.anrui.terminal.fegin.asbwdiffapply;
import com.yxt.anrui.terminal.fegin.asbwdiffapply.flowable.*;
import com.yxt.anrui.terminal.fegin.asoldparthandleapply.AsOldparthandleApplyDetailsVo;
import com.yxt.anrui.terminal.fegin.asoldparthandleapply.flowable.*;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
@FeignClient(
contextId = "yxt-as-AsBwdiffapply",
name = "yxt-as",
path = "v1/asoldparthandleapply"
)
public interface AsBwdiffapplyFegin {
@ApiOperation("详情")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<AsBwdiffapplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody CompleteBwdiffApplyDto query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<BwdiffApplyNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap BwdiffApplyNodeQuery query);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<BwdiffApplyNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap BwdiffApplyNodeQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean taskReject(@Valid @RequestBody BwdiffApplyTaskQuery query);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@Valid @RequestBody BwdiffApplyTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody BwdiffApplyTaskQuery query);
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody BwdiffApplyDelegateQuery query);
@ApiOperation(value = "转办")
@PutMapping(value = "/assignTask")
@ResponseBody
public ResultBean assignTask(@RequestBody BwdiffApplyDelegateQuery query);
}

37
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/AsBwdiffapplyFile.java

@ -0,0 +1,37 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.fegin.asbwdiffapply;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@Data
@ApiModel(value = "保外工单开票申请 视图数据对象", description = "保外工单开票申请 视图数据对象")
public class AsBwdiffapplyFile implements Vo {
private String url;
}

23
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/flowable/BwdiffApplyDelegateQuery.java

@ -0,0 +1,23 @@
package com.yxt.anrui.terminal.fegin.asbwdiffapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class BwdiffApplyDelegateQuery {
private String userSid;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("审批人sid")
private String assignee;
@ApiModelProperty("填写意见")
private String views;
}

18
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/flowable/BwdiffApplyNodeQuery.java

@ -0,0 +1,18 @@
package com.yxt.anrui.terminal.fegin.asbwdiffapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class BwdiffApplyNodeQuery {
@ApiModelProperty(value = "环节定义id")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
}

24
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/flowable/BwdiffApplyNodeVo.java

@ -0,0 +1,24 @@
package com.yxt.anrui.terminal.fegin.asbwdiffapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class BwdiffApplyNodeVo {
@ApiModelProperty(value = "节点名称")
private String name;
@ApiModelProperty(value = "节点id")
private String id;
@ApiModelProperty(value = "审批组")
private List<String> candidateGroups;
@ApiModelProperty(value = "是否是最后环节")
private String endTask;
}

43
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/flowable/BwdiffApplyTaskQuery.java

@ -0,0 +1,43 @@
package com.yxt.anrui.terminal.fegin.asbwdiffapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class BwdiffApplyTaskQuery {
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
private String instanceId;
}

35
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbwdiffapply/flowable/CompleteBwdiffApplyDto.java

@ -0,0 +1,35 @@
package com.yxt.anrui.terminal.fegin.asbwdiffapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class CompleteBwdiffApplyDto {
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "用户全路径sid")
private String orgSidPath;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:instanceId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
}
Loading…
Cancel
Save