|
|
@ -22,6 +22,8 @@ import com.yxt.anrui.flowable.api.flow.FlowableFeign; |
|
|
|
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; |
|
|
|
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; |
|
|
|
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; |
|
|
|
import com.yxt.anrui.flowable.api.sysprourl.SysProUrlFeign; |
|
|
|
import com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo; |
|
|
|
import com.yxt.anrui.flowable.api.utils.ProcDefEnum; |
|
|
|
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; |
|
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; |
|
|
@ -33,6 +35,9 @@ import com.yxt.common.base.utils.PagerUtil; |
|
|
|
import com.yxt.common.core.query.PagerQuery; |
|
|
|
import com.yxt.common.core.result.ResultBean; |
|
|
|
import com.yxt.common.core.vo.PagerVo; |
|
|
|
import com.yxt.messagecenter.api.message.MessageFeign; |
|
|
|
import com.yxt.messagecenter.api.message.MessageFlowableDto; |
|
|
|
import com.yxt.messagecenter.api.message.MessageJsonDto; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.beans.BeanUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
@ -63,6 +68,10 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl |
|
|
|
private BaseVehicleService baseVehicleService; |
|
|
|
@Autowired |
|
|
|
private FlowableFeign flowableFeign; |
|
|
|
@Autowired |
|
|
|
private SysProUrlFeign sysProUrlFeign; |
|
|
|
@Autowired |
|
|
|
private MessageFeign messageFeign; |
|
|
|
|
|
|
|
/** |
|
|
|
* 分页列表 |
|
|
@ -275,6 +284,7 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
String businessSid = resultBean.getData(); |
|
|
|
baseVehicleActualSales = fetchBySid(businessSid); |
|
|
|
//判断车辆的结算状态是否包含预买断的状态,如果是的话,返回提交失败
|
|
|
|
boolean isTrue = isTrue(businessSid); |
|
|
|
if (isTrue) { |
|
|
@ -308,10 +318,8 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl |
|
|
|
baseVehicle.setSettlementStatusValue(VehicleState.BuyoutEnum.PRE_BUYOUT.getRemarks()); |
|
|
|
baseVehicleService.updateVeh(baseVehicle); |
|
|
|
} |
|
|
|
|
|
|
|
/* String settlementStatus = VehicleState.BuyoutEnum.PRE_BUYOUT.getCode(); |
|
|
|
String settlementStatusValue = VehicleState.BuyoutEnum.PRE_BUYOUT.getRemarks(); |
|
|
|
updateByVinNo(bv.getBusinessSid(), settlementStatus, settlementStatusValue);*/ |
|
|
|
//极光推送
|
|
|
|
String msgSid = getMessage(ufVo, appMap, baseVehicleActualSales); |
|
|
|
return voResultBean; |
|
|
|
} |
|
|
|
if (r == 2) { |
|
|
@ -364,15 +372,19 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl |
|
|
|
BaseVehicleActualSales baseVehicleActualSales = fetchBySid(bv.getBusinessSid()); |
|
|
|
if (bv.getTaskId().equals(baseVehicleActualSales.getTaskId())) { |
|
|
|
//判断车辆的结算状态是否包含预买断的状态,如果是的话,返回审核失败
|
|
|
|
/*boolean isTrue = isTrue(bv.getBusinessSid()); |
|
|
|
if (isTrue) { |
|
|
|
return rb.setMsg("审核失败!该申请中包含结算状态已是预买断状态的车辆"); |
|
|
|
}*/ |
|
|
|
Map<String,Object> variables = new HashMap<>(); |
|
|
|
Map<String,Object> appMap = new HashMap<>(); |
|
|
|
appMap.put("sid",bv.getBusinessSid()); |
|
|
|
variables.put("app",appMap); |
|
|
|
bv.setFormVariables(variables); |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
UpdateFlowFieldVo ufVo = resultBean.getData(); |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
//极光推送
|
|
|
|
String msgSid = getMessage(ufVo, appMap, baseVehicleActualSales); |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} else { |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致"); |
|
|
@ -448,13 +460,21 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl |
|
|
|
} |
|
|
|
FlowTaskVo flowTaskVo = new FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(query, flowTaskVo); |
|
|
|
Map<String,Object> variables = new HashMap<>(); |
|
|
|
Map<String,Object> appMap = new HashMap<>(); |
|
|
|
appMap.put("sid",query.getBusinessSid()); |
|
|
|
variables.put("app",appMap); |
|
|
|
flowTaskVo.setValues(variables); |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
UpdateFlowFieldVo ufVo = resultBean.getData(); |
|
|
|
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData()); |
|
|
|
//更新业务中的流程相关的参数
|
|
|
|
updateFlowFiled(map); |
|
|
|
//极光推送
|
|
|
|
String msgSid = getMessage(ufVo, appMap, baseVehicleActualSales); |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
} |
|
|
@ -544,4 +564,46 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl |
|
|
|
vo.setRecords(records); |
|
|
|
return rb.success().setData(vo); |
|
|
|
} |
|
|
|
|
|
|
|
public String getMessage(UpdateFlowFieldVo ufVo, Map<String, Object> appMap, BaseVehicleActualSales baseVehicleActualSales) { |
|
|
|
//=====极光推送信息========================================参数组装
|
|
|
|
List<String> receiveSidList = Arrays.asList(ufVo.getNextNodeUserSids().split(",")); |
|
|
|
//根据用户的sid查询用户的id
|
|
|
|
ResultBean<String> stringList1 = sysUserFeign.selectIdBySid(receiveSidList); |
|
|
|
List<String> reveiveIdList = Arrays.asList(stringList1.getData().split(",")); |
|
|
|
MessageFlowableDto messageFlowableDto = new MessageFlowableDto(); |
|
|
|
MessageJsonDto messageJsonDto = new MessageJsonDto(); |
|
|
|
BeanUtil.copyProperties(ufVo, messageJsonDto); |
|
|
|
//查询流程审批的页面操作地址组装json的参数
|
|
|
|
//根据taskDef和移动端标识
|
|
|
|
ResultBean<SysProUrlVo> selectUrlByKey = sysProUrlFeign.selectUrlByKey(ProcDefEnum.BASEVEHICLEACTUALSALES.getProDefId(), ufVo.getTaskDefKey(), "1", "2"); |
|
|
|
SysProUrlVo sysProUrlVo = selectUrlByKey.getData(); |
|
|
|
messageFlowableDto.setBusinessSid(baseVehicleActualSales.getSid()); |
|
|
|
messageFlowableDto.setApp_type("2"); |
|
|
|
if (sysProUrlVo.getUrl().contains("#")) { |
|
|
|
messageFlowableDto.setModuleAction(Arrays.asList(sysProUrlVo.getUrl().split("#")).get(0)); |
|
|
|
List<Integer> codesInteger = Arrays.asList(Arrays.asList(sysProUrlVo.getUrl().split("#")).get(1).split(",")).stream().map(Integer::parseInt).collect(Collectors.toList()); |
|
|
|
int[] ints = codesInteger.stream().mapToInt(Integer::valueOf).toArray(); |
|
|
|
; |
|
|
|
messageJsonDto.setButtons(ints); |
|
|
|
} else { |
|
|
|
messageFlowableDto.setModuleAction(sysProUrlVo.getUrl()); |
|
|
|
} |
|
|
|
messageFlowableDto.setModuleSid(Arrays.asList(sysProUrlVo.getModulePluginName().split("#")).get(0)); |
|
|
|
messageJsonDto.setTaskName(ufVo.getNodeState()); |
|
|
|
messageJsonDto.setProcInsId(ufVo.getProcInsId()); |
|
|
|
messageJsonDto.setAppMap(appMap); |
|
|
|
messageFlowableDto.setJson(messageJsonDto); |
|
|
|
messageFlowableDto.setList(receiveSidList); |
|
|
|
messageFlowableDto.setReceiveIdList(reveiveIdList); |
|
|
|
messageFlowableDto.setModuleName("未售买断申请"); |
|
|
|
messageFlowableDto.setMsgContent("未售买断申请"); |
|
|
|
messageFlowableDto.setMsgTitle("未售买断申请"); |
|
|
|
messageFlowableDto.setCreateName(baseVehicleActualSales.getApplicationName()); |
|
|
|
messageFlowableDto.setTaskId(ufVo.getTaskId()); |
|
|
|
ResultBean<String> stringResultBean = messageFeign.getMessage(messageFlowableDto); |
|
|
|
String msgSid = stringResultBean.getData(); |
|
|
|
return msgSid; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|