|
|
@ -57,6 +57,7 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; |
|
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.SysUserVo; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.UserQuery; |
|
|
|
import com.yxt.common.base.utils.DateUtils; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
|
@ -132,12 +133,13 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
return p; |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean saveOrUpdateDto(BaseAccadjApplyDto dto) { |
|
|
|
public ResultBean<String> saveOrUpdateDto(BaseAccadjApplyDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String dtoSid = dto.getSid(); |
|
|
|
List<String> accSids = dto.getAccSids(); |
|
|
|
if (StringUtils.isBlank(dtoSid)) {//新增
|
|
|
|
dto.setApplyDate(DateUtil.today()); |
|
|
|
dto.setNodeState("待提交"); |
|
|
|
ResultBean resultBean = this.insertByDto(dto); |
|
|
|
String sid = (String) resultBean.getData(); |
|
|
|
for (String accSid : accSids) { |
|
|
@ -146,7 +148,7 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
baseAccadjApplyeVeh.setPurchaseSid(accSid); |
|
|
|
baseAccadjApplyeVehService.save(baseAccadjApplyeVeh); |
|
|
|
} |
|
|
|
return rb.success().setMsg("保存成功"); |
|
|
|
return rb.success().setMsg("保存成功").setData(resultBean.getData()); |
|
|
|
} |
|
|
|
BaseAccadjApply baseAccadjApply = fetchBySid(dtoSid); |
|
|
|
if (baseAccadjApply == null) { |
|
|
@ -160,10 +162,10 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
baseAccadjApplyeVeh.setPurchaseSid(accSid); |
|
|
|
baseAccadjApplyeVehService.save(baseAccadjApplyeVeh); |
|
|
|
} |
|
|
|
return rb.success().setMsg("修改成功"); |
|
|
|
return rb.success().setMsg("修改成功").setData(dtoSid); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean insertByDto(BaseAccadjApplyDto dto) { |
|
|
|
public ResultBean<String> insertByDto(BaseAccadjApplyDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BaseAccadjApply entity = new BaseAccadjApply(); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
@ -187,6 +189,7 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
BaseAccadjApplyDetailsVo vo = new BaseAccadjApplyDetailsVo(); |
|
|
|
List<BaseInternalPurchaseVehicle> baseInternalPurchaseVehicles = new ArrayList<>(); |
|
|
|
BeanUtil.copyProperties(entity, vo); |
|
|
|
vo.setInstanceId(entity.getProcInstId()); |
|
|
|
String sid1 = vo.getSid(); |
|
|
|
List<String> stringList = baseAccadjApplyeVehService.fetchByMainSid(sid1); |
|
|
|
for (String s : stringList) { |
|
|
@ -212,8 +215,8 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
if (StringUtils.isNotBlank(query.getVinNo())) { |
|
|
|
qw.like("bipv.vinNo", query.getVinNo()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getShuntingType())){ |
|
|
|
qw.eq("bip.shuntingType",query.getShuntingType()); |
|
|
|
if (StringUtils.isNotBlank(query.getShuntingTypeKey())) { |
|
|
|
qw.eq("bip.shuntingTypeKey", query.getShuntingTypeKey()); |
|
|
|
} |
|
|
|
qw.eq("bip.buyerOrgSid", callInOrgSid); |
|
|
|
qw.eq("bip.sellerOrgSid", callOutOrgSid); |
|
|
@ -229,6 +232,11 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
|
|
|
|
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) { |
|
|
|
baseAccadjApplyeVehService.delByMainSid(sid); |
|
|
@ -355,6 +363,61 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean InitiatorToAnswer(BusinessVariables bv) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BaseAccadjApply baseAccadjApply = fetchBySid(bv.getBusinessSid()); |
|
|
|
if (baseAccadjApply.getAccadjTypeValue().equals("调入")) { |
|
|
|
String callOutOrgSid = baseAccadjApply.getCallOutOrgSid(); |
|
|
|
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(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<String> candidateGroups = voList.get(0).getCandidateGroups(); |
|
|
|
UserQuery userQuery = new UserQuery(); |
|
|
|
userQuery.setRoleSid(candidateGroups.get(0)); |
|
|
|
userQuery.setOrgSidPath("11/11/" + callOutOrgSid + "/11"); |
|
|
|
List<SysUserVo> sysUserVos = sysUserFeign.getUserByRole(userQuery).getData(); |
|
|
|
StringBuilder nextNodeUserSids =new StringBuilder(); |
|
|
|
if (sysUserVos.size() > 0) { |
|
|
|
for (SysUserVo sysUserVo : sysUserVos) { |
|
|
|
String sid = sysUserVo.getSid(); |
|
|
|
nextNodeUserSids.append(sid).append(","); |
|
|
|
} |
|
|
|
} |
|
|
|
String substring = nextNodeUserSids.substring(0,nextNodeUserSids.lastIndexOf(",")); |
|
|
|
bv.setNextNodeUserSids(substring); |
|
|
|
} |
|
|
|
if (baseAccadjApply.getAccadjTypeValue().equals("调出")) { |
|
|
|
String callInOrgSid = baseAccadjApply.getCallInOrgSid(); |
|
|
|
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(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<String> candidateGroups = voList.get(0).getCandidateGroups(); |
|
|
|
UserQuery userQuery = new UserQuery(); |
|
|
|
userQuery.setRoleSid(candidateGroups.get(0)); |
|
|
|
userQuery.setOrgSidPath("11/11/" + callInOrgSid + "/11"); |
|
|
|
List<SysUserVo> sysUserVos = sysUserFeign.getUserByRole(userQuery).getData(); |
|
|
|
StringBuilder nextNodeUserSids =new StringBuilder(); |
|
|
|
if (sysUserVos.size() > 0) { |
|
|
|
for (SysUserVo sysUserVo : sysUserVos) { |
|
|
|
String sid = sysUserVo.getSid(); |
|
|
|
nextNodeUserSids.append(sid).append(","); |
|
|
|
} |
|
|
|
} |
|
|
|
String substring = nextNodeUserSids.substring(0,nextNodeUserSids.lastIndexOf(",")); |
|
|
|
bv.setNextNodeUserSids(substring); |
|
|
|
} |
|
|
|
if (bv.getTaskId().equals(baseAccadjApply.getTaskId())) { |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} else { |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) { |
|
|
|
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail(); |
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
@ -457,4 +520,6 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
} |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致!"); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |