|
|
@ -72,155 +72,192 @@ import java.util.List; |
|
|
|
@Service |
|
|
|
public class ScmCollectionRebateDistributionService extends MybatisBaseService<ScmCollectionRebateDistributionMapper, ScmCollectionRebateDistribution> { |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private ScmCollectionRebateDistributionVehService scmCollectionRebateDistributionVehService; |
|
|
|
@Autowired |
|
|
|
private SysUserFeign sysUserFeign; |
|
|
|
@Autowired |
|
|
|
private ScmFileService scmFileService; |
|
|
|
@Autowired |
|
|
|
FileUploadComponent fileUploadComponent; |
|
|
|
|
|
|
|
public PagerVo<ScmCollectionRebateDistributionVo> listPageVo(PagerQuery<ScmCollectionRebateDistributionQuery> pq) { |
|
|
|
ScmCollectionRebateDistributionQuery query = pq.getParams(); |
|
|
|
QueryWrapper<ScmCollectionRebateDistribution> 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("u.orgSidPath", orgSidPath); |
|
|
|
} else if ("2".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i2); |
|
|
|
qw.like("u.orgSidPath", orgSidPath); |
|
|
|
} else if ("3".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i3); |
|
|
|
qw.like("u.orgSidPath", orgSidPath); |
|
|
|
} else if ("4".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i4); |
|
|
|
qw.like("u.orgSidPath", orgSidPath); |
|
|
|
} else if ("5".equals(orgLevelKey)) { |
|
|
|
qw.eq("sd.createBySid", query.getUserSid()); |
|
|
|
} else { |
|
|
|
PagerVo<ScmCollectionRebateDistributionVo> p = new PagerVo<>(); |
|
|
|
return p; |
|
|
|
} |
|
|
|
} else { |
|
|
|
PagerVo<ScmCollectionRebateDistributionVo> p = new PagerVo<>(); |
|
|
|
return p; |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getCreateOrgName())){ |
|
|
|
qw.like("sd.createOrgName",query.getCreateOrgName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getPurchaseSystemName())){ |
|
|
|
qw.like("sd.purchaseSystemName",query.getPurchaseSystemName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getBrandName())){ |
|
|
|
qw.like("sd.brandName",query.getBrandName()); |
|
|
|
} |
|
|
|
String subitDateStart = query.getSubitDateStart(); |
|
|
|
String subitDateEnd = query.getSubitDateEnd(); |
|
|
|
qw.apply(StringUtils.isNotBlank(subitDateStart), "date_format (sd.subitDate,'%Y-%m-%d') >= date_format('" + subitDateStart + "','%Y-%m-%d')"). |
|
|
|
apply(StringUtils.isNotBlank(subitDateEnd), "date_format (sd.subitDate,'%Y-%m-%d') <= date_format('" + subitDateEnd + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
IPage<ScmCollectionRebateDistribution> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<ScmCollectionRebateDistributionVo> pagging = baseMapper.selectPageVo(page, qw); |
|
|
|
PagerVo<ScmCollectionRebateDistributionVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean saveOrUpdateDto(ScmCollectionRebateDistributionDto dto){ |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String dtoSid = dto.getSid(); |
|
|
|
List<ScmCollectionRebateDistributionFile> urls = dto.getUrls(); |
|
|
|
List<ScmCollectionRebateDistributionVehDto> scmCollectionRebateVehs = dto.getScmCollectionRebateVehs(); |
|
|
|
if (StringUtils.isBlank(dtoSid)) { |
|
|
|
String sid = this.insertByDto(dto); |
|
|
|
if (!scmCollectionRebateVehs.isEmpty()){ |
|
|
|
for (ScmCollectionRebateDistributionVehDto scmCollectionRebateVehDto : scmCollectionRebateVehs) { |
|
|
|
scmCollectionRebateVehDto.setMainSid(sid); |
|
|
|
scmCollectionRebateDistributionVehService.insertByDto(scmCollectionRebateVehDto); |
|
|
|
} |
|
|
|
} |
|
|
|
for (ScmCollectionRebateDistributionFile url : urls) { |
|
|
|
String filePath = url.getUrl().replace(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
ScmFile scmFile = new ScmFile(); |
|
|
|
scmFile.setFilePath(filePath); |
|
|
|
scmFile.setLinkSid(sid); |
|
|
|
scmFileService.save(scmFile); |
|
|
|
} |
|
|
|
return rb.success().setMsg("添加成功"); |
|
|
|
@Autowired |
|
|
|
private ScmCollectionRebateDistributionVehService scmCollectionRebateDistributionVehService; |
|
|
|
@Autowired |
|
|
|
private SysUserFeign sysUserFeign; |
|
|
|
@Autowired |
|
|
|
private ScmFileService scmFileService; |
|
|
|
@Autowired |
|
|
|
FileUploadComponent fileUploadComponent; |
|
|
|
|
|
|
|
public PagerVo<ScmCollectionRebateDistributionVo> listPageVo(PagerQuery<ScmCollectionRebateDistributionQuery> pq) { |
|
|
|
ScmCollectionRebateDistributionQuery query = pq.getParams(); |
|
|
|
QueryWrapper<ScmCollectionRebateDistribution> 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("u.orgSidPath", orgSidPath); |
|
|
|
} else if ("2".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i2); |
|
|
|
qw.like("u.orgSidPath", orgSidPath); |
|
|
|
} else if ("3".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i3); |
|
|
|
qw.like("u.orgSidPath", orgSidPath); |
|
|
|
} else if ("4".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i4); |
|
|
|
qw.like("u.orgSidPath", orgSidPath); |
|
|
|
} else if ("5".equals(orgLevelKey)) { |
|
|
|
qw.eq("sd.createBySid", query.getUserSid()); |
|
|
|
} else { |
|
|
|
PagerVo<ScmCollectionRebateDistributionVo> p = new PagerVo<>(); |
|
|
|
return p; |
|
|
|
} |
|
|
|
} else { |
|
|
|
PagerVo<ScmCollectionRebateDistributionVo> p = new PagerVo<>(); |
|
|
|
return p; |
|
|
|
} |
|
|
|
} |
|
|
|
if (query.getIsAuit()) { |
|
|
|
qw.ne("sd.state", 0); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getState())) { |
|
|
|
qw.eq("sd.state", query.getState()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getCreateOrgName())) { |
|
|
|
qw.like("sd.createOrgName", query.getCreateOrgName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getPurchaseSystemName())) { |
|
|
|
qw.like("sd.purchaseSystemName", query.getPurchaseSystemName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getBrandName())) { |
|
|
|
qw.like("sd.brandName", query.getBrandName()); |
|
|
|
} |
|
|
|
String subitDateStart = query.getSubitDateStart(); |
|
|
|
String subitDateEnd = query.getSubitDateEnd(); |
|
|
|
qw.apply(StringUtils.isNotBlank(subitDateStart), "date_format (sd.subitDate,'%Y-%m-%d') >= date_format('" + subitDateStart + "','%Y-%m-%d')"). |
|
|
|
apply(StringUtils.isNotBlank(subitDateEnd), "date_format (sd.subitDate,'%Y-%m-%d') <= date_format('" + subitDateEnd + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
qw.groupBy("sd.sid"); |
|
|
|
IPage<ScmCollectionRebateDistribution> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<ScmCollectionRebateDistributionVo> pagging = baseMapper.selectPageVo(page, qw); |
|
|
|
PagerVo<ScmCollectionRebateDistributionVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean saveOrUpdateDto(ScmCollectionRebateDistributionDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String dtoSid = dto.getSid(); |
|
|
|
List<ScmCollectionRebateDistributionFile> urls = dto.getUrls(); |
|
|
|
List<ScmCollectionRebateDistributionVehDto> scmCollectionRebateVehs = dto.getScmCollectionRebateVehs(); |
|
|
|
String state = dto.getState(); |
|
|
|
if ("0".equals(state)) { |
|
|
|
if (StringUtils.isBlank(dtoSid)) { |
|
|
|
String sid = this.insertByDto(dto); |
|
|
|
if (scmCollectionRebateVehs != null) { |
|
|
|
for (ScmCollectionRebateDistributionVehDto scmCollectionRebateVehDto : scmCollectionRebateVehs) { |
|
|
|
scmCollectionRebateVehDto.setMainSid(sid); |
|
|
|
scmCollectionRebateDistributionVehService.insertByDto(scmCollectionRebateVehDto); |
|
|
|
} |
|
|
|
} |
|
|
|
for (ScmCollectionRebateDistributionFile url : urls) { |
|
|
|
String filePath = url.getUrl().replace(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
ScmFile scmFile = new ScmFile(); |
|
|
|
scmFile.setFilePath(filePath); |
|
|
|
scmFile.setLinkSid(sid); |
|
|
|
scmFileService.save(scmFile); |
|
|
|
} |
|
|
|
return rb.success().setMsg("添加成功"); |
|
|
|
} |
|
|
|
ScmCollectionRebateDistribution scmCollectionRebateDistribution = fetchBySid(dtoSid); |
|
|
|
if (scmCollectionRebateDistribution == null) { |
|
|
|
return rb.setMsg("该分配信息不存在"); |
|
|
|
} |
|
|
|
this.updateByDto(dto); |
|
|
|
scmCollectionRebateDistributionVehService.delByMainSid(dtoSid); |
|
|
|
scmFileService.delByMainSid(dtoSid); |
|
|
|
if (scmCollectionRebateVehs != null) { |
|
|
|
for (ScmCollectionRebateDistributionVehDto scmCollectionRebateVehDto : scmCollectionRebateVehs) { |
|
|
|
scmCollectionRebateVehDto.setMainSid(dtoSid); |
|
|
|
scmCollectionRebateDistributionVehService.insertByDto(scmCollectionRebateVehDto); |
|
|
|
} |
|
|
|
} |
|
|
|
for (ScmCollectionRebateDistributionFile url : urls) { |
|
|
|
String filePath = url.getUrl().replace(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
ScmFile scmFile = new ScmFile(); |
|
|
|
scmFile.setFilePath(filePath); |
|
|
|
scmFile.setLinkSid(dtoSid); |
|
|
|
scmFileService.save(scmFile); |
|
|
|
} |
|
|
|
return rb.success().setMsg("修改成功"); |
|
|
|
} else if ("1".equals(state)) { |
|
|
|
baseMapper.updateStateAndSubmitDate(dtoSid, state); |
|
|
|
return rb.success().setMsg("提交成功"); |
|
|
|
} else if ("2".equals(state)) { |
|
|
|
baseMapper.updateState(dtoSid, state); |
|
|
|
return rb.success().setMsg("确认成功"); |
|
|
|
} else if ("3".equals(state)) { |
|
|
|
baseMapper.updateState(dtoSid, state); |
|
|
|
return rb.success().setMsg("退回成功"); |
|
|
|
} |
|
|
|
ScmCollectionRebateDistribution scmCollectionRebateDistribution = fetchBySid(dtoSid); |
|
|
|
if (scmCollectionRebateDistribution == null){ |
|
|
|
return rb.setMsg("该分配信息不存在"); |
|
|
|
} |
|
|
|
this.updateByDto(dto); |
|
|
|
scmCollectionRebateDistributionVehService.delByMainSid(dtoSid); |
|
|
|
scmFileService.delByMainSid(dtoSid); |
|
|
|
if (!scmCollectionRebateVehs.isEmpty()){ |
|
|
|
for (ScmCollectionRebateDistributionVehDto scmCollectionRebateVehDto : scmCollectionRebateVehs) { |
|
|
|
scmCollectionRebateVehDto.setMainSid(dtoSid); |
|
|
|
scmCollectionRebateDistributionVehService.insertByDto(scmCollectionRebateVehDto); |
|
|
|
} |
|
|
|
} |
|
|
|
for (ScmCollectionRebateDistributionFile url : urls) { |
|
|
|
String filePath = url.getUrl().replace(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
ScmFile scmFile = new ScmFile(); |
|
|
|
scmFile.setFilePath(filePath); |
|
|
|
scmFile.setLinkSid(dtoSid); |
|
|
|
scmFileService.save(scmFile); |
|
|
|
} |
|
|
|
return rb.success().setMsg("修改成功"); |
|
|
|
} |
|
|
|
|
|
|
|
public String insertByDto(ScmCollectionRebateDistributionDto dto){ |
|
|
|
ScmCollectionRebateDistribution entity = new ScmCollectionRebateDistribution(); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
baseMapper.insert(entity); |
|
|
|
return entity.getSid(); |
|
|
|
} |
|
|
|
|
|
|
|
public void updateByDto(ScmCollectionRebateDistributionDto dto){ |
|
|
|
String dtoSid = dto.getSid(); |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
|
public String insertByDto(ScmCollectionRebateDistributionDto dto) { |
|
|
|
ScmCollectionRebateDistribution entity = new ScmCollectionRebateDistribution(); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
baseMapper.insert(entity); |
|
|
|
return entity.getSid(); |
|
|
|
} |
|
|
|
|
|
|
|
public void updateByDto(ScmCollectionRebateDistributionDto dto) { |
|
|
|
String dtoSid = dto.getSid(); |
|
|
|
if (StringUtils.isBlank(dtoSid)) { |
|
|
|
return; |
|
|
|
} |
|
|
|
ScmCollectionRebateDistribution entity = fetchBySid(dtoSid); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
baseMapper.updateById(entity); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<ScmCollectionRebateDistributionDetailsVo> fetchDetailsVoBySid(String sid){ |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
ScmCollectionRebateDistribution entity = fetchBySid(sid); |
|
|
|
ScmCollectionRebateDistributionDetailsVo vo = new ScmCollectionRebateDistributionDetailsVo(); |
|
|
|
BeanUtil.copyProperties(entity, vo); |
|
|
|
List<ScmCollectionRebateDistributionVehDetailsVo> scmCollectionRebateDistributionVehDetailsVos = scmCollectionRebateDistributionVehService.selByMainSid(sid); |
|
|
|
vo.setScmCollectionRebateVehs(scmCollectionRebateDistributionVehDetailsVos); |
|
|
|
List<ScmFileVo> scmFileVos = scmFileService.fetchByMainSid(sid); |
|
|
|
List<ScmCollectionRebateDistributionFile> urls = new ArrayList<>(); |
|
|
|
for (ScmFileVo scmFileVo : scmFileVos) { |
|
|
|
ScmCollectionRebateDistributionFile scmCollectionRebateDistributionFile = new ScmCollectionRebateDistributionFile(); |
|
|
|
scmCollectionRebateDistributionFile.setUrl(fileUploadComponent.getUrlPrefix() + scmFileVo.getFilePath()); |
|
|
|
urls.add(scmCollectionRebateDistributionFile); |
|
|
|
} |
|
|
|
vo.setUrls(urls); |
|
|
|
return rb.success().setData(vo); |
|
|
|
} |
|
|
|
} |
|
|
|
ScmCollectionRebateDistribution entity = fetchBySid(dtoSid); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
baseMapper.updateById(entity); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<ScmCollectionRebateDistributionDetailsVo> fetchDetailsVoBySid(String sid) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
ScmCollectionRebateDistribution entity = fetchBySid(sid); |
|
|
|
ScmCollectionRebateDistributionDetailsVo vo = new ScmCollectionRebateDistributionDetailsVo(); |
|
|
|
BeanUtil.copyProperties(entity, vo); |
|
|
|
List<ScmCollectionRebateDistributionVehDetailsVo> scmCollectionRebateDistributionVehDetailsVos = scmCollectionRebateDistributionVehService.selByMainSid(sid); |
|
|
|
vo.setScmCollectionRebateVehs(scmCollectionRebateDistributionVehDetailsVos); |
|
|
|
List<ScmFileVo> scmFileVos = scmFileService.fetchByMainSid(sid); |
|
|
|
List<ScmCollectionRebateDistributionFile> urls = new ArrayList<>(); |
|
|
|
for (ScmFileVo scmFileVo : scmFileVos) { |
|
|
|
ScmCollectionRebateDistributionFile scmCollectionRebateDistributionFile = new ScmCollectionRebateDistributionFile(); |
|
|
|
scmCollectionRebateDistributionFile.setUrl(fileUploadComponent.getUrlPrefix() + scmFileVo.getFilePath()); |
|
|
|
urls.add(scmCollectionRebateDistributionFile); |
|
|
|
} |
|
|
|
vo.setUrls(urls); |
|
|
|
return rb.success().setData(vo); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<List<String>> selVinNo() { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
List<String> vinNos = baseMapper.selVinNo(); |
|
|
|
return rb.success().setData(vinNos); |
|
|
|
} |
|
|
|
|
|
|
|
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); |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
} |