|
|
@ -42,6 +42,7 @@ 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; |
|
|
|
import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebate; |
|
|
|
import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateVo; |
|
|
|
import com.yxt.anrui.scm.api.scmspecialrebatecheckapply.flow.GetNodeQuery; |
|
|
|
import com.yxt.anrui.scm.api.scmspecialrebatecheckapply.flow.GetNodeVo; |
|
|
@ -49,6 +50,7 @@ import com.yxt.anrui.scm.api.scmspecialrebatecheckapply.flow.SubmitScmSpecialReb |
|
|
|
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.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailVo; |
|
|
|
import com.yxt.anrui.scm.biz.scmspecialrebate.ScmSpecialRebateService; |
|
|
|
import com.yxt.anrui.scm.biz.scmspecialrebatecheckapplydetail.ScmSpecialrebateCheckapplydetailService; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
@ -88,6 +90,8 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe |
|
|
|
@Autowired |
|
|
|
private ScmSpecialrebateCheckapplydetailService scmSpecialrebateCheckapplydetailService; |
|
|
|
@Autowired |
|
|
|
private ScmSpecialRebateService scmSpecialRebateService; |
|
|
|
@Autowired |
|
|
|
private SysStaffOrgFeign sysStaffOrgFeign; |
|
|
|
@Autowired |
|
|
|
private FlowableFeign flowableFeign; |
|
|
@ -163,11 +167,11 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe |
|
|
|
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("."))); |
|
|
|
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; |
|
|
@ -257,32 +261,32 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
ScmSpecialrebateCheckapplyDetailsVo scmSpecialrebateCheckapplyDetailsVo = new ScmSpecialrebateCheckapplyDetailsVo(); |
|
|
|
ScmSpecialrebateCheckapply scmSpecialrebateCheckapply = fetchBySid(sid); |
|
|
|
BeanUtil.copyProperties(scmSpecialrebateCheckapply,scmSpecialrebateCheckapplyDetailsVo); |
|
|
|
BeanUtil.copyProperties(scmSpecialrebateCheckapply, scmSpecialrebateCheckapplyDetailsVo); |
|
|
|
List<ScmSpecialrebateCheckapplydetailDetailsVo> scmWhenSpecialrebateCheckapplydetailDetailsVos = scmSpecialrebateCheckapplydetailService.fetchWhenDetailsVoBySid(sid); |
|
|
|
if (scmWhenSpecialrebateCheckapplydetailDetailsVos.size() > 0){ |
|
|
|
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("."))); |
|
|
|
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){ |
|
|
|
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("."))); |
|
|
|
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); |
|
|
@ -344,9 +348,9 @@ public class ScmSpecialrebateCheckapplyService 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
|
|
|
@ -356,10 +360,15 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe |
|
|
|
bv.setFormVariables(variables); |
|
|
|
//流程定义id
|
|
|
|
bv.setModelId(ProcDefEnum.SCMSPECIALREBATECHECKAPPLY.getProDefId()); |
|
|
|
//查询单车明细
|
|
|
|
List<ScmSpecialrebateCheckapplydetailDetailsVo> scmSpecialrebateCheckapplydetailDetailsVos = scmSpecialrebateCheckapplydetailService.selByMainSid(dto.getSid()); |
|
|
|
if (r == 1) { |
|
|
|
ResultBean<UpdateFlowFieldVo> voResultBean = flowFeign.startProcess(bv); |
|
|
|
UpdateFlowFieldVo ufVo = voResultBean.getData(); |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(ufVo)); |
|
|
|
for (ScmSpecialrebateCheckapplydetailDetailsVo scmSpecialrebateCheckapplydetailDetailsVo : scmSpecialrebateCheckapplydetailDetailsVos) { |
|
|
|
scmSpecialRebateService.updateState(scmSpecialrebateCheckapplydetailDetailsVo.getSpecialRebateSid(), 3); |
|
|
|
} |
|
|
|
return voResultBean; |
|
|
|
} |
|
|
|
if (r == 2) { |
|
|
@ -371,6 +380,9 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe |
|
|
|
bv.setTaskDefKey(scmSpecialrebateCheckapply.getNodeSid()); |
|
|
|
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); |
|
|
|
bv.setInstanceId(dto.getInstanceId()); |
|
|
|
for (ScmSpecialrebateCheckapplydetailDetailsVo scmSpecialrebateCheckapplydetailDetailsVo : scmSpecialrebateCheckapplydetailDetailsVos) { |
|
|
|
scmSpecialRebateService.updateState(scmSpecialrebateCheckapplydetailDetailsVo.getSpecialRebateSid(), 3); |
|
|
|
} |
|
|
|
return complete(bv); |
|
|
|
} |
|
|
|
return rb; |
|
|
@ -418,6 +430,10 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe |
|
|
|
} |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { |
|
|
|
List<ScmSpecialrebateCheckapplydetailDetailsVo> scmSpecialrebateCheckapplydetailDetailsVos = scmSpecialrebateCheckapplydetailService.selByMainSid(bv.getBusinessSid()); |
|
|
|
for (ScmSpecialrebateCheckapplydetailDetailsVo scmSpecialrebateCheckapplydetailDetailsVo : scmSpecialrebateCheckapplydetailDetailsVos) { |
|
|
|
scmSpecialRebateService.updateState(scmSpecialrebateCheckapplydetailDetailsVo.getSpecialRebateSid(), 4); |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} else { |
|
|
@ -483,16 +499,36 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe |
|
|
|
} |
|
|
|
ScmSpecialrebateCheckapply scmSpecialrebateCheckapply = fetchBySid(query.getBusinessSid()); |
|
|
|
String businessTaskId = scmSpecialrebateCheckapply.getTaskId(); |
|
|
|
List<ScmSpecialrebateCheckapplydetailDetailsVo> scmSpecialrebateCheckapplydetailDetailsVos = scmSpecialrebateCheckapplydetailService.selByMainSid(query.getBusinessSid()); |
|
|
|
if (StringUtils.isNotBlank(businessTaskId)) { |
|
|
|
if (businessTaskId.equals(query.getTaskId())) { |
|
|
|
if (query.getUserSid().equals(scmSpecialrebateCheckapply.getCreateBySid())) { |
|
|
|
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo flowTaskVo = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(query, flowTaskVo); |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData()); |
|
|
|
updateFlowFiled(map); |
|
|
|
for (ScmSpecialrebateCheckapplydetailDetailsVo scmSpecialrebateCheckapplydetailDetailsVo : scmSpecialrebateCheckapplydetailDetailsVos) { |
|
|
|
scmSpecialRebateService.updateState(scmSpecialrebateCheckapplydetailDetailsVo.getSpecialRebateSid(), 2); |
|
|
|
} |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} else { |
|
|
|
if (businessTaskId.equals(query.getTaskId())) { |
|
|
|
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo flowTaskVo = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(query, flowTaskVo); |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData()); |
|
|
|
updateFlowFiled(map); |
|
|
|
for (ScmSpecialrebateCheckapplydetailDetailsVo scmSpecialrebateCheckapplydetailDetailsVo : scmSpecialrebateCheckapplydetailDetailsVos) { |
|
|
|
scmSpecialRebateService.updateState(scmSpecialrebateCheckapplydetailDetailsVo.getSpecialRebateSid(), 2); |
|
|
|
} |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致!"); |
|
|
@ -521,7 +557,7 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService<ScmSpe |
|
|
|
bv.setModelId(ProcDefEnum.SCMSPECIALREBATECHECKAPPLY.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); |
|
|
|
} |
|
|
|