|
|
@ -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.ConstantUtils; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
|
@ -90,347 +91,422 @@ import java.util.stream.Collectors; |
|
|
|
@Service |
|
|
|
public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternalPurchaseMapper, BaseInternalPurchase> { |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private BaseInternalPurchaseVehicleService baseInternalPurchaseVehicleService; |
|
|
|
@Autowired |
|
|
|
private SysStaffOrgFeign sysStaffOrgFeign; |
|
|
|
@Autowired |
|
|
|
private FlowableFeign flowableFeign; |
|
|
|
@Autowired |
|
|
|
private FlowTaskFeign flowTaskFeign; |
|
|
|
@Autowired |
|
|
|
private SysUserFeign sysUserFeign; |
|
|
|
@Autowired |
|
|
|
private SysOrganizationFeign sysOrganizationFeign; |
|
|
|
@Autowired |
|
|
|
private BaseInternalPurchaseVehicleService baseInternalPurchaseVehicleService; |
|
|
|
@Autowired |
|
|
|
private SysStaffOrgFeign sysStaffOrgFeign; |
|
|
|
@Autowired |
|
|
|
private FlowableFeign flowableFeign; |
|
|
|
@Autowired |
|
|
|
private FlowTaskFeign flowTaskFeign; |
|
|
|
@Autowired |
|
|
|
private SysUserFeign sysUserFeign; |
|
|
|
@Autowired |
|
|
|
private SysOrganizationFeign sysOrganizationFeign; |
|
|
|
|
|
|
|
private QueryWrapper<BaseInternalPurchase> createQueryWrapper(BaseInternalPurchaseQuery query) { |
|
|
|
// todo: 这里根据具体业务调整查询条件
|
|
|
|
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
|
|
|
QueryWrapper<BaseInternalPurchase> qw = new QueryWrapper<>(); |
|
|
|
return qw; |
|
|
|
} |
|
|
|
|
|
|
|
public PagerVo<BaseInternalPurchaseVo> listPageVo(PagerQuery<BaseInternalPurchaseQuery> pq) { |
|
|
|
BaseInternalPurchaseQuery query = pq.getParams(); |
|
|
|
QueryWrapper<BaseInternalPurchase> qw = new QueryWrapper<>(); |
|
|
|
String createStartTime = query.getCreateStartTime(); |
|
|
|
String createEndTime = query.getCreateEndTime(); |
|
|
|
qw.eq("bip.createOrgSid",query.getCreateOrgSid()); |
|
|
|
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (bip.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). |
|
|
|
apply(StringUtils.isNotBlank(createEndTime), "date_format (bip.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
if (StringUtils.isNotBlank(query.getNodeState())){ |
|
|
|
//qw.eq("bip.nodeState",query.getNodeState());
|
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getSellerOrgSid())){ |
|
|
|
qw.like("bip.sellerOrgSid",query.getSellerOrgSid()); |
|
|
|
} |
|
|
|
IPage<BaseInternalPurchase> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<BaseInternalPurchaseVo> pagging = baseMapper.selectPageVo(page, qw); |
|
|
|
PagerVo<BaseInternalPurchaseVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<BaseInternalPurchaseDetailsVo> fetchDetailsVoBySid(String sid){ |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BaseInternalPurchaseDetailsVo baseInternalPurchaseDetailsVo = new BaseInternalPurchaseDetailsVo(); |
|
|
|
BaseInternalPurchase entity = fetchBySid(sid); |
|
|
|
BeanUtil.copyProperties(entity, baseInternalPurchaseDetailsVo); |
|
|
|
List<BaseInternalPurchaseVehicleVo> baseInternalPurchaseVehicleVos = baseInternalPurchaseVehicleService.fetchByMainSid(sid); |
|
|
|
baseInternalPurchaseDetailsVo.setBaseInternalPurchaseVehicles(baseInternalPurchaseVehicleVos); |
|
|
|
return rb.success().setData(baseInternalPurchaseDetailsVo); |
|
|
|
} |
|
|
|
private QueryWrapper<BaseInternalPurchase> createQueryWrapper(BaseInternalPurchaseQuery query) { |
|
|
|
// todo: 这里根据具体业务调整查询条件
|
|
|
|
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
|
|
|
QueryWrapper<BaseInternalPurchase> qw = new QueryWrapper<>(); |
|
|
|
return qw; |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<String> saveAll(BaseInternalPurchaseDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String dtoSid = dto.getSid(); |
|
|
|
List<BaseInternalPurchaseVehicleDto> baseInternalPurchaseVehicles = dto.getBaseInternalPurchaseVehicles(); |
|
|
|
if (StringUtils.isBlank(dtoSid)) {//新增
|
|
|
|
String sellerOrgName = dto.getSellerOrgName(); |
|
|
|
if (StringUtils.isBlank(sellerOrgName)){ |
|
|
|
return rb.setMsg("售方机构不能为空"); |
|
|
|
} |
|
|
|
BaseInternalPurchase baseInternalPurchase = new BaseInternalPurchase(); |
|
|
|
String sid = baseInternalPurchase.getSid(); |
|
|
|
BeanUtil.copyProperties(dto,baseInternalPurchase); |
|
|
|
baseInternalPurchase.setSid(sid); |
|
|
|
//申请编号规则:单据名称大写首字母+品牌编码+分公司编码+年份+月份+4位顺序号
|
|
|
|
//获取单据名称大写首字母+品牌编码+分公司编码+年份+月份
|
|
|
|
String billNo = getApplyCode(dto.getCreateBySid()); |
|
|
|
baseInternalPurchase.setNodeState("待提交"); |
|
|
|
baseInternalPurchase.setApplyNo(billNo); |
|
|
|
save(baseInternalPurchase); |
|
|
|
for (BaseInternalPurchaseVehicleDto baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) { |
|
|
|
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = new BaseInternalPurchaseVehicle(); |
|
|
|
String sid1 = baseInternalPurchaseVehicle1.getSid(); |
|
|
|
BeanUtil.copyProperties(baseInternalPurchaseVehicle,baseInternalPurchaseVehicle1); |
|
|
|
baseInternalPurchaseVehicle1.setSid(sid1); |
|
|
|
baseInternalPurchaseVehicle1.setMainSid(sid); |
|
|
|
baseInternalPurchaseVehicleService.save(baseInternalPurchaseVehicle1); |
|
|
|
} |
|
|
|
return rb.success().setMsg("保存成功").setData(baseInternalPurchase.getSid()); |
|
|
|
} |
|
|
|
BaseInternalPurchase baseInternalPurchase = fetchBySid(dtoSid); |
|
|
|
if (baseInternalPurchase == null){ |
|
|
|
return rb.setMsg("该内购申请单不存在"); |
|
|
|
} |
|
|
|
updateBySid(dto.toMap(),dtoSid); |
|
|
|
baseInternalPurchaseVehicleService.delByMainSid(dtoSid); |
|
|
|
for (BaseInternalPurchaseVehicleDto baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) { |
|
|
|
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = new BaseInternalPurchaseVehicle(); |
|
|
|
String sid1 = baseInternalPurchaseVehicle1.getSid(); |
|
|
|
BeanUtil.copyProperties(baseInternalPurchaseVehicle,baseInternalPurchaseVehicle1); |
|
|
|
baseInternalPurchaseVehicle1.setSid(sid1); |
|
|
|
baseInternalPurchaseVehicle1.setMainSid(dtoSid); |
|
|
|
baseInternalPurchaseVehicleService.save(baseInternalPurchaseVehicle1); |
|
|
|
} |
|
|
|
return rb.success().setMsg("修改成功").setData(dtoSid); |
|
|
|
} |
|
|
|
public PagerVo<BaseInternalPurchaseVo> listPageVo(PagerQuery<BaseInternalPurchaseQuery> pq) { |
|
|
|
BaseInternalPurchaseQuery query = pq.getParams(); |
|
|
|
QueryWrapper<BaseInternalPurchase> qw = new QueryWrapper<>(); |
|
|
|
String createStartTime = query.getCreateStartTime(); |
|
|
|
String createEndTime = query.getCreateEndTime(); |
|
|
|
qw.eq("bip.createOrgSid", query.getCreateOrgSid()); |
|
|
|
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (bip.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). |
|
|
|
apply(StringUtils.isNotBlank(createEndTime), "date_format (bip.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
if (StringUtils.isNotBlank(query.getNodeState())) { |
|
|
|
//qw.eq("bip.nodeState",query.getNodeState());
|
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getSellerOrgSid())) { |
|
|
|
qw.like("bip.sellerOrgSid", query.getSellerOrgSid()); |
|
|
|
} |
|
|
|
IPage<BaseInternalPurchase> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<BaseInternalPurchaseVo> pagging = baseMapper.selectPageVo(page, qw); |
|
|
|
PagerVo<BaseInternalPurchaseVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
|
|
|
|
public String getApplyCode(String userSid) { |
|
|
|
//获取分公司sid
|
|
|
|
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid); |
|
|
|
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(resultBean.getData()); |
|
|
|
String orgCode = resultBean1.getData().getOrgCode(); |
|
|
|
BillNo b = new BillNo(); |
|
|
|
b.setOrgCode(orgCode); |
|
|
|
b.setBillType(BillTypeEnum.NGSQ.getBillType()); |
|
|
|
String bill = Rule.getBill(b); |
|
|
|
int i = baseMapper.selectNum(bill); |
|
|
|
String billNo = Rule.getBillNo(bill, i); |
|
|
|
return billNo; |
|
|
|
} |
|
|
|
public ResultBean<BaseInternalPurchaseDetailsVo> fetchDetailsVoBySid(String sid) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BaseInternalPurchaseDetailsVo baseInternalPurchaseDetailsVo = new BaseInternalPurchaseDetailsVo(); |
|
|
|
BaseInternalPurchase entity = fetchBySid(sid); |
|
|
|
BeanUtil.copyProperties(entity, baseInternalPurchaseDetailsVo); |
|
|
|
//调入分公司sid
|
|
|
|
String buyerOrgSid = baseInternalPurchaseDetailsVo.getBuyerOrgSid(); |
|
|
|
//调出分公司sid
|
|
|
|
String sellerOrgSid = baseInternalPurchaseDetailsVo.getSellerOrgSid(); |
|
|
|
List<BaseInternalPurchaseVehicleVo> baseInternalPurchaseVehicleVos = baseInternalPurchaseVehicleService.fetchByMainSid(sid); |
|
|
|
for (BaseInternalPurchaseVehicleVo baseInternalPurchaseVehicleVo : baseInternalPurchaseVehicleVos) { |
|
|
|
//运费承担方sid
|
|
|
|
String freightUndertakerSid = baseInternalPurchaseVehicleVo.getFreightUndertakerSid(); |
|
|
|
if (freightUndertakerSid.equals(buyerOrgSid)) { |
|
|
|
baseInternalPurchaseVehicleVo.setFreightUndertakerType("调入分公司"); |
|
|
|
} else if (freightUndertakerSid.equals(sellerOrgSid)) { |
|
|
|
baseInternalPurchaseVehicleVo.setFreightUndertakerType("调出分公司"); |
|
|
|
} |
|
|
|
} |
|
|
|
baseInternalPurchaseDetailsVo.setBaseInternalPurchaseVehicles(baseInternalPurchaseVehicleVos); |
|
|
|
return rb.success().setData(baseInternalPurchaseDetailsVo); |
|
|
|
} |
|
|
|
|
|
|
|
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) { |
|
|
|
baseInternalPurchaseVehicleService.delByMainSid(sid); |
|
|
|
} |
|
|
|
return rb.success().setMsg("删除成功"); |
|
|
|
} |
|
|
|
public ResultBean<String> saveAll(BaseInternalPurchaseDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String dtoSid = dto.getSid(); |
|
|
|
List<BaseInternalPurchaseVehicleDto> baseInternalPurchaseVehicles = dto.getBaseInternalPurchaseVehicles(); |
|
|
|
if (StringUtils.isBlank(dtoSid)) {//新增
|
|
|
|
String sellerOrgName = dto.getSellerOrgName(); |
|
|
|
if (StringUtils.isBlank(sellerOrgName)) { |
|
|
|
return rb.setMsg("售方机构不能为空"); |
|
|
|
} |
|
|
|
BaseInternalPurchase baseInternalPurchase = new BaseInternalPurchase(); |
|
|
|
String sid = baseInternalPurchase.getSid(); |
|
|
|
BeanUtil.copyProperties(dto, baseInternalPurchase); |
|
|
|
baseInternalPurchase.setSid(sid); |
|
|
|
//申请编号规则:单据名称大写首字母+品牌编码+分公司编码+年份+月份+4位顺序号
|
|
|
|
//获取单据名称大写首字母+品牌编码+分公司编码+年份+月份
|
|
|
|
String billNo = getApplyCode(dto.getCreateBySid()); |
|
|
|
baseInternalPurchase.setNodeState("待提交"); |
|
|
|
baseInternalPurchase.setApplyNo(billNo); |
|
|
|
save(baseInternalPurchase); |
|
|
|
for (BaseInternalPurchaseVehicleDto baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) { |
|
|
|
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = new BaseInternalPurchaseVehicle(); |
|
|
|
String sid1 = baseInternalPurchaseVehicle1.getSid(); |
|
|
|
BeanUtil.copyProperties(baseInternalPurchaseVehicle, baseInternalPurchaseVehicle1); |
|
|
|
baseInternalPurchaseVehicle1.setSid(sid1); |
|
|
|
baseInternalPurchaseVehicle1.setMainSid(sid); |
|
|
|
baseInternalPurchaseVehicle1.setModelSid(baseInternalPurchaseVehicle.getVehicleSid()); |
|
|
|
baseInternalPurchaseVehicleService.save(baseInternalPurchaseVehicle1); |
|
|
|
} |
|
|
|
return rb.success().setMsg("保存成功").setData(baseInternalPurchase.getSid()); |
|
|
|
} |
|
|
|
BaseInternalPurchase baseInternalPurchase = fetchBySid(dtoSid); |
|
|
|
if (baseInternalPurchase == null) { |
|
|
|
return rb.setMsg("该内购申请单不存在"); |
|
|
|
} |
|
|
|
updateBySid(dto.toMap(), dtoSid); |
|
|
|
baseInternalPurchaseVehicleService.delByMainSid(dtoSid); |
|
|
|
for (BaseInternalPurchaseVehicleDto baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) { |
|
|
|
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = new BaseInternalPurchaseVehicle(); |
|
|
|
String sid1 = baseInternalPurchaseVehicle1.getSid(); |
|
|
|
BeanUtil.copyProperties(baseInternalPurchaseVehicle, baseInternalPurchaseVehicle1); |
|
|
|
baseInternalPurchaseVehicle1.setSid(sid1); |
|
|
|
baseInternalPurchaseVehicle1.setMainSid(dtoSid); |
|
|
|
baseInternalPurchaseVehicleService.save(baseInternalPurchaseVehicle1); |
|
|
|
} |
|
|
|
return rb.success().setMsg("修改成功").setData(dtoSid); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean submitBaseInternalPurchase(SubmitBaseInterNalPurchaseDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
//根据用户sid获取staffSid
|
|
|
|
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getCreateBySid()); |
|
|
|
if (!userVoResultBean.getSuccess()) { |
|
|
|
return rb.setMsg(userVoResultBean.getMsg()); |
|
|
|
} |
|
|
|
//根据staffSid获取用户的组织全路径
|
|
|
|
ResultBean<SysStaffOrg> orgByStaffSid = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); |
|
|
|
if (!orgByStaffSid.getSuccess()) { |
|
|
|
return rb.setMsg(orgByStaffSid.getMsg()); |
|
|
|
} |
|
|
|
//用户的组织全路径
|
|
|
|
String orgSidPath = orgByStaffSid.getData().getOrgSidPath(); |
|
|
|
BaseInternalPurchase baseInternalPurchase = fetchBySid(dto.getSid()); |
|
|
|
int r = submitBusinessData(dto, baseInternalPurchase); |
|
|
|
if (r == 3) { |
|
|
|
return rb.setMsg("该申请不存在"); |
|
|
|
} |
|
|
|
if (r == 0) { |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致"); |
|
|
|
} |
|
|
|
//新增修改保存
|
|
|
|
ResultBean<String> resultBean = saveAll(dto); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
String businessSid = resultBean.getData(); |
|
|
|
//创建BusinessVariables实体对象
|
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
|
//流程中的参数赋值
|
|
|
|
Map<String, Object> variables = BeanUtil.beanToMap(dto); |
|
|
|
//若有网关,则赋值网关中判断的字段。
|
|
|
|
variables.put("businessSid", businessSid); |
|
|
|
//用户的部门全路径sid
|
|
|
|
bv.setOrgSidPath(orgSidPath); |
|
|
|
//业务sid
|
|
|
|
bv.setBusinessSid(businessSid); |
|
|
|
//用户sid
|
|
|
|
bv.setUserSid(dto.getCreateBySid()); |
|
|
|
bv.setFormVariables(variables); |
|
|
|
//流程定义id
|
|
|
|
bv.setModelId(ProcDefEnum.BASEINTERNALPURCHASE.getProDefId()); |
|
|
|
if (r == 1) { |
|
|
|
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv); |
|
|
|
UpdateFlowFieldVo ufVo = voResultBean.getData(); |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(ufVo)); |
|
|
|
return voResultBean; |
|
|
|
} |
|
|
|
if (r == 2) { |
|
|
|
// ToDo:驳回到发起人后再次提交
|
|
|
|
if (StringUtils.isBlank(dto.getInstanceId())) { |
|
|
|
return rb.setMsg("参数错误:instanceId"); |
|
|
|
} |
|
|
|
bv.setTaskId(baseInternalPurchase.getTaskId()); |
|
|
|
bv.setTaskDefKey(baseInternalPurchase.getNodeSid()); |
|
|
|
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); |
|
|
|
bv.setInstanceId(dto.getInstanceId()); |
|
|
|
return complete(bv); |
|
|
|
} |
|
|
|
return rb; |
|
|
|
} |
|
|
|
public String getApplyCode(String userSid) { |
|
|
|
//获取分公司sid
|
|
|
|
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid); |
|
|
|
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(resultBean.getData()); |
|
|
|
String orgCode = resultBean1.getData().getOrgCode(); |
|
|
|
BillNo b = new BillNo(); |
|
|
|
b.setOrgCode(orgCode); |
|
|
|
b.setBillType(BillTypeEnum.NGSQ.getBillType()); |
|
|
|
String bill = Rule.getBill(b); |
|
|
|
int i = baseMapper.selectNum(bill); |
|
|
|
String billNo = Rule.getBillNo(bill, i); |
|
|
|
return billNo; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 判断提交的流程是否被允许 |
|
|
|
* |
|
|
|
* @param dto |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
private synchronized int submitBusinessData(SubmitBaseInterNalPurchaseDto dto, BaseInternalPurchase baseInternalPurchase) { |
|
|
|
int r = 0; |
|
|
|
if (StringUtils.isBlank(dto.getSid())) { |
|
|
|
r = 1; |
|
|
|
} else { |
|
|
|
if (baseInternalPurchase != null) { |
|
|
|
String businessTaskId = baseInternalPurchase.getTaskId(); |
|
|
|
if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { |
|
|
|
//新提交
|
|
|
|
r = 1; |
|
|
|
} else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { |
|
|
|
//二次提交//只有数据一致的时候才能进行下一步
|
|
|
|
r = 2; |
|
|
|
} |
|
|
|
} else { |
|
|
|
r = 3; |
|
|
|
} |
|
|
|
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) { |
|
|
|
baseInternalPurchaseVehicleService.delByMainSid(sid); |
|
|
|
} |
|
|
|
return rb.success().setMsg("删除成功"); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
return r; |
|
|
|
} |
|
|
|
public ResultBean submitBaseInternalPurchase(SubmitBaseInterNalPurchaseDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
//根据用户sid获取staffSid
|
|
|
|
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getCreateBySid()); |
|
|
|
if (!userVoResultBean.getSuccess()) { |
|
|
|
return rb.setMsg(userVoResultBean.getMsg()); |
|
|
|
} |
|
|
|
//根据staffSid获取用户的组织全路径
|
|
|
|
ResultBean<SysStaffOrg> orgByStaffSid = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); |
|
|
|
if (!orgByStaffSid.getSuccess()) { |
|
|
|
return rb.setMsg(orgByStaffSid.getMsg()); |
|
|
|
} |
|
|
|
//用户的组织全路径
|
|
|
|
String orgSidPath = orgByStaffSid.getData().getOrgSidPath(); |
|
|
|
BaseInternalPurchase baseInternalPurchase = fetchBySid(dto.getSid()); |
|
|
|
int r = submitBusinessData(dto, baseInternalPurchase); |
|
|
|
if (r == 3) { |
|
|
|
return rb.setMsg("该申请不存在"); |
|
|
|
} |
|
|
|
if (r == 0) { |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致"); |
|
|
|
} |
|
|
|
//新增修改保存
|
|
|
|
ResultBean<String> resultBean = saveAll(dto); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
String businessSid = resultBean.getData(); |
|
|
|
//创建BusinessVariables实体对象
|
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
|
//流程中的参数赋值
|
|
|
|
Map<String, Object> variables = BeanUtil.beanToMap(dto); |
|
|
|
//若有网关,则赋值网关中判断的字段。
|
|
|
|
variables.put("businessSid", businessSid); |
|
|
|
//用户的部门全路径sid
|
|
|
|
bv.setOrgSidPath(orgSidPath); |
|
|
|
//业务sid
|
|
|
|
bv.setBusinessSid(businessSid); |
|
|
|
//用户sid
|
|
|
|
bv.setUserSid(dto.getCreateBySid()); |
|
|
|
bv.setFormVariables(variables); |
|
|
|
//流程定义id
|
|
|
|
bv.setModelId(ProcDefEnum.BASEINTERNALPURCHASE.getProDefId()); |
|
|
|
if (r == 1) { |
|
|
|
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv); |
|
|
|
UpdateFlowFieldVo ufVo = voResultBean.getData(); |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(ufVo)); |
|
|
|
return voResultBean; |
|
|
|
} |
|
|
|
if (r == 2) { |
|
|
|
// ToDo:驳回到发起人后再次提交
|
|
|
|
if (StringUtils.isBlank(dto.getInstanceId())) { |
|
|
|
return rb.setMsg("参数错误:instanceId"); |
|
|
|
} |
|
|
|
bv.setTaskId(baseInternalPurchase.getTaskId()); |
|
|
|
bv.setTaskDefKey(baseInternalPurchase.getNodeSid()); |
|
|
|
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); |
|
|
|
bv.setInstanceId(dto.getInstanceId()); |
|
|
|
return complete(bv); |
|
|
|
} |
|
|
|
return rb; |
|
|
|
} |
|
|
|
|
|
|
|
private int updateFlowFiled(Map<String, Object> beanToMap) { |
|
|
|
return baseMapper.updateFlowFiled(beanToMap); |
|
|
|
} |
|
|
|
/** |
|
|
|
* 判断提交的流程是否被允许 |
|
|
|
* |
|
|
|
* @param dto |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
private synchronized int submitBusinessData(SubmitBaseInterNalPurchaseDto dto, BaseInternalPurchase baseInternalPurchase) { |
|
|
|
int r = 0; |
|
|
|
if (StringUtils.isBlank(dto.getSid())) { |
|
|
|
r = 1; |
|
|
|
} else { |
|
|
|
if (baseInternalPurchase != null) { |
|
|
|
String businessTaskId = baseInternalPurchase.getTaskId(); |
|
|
|
if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { |
|
|
|
//新提交
|
|
|
|
r = 1; |
|
|
|
} else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { |
|
|
|
//二次提交//只有数据一致的时候才能进行下一步
|
|
|
|
r = 2; |
|
|
|
} |
|
|
|
} else { |
|
|
|
r = 3; |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean complete(BusinessVariables bv) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BaseInternalPurchase baseInternalPurchase = fetchBySid(bv.getBusinessSid()); |
|
|
|
Map<String, Object> formVariables = bv.getFormVariables(); |
|
|
|
if (formVariables != null){ |
|
|
|
List<Map<String,Object>> l = ConstantUtils.getListData(formVariables,"baseInternalPurchaseVehicles"); |
|
|
|
for (int i = 0;i<l.size();i++){ |
|
|
|
Map<String,Object> map = l.get(i); |
|
|
|
String sid = map.get("sid").toString(); |
|
|
|
String vinNo = map.get("vinNo").toString(); |
|
|
|
if (StringUtils.isBlank(vinNo)){ |
|
|
|
return rb.setMsg("请填写车架号"); |
|
|
|
} |
|
|
|
baseInternalPurchaseVehicleService.updateVinNoBySid(sid,vinNo); |
|
|
|
} |
|
|
|
} |
|
|
|
if (bv.getTaskId().equals(baseInternalPurchase.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("操作失败!提交的数据不一致"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return r; |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean getNextNodesForSubmit(GetNextNodeDto query) { |
|
|
|
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail(); |
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
|
BeanUtil.copyProperties(query, bv); |
|
|
|
bv.setModelId(ProcDefEnum.BASEINTERNALPURCHASE.getProDefId()); |
|
|
|
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()); |
|
|
|
private int updateFlowFiled(Map<String, Object> beanToMap) { |
|
|
|
return baseMapper.updateFlowFiled(beanToMap); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean complete(BusinessVariables bv) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BaseInternalPurchase baseInternalPurchase = fetchBySid(bv.getBusinessSid()); |
|
|
|
Map<String, Object> formVariables = bv.getFormVariables(); |
|
|
|
if (formVariables != null) { |
|
|
|
List<Map<String, Object>> l = ConstantUtils.getListData(formVariables, "baseInternalPurchaseVehicles"); |
|
|
|
for (int i = 0; i < l.size(); i++) { |
|
|
|
Map<String, Object> map = l.get(i); |
|
|
|
String sid = map.get("sid").toString(); |
|
|
|
String vinNo = map.get("vinNo").toString(); |
|
|
|
String inventoryLocationSid = map.get("inventoryLocationSid").toString(); |
|
|
|
String inventoryLocationName = map.get("inventoryLocationName").toString(); |
|
|
|
if (StringUtils.isBlank(vinNo)) { |
|
|
|
return rb.setMsg("请填写车架号"); |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(inventoryLocationSid)){ |
|
|
|
return rb.setMsg("请选择存放地点"); |
|
|
|
} |
|
|
|
baseInternalPurchaseVehicleService.updateVinNoBySid(sid, vinNo,inventoryLocationSid,inventoryLocationName); |
|
|
|
} |
|
|
|
} |
|
|
|
if (bv.getTaskId().equals(baseInternalPurchase.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 InitiatorToAnswer(BusinessVariables bv) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BaseInternalPurchase baseInternalPurchase = fetchBySid(bv.getBusinessSid()); |
|
|
|
String shuntingTypeValue = baseInternalPurchase.getShuntingTypeValue(); |
|
|
|
if (shuntingTypeValue.equals("调入")) { |
|
|
|
String callOutOrgSid = baseInternalPurchase.getSellerOrgSid(); |
|
|
|
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 (shuntingTypeValue.equals("调出")) { |
|
|
|
String callInOrgSid = baseInternalPurchase.getBuyerOrgSid(); |
|
|
|
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(baseInternalPurchase.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 getNextNodesForSubmit(GetNextNodeDto query) { |
|
|
|
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail(); |
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
|
BeanUtil.copyProperties(query, bv); |
|
|
|
bv.setModelId(ProcDefEnum.BASEINTERNALPURCHASE.getProDefId()); |
|
|
|
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<GetNodeVo> voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
|
|
|
|
return rb.success().setData(voList); |
|
|
|
} |
|
|
|
return rb.success().setData(voList); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean getPreviousNodesForReject(GetNextNodeDto query) { |
|
|
|
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail(); |
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
|
BeanUtil.copyProperties(query, bv); |
|
|
|
bv.setModelId(ProcDefEnum.BASEINTERNALPURCHASE.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()); |
|
|
|
public ResultBean getPreviousNodesForReject(GetNextNodeDto query) { |
|
|
|
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail(); |
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
|
BeanUtil.copyProperties(query, bv); |
|
|
|
bv.setModelId(ProcDefEnum.BASEINTERNALPURCHASE.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 = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
|
|
|
|
return rb.success().setData(voList); |
|
|
|
} |
|
|
|
return rb.success().setData(voList); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean taskReject(BaseInterNalPurchaseTaskQuery query) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BaseInternalPurchase baseInternalPurchase = fetchBySid(query.getBusinessSid()); |
|
|
|
if (baseInternalPurchase == null) { |
|
|
|
return rb.setMsg("该申请不存在"); |
|
|
|
} |
|
|
|
String businessTaskId = baseInternalPurchase.getTaskId(); |
|
|
|
if (StringUtils.isNotBlank(businessTaskId)) { |
|
|
|
if (businessTaskId.equals(query.getTaskId())) { |
|
|
|
FlowTaskVo flowTaskVo = new FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(query, flowTaskVo); |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData()); |
|
|
|
//更新业务中的流程相关的参数
|
|
|
|
updateFlowFiled(map); |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致!"); |
|
|
|
} |
|
|
|
public ResultBean taskReject(BaseInterNalPurchaseTaskQuery query) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BaseInternalPurchase baseInternalPurchase = fetchBySid(query.getBusinessSid()); |
|
|
|
if (baseInternalPurchase == null) { |
|
|
|
return rb.setMsg("该申请不存在"); |
|
|
|
} |
|
|
|
String businessTaskId = baseInternalPurchase.getTaskId(); |
|
|
|
if (StringUtils.isNotBlank(businessTaskId)) { |
|
|
|
if (businessTaskId.equals(query.getTaskId())) { |
|
|
|
FlowTaskVo flowTaskVo = new FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(query, flowTaskVo); |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData()); |
|
|
|
//更新业务中的流程相关的参数
|
|
|
|
updateFlowFiled(map); |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致!"); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean revokeProcess(BaseInterNalPurchaseTaskQuery query) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
if (StringUtils.isBlank(query.getUserSid())) { |
|
|
|
return rb.setMsg("参数错误:userSid"); |
|
|
|
} |
|
|
|
//根据业务sid查询排内购申请
|
|
|
|
BaseInternalPurchase baseInternalPurchase = fetchBySid(query.getBusinessSid()); |
|
|
|
String businessTaskId = baseInternalPurchase.getTaskId(); |
|
|
|
if (StringUtils.isNotBlank(businessTaskId)) { |
|
|
|
if (businessTaskId.equals(query.getTaskId())) { |
|
|
|
FlowTaskVo flowTaskVo = new FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(query, flowTaskVo); |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.revokeProcess(flowTaskVo); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.setMsg("操作失败,提交的数据不一致!"); |
|
|
|
} |
|
|
|
public ResultBean revokeProcess(BaseInterNalPurchaseTaskQuery query) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
if (StringUtils.isBlank(query.getUserSid())) { |
|
|
|
return rb.setMsg("参数错误:userSid"); |
|
|
|
} |
|
|
|
//根据业务sid查询排内购申请
|
|
|
|
BaseInternalPurchase baseInternalPurchase = fetchBySid(query.getBusinessSid()); |
|
|
|
String businessTaskId = baseInternalPurchase.getTaskId(); |
|
|
|
if (StringUtils.isNotBlank(businessTaskId)) { |
|
|
|
if (businessTaskId.equals(query.getTaskId())) { |
|
|
|
FlowTaskVo flowTaskVo = new FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(query, flowTaskVo); |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.revokeProcess(flowTaskVo); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.setMsg("操作失败,提交的数据不一致!"); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean breakProcess(BaseInterNalPurchaseTaskQuery query) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
if (StringUtils.isBlank(query.getInstanceId())) { |
|
|
|
return rb.setMsg("参数错误:instanceId"); |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(query.getUserSid())) { |
|
|
|
return rb.setMsg("参数错误:userSid"); |
|
|
|
} |
|
|
|
BaseInternalPurchase baseInternalPurchase = fetchBySid(query.getBusinessSid()); |
|
|
|
String businessTaskId = baseInternalPurchase.getTaskId(); |
|
|
|
if (StringUtils.isNotBlank(businessTaskId)) { |
|
|
|
if (businessTaskId.equals(query.getTaskId())) { |
|
|
|
FlowTaskVo flowTaskVo = new FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(query, flowTaskVo); |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致!"); |
|
|
|
} |
|
|
|
public ResultBean breakProcess(BaseInterNalPurchaseTaskQuery query) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
if (StringUtils.isBlank(query.getInstanceId())) { |
|
|
|
return rb.setMsg("参数错误:instanceId"); |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(query.getUserSid())) { |
|
|
|
return rb.setMsg("参数错误:userSid"); |
|
|
|
} |
|
|
|
BaseInternalPurchase baseInternalPurchase = fetchBySid(query.getBusinessSid()); |
|
|
|
String businessTaskId = baseInternalPurchase.getTaskId(); |
|
|
|
if (StringUtils.isNotBlank(businessTaskId)) { |
|
|
|
if (businessTaskId.equals(query.getTaskId())) { |
|
|
|
FlowTaskVo flowTaskVo = new FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(query, flowTaskVo); |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致!"); |
|
|
|
} |
|
|
|
} |