|
|
@ -36,6 +36,7 @@ import com.yxt.anrui.flowable.api.utils.ProcDefEnum; |
|
|
|
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; |
|
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; |
|
|
|
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.portal.api.sysuser.SysUserVo; |
|
|
|
import com.yxt.anrui.scm.api.flow.FlowTaskVo; |
|
|
@ -45,6 +46,8 @@ import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.SubmitScmSpecialReb |
|
|
|
import com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetail; |
|
|
|
import com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailDetailsVo; |
|
|
|
import com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailDto; |
|
|
|
import com.yxt.anrui.scm.api.scmspecialrebatewithapply.ScmSpecialRebateWithApplyVo; |
|
|
|
import com.yxt.anrui.scm.biz.scmspecialrebate.ScmSpecialRebateService; |
|
|
|
import com.yxt.anrui.scm.biz.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailService; |
|
|
|
import com.yxt.anrui.scm.biz.scmspecialrebatevehs.ScmSpecialrebateVehsService; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
@ -63,6 +66,7 @@ import com.yxt.anrui.scm.api.scmspecialrebatedistribute.ScmSpecialrebatedistribu |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.*; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
@ -94,29 +98,67 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe |
|
|
|
private FlowTaskFeign flowTaskFeign; |
|
|
|
@Autowired |
|
|
|
private SysUserFeign sysUserFeign; |
|
|
|
|
|
|
|
private QueryWrapper<ScmSpecialrebatedistribute> createQueryWrapper(ScmSpecialrebatedistributeQuery query) { |
|
|
|
// todo: 这里根据具体业务调整查询条件
|
|
|
|
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
|
|
|
QueryWrapper<ScmSpecialrebatedistribute> qw = new QueryWrapper<>(); |
|
|
|
return qw; |
|
|
|
} |
|
|
|
@Autowired |
|
|
|
private ScmSpecialRebateService scmSpecialRebateService; |
|
|
|
|
|
|
|
public PagerVo<ScmSpecialrebatedistributeVo> listPageVo(PagerQuery<ScmSpecialrebatedistributeQuery> pq) { |
|
|
|
ScmSpecialrebatedistributeQuery query = pq.getParams(); |
|
|
|
QueryWrapper<ScmSpecialrebatedistribute> qw = new QueryWrapper<>(); |
|
|
|
qw.eq("createOrgSid", query.getCreateOrgSid()); |
|
|
|
if (StringUtils.isNotBlank(query.getBrandSid())) { |
|
|
|
qw.eq("brandSid", query.getBrandSid()); |
|
|
|
//========================================数据授权开始
|
|
|
|
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("sp.orgPath", orgSidPath); |
|
|
|
} else if ("2".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i2); |
|
|
|
qw.like("sp.orgPath", orgSidPath); |
|
|
|
} else if ("3".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i3); |
|
|
|
qw.like("sp.orgPath", orgSidPath); |
|
|
|
} else if ("4".equals(orgLevelKey)) { |
|
|
|
orgSidPath = orgSidPath.substring(0, i4); |
|
|
|
qw.like("sp.orgPath", orgSidPath); |
|
|
|
} else if ("5".equals(orgLevelKey)) { |
|
|
|
qw.eq("sp.createBySid", query.getUserSid()); |
|
|
|
} else { |
|
|
|
PagerVo<ScmSpecialrebatedistributeVo> p = new PagerVo<>(); |
|
|
|
return p; |
|
|
|
} |
|
|
|
} else { |
|
|
|
PagerVo<ScmSpecialrebatedistributeVo> p = new PagerVo<>(); |
|
|
|
return p; |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getTitle())) { |
|
|
|
qw.like("title", query.getTitle()); |
|
|
|
qw.like("sp.title", query.getTitle()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getCreateOrgName())) { |
|
|
|
qw.like("sp.createOrgName", query.getCreateOrgName()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getPurchaseSystemName())) { |
|
|
|
qw.like("sp.purchaseSystemName", query.getPurchaseSystemName()); |
|
|
|
} |
|
|
|
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.apply(StringUtils.isNotBlank(createStartTime), "date_format (sp.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). |
|
|
|
apply(StringUtils.isNotBlank(createEndTime), "date_format (sp.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
qw.groupBy("sp.sid"); |
|
|
|
IPage<ScmSpecialrebatedistribute> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<ScmSpecialrebatedistributeVo> pagging = baseMapper.selectPageVo(page, qw); |
|
|
|
PagerVo<ScmSpecialrebatedistributeVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
@ -138,7 +180,7 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe |
|
|
|
return rb.success().setMsg("保存成功").setData(sid); |
|
|
|
} |
|
|
|
ScmSpecialrebatedistribute scmSpecialrebatedistribute = fetchBySid(dtoSid); |
|
|
|
if (scmSpecialrebatedistribute == null){ |
|
|
|
if (scmSpecialrebatedistribute == null) { |
|
|
|
return rb.setMsg("该分配申请不存在"); |
|
|
|
} |
|
|
|
this.updateByDto(dto); |
|
|
@ -182,9 +224,7 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe |
|
|
|
String specialRebateSid = record.getSpecialRebateSid(); |
|
|
|
int disVehCount = scmSpecialrebateVehsService.getDisVehCount(specialRebateSid); |
|
|
|
record.setDisNum(String.valueOf(disVehCount)); |
|
|
|
String uploadMoney = record.getUploadMoney(); |
|
|
|
int i = Integer.parseInt(uploadMoney); |
|
|
|
record.setUnitSetAllocationMoney(String.valueOf(i/disVehCount)); |
|
|
|
record.setUnitSetAllocationMoney(new BigDecimal(record.getUploadMoney()).divide(new BigDecimal(disVehCount)).toString()); |
|
|
|
} |
|
|
|
vo.setScmSpecialrebatedistributedetails(scmSpecialrebatedistributedetailDetailsVos); |
|
|
|
return rb.success().setData(vo); |
|
|
@ -239,9 +279,9 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe |
|
|
|
//若有网关,则赋值网关中判断的字段。
|
|
|
|
variables.put("businessSid", businessSid); |
|
|
|
//=====================添加app所需参数
|
|
|
|
Map<String,Object> appMap = new HashMap<>(); |
|
|
|
appMap.put("sid",businessSid); |
|
|
|
variables.put("app",appMap); |
|
|
|
Map<String, Object> appMap = new HashMap<>(); |
|
|
|
appMap.put("sid", businessSid); |
|
|
|
variables.put("app", appMap); |
|
|
|
//用户的部门全路径sid
|
|
|
|
bv.setOrgSidPath(orgSidPath); |
|
|
|
//业务sid
|
|
|
@ -255,6 +295,7 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe |
|
|
|
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv); |
|
|
|
UpdateFlowFieldVo ufVo = voResultBean.getData(); |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(ufVo)); |
|
|
|
scmSpecialRebateService.updateState(businessSid, 5); |
|
|
|
return voResultBean; |
|
|
|
} |
|
|
|
if (r == 2) { |
|
|
@ -313,6 +354,7 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe |
|
|
|
} |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { |
|
|
|
scmSpecialRebateService.updateState(bv.getBusinessSid(), 6); |
|
|
|
} |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} else { |
|
|
@ -387,6 +429,7 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
scmSpecialRebateService.updateState(query.getBusinessSid(), 4); |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} |
|
|
|
} |
|
|
@ -416,7 +459,7 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe |
|
|
|
bv.setModelId(ProcDefEnum.SCMSPECIALREBATECHEDISTRIBUTE.getProDefId()); |
|
|
|
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); |
|
|
|
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
|
|
|
|
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m),GetNodeVo.class)).collect(Collectors.toList()); |
|
|
|
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); |
|
|
|
// List<GetNodeVo> voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
|
|
|
|
return rb.success().setData(voList); |
|
|
|
} |
|
|
|