|
|
@ -26,8 +26,13 @@ |
|
|
|
package com.yxt.anrui.scm.biz.scmspecialrebatecheckapply; |
|
|
|
|
|
|
|
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.scm.api.scmspecialrebatecheckapplydetail.ScmSpecialrebateCheckapplydetail; |
|
|
|
import com.yxt.anrui.scm.api.scmspecialrebatecheckapplydetail.ScmSpecialrebateCheckapplydetailDetailsVo; |
|
|
|
import com.yxt.anrui.scm.api.scmspecialrebatecheckapplydetail.ScmSpecialrebateCheckapplydetailDto; |
|
|
|
import com.yxt.anrui.scm.biz.scmspecialrebatecheckapplydetail.ScmSpecialrebateCheckapplydetailService; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
|
|
import com.yxt.common.base.utils.PagerUtil; |
|
|
@ -41,8 +46,11 @@ import com.yxt.anrui.scm.api.scmspecialrebatecheckapply.ScmSpecialrebateCheckapp |
|
|
|
import com.yxt.anrui.scm.api.scmspecialrebatecheckapply.ScmSpecialrebateCheckapplyDto; |
|
|
|
import com.yxt.anrui.scm.api.scmspecialrebatecheckapply.ScmSpecialrebateCheckapplyFeign; |
|
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
/** |
|
|
@ -60,51 +68,178 @@ import java.util.List; |
|
|
|
*/ |
|
|
|
@Service |
|
|
|
public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpecialrebateCheckapplyMapper, ScmSpecialrebateCheckapply> { |
|
|
|
private QueryWrapper<ScmSpecialrebateCheckapply> createQueryWrapper(ScmSpecialrebateCheckapplyQuery query) { |
|
|
|
// todo: 这里根据具体业务调整查询条件
|
|
|
|
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
|
|
|
QueryWrapper<ScmSpecialrebateCheckapply> qw = new QueryWrapper<>(); |
|
|
|
return qw; |
|
|
|
} |
|
|
|
|
|
|
|
public PagerVo<ScmSpecialrebateCheckapplyVo> listPageVo(PagerQuery<ScmSpecialrebateCheckapplyQuery> pq) { |
|
|
|
ScmSpecialrebateCheckapplyQuery query = pq.getParams(); |
|
|
|
QueryWrapper<ScmSpecialrebateCheckapply> qw = createQueryWrapper(query); |
|
|
|
IPage<ScmSpecialrebateCheckapply> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<ScmSpecialrebateCheckapplyVo> pagging = baseMapper.selectPageVo(page, qw); |
|
|
|
PagerVo<ScmSpecialrebateCheckapplyVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
|
|
|
|
public void saveOrUpdateDto(ScmSpecialrebateCheckapplyDto dto){ |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private ScmSpecialrebateCheckapplydetailService scmSpecialrebateCheckapplydetailService; |
|
|
|
|
|
|
|
private QueryWrapper<ScmSpecialrebateCheckapply> createQueryWrapper(ScmSpecialrebateCheckapplyQuery query) { |
|
|
|
// todo: 这里根据具体业务调整查询条件
|
|
|
|
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
|
|
|
QueryWrapper<ScmSpecialrebateCheckapply> qw = new QueryWrapper<>(); |
|
|
|
return qw; |
|
|
|
} |
|
|
|
|
|
|
|
public PagerVo<ScmSpecialrebateCheckapplyVo> listPageVo(PagerQuery<ScmSpecialrebateCheckapplyQuery> pq) { |
|
|
|
ScmSpecialrebateCheckapplyQuery query = pq.getParams(); |
|
|
|
QueryWrapper<ScmSpecialrebateCheckapply> qw = new QueryWrapper<>(); |
|
|
|
if (StringUtils.isNotBlank(query.getBrandSid())) { |
|
|
|
qw.eq("ssc.brandSid", query.getBrandSid()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getCheckApply())) { |
|
|
|
qw.like("ssc.checkApply", query.getCheckApply()); |
|
|
|
} |
|
|
|
String createStartTime = query.getCreateStartTime(); |
|
|
|
String createEndTime = query.getCreateEndTime(); |
|
|
|
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (ssc.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). |
|
|
|
apply(StringUtils.isNotBlank(createEndTime), "date_format (ssc.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
qw.eq("ssc.createOrgSid", query.getCreateOrgSid()); |
|
|
|
IPage<ScmSpecialrebateCheckapply> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<ScmSpecialrebateCheckapplyVo> pagging = baseMapper.selectPageVo(page, qw); |
|
|
|
List<ScmSpecialrebateCheckapplyVo> records = pagging.getRecords(); |
|
|
|
for (ScmSpecialrebateCheckapplyVo record : records) { |
|
|
|
record.setEstimateRebate(record.getEstimateRebate().substring(0,record.getEstimateRebate().lastIndexOf("."))); |
|
|
|
record.setUploadMoney(record.getUploadMoney().substring(0,record.getUploadMoney().lastIndexOf("."))); |
|
|
|
record.setStayDetermineMoney(record.getStayDetermineMoney().substring(0,record.getStayDetermineMoney().lastIndexOf("."))); |
|
|
|
record.setAdjustmentMoney(record.getAdjustmentMoney().substring(0,record.getAdjustmentMoney().lastIndexOf("."))); |
|
|
|
record.setMoney(record.getMoney().substring(0,record.getMoney().lastIndexOf("."))); |
|
|
|
} |
|
|
|
PagerVo<ScmSpecialrebateCheckapplyVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean saveOrUpdateDto(ScmSpecialrebateCheckapplyDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String dtoSid = dto.getSid(); |
|
|
|
List<ScmSpecialrebateCheckapplydetailDto> scmWhenSpecialrebateCheckapplydetailDetails = dto.getScmWhenSpecialrebateCheckapplydetailDetails(); |
|
|
|
List<ScmSpecialrebateCheckapplydetailDto> scmLastSpecialrebateCheckapplydetailDetails = dto.getScmLastSpecialrebateCheckapplydetailDetails(); |
|
|
|
if (scmWhenSpecialrebateCheckapplydetailDetails.size() < 1 && scmLastSpecialrebateCheckapplydetailDetails.size() < 1) { |
|
|
|
return rb.setMsg("请选择已核对专项返利信息"); |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(dtoSid)) { |
|
|
|
this.insertByDto(dto); |
|
|
|
return; |
|
|
|
} |
|
|
|
this.updateByDto(dto); |
|
|
|
} |
|
|
|
|
|
|
|
public void insertByDto(ScmSpecialrebateCheckapplyDto dto){ |
|
|
|
ScmSpecialrebateCheckapply entity = new ScmSpecialrebateCheckapply(); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
baseMapper.insert(entity); |
|
|
|
} |
|
|
|
|
|
|
|
public void updateByDto(ScmSpecialrebateCheckapplyDto dto){ |
|
|
|
String dtoSid = dto.getSid(); |
|
|
|
String sid = this.insertByDto(dto).getData(); |
|
|
|
if (scmWhenSpecialrebateCheckapplydetailDetails.size() > 0) { |
|
|
|
for (ScmSpecialrebateCheckapplydetailDto scmSpecialrebateCheckapplydetail : scmWhenSpecialrebateCheckapplydetailDetails) { |
|
|
|
for (String SpecialRebateSid : scmSpecialrebateCheckapplydetail.getSpecialRebateSids()) { |
|
|
|
ScmSpecialrebateCheckapplydetail scmSpecialrebateCheckapplydetail1 = new ScmSpecialrebateCheckapplydetail(); |
|
|
|
scmSpecialrebateCheckapplydetail1.setSpecialRebateSid(SpecialRebateSid); |
|
|
|
scmSpecialrebateCheckapplydetail1.setMainSid(sid); |
|
|
|
scmSpecialrebateCheckapplydetailService.save(scmSpecialrebateCheckapplydetail1); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (scmLastSpecialrebateCheckapplydetailDetails.size() > 0) { |
|
|
|
for (ScmSpecialrebateCheckapplydetailDto scmSpecialrebateCheckapplydetail : scmLastSpecialrebateCheckapplydetailDetails) { |
|
|
|
for (String SpecialRebateSid : scmSpecialrebateCheckapplydetail.getSpecialRebateSids()) { |
|
|
|
ScmSpecialrebateCheckapplydetail scmSpecialrebateCheckapplydetail1 = new ScmSpecialrebateCheckapplydetail(); |
|
|
|
scmSpecialrebateCheckapplydetail1.setSpecialRebateSid(SpecialRebateSid); |
|
|
|
scmSpecialrebateCheckapplydetail1.setMainSid(sid); |
|
|
|
scmSpecialrebateCheckapplydetailService.save(scmSpecialrebateCheckapplydetail1); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success().setMsg("添加成功").setData(sid); |
|
|
|
} |
|
|
|
ScmSpecialrebateCheckapply scmSpecialrebateCheckapply = fetchBySid(dtoSid); |
|
|
|
if (scmSpecialrebateCheckapply == null) { |
|
|
|
return rb.setMsg("该核对申请单不存在"); |
|
|
|
} |
|
|
|
this.updateByDto(dto); |
|
|
|
scmSpecialrebateCheckapplydetailService.delByMainSid(dtoSid); |
|
|
|
if (scmWhenSpecialrebateCheckapplydetailDetails.size() > 0) { |
|
|
|
for (ScmSpecialrebateCheckapplydetailDto scmSpecialrebateCheckapplydetail : scmWhenSpecialrebateCheckapplydetailDetails) { |
|
|
|
for (String SpecialRebateSid : scmSpecialrebateCheckapplydetail.getSpecialRebateSids()) { |
|
|
|
ScmSpecialrebateCheckapplydetail scmSpecialrebateCheckapplydetail1 = new ScmSpecialrebateCheckapplydetail(); |
|
|
|
scmSpecialrebateCheckapplydetail1.setSpecialRebateSid(SpecialRebateSid); |
|
|
|
scmSpecialrebateCheckapplydetail1.setMainSid(dtoSid); |
|
|
|
scmSpecialrebateCheckapplydetailService.save(scmSpecialrebateCheckapplydetail1); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (scmLastSpecialrebateCheckapplydetailDetails.size() > 0) { |
|
|
|
for (ScmSpecialrebateCheckapplydetailDto scmSpecialrebateCheckapplydetail : scmLastSpecialrebateCheckapplydetailDetails) { |
|
|
|
for (String SpecialRebateSid : scmSpecialrebateCheckapplydetail.getSpecialRebateSids()) { |
|
|
|
ScmSpecialrebateCheckapplydetail scmSpecialrebateCheckapplydetail1 = new ScmSpecialrebateCheckapplydetail(); |
|
|
|
scmSpecialrebateCheckapplydetail1.setSpecialRebateSid(SpecialRebateSid); |
|
|
|
scmSpecialrebateCheckapplydetail1.setMainSid(dtoSid); |
|
|
|
scmSpecialrebateCheckapplydetailService.save(scmSpecialrebateCheckapplydetail1); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success().setMsg("修改成功").setData(dtoSid); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<String> insertByDto(ScmSpecialrebateCheckapplyDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
ScmSpecialrebateCheckapply entity = new ScmSpecialrebateCheckapply(); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
baseMapper.insert(entity); |
|
|
|
return rb.success().setData(entity.getSid()); |
|
|
|
} |
|
|
|
|
|
|
|
public void updateByDto(ScmSpecialrebateCheckapplyDto dto) { |
|
|
|
String dtoSid = dto.getSid(); |
|
|
|
if (StringUtils.isBlank(dtoSid)) { |
|
|
|
return; |
|
|
|
} |
|
|
|
ScmSpecialrebateCheckapply entity = fetchBySid(dtoSid); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
baseMapper.updateById(entity); |
|
|
|
} |
|
|
|
|
|
|
|
public ScmSpecialrebateCheckapplyDetailsVo fetchDetailsVoBySid(String sid){ |
|
|
|
ScmSpecialrebateCheckapply entity = fetchBySid(sid); |
|
|
|
ScmSpecialrebateCheckapplyDetailsVo vo = new ScmSpecialrebateCheckapplyDetailsVo(); |
|
|
|
BeanUtil.copyProperties(entity, vo); |
|
|
|
return vo; |
|
|
|
} |
|
|
|
} |
|
|
|
ScmSpecialrebateCheckapply entity = fetchBySid(dtoSid); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
baseMapper.updateById(entity); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<ScmSpecialrebateCheckapplyDetailsVo> fetchDetailsVoBySid(String sid) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
ScmSpecialrebateCheckapplyDetailsVo scmSpecialrebateCheckapplyDetailsVo = new ScmSpecialrebateCheckapplyDetailsVo(); |
|
|
|
ScmSpecialrebateCheckapply scmSpecialrebateCheckapply = fetchBySid(sid); |
|
|
|
BeanUtil.copyProperties(scmSpecialrebateCheckapply,scmSpecialrebateCheckapplyDetailsVo); |
|
|
|
List<ScmSpecialrebateCheckapplydetailDetailsVo> scmWhenSpecialrebateCheckapplydetailDetailsVos = scmSpecialrebateCheckapplydetailService.fetchWhenDetailsVoBySid(sid); |
|
|
|
if (scmWhenSpecialrebateCheckapplydetailDetailsVos.size() > 0){ |
|
|
|
for (ScmSpecialrebateCheckapplydetailDetailsVo scmWhenSpecialrebateCheckapplydetailDetailsVo : scmWhenSpecialrebateCheckapplydetailDetailsVos) { |
|
|
|
String SpecialRebateSid = scmWhenSpecialrebateCheckapplydetailDetailsVo.getSpecialRebateSid(); |
|
|
|
String[] SpecialRebateSids = SpecialRebateSid.split(","); |
|
|
|
scmWhenSpecialrebateCheckapplydetailDetailsVo.setSpecialRebateSids(Arrays.asList(SpecialRebateSids)); |
|
|
|
scmWhenSpecialrebateCheckapplydetailDetailsVo.setWithRebate(scmWhenSpecialrebateCheckapplydetailDetailsVo.getWithRebate().substring(0,scmWhenSpecialrebateCheckapplydetailDetailsVo.getWithRebate().lastIndexOf("."))); |
|
|
|
scmWhenSpecialrebateCheckapplydetailDetailsVo.setUploadMoney(scmWhenSpecialrebateCheckapplydetailDetailsVo.getUploadMoney().substring(0,scmWhenSpecialrebateCheckapplydetailDetailsVo.getUploadMoney().lastIndexOf("."))); |
|
|
|
scmWhenSpecialrebateCheckapplydetailDetailsVo.setStayDetermineMoney(scmWhenSpecialrebateCheckapplydetailDetailsVo.getStayDetermineMoney().substring(0,scmWhenSpecialrebateCheckapplydetailDetailsVo.getStayDetermineMoney().lastIndexOf("."))); |
|
|
|
scmWhenSpecialrebateCheckapplydetailDetailsVo.setAdjustmentMoney(scmWhenSpecialrebateCheckapplydetailDetailsVo.getAdjustmentMoney().substring(0,scmWhenSpecialrebateCheckapplydetailDetailsVo.getAdjustmentMoney().lastIndexOf("."))); |
|
|
|
scmWhenSpecialrebateCheckapplydetailDetailsVo.setMoney(scmWhenSpecialrebateCheckapplydetailDetailsVo.getMoney().substring(0,scmWhenSpecialrebateCheckapplydetailDetailsVo.getMoney().lastIndexOf("."))); |
|
|
|
} |
|
|
|
} |
|
|
|
scmSpecialrebateCheckapplyDetailsVo.setScmWhenSpecialrebateCheckapplydetailDetails(scmWhenSpecialrebateCheckapplydetailDetailsVos); |
|
|
|
List<ScmSpecialrebateCheckapplydetailDetailsVo> scmLastSpecialrebateCheckapplydetailDetailsVos = scmSpecialrebateCheckapplydetailService.fetchLastDetailsVoBySid(sid); |
|
|
|
if (scmLastSpecialrebateCheckapplydetailDetailsVos.size() > 0){ |
|
|
|
for (ScmSpecialrebateCheckapplydetailDetailsVo scmLastSpecialrebateCheckapplydetailDetailsVo : scmLastSpecialrebateCheckapplydetailDetailsVos) { |
|
|
|
String SpecialRebateSid = scmLastSpecialrebateCheckapplydetailDetailsVo.getSpecialRebateSid(); |
|
|
|
String[] SpecialRebateSids = SpecialRebateSid.split(","); |
|
|
|
scmLastSpecialrebateCheckapplydetailDetailsVo.setSpecialRebateSids(Arrays.asList(SpecialRebateSids)); |
|
|
|
scmLastSpecialrebateCheckapplydetailDetailsVo.setWithRebate(scmLastSpecialrebateCheckapplydetailDetailsVo.getWithRebate().substring(0,scmLastSpecialrebateCheckapplydetailDetailsVo.getWithRebate().lastIndexOf("."))); |
|
|
|
scmLastSpecialrebateCheckapplydetailDetailsVo.setUploadMoney(scmLastSpecialrebateCheckapplydetailDetailsVo.getUploadMoney().substring(0,scmLastSpecialrebateCheckapplydetailDetailsVo.getUploadMoney().lastIndexOf("."))); |
|
|
|
scmLastSpecialrebateCheckapplydetailDetailsVo.setStayDetermineMoney(scmLastSpecialrebateCheckapplydetailDetailsVo.getStayDetermineMoney().substring(0,scmLastSpecialrebateCheckapplydetailDetailsVo.getStayDetermineMoney().lastIndexOf("."))); |
|
|
|
scmLastSpecialrebateCheckapplydetailDetailsVo.setAdjustmentMoney(scmLastSpecialrebateCheckapplydetailDetailsVo.getAdjustmentMoney().substring(0,scmLastSpecialrebateCheckapplydetailDetailsVo.getAdjustmentMoney().lastIndexOf("."))); |
|
|
|
scmLastSpecialrebateCheckapplydetailDetailsVo.setMoney(scmLastSpecialrebateCheckapplydetailDetailsVo.getMoney().substring(0,scmLastSpecialrebateCheckapplydetailDetailsVo.getMoney().lastIndexOf("."))); |
|
|
|
String withholdingDate = scmLastSpecialrebateCheckapplydetailDetailsVo.getWithholdingDate(); |
|
|
|
Date parse = DateUtil.parse(withholdingDate); |
|
|
|
int year = DateUtil.year(parse); |
|
|
|
int month = DateUtil.month(parse) + 1; |
|
|
|
String withholdingDateCopy = year + "年" + month + "月"; |
|
|
|
scmLastSpecialrebateCheckapplydetailDetailsVo.setWithholdingDateCopy(withholdingDateCopy); |
|
|
|
} |
|
|
|
} |
|
|
|
scmSpecialrebateCheckapplyDetailsVo.setScmLastSpecialrebateCheckapplydetailDetails(scmLastSpecialrebateCheckapplydetailDetailsVos); |
|
|
|
return rb.success().setData(scmSpecialrebateCheckapplyDetailsVo); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean delAll(String[] sids) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
//查询该sid中是否有流程不是待提交的
|
|
|
|
int count = baseMapper.selectBySid(StringUtils.join(sids, ",")); |
|
|
|
if (count > 0) { |
|
|
|
return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败"); |
|
|
|
} |
|
|
|
delBySids(sids); |
|
|
|
for (String sid : sids) { |
|
|
|
scmSpecialrebateCheckapplydetailService.delByMainSid(sid); |
|
|
|
} |
|
|
|
return rb.success().setMsg("删除成功"); |
|
|
|
} |
|
|
|
} |