Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yunuo970428 8 months ago
parent
commit
b4f75cf2cf
  1. 6
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelInfo.java
  2. 8
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelVo.java
  3. 4
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeign.java
  4. 4
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeignFallback.java
  5. 33
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateSpecialAdjDto.java
  6. 3
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateVo.java
  7. 26
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelInfo.java
  8. 38
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelVo.java
  9. 40
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java
  10. 48
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml
  11. 8
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateRest.java
  12. 491
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java
  13. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewithapply/ScmSpecialRebateWithApplyService.java
  14. 6
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java
  15. 4
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml
  16. 11
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java

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

@ -43,4 +43,10 @@ public class OneExcelInfo {
private String onceSuppRemark;
//调整说明
private String adjustmentRemarks;
//是否调整
private String isAdjustment;
//调整金额
private String adjustmentMoney;
//差异金额
private String diffAmount;
}

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

@ -44,16 +44,16 @@ public class OneExcelVo {
@ExportEntityMap(CnName = "待确定金额", EnName = "stayDetermineMoney")
private String stayDetermineMoney;
@ExportEntityMap(CnName = "一次支出费用", EnName = "onceItureCost")
@ExportEntityMap(CnName = "其中支出费用", EnName = "onceItureCost")
private String onceItureCost;
@ExportEntityMap(CnName = "一次待支付费用", EnName = "onceTreatCost")
@ExportEntityMap(CnName = "其中待支付费用", EnName = "onceTreatCost")
private String onceTreatCost;
@ExportEntityMap(CnName = "一次抵顶费用", EnName = "onceSuppCost")
@ExportEntityMap(CnName = "其中抵顶费用", EnName = "onceSuppCost")
private String onceSuppCost;
@ExportEntityMap(CnName = "一次抵顶费用说明", EnName = "onceSuppRemark")
@ExportEntityMap(CnName = "抵顶费用说明", EnName = "onceSuppRemark")
private String onceSuppRemark;
@ExportEntityMap(CnName = "调整说明", EnName = "adjustmentRemarks")

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

@ -98,7 +98,7 @@ public interface ScmSpecialRebateFeign {
@ApiOperation(value = "一次导入")
@PostMapping("/getExcelOneInfo")
@ResponseBody
public ResultBean getExcelOneInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request, @RequestParam("userSid") String userSid) throws IOException, ParseException;
public ResultBean getExcelOneInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request, @RequestParam("userSid") String userSid,@RequestParam("orgPath") String orgPath) throws IOException, ParseException;
@ApiOperation("二次导出")
@PostMapping("/excelListTwo")
@ -107,6 +107,6 @@ public interface ScmSpecialRebateFeign {
@ApiOperation(value = "二次导入")
@PostMapping("/getExcelTwoInfo")
@ResponseBody
public ResultBean getExcelTwoInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request,@RequestParam("userSid") String userSid) throws IOException, ParseException;
public ResultBean getExcelTwoInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request,@RequestParam("userSid") String userSid,@RequestParam("orgPath") String orgPath) throws IOException, ParseException;
}

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

@ -104,7 +104,7 @@ public class ScmSpecialRebateFeignFallback implements ScmSpecialRebateFeign {
}
@Override
public ResultBean getExcelOneInfo(MultipartFile file, HttpServletRequest request, String userSid) throws IOException, ParseException {
public ResultBean getExcelOneInfo(MultipartFile file, HttpServletRequest request, String userSid, String orgPath) throws IOException, ParseException {
return null;
}
@ -114,7 +114,7 @@ public class ScmSpecialRebateFeignFallback implements ScmSpecialRebateFeign {
}
@Override
public ResultBean getExcelTwoInfo(MultipartFile file, HttpServletRequest request, String userSid) throws IOException, ParseException {
public ResultBean getExcelTwoInfo(MultipartFile file, HttpServletRequest request, String userSid, String orgPath) throws IOException, ParseException {
return null;
}
}

33
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateSpecialAdjDto.java

@ -31,20 +31,39 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
@ApiModel(value = "专项返利表 数据传输对象", description = "专项返利表 数据传输对象")
public class ScmSpecialRebateSpecialAdjDto implements Dto {
private String sid; // sid
@ApiModelProperty("二次上传日期")
@ApiModelProperty("一次支出费用")
private BigDecimal onceItureCost;
@ApiModelProperty("一次待支付费用")
private BigDecimal onceTreatCost;
@ApiModelProperty("一次抵顶费用")
private BigDecimal onceSuppCost;
@ApiModelProperty("一次抵顶费用说明")
private String onceSuppRemark;
@ApiModelProperty("二次支出费用")
private BigDecimal secondItureCost;
@ApiModelProperty("二次待支付费用")
private BigDecimal secondTreatCost;
@ApiModelProperty("二次抵顶费用")
private BigDecimal secondSuppCost;
@ApiModelProperty("二次抵顶费用说明")
private String secondSuppRemark;
@ApiModelProperty("二次上传日期")
private String secondaryUploadDate; // 二次上传日期
@ApiModelProperty("二次上传金额")
@ApiModelProperty("二次上传金额")
private String secondaryUploadMoney; // 二次上传金额
@ApiModelProperty("待确定金额")
private String stayDetermineMoney; // 待确定金额
@ApiModelProperty("费用")
private String cost; // 费用
@ApiModelProperty("调整金额")
@ApiModelProperty("待确定金额(动态)")
private String stayDetermineMoney;
@ApiModelProperty("调整金额")
private String adjustmentMoney; // 调整金额
@ApiModelProperty("调整说明")
private String adjustmentRemarks;
}

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

@ -88,6 +88,7 @@ public class ScmSpecialRebateVo implements Vo {
private String adjustmentMoney;
@ApiModelProperty("调整说明")
private String adjustmentRemarks;
@ApiModelProperty("待确定金额(动态)")
private String stayDetermineMoney;
@ApiModelProperty("其中预计费用")
@ -107,6 +108,8 @@ public class ScmSpecialRebateVo implements Vo {
@ApiModelProperty("预计抵顶费用说明")
private String expectSuppRemark;
@ApiModelProperty("一次核对状态")
private Integer onceCheckState;
@ApiModelProperty("一次支出费用")
private BigDecimal onceItureCost;
@ApiModelProperty("一次待支付费用")

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

@ -10,6 +10,10 @@ import lombok.Data;
@Data
public class TwoExcelInfo {
//采购系统
private String purchaseSystemName;
//品牌名称
private String brandName;
//创建日期
private String createTime;
//返利名称
@ -18,18 +22,36 @@ public class TwoExcelInfo {
private String rebateTypeValue;
//预提返利
private String estimateRebate;
//其中预提费用
private String expectCost;
//所属年月
private String palceGenDate;
//上传日期
private String uploadDate;
//上传金额
private String uploadMoney;
//其中费用
private String money;
//待确定金额
private String stayDetermineMoney;
//二次上传日期
private String secondaryUploadDate;
//二次上传金额
private String secondaryUploadMoney;
//费用
private String money;
//其中支出费用
private String secondItureCost;
//其中待支付费用
private String secondTreatCost;
//其中抵顶费用
private String secondSuppCost;
//抵顶费用说明
private String secondSuppRemark;
//调整说明
private String adjustmentRemarks;
//是否调整
private String isAdjustment;
//调整金额
private String adjustmentMoney;
//差异金额
private String diffAmount;
}

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

@ -11,46 +11,60 @@ import lombok.Data;
@Data
public class TwoExcelVo {
@ExportEntityMap(CnName = "采购系统", EnName = "purchaseSystemName")
private String purchaseSystemName;
@ExportEntityMap(CnName = "品牌名称", EnName = "brandName")
private String brandName;
@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 = "expectCost")
private String expectCost;
@ExportEntityMap(CnName = "所属年月", EnName = "palceGenDate")
private String palceGenDate;
@ExportEntityMap(CnName = "上传日期", EnName = "uploadDate")
private String uploadDate;
//上传金额
@ExportEntityMap(CnName = "上传金额", EnName = "uploadMoney")
private String uploadMoney;
//待确定金额
@ExportEntityMap(CnName = "其中费用", EnName = "money")
private String money;
@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 = "secondItureCost")
private String secondItureCost;
@ExportEntityMap(CnName = "其中待支付费用", EnName = "secondTreatCost")
private String secondTreatCost;
@ExportEntityMap(CnName = "其中抵顶费用", EnName = "secondSuppCost")
private String secondSuppCost;
@ExportEntityMap(CnName = "抵顶费用说明", EnName = "secondSuppRemark")
private String secondSuppRemark;
//调整说明
@ExportEntityMap(CnName = "调整说明", EnName = "adjustmentRemarks")
private String adjustmentRemarks;
}

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

@ -54,33 +54,33 @@ import java.util.List;
@Mapper
public interface ScmSpecialRebateMapper extends BaseMapper<ScmSpecialRebate> {
//@Update("update scm_special_rebate set name=#{msg} where id=#{id}")
//IPage<ScmSpecialRebateVo> voPage(IPage<ScmSpecialRebate> page, @Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
IPage<ScmSpecialRebateVo> selectPageVo(IPage<ScmSpecialRebate> page, @Param(Constants.WRAPPER) Wrapper<ScmSpecialRebate> qw);
List<ScmSpecialRebateVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<ScmSpecialRebate> qw);
@Select("select * from scm_special_rebate")
List<ScmSpecialRebateVo> selectListVo();
//@Update("update scm_special_rebate set name=#{msg} where id=#{id}")
//IPage<ScmSpecialRebateVo> voPage(IPage<ScmSpecialRebate> page, @Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
@Update("update scm_special_rebate set state = #{state} where sid = #{specialRebateSid}")
void updateState(@Param("specialRebateSid") String specialRebateSid,@Param("state") Integer state);
IPage<ScmSpecialRebateVo> selectPageVo(IPage<ScmSpecialRebate> page, @Param(Constants.WRAPPER) Wrapper<ScmSpecialRebate> qw);
@Update("update scm_special_rebate set withholdingDate = CURRENT_TIMESTAMP where sid = #{sid}")
void updateWithholdingDateBySid(String sid);
List<ScmSpecialRebateVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<ScmSpecialRebate> qw);
IPage<ScmStayDisRebateVo> stayDisRebate(IPage<ScmSpecialRebate> page,@Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
@Select("select * from scm_special_rebate")
List<ScmSpecialRebateVo> selectListVo();
ScmSpecialRebateVo selectExcelInfo(@Param("createTime") String createTime,@Param("rebateName") String rebateName,@Param("rebateTypeValue") String rebateTypeValue,@Param("estimateRebate") String estimateRebate);
@Update("update scm_special_rebate set state = #{state} where sid = #{specialRebateSid}")
void updateState(@Param("specialRebateSid") String specialRebateSid, @Param("state") Integer state);
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);
@Update("update scm_special_rebate set withholdingDate = #{withApply} where sid = #{sid}")
void updateWithholdingDateBySid(@Param("sid") String sid, @Param("withApply") String withApply);
void updateTwoExcelInfo(@Param("secondaryUploadDate") String secondaryUploadDate,@Param("secondaryUploadMoney") String secondaryUploadMoney,@Param("money") String money,@Param("adjustmentRemarks") String adjustmentRemarks,@Param("sid") String sid);
IPage<ScmStayDisRebateVo> stayDisRebate(IPage<ScmSpecialRebate> page, @Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
List<OneExcelVo> excelListOne(@Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
ScmSpecialRebateVo selectExcelInfo(@Param("createOrgSid") String createOrgSid, @Param("rebateTypeValue") String rebateTypeValue, @Param("rebateName") String rebateName, @Param("estimateRebate") String estimateRebate, @Param("palceGenDate") String palceGenDate, @Param("purchaseSystemName") String purchaseSystemName, @Param("brandName") String brandName);
List<TwoExcelVo> excelListTwo(@Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
void updateOneExcelInfo(@Param("uploadDate") String uploadDate, @Param("uploadMoney") String uploadMoney, @Param("stayDetermineMoney") String stayDetermineMoney, @Param("onceItureCost") String onceItureCost, @Param("onceTreatCost") String onceTreatCost, @Param("onceSuppCost") String onceSuppCost, @Param("onceSuppRemark") String onceSuppRemark, @Param("adjustmentRemarks") String adjustmentRemarks, @Param("isAdjustment") String isAdjustment, @Param("adjustmentMoney") String adjustmentMoney, @Param("diffAmount") String diffAmount, @Param("sid") String sid);
int checkSave(@Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
void updateTwoExcelInfo(@Param("secondaryUploadDate") String secondaryUploadDate, @Param("secondaryUploadMoney") String secondaryUploadMoney,@Param("secondItureCost") String secondItureCost, @Param("secondTreatCost") String secondTreatCost, @Param("secondSuppCost") String secondSuppCost, @Param("secondSuppRemark") String secondSuppRemark, @Param("adjustmentRemarks") String adjustmentRemarks, @Param("isAdjustment") String isAdjustment, @Param("adjustmentMoney") String adjustmentMoney, @Param("diffAmount") String diffAmount, @Param("sid") String sid);
List<OneExcelVo> excelListOne(@Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
List<TwoExcelVo> excelListTwo(@Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
int checkSave(@Param(Constants.WRAPPER) QueryWrapper<ScmSpecialRebate> qw);
}

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

@ -42,39 +42,55 @@
</select>
<select id="selectExcelInfo" resultType="com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateVo">
SELECT * FROM scm_special_rebate
WHERE createTime LIKE CONCAT( '%', #{createTime}, '%' )
SELECT *
FROM scm_special_rebate
WHERE createOrgSid = #{createOrgSid}
AND rebateName = #{rebateName}
AND rebateTypeValue = #{rebateTypeValue}
AND estimateRebate = #{estimateRebate}
AND palceGenDate = #{palceGenDate}
AND purchaseSystemName = #{purchaseSystemName}
AND brandName = #{brandName}
</select>
<update id="updateOneExcelInfo">
UPDATE
scm_special_rebate
SET
uploadDate = #{uploadDate},
uploadMoney = #{uploadMoney},
stayDetermineMoney = #{stayDetermineMoney},
money = #{money},
adjustmentRemarks = #{adjustmentRemarks}
SET uploadDate = #{uploadDate},
uploadMoney = #{uploadMoney},
onceItureCost = #{onceItureCost},
onceTreatCost = #{onceTreatCost},
onceSuppCost = #{onceSuppCost},
onceSuppRemark = #{onceSuppRemark},
stayDetermineMoney = #{stayDetermineMoney},
stayDetermineMoneyNew = #{stayDetermineMoney},
adjustmentRemarks = #{adjustmentRemarks},
isAdjustment = #{isAdjustment},
adjustmentMoney = #{adjustmentMoney},
diffAmount = #{diffAmount}
WHERE sid = #{sid}
</update>
<update id="updateTwoExcelInfo">
UPDATE
scm_special_rebate
SET
secondaryUploadDate = #{secondaryUploadDate},
secondaryUploadMoney = #{secondaryUploadMoney},
money = #{money},
adjustmentRemarks = #{adjustmentRemarks}
SET secondaryUploadDate = #{secondaryUploadDate},
secondaryUploadMoney = #{secondaryUploadMoney},
secondItureCost = #{secondItureCost},
secondTreatCost = #{secondTreatCost},
secondSuppCost = #{secondSuppCost},
secondSuppRemark = #{secondSuppRemark},
adjustmentRemarks = #{adjustmentRemarks},
isAdjustment = #{isAdjustment},
adjustmentMoney = #{adjustmentMoney},
diffAmount = #{diffAmount}
WHERE sid = #{sid}
</update>
<select id="excelListOne" resultType="com.yxt.anrui.scm.api.scmspecialrebate.OneExcelVo">
SELECT
*
*,
expectItureCost + expectTreatCost + expectSuppCost AS expectCost
FROM
scm_special_rebate
<where>
@ -84,7 +100,9 @@
<select id="excelListTwo" resultType="com.yxt.anrui.scm.api.scmspecialrebate.TwoExcelVo">
SELECT
*
*,
expectItureCost + expectTreatCost + expectSuppCost AS expectCost,
onceItureCost + onceTreatCost + onceSuppCost AS money
FROM
scm_special_rebate
<where>

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

@ -158,8 +158,8 @@ public class ScmSpecialRebateRest implements ScmSpecialRebateFeign {
}
@Override
public ResultBean getExcelOneInfo(MultipartFile file, HttpServletRequest request, String userSid) throws IOException, ParseException {
return scmSpecialRebateService.getExcelOneInfo(file, request, userSid);
public ResultBean getExcelOneInfo(MultipartFile file, HttpServletRequest request, String userSid, String orgPath) throws IOException, ParseException {
return scmSpecialRebateService.getExcelOneInfo(file, request, userSid, orgPath);
}
@Override
@ -178,7 +178,7 @@ public class ScmSpecialRebateRest implements ScmSpecialRebateFeign {
}
@Override
public ResultBean getExcelTwoInfo(MultipartFile file, HttpServletRequest request, String userSid) throws IOException, ParseException {
return scmSpecialRebateService.getExcelTwoInfo(file, request, userSid);
public ResultBean getExcelTwoInfo(MultipartFile file, HttpServletRequest request, String userSid, String orgPath) throws IOException, ParseException {
return scmSpecialRebateService.getExcelTwoInfo(file, request, userSid, orgPath);
}
}

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

@ -31,6 +31,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sun.org.apache.regexp.internal.RE;
import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.scm.api.scmspecialrebate.*;
@ -74,6 +75,8 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
HttpServletResponse response;
@Autowired
private DictCommonFeign dictCommonFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
public PagerVo<ScmSpecialRebateVo> listPageVo(PagerQuery<ScmSpecialRebateQuery> pq) {
ScmSpecialRebateQuery query = pq.getParams();
@ -152,25 +155,24 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid();
QueryWrapper<ScmSpecialRebate> qw = new QueryWrapper<>();
qw.eq("createOrgSid",dto.getCreateOrgSid());
qw.like("createTime",DateUtil.formatDate(new Date()));
qw.eq("rebateTypeKey",dto.getRebateTypeKey());
qw.eq("rebateName",dto.getRebateName());
qw.eq("estimateRebate",dto.getEstimateRebate());
qw.eq("palceGenDate",dto.getPalceGenDate());
qw.eq("purchaseSystemSid",dto.getPurchaseSystemSid());
qw.eq("brandSid",dto.getBrandSid());
qw.eq("createOrgSid", dto.getCreateOrgSid());
qw.eq("rebateTypeKey", dto.getRebateTypeKey());
qw.eq("rebateName", dto.getRebateName());
qw.eq("estimateRebate", dto.getEstimateRebate());
qw.eq("palceGenDate", dto.getPalceGenDate());
qw.eq("purchaseSystemSid", dto.getPurchaseSystemSid());
qw.eq("brandSid", dto.getBrandSid());
if (StringUtils.isBlank(dtoSid)) {
int i = baseMapper.checkSave(qw);
if (i > 0){
if (i > 0) {
return rb.setMsg("返利信息已存在");
}
this.insertByDto(dto);
return rb.success();
}
qw.ne("sid",dtoSid);
qw.ne("sid", dtoSid);
int i = baseMapper.checkSave(qw);
if (i > 0){
if (i > 0) {
return rb.setMsg("返利信息已存在");
}
this.updateByDto(dto);
@ -388,22 +390,26 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
ScmSpecialRebate scmSpecialRebate = fetchBySid(sid);
ScmSpecialRebateDto scmSpecialRebateDto = new ScmSpecialRebateDto();
BeanUtil.copyProperties(scmSpecialRebate, scmSpecialRebateDto);
scmSpecialRebateDto.setOnceItureCost(dto.getOnceItureCost());
scmSpecialRebateDto.setOnceTreatCost(dto.getOnceTreatCost());
scmSpecialRebateDto.setOnceSuppCost(dto.getOnceSuppCost());
scmSpecialRebateDto.setOnceSuppRemark(dto.getOnceSuppRemark());
scmSpecialRebateDto.setSecondItureCost(dto.getSecondItureCost());
scmSpecialRebateDto.setSecondTreatCost(dto.getSecondTreatCost());
scmSpecialRebateDto.setSecondSuppCost(dto.getSecondSuppCost());
scmSpecialRebateDto.setSecondSuppRemark(dto.getSecondSuppRemark());
scmSpecialRebateDto.setSecondaryUploadDate(dto.getSecondaryUploadDate());
scmSpecialRebateDto.setSecondaryUploadMoney(dto.getSecondaryUploadMoney());
scmSpecialRebateDto.setStayDetermineMoney(dto.getStayDetermineMoney());
int mon = Integer.parseInt(scmSpecialRebateDto.getMoney());
int cost = Integer.parseInt(dto.getCost());
String money = String.valueOf(mon + cost);
scmSpecialRebateDto.setMoney(money);
scmSpecialRebateDto.setStayDetermineMoney("0");
scmSpecialRebateDto.setAdjustmentRemarks(dto.getAdjustmentRemarks());
scmSpecialRebateDto.setAdjustmentMoney(dto.getAdjustmentMoney());
scmSpecialRebateDto.setIsAdjustment("是");
scmSpecialRebateDto.setAdjustmentState(1);
updateBySid(scmSpecialRebateDto, sid);
return rb.success().setMsg("调整成功");
}
public void updateWithholdingDateBySid(String sid) {
baseMapper.updateWithholdingDateBySid(sid);
public void updateWithholdingDateBySid(String sid, String withApply) {
baseMapper.updateWithholdingDateBySid(sid, withApply);
}
public PagerVo<ScmStayDisRebateVo> stayDisRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
@ -488,7 +494,7 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
return p;
}
public ResultBean getExcelOneInfo(MultipartFile file, HttpServletRequest request, String userSid) throws IOException {
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";// 临时目录
File tempFile = new File(temp);
@ -513,22 +519,28 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
wb = new XSSFWorkbook(is);
}
Sheet sheet = wb.getSheetAt(0);
SpecialRebateOneExcelInfo importReturn = getSheetValOne(sheet, resultCell, userSid);
String createOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
SpecialRebateOneExcelInfo importReturn = getSheetValOne(sheet, resultCell, createOrgSid);
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.getOnceItureCost(), info.getAdjustmentRemarks(), scmSpecialRebateVo.getSid());
ScmSpecialRebateVo scmSpecialRebateVo = baseMapper.selectExcelInfo(createOrgSid, info.getRebateTypeValue(), info.getRebateName(), info.getEstimateRebate(), info.getPalceGenDate(), info.getPurchaseSystemName(), info.getBrandName());
String uploadDate = "";
if (isNumber(info.getUploadDate())) {
Date javaDate = new Date((long) ((Double.valueOf(info.getUploadDate()) - 25569) * 86400 * 1000));
uploadDate = DateUtil.formatDate(javaDate);
} else {
uploadDate = info.getUploadDate();
}
baseMapper.updateOneExcelInfo(uploadDate, info.getUploadMoney(), info.getStayDetermineMoney(), info.getOnceItureCost(), info.getOnceTreatCost(), info.getOnceSuppCost(), info.getOnceSuppRemark(), info.getAdjustmentRemarks(), info.getIsAdjustment(), info.getAdjustmentMoney(), info.getDiffAmount(), scmSpecialRebateVo.getSid());
}
return rb.success().setMsg("成功导入数据,请点击确定按钮");
}
}
private SpecialRebateOneExcelInfo getSheetValOne(Sheet sheet, int[] resultCell, String userSid) {
private SpecialRebateOneExcelInfo getSheetValOne(Sheet sheet, int[] resultCell, String createOrgSid) {
SpecialRebateOneExcelInfo importReturn = new SpecialRebateOneExcelInfo();
List<OneExcelInfo> importVoList = new ArrayList<>();
Set<String> checkWord = new HashSet<>();
@ -553,37 +565,52 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
for (int j = 0; j < resultCell.length; j++) {
if (i == resultCell[j]) {
switch (i) {
/*case 0:
//importVo.set(temp);
break;
case 0:
importVo.setCreateTime(temp);
importVo.setPurchaseSystemName(temp);
break;
case 0:
importVo.setCreateTime(temp);
break;*/
case 1:
importVo.setRebateName(temp);
importVo.setBrandName(temp);
break;
case 2:
importVo.setRebateTypeValue(temp);
importVo.setCreateTime(temp);
break;
case 3:
importVo.setEstimateRebate(temp);
importVo.setRebateName(temp);
break;
case 4:
importVo.setUploadDate(temp);
importVo.setRebateTypeValue(temp);
break;
case 5:
importVo.setUploadMoney(temp);
importVo.setEstimateRebate(temp);
break;
case 6:
importVo.setStayDetermineMoney(temp);
importVo.setExpectCost(temp);
break;
case 7:
//importVo.setMoney(temp);
importVo.setPalceGenDate(temp);
break;
case 8:
importVo.setUploadDate(temp);
break;
case 9:
importVo.setUploadMoney(temp);
break;
case 10:
importVo.setStayDetermineMoney(temp);
break;
case 11:
importVo.setOnceItureCost(temp);
break;
case 12:
importVo.setOnceTreatCost(temp);
break;
case 13:
importVo.setOnceSuppCost(temp);
break;
case 14:
importVo.setOnceSuppRemark(temp);
break;
case 15:
importVo.setAdjustmentRemarks(temp);
break;
default:
@ -598,30 +625,51 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
String word = new String();
switch (i) {
case 0:
word = "创建日期";
word = "采购系统";
break;
case 1:
word = "返利名称";
word = "品牌";
break;
case 2:
word = "返利类型";
word = "创建日期";
break;
case 3:
word = "预提返利";
word = "返利名称";
break;
case 4:
word = "上传日期";
word = "返利类型";
break;
case 5:
word = "上传金额";
word = "预提返利";
break;
case 6:
word = "待确定金额";
word = "其中预提费用";
break;
case 7:
word = "费用";
word = "所属年月";
break;
case 8:
word = "上传日期";
break;
case 9:
word = "上传金额";
break;
case 10:
word = "待确定金额";
break;
case 11:
word = "其中支出费用";
break;
case 12:
word = "其中待支付费用";
break;
case 13:
word = "其中抵顶费用";
break;
case 14:
word = "抵顶费用说明";
break;
case 15:
word = "调整说明";
break;
default:
@ -635,15 +683,23 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
}
if (!importVoList.isEmpty()) {
for (OneExcelInfo excelInfo : importVoList) {
ScmSpecialRebateVo scmSpecialRebateVo = baseMapper.selectExcelInfo(excelInfo.getCreateTime(), excelInfo.getRebateName(), excelInfo.getRebateTypeValue(), excelInfo.getEstimateRebate());
ScmSpecialRebateVo scmSpecialRebateVo = baseMapper.selectExcelInfo(createOrgSid, excelInfo.getRebateTypeValue(), excelInfo.getRebateName(), excelInfo.getEstimateRebate(), excelInfo.getPalceGenDate(), excelInfo.getPurchaseSystemName(), excelInfo.getBrandName());
if (scmSpecialRebateVo == null || StringUtils.isBlank(scmSpecialRebateVo.getSid())) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的返利信息不存在");
break;
}
/*if (scmSpecialRebateVo.get() == 1) {
if (scmSpecialRebateVo.getOnceCheckState() == 1) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的返利信息已调整");
break;
}*/
}
if (StringUtils.isBlank(excelInfo.getPurchaseSystemName())) {
checkWord.add("采购系统不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getBrandName())) {
checkWord.add("品牌名称不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getCreateTime())) {
checkWord.add("创建日期不能为空");
break;
@ -693,6 +749,34 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
break;
}
}
if (StringUtils.isBlank(excelInfo.getExpectCost())) {
checkWord.add("其中预提费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getExpectCost())) {
String expectCost = excelInfo.getExpectCost();
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$");
boolean matches = pattern.matcher(expectCost).matches();
if (!matches) {
checkWord.add("其中预提费用必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getPalceGenDate())) {
checkWord.add("所属年月不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getPalceGenDate())) {
String palceGenDate = excelInfo.getPalceGenDate();
String[] split = palceGenDate.split("-");
if (split.length != 2) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的所属年月填写不正确,格式yyyy-MM");
break;
} else if (!isFourDigitNumber(split[0]) || !isTwoDigitNumber(split[1])) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的所属年月填写不正确,格式yyyy-MM");
break;
}
}
if (StringUtils.isBlank(excelInfo.getUploadDate())) {
checkWord.add("上传日期不能为空");
break;
@ -740,10 +824,72 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
break;
}
}
if (StringUtils.isBlank(excelInfo.getAdjustmentRemarks())) {
checkWord.add("调整说明不能为空");
if (StringUtils.isBlank(excelInfo.getOnceItureCost())) {
checkWord.add("其中支出费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getOnceItureCost())) {
String onceItureCost = excelInfo.getOnceItureCost();
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$");
boolean matches = pattern.matcher(onceItureCost).matches();
if (!matches) {
checkWord.add("其中支出费用必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getOnceTreatCost())) {
checkWord.add("其中待支付费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getOnceTreatCost())) {
String onceTreatCost = excelInfo.getOnceTreatCost();
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$");
boolean matches = pattern.matcher(onceTreatCost).matches();
if (!matches) {
checkWord.add("其中待支付费用必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getOnceSuppCost())) {
checkWord.add("其中抵顶费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getOnceSuppCost())) {
String onceSuppCost = excelInfo.getOnceSuppCost();
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$");
boolean matches = pattern.matcher(onceSuppCost).matches();
if (!matches) {
checkWord.add("其中抵顶费用必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getOnceSuppRemark())) {
checkWord.add("抵顶费用说明不能为空");
break;
}
int i = new BigDecimal(excelInfo.getStayDetermineMoney()).compareTo(BigDecimal.ZERO);
//上传返利金额
BigDecimal scflje = new BigDecimal(excelInfo.getUploadMoney()).subtract(new BigDecimal(excelInfo.getStayDetermineMoney())).subtract(new BigDecimal(excelInfo.getOnceItureCost())).subtract(new BigDecimal(excelInfo.getOnceTreatCost())).subtract(new BigDecimal(excelInfo.getOnceSuppCost()));
//预提返利-其中预提费用
BigDecimal ytfy = new BigDecimal(excelInfo.getEstimateRebate()).subtract(new BigDecimal(excelInfo.getExpectCost()));
//调整金额
BigDecimal tzje = new BigDecimal(excelInfo.getUploadMoney()).subtract(new BigDecimal(excelInfo.getStayDetermineMoney())).subtract(new BigDecimal(excelInfo.getOnceItureCost())).subtract(new BigDecimal(excelInfo.getOnceTreatCost())).subtract(new BigDecimal(excelInfo.getOnceSuppCost())).subtract(new BigDecimal(excelInfo.getEstimateRebate()));
if (i > 0) {
excelInfo.setIsAdjustment("否");
excelInfo.setAdjustmentMoney("0");
} else if (i == 0) {
if (scflje.compareTo(ytfy) > 0) {
excelInfo.setIsAdjustment("是");
excelInfo.setAdjustmentMoney(tzje.toString());
} else if (scflje.compareTo(ytfy) == 0) {
excelInfo.setIsAdjustment("是");
excelInfo.setAdjustmentMoney(tzje.toString());
} else if (scflje.compareTo(ytfy) < 0) {
excelInfo.setIsAdjustment("否");
excelInfo.setAdjustmentMoney("0");
}
}
excelInfo.setDiffAmount(scflje.subtract(ytfy).toString());
}
}
StringBuffer sbcheck1 = new StringBuffer();
@ -826,7 +972,7 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
return true;
}
public ResultBean getExcelTwoInfo(MultipartFile file, HttpServletRequest request, String userSid) throws IOException {
public ResultBean getExcelTwoInfo(MultipartFile file, HttpServletRequest request, String userSid, String orgPath) throws IOException {
ResultBean rb = ResultBean.fireFail();
String temp = request.getSession().getServletContext().getRealPath(File.separator) + "temp";// 临时目录
File tempFile = new File(temp);
@ -838,7 +984,7 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
return rb.fail().setMsg("上传文件不正确");
}
int[] resultCell = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int[] resultCell = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18};
boolean isExcel2003 = true;
if (fileName.matches("^.+\\.(?i)(xlsx)$")) {
isExcel2003 = false;
@ -851,22 +997,28 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
wb = new XSSFWorkbook(is);
}
Sheet sheet = wb.getSheetAt(0);
SpecialRebateTwoExcelInfo importReturn = getSheetValTwo(sheet, resultCell, userSid);
String createOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
SpecialRebateTwoExcelInfo importReturn = getSheetValTwo(sheet, resultCell, createOrgSid);
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());
ScmSpecialRebateVo scmSpecialRebateVo = baseMapper.selectExcelInfo(createOrgSid, info.getRebateTypeValue(), info.getRebateName(), info.getEstimateRebate(), info.getPalceGenDate(), info.getPurchaseSystemName(), info.getBrandName());
String secondaryUploadDate = "";
if (isNumber(info.getSecondaryUploadDate())) {
Date javaDate = new Date((long) ((Double.valueOf(info.getSecondaryUploadDate()) - 25569) * 86400 * 1000));
secondaryUploadDate = DateUtil.formatDate(javaDate);
} else {
secondaryUploadDate = info.getSecondaryUploadDate();
}
baseMapper.updateTwoExcelInfo(secondaryUploadDate, info.getSecondaryUploadMoney(),info.getSecondItureCost(), info.getSecondTreatCost(), info.getSecondSuppCost(), info.getSecondSuppRemark(), info.getAdjustmentRemarks(),info.getIsAdjustment(), info.getAdjustmentMoney(), info.getDiffAmount(), scmSpecialRebateVo.getSid());
}
return rb.success().setMsg("成功导入数据,请点击确定按钮");
}
}
private SpecialRebateTwoExcelInfo getSheetValTwo(Sheet sheet, int[] resultCell, String userSid) {
private SpecialRebateTwoExcelInfo getSheetValTwo(Sheet sheet, int[] resultCell, String createOrgSid) {
SpecialRebateTwoExcelInfo importReturn = new SpecialRebateTwoExcelInfo();
List<TwoExcelInfo> importVoList = new ArrayList<>();
Set<String> checkWord = new HashSet<>();
@ -892,36 +1044,60 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
if (i == resultCell[j]) {
switch (i) {
case 0:
importVo.setCreateTime(temp);
importVo.setPurchaseSystemName(temp);
break;
case 1:
importVo.setRebateName(temp);
importVo.setBrandName(temp);
break;
case 2:
importVo.setRebateTypeValue(temp);
importVo.setCreateTime(temp);
break;
case 3:
importVo.setEstimateRebate(temp);
importVo.setRebateName(temp);
break;
case 4:
importVo.setUploadDate(temp);
importVo.setRebateTypeValue(temp);
break;
case 5:
importVo.setUploadMoney(temp);
importVo.setEstimateRebate(temp);
break;
case 6:
importVo.setStayDetermineMoney(temp);
importVo.setExpectCost(temp);
break;
case 7:
importVo.setSecondaryUploadDate(temp);
importVo.setPalceGenDate(temp);
break;
case 8:
importVo.setSecondaryUploadMoney(temp);
importVo.setUploadDate(temp);
break;
case 9:
importVo.setMoney(temp);
importVo.setUploadMoney(temp);
break;
case 10:
importVo.setMoney(temp);
break;
case 11:
importVo.setStayDetermineMoney(temp);
break;
case 12:
importVo.setSecondaryUploadDate(temp);
break;
case 13:
importVo.setSecondaryUploadMoney(temp);
break;
case 14:
importVo.setSecondItureCost(temp);
break;
case 15:
importVo.setSecondTreatCost(temp);
break;
case 16:
importVo.setSecondSuppCost(temp);
break;
case 17:
importVo.setSecondSuppRemark(temp);
break;
case 18:
importVo.setAdjustmentRemarks(temp);
break;
default:
@ -936,36 +1112,60 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
String word = new String();
switch (i) {
case 0:
word = "创建日期";
word = "采购系统";
break;
case 1:
word = "返利名称";
word = "品牌";
break;
case 2:
word = "返利类型";
word = "创建日期";
break;
case 3:
word = "预提返利";
word = "返利名称";
break;
case 4:
word = "上传日期";
word = "返利类型";
break;
case 5:
word = "上传金额";
word = "预提返利";
break;
case 6:
word = "待确定金额";
word = "其中预提费用";
break;
case 7:
word = "二次上传日期";
word = "所属年月";
break;
case 8:
word = "二次上传金额";
word = "上传日期";
break;
case 9:
word = "费用";
word = "上传金额";
break;
case 10:
word = "其中费用";
break;
case 11:
word = "待确定金额";
break;
case 12:
word = "二次上传日期";
break;
case 13:
word = "二次上传金额";
break;
case 14:
word = "其中支出费用";
break;
case 15:
word = "其中待支付费用";
break;
case 16:
word = "其中抵顶费用";
break;
case 17:
word = "抵顶费用说明";
break;
case 18:
word = "调整说明";
break;
default:
@ -979,15 +1179,23 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
}
if (!importVoList.isEmpty()) {
for (TwoExcelInfo excelInfo : importVoList) {
ScmSpecialRebateVo scmSpecialRebateVo = baseMapper.selectExcelInfo(excelInfo.getCreateTime(), excelInfo.getRebateName(), excelInfo.getRebateTypeValue(), excelInfo.getEstimateRebate());
ScmSpecialRebateVo scmSpecialRebateVo = baseMapper.selectExcelInfo(createOrgSid, excelInfo.getRebateTypeValue(), excelInfo.getRebateName(), excelInfo.getEstimateRebate(), excelInfo.getPalceGenDate(), excelInfo.getPurchaseSystemName(), excelInfo.getBrandName());
if (scmSpecialRebateVo == null || StringUtils.isBlank(scmSpecialRebateVo.getSid())) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的返利信息不存在");
break;
}
/* if (excelInfo.getOnceCheckState() == 1) {
checkWord.add("车架号" + excelInfo.getRebateName() + "导入的返利信息已核对");
if (scmSpecialRebateVo.getOnceCheckState() == 1) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的返利信息已核对");
break;
}*/
}
if (StringUtils.isBlank(excelInfo.getPurchaseSystemName())) {
checkWord.add("采购系统不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getBrandName())) {
checkWord.add("品牌名称不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getCreateTime())) {
checkWord.add("创建日期不能为空");
break;
@ -1037,6 +1245,34 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
break;
}
}
if (StringUtils.isBlank(excelInfo.getExpectCost())) {
checkWord.add("其中预提费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getExpectCost())) {
String expectCost = excelInfo.getExpectCost();
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$");
boolean matches = pattern.matcher(expectCost).matches();
if (!matches) {
checkWord.add("其中预提费用必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getPalceGenDate())) {
checkWord.add("所属年月不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getPalceGenDate())) {
String palceGenDate = excelInfo.getPalceGenDate();
String[] split = palceGenDate.split("-");
if (split.length != 2) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的所属年月填写不正确,格式yyyy-MM");
break;
} else if (!isFourDigitNumber(split[0]) || !isTwoDigitNumber(split[1])) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的所属年月填写不正确,格式yyyy-MM");
break;
}
}
if (StringUtils.isBlank(excelInfo.getUploadDate())) {
checkWord.add("上传日期不能为空");
break;
@ -1071,6 +1307,19 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
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.getStayDetermineMoney())) {
checkWord.add("待确定金额不能为空");
break;
@ -1118,23 +1367,68 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
break;
}
}
if (StringUtils.isBlank(excelInfo.getMoney())) {
checkWord.add("费用不能为空");
if (StringUtils.isNotBlank(excelInfo.getSecondItureCost())) {
String secondItureCost = excelInfo.getSecondItureCost();
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$");
boolean matches = pattern.matcher(secondItureCost).matches();
if (!matches) {
checkWord.add("其中支出费用必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getSecondTreatCost())) {
checkWord.add("其中待支付费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getMoney())) {
String money = excelInfo.getMoney();
if (StringUtils.isNotBlank(excelInfo.getSecondTreatCost())) {
String secondTreatCost = excelInfo.getSecondTreatCost();
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$");
boolean matches = pattern.matcher(money).matches();
boolean matches = pattern.matcher(secondTreatCost).matches();
if (!matches) {
checkWord.add("费用必须为数字");
checkWord.add("其中待支付费用必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getAdjustmentRemarks())) {
checkWord.add("调整说明不能为空");
if (StringUtils.isBlank(excelInfo.getSecondSuppCost())) {
checkWord.add("其中抵顶费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getSecondSuppCost())) {
String secondSuppCost = excelInfo.getSecondSuppCost();
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$");
boolean matches = pattern.matcher(secondSuppCost).matches();
if (!matches) {
checkWord.add("其中抵顶费用必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getSecondSuppRemark())) {
checkWord.add("抵顶费用说明不能为空");
break;
}
int i = new BigDecimal(excelInfo.getStayDetermineMoney()).compareTo(BigDecimal.ZERO);
//上传返利金额
BigDecimal scflje = new BigDecimal(excelInfo.getUploadMoney()).add(new BigDecimal(excelInfo.getSecondaryUploadMoney())).subtract(new BigDecimal(excelInfo.getStayDetermineMoney())).subtract(new BigDecimal(excelInfo.getMoney())).subtract(new BigDecimal(excelInfo.getSecondItureCost())).subtract(new BigDecimal(excelInfo.getSecondTreatCost())).subtract(new BigDecimal(excelInfo.getSecondSuppCost()));
//预提返利-其中预提费用
BigDecimal ytfy = new BigDecimal(excelInfo.getEstimateRebate()).subtract(new BigDecimal(excelInfo.getExpectCost()));
//调整金额
BigDecimal tzje = new BigDecimal(excelInfo.getUploadMoney()).add(new BigDecimal(excelInfo.getSecondaryUploadMoney())).subtract(new BigDecimal(excelInfo.getStayDetermineMoney())).subtract(new BigDecimal(excelInfo.getMoney())).subtract(new BigDecimal(excelInfo.getSecondItureCost())).subtract(new BigDecimal(excelInfo.getSecondTreatCost())).subtract(new BigDecimal(excelInfo.getSecondSuppCost())).subtract(new BigDecimal(excelInfo.getEstimateRebate()));
if (i > 0) {
excelInfo.setIsAdjustment("否");
excelInfo.setAdjustmentMoney("0");
} else if (i == 0) {
if (scflje.compareTo(ytfy) > 0) {
excelInfo.setIsAdjustment("是");
excelInfo.setAdjustmentMoney(tzje.toString());
} else if (scflje.compareTo(ytfy) == 0) {
excelInfo.setIsAdjustment("是");
excelInfo.setAdjustmentMoney(tzje.toString());
} else if (scflje.compareTo(ytfy) < 0) {
excelInfo.setIsAdjustment("否");
excelInfo.setAdjustmentMoney("0");
}
}
excelInfo.setDiffAmount(scflje.subtract(ytfy).toString());
}
}
StringBuffer sbcheck1 = new StringBuffer();
@ -1210,16 +1504,14 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
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("adjustmentState", 0);
qw.eq("state", 2);
qw.eq("onceCheckState", 0);
qw.orderByDesc("createTime");
List<OneExcelVo> oneExcelVos = baseMapper.excelListOne(qw);
for (OneExcelVo oneExcelVo : oneExcelVos) {
@ -1282,15 +1574,12 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
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.ne("adjustmentState", 0);
qw.eq("state", 2);
qw.isNotNull("uploadDate");
qw.orderByDesc("createTime");

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewithapply/ScmSpecialRebateWithApplyService.java

@ -314,7 +314,6 @@ public class ScmSpecialRebateWithApplyService extends MybatisBaseService<ScmSpec
for (ScmSpecialRebateWithDto scmSpecialRebateWith : scmSpecialRebateWiths) {
List<String> specialRebateSids = scmSpecialRebateWith.getSpecialRebateSids();
for (String specialRebateSid : specialRebateSids) {
scmSpecialRebateService.updateWithholdingDateBySid(specialRebateSid);
scmSpecialRebateService.updateState(specialRebateSid, 1);
}
}
@ -384,6 +383,7 @@ public class ScmSpecialRebateWithApplyService extends MybatisBaseService<ScmSpec
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
for (String specialRebateSid : specialRebateSids) {
scmSpecialRebateService.updateState(specialRebateSid, 2);
scmSpecialRebateService.updateWithholdingDateBySid(specialRebateSid,scmSpecialRebateWithApply.getWithApply());
}
}
return rb.success().setData(resultBean.getData());

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

@ -76,13 +76,13 @@ public interface ScmVehRebateMapper extends BaseMapper<ScmVehRebate> {
void updateOneExcelInfo(@Param("uploadDate") String uploadDate, @Param("uploadMoney") String uploadMoney, @Param("stayDetermineMoney") String stayDetermineMoney, @Param("onceTreatCost") String onceTreatCost, @Param("onceSuppCost") String onceSuppCost, @Param("onceSuppRemark") String onceSuppRemark, @Param("adjustmentRemarks") String adjustmentRemarks, @Param("isAdjustment") String isAdjustment, @Param("adjustmentMoney") String adjustmentMoney, @Param("diffAmount") String diffAmount, @Param("sid") String sid);
void updateTwoExcelInfo(@Param("secondaryUploadDate") String secondaryUploadDate, @Param("secondaryUploadMoney") String secondaryUploadMoney, @Param("secondTreatCost") String secondTreatCost, @Param("secondSuppCost") String secondSuppCost, @Param("secondSuppRemark") String secondSuppRemark, @Param("adjustmentRemarks") String adjustmentRemarks, @Param("sid") String sid);
void updateTwoExcelInfo(@Param("secondaryUploadDate") String secondaryUploadDate, @Param("secondaryUploadMoney") String secondaryUploadMoney, @Param("secondTreatCost") String secondTreatCost, @Param("secondSuppCost") String secondSuppCost, @Param("secondSuppRemark") String secondSuppRemark, @Param("adjustmentRemarks") String adjustmentRemarks, @Param("isAdjustment") String isAdjustment, @Param("adjustmentMoney") String adjustmentMoney, @Param("diffAmount") String diffAmount, @Param("sid") String sid);
ScmVehRebateVo selectByVinNoAndOrgSid(@Param("vinNo") String vinNo, @Param("rebateTypeValue") String rebateTypeValue, @Param("rebateName") String rebateName, @Param("palceGenDate") String palceGenDate, @Param("estimateRebate") String estimateRebate, @Param("useOrgSid") String useOrgSid);
@Update("update scm_veh_rebate set adjustmentState = #{adjustmentState} where sid = #{vehRebateSid}")
void updateAdjustmentState(@Param("vehRebateSid") String vehRebateSid,@Param("adjustmentState") int adjustmentState);
void updateAdjustmentState(@Param("vehRebateSid") String vehRebateSid, @Param("adjustmentState") int adjustmentState);
@Update("update scm_veh_rebate set onceCheckState = #{onceCheckState} where sid = #{sid}")
void updateOnceCheckState(@Param("sid") String sid,@Param("onceCheckState") int onceCheckState);
void updateOnceCheckState(@Param("sid") String sid, @Param("onceCheckState") int onceCheckState);
}

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

@ -41,7 +41,9 @@
<select id="excelListTwo" resultType="com.yxt.anrui.scm.api.scmvehrebate.TwoExcelVo">
SELECT
*
*,
expectTreatCost + expectSuppCost AS withholdCost,
onceTreatCost + onceSuppCost AS qzMoney
FROM
scm_veh_rebate
<where>

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

@ -1355,9 +1355,14 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
List<TwoExcelInfo> infos = importReturn.getInfos();
for (TwoExcelInfo info : infos) {
ScmVehRebateVo scmVehRebateVo = baseMapper.selectByVinNoAndOrgSid(info.getVinNo(), info.getRebateTypeValue(), info.getRebateName(), info.getPalceGenDate(), info.getEstimateRebate(), useOrgSid);
Date javaDate = new Date((long) ((Double.valueOf(info.getSecondaryUploadDate()) - 25569) * 86400 * 1000));
String secondaryUploadDate = DateUtil.formatDate(javaDate);
baseMapper.updateTwoExcelInfo(secondaryUploadDate, info.getSecondaryUploadMoney(), info.getSecondTreatCost(), info.getSecondSuppCost(), info.getSecondSuppRemark(), info.getAdjustmentRemarks(), scmVehRebateVo.getSid());
String secondaryUploadDate = "";
if (isNumber(info.getSecondaryUploadDate())) {
Date javaDate = new Date((long) ((Double.valueOf(info.getSecondaryUploadDate()) - 25569) * 86400 * 1000));
secondaryUploadDate = DateUtil.formatDate(javaDate);
} else {
secondaryUploadDate = info.getSecondaryUploadDate();
}
baseMapper.updateTwoExcelInfo(secondaryUploadDate, info.getSecondaryUploadMoney(), info.getSecondTreatCost(), info.getSecondSuppCost(), info.getSecondSuppRemark(), info.getAdjustmentRemarks(), info.getIsAdjustment(), info.getAdjustmentMoney(), info.getDiffAmount(), scmVehRebateVo.getSid());
}
return rb.success().setMsg("成功导入数据,请点击确定按钮");
}

Loading…
Cancel
Save