yhpro-todo-toread-flow.md 14 KB

YHPro ���� / ��������ҵ���ֲ�

�����YH��SHR �� �Ż� ESB��PORTAL-*�����͡�ʧ��ʱ�ȶ��ձ��ġ���־�ؼ��� �� ֧�� �� ԭ�򡹣��ٲ� OAMsgCallLog��

��ش��룺

��ɫ ��
SPI ��� OAMessageWebServiceDao
���Ĵ��� BMCMessageControllerBeanEx
�����߼� TodoMessageServer
�����߼� ToBeReadMessageServer
���� MessageCommonUtil / MessageConfig
���� {EAS_HOME}/server/properties/yuhu/receiveOAConfig.properties

�ӿ��ֶμ�ͬĿ¼ portal-api-map.md��


1. ������������������

ƽ̨��Ϣ����
    ��
    ���������� A �� ���������졿MessageWebServiceDao��ƽ̨ SPI��
    ��      OAMessageWebServiceDao
    ��         ���� addMessage          �� ��������     PORTAL-002
    ��         ���� addCompletedMessage �� �Ѱ�/���    PORTAL-006 / 003
    ��         ���� removeMessage       �� ɾ������     PORTAL-007
    ��
    ���������� B �� BMC ֪ͨ���ġ�BMCMessage ��⹳��
           BMCMessageControllerBeanEx._addnew / _addnewBatchData
              �� OAMessageWebServiceDao.updateMessages
                 �� ToBeReadMessageServer
                    ���� �� URL �� ������/���飨�����Ż����ģ�
                    ���� UNREADED �� PORTAL-011 ��������
                    ���� READED   �� PORTAL-012 ����ת����
  • ������������������Assign���ߣ��� assignId / procInstId / billId��
  • �������� BMC ֪ͨ��Ϣ�ߣ���Ϣ bosType ������ 41C9B39B��
  • ����������ͬʱ�����������ύ�������������� + ���ʹ��ļ���ͬ�룩�����ʹ���ƴ���������� assignReadRecord���ñ������������ɹ���д�� �� ���ھ�̬������ 5 �ڣ���

2. ���� A������ �� ʲô��Ϣ����������

ƽ̨��ʱ���� Dao ���� ҵ���� �Ż��ӿ�
�����´������� addMessage(WSMessage) ��������+���� PORTAL-002 addFlow op=1
�������/����/���ϵ� addCompletedMessage(WfrAssignMessage) �ȿ���ת�Ѱ죬�ٿ��ܸ������� 006 �� 003
����ɾ��/�ջ� removeMessage(assignId, ctx) ɾ�Ż����� PORTAL-007 op=3

2.1 �������� addMessage��PORTAL-002��

��־������ �����ƶ���ʼ �� *********�����������Ϳ�ʼ��msgID=...��********** �� ����id... �� ��������ؼ�����...

���裺

  1. sleep 8 �����ȹ�����״̬�ȶ���
  2. getAssignIdByMsgId(msgID) �� �� AssignRead������ assignId=null���� warn���� NPE��
  3. ȡ billId��procInstId������ WSMessage��
  4. ����־����������ؼ����� / ���п��� ����������ڿղ���
  5. ��� addFlow��instanceId=procInstId��taskList[].taskId=assignId
  6. ���Ż������۳ɰ�����д�� assignReadRecord��addMsgId��
  7. д OAMsgCallLog�������Ƿ� returnStatus=S

�ղ��Ի��������������Ĭ�� URL�������Ż�����������ֶξ��ա�

2.2 ���/״̬���� addCompletedMessage��006 + 003��

��־������ *********����״̬���¿�ʼ��assignId=...��**********

˫״̬��

��Դ ���� ��;
����ʵ�� ProcInstInfo.state wfStateStr �Ƿ�� PORTAL-003 ��������
���� WfrAssignMessage.state �� WfAssignmentState taskStatus �Ƿ��ȵ� PORTAL-006 ����ת�Ѱ�

״̬ӳ�䣨���룩��

SHR �� flowStatus / taskStatus
COMPLETED complete
REJECTED / ROLLBACKED refuse
CANCELED / TERMINATED cancel
ABORTED revoke
���� approving

�ս�״̬�� complete / cancel / refuse / revoke

֧�ߣ�

procInstId �գ� �� ֱ��ʧ�ܣ��򡸴���ת�Ѱ�ʧ�ܣ�procInstIdΪ�ա���
    ��
    ���� sleep 8s �� ������״̬ �� wfStateStr
    ���� ��������״̬ �� taskStatus������ʧ���� return��
    ��
    ���� taskStatus ���ս᣿
    ��     �� �� PORTAL-006 updateAgency������ת�Ѱ죩
    ��           ʧ�������� return false�����ٵ� 003��
    ��
    ���� wfStateStr ���ս᣿
          �� �� PORTAL-003 updateFlow�����̰��/���ϵȣ�
          �� �� ���� 003���������ܷ��� false��isOk Ĭ�� false��

ע�⣺�����սᵫ����δ�ս�ʱ��ֻ�� 006�������ս���� 003��

2.3 ɾ������ removeMessage��PORTAL-007��

��־������ *********ɾ���������Ϳ�ʼ��assignId=...��**********

  1. sleep 9 ��
  2. �� assignId ���� msgId��procInstId���� assignReadRecord��
  3. �� deleteAgency��taskIdList=assignId

assignId �� context �� �� ֱ�� warn ���أ������Ż���


3. ���� B������ �� ʲô��Ϣ������֧��

3.1 ˭����

��� ʱ�� ����״̬
BMCMessageControllerBeanEx._addnew / _addnewBatchData BMC ֪ͨ�½� �̶� MsgStatus.UNREADED
��ƽ̨����·������ updateMessages�� �Ѷ��� READED ��

��־������ ��������������� / ��������������� / ����֪ͨ��ʼ / *********֪ͨ����Ϣ������ʼ*********

3.2 ��բ��

bosType == 41C9B39B��
  �� �� ����֪ͨ����Ϣ������������
  �� �� �������������

3.3 ������֧�ߣ��� URL / �� URL��

����Ĭ�� pcUrl��mobileUrl���� /qy/auth/V2/sso����

֧�� B1�����Ͳ�������ѡ��

����ͬʱ���㣺

  • bizType ֵ = 0 �� 80
  • category ��
  • bizCustomizedFlag ��

��־�� ����������Ϣ,��URL,����URL + ֪ͨ����ϢbosType��WFATINST|WFPCINST

source ���� ��Ϊ
WFATINST �ʵ�� �� procInstId �� �� assignReadRecord �� �� assignID/billId ƴ��������
WFPCINST ����ʵ�� �� �� Assign ���� �� �� assign/bizObj ƴ��
���� / �鲻�� ����Ĭ�ϴ��� URL�����ж�

��־������WFATINSTƴ������ / ����WFPCINSTƴ���������� assignID=null �ȣ���

֧�� B2�������� URL

msgInfo.url �Կգ�

  • ״̬���� READED �� ֱ�� false�����ƣ�
  • ���� �� ֻ�ƶ��� + ���������� PORTAL-011
    ��־����URL�����Ͷ���

֧�� B3���� URL �� �Ż�����

msgStatus ��Ϊ �ӿ�
UNREADED �������ģ��� bizCustomizedFlag=PERFWEB ��������ƶ��˼�Ч���� PORTAL-011
READED ����ת���� PORTAL-012
���� ����֧�ֵ���Ϣ״̬�� ��

��Ч PERFWEB �ӷ�֧��

  • ���⺬����Ч���Һ������ȷ�ϡ������ߡ��� ���ȷ��ҳ
  • ������Ч �� ��Ч go ҳ

4. ��Ա�������������������ã�

�� ����
�Ż���Ա cfidmusercode��getPersonCode�����鲻�� �״�����Ա��ϢΪ�ա�
PC ������ assignId /shr/api/oAToSHR?redirect=...transferApprove.jsp?AssignmentId&billID
PC �� assignId Ĭ�Ϲ�������ͼ shr.workflow.view����־��getPcUrlCore ��assignId����Ĭ��URL��
�ƶ��� assignId MBOS ���� URL �� /qy/auth/V2/sso
�ƶ��� assignId MBOS �����б� �� SSO����־��getAppUrlCoreV2 ��assignId��

5. ���뾺̬

assignReadRecord

�ֶ� ����
MsgId ������Ϣ ID
assignID ���� ID���� taskId��
billId ���� ID
procInstId ����ʵ�� ID
workflowname ������
  • д�룺 �������� addMessage ĩβ addMsgId
  • ��ȡ�� ���ʹ��� WFATINST��ɾ��/���ʱ����

��̬�� ���ʹ��������ڴ���д������־����� assignID=null / getDataByProcInstId �޼�¼��������Ĭ�ϣ������Կ����Ƴɹ������ȥ���ǵ���ҳ��

OAMsgCallLog

��ÿ���Ż����õ�����/��Ӧ/״̬��ʧ���Ȳ�˱���


6. ʧ���Ų��ٲ��

����־�ؼ��ֶ�λ֧�ߣ��ٶ�ԭ��

��־�ؼ��� ����֧�� ����ԭ��
�����ƶ���ʼ + ������������ʧ�� A �� 002 �����������쳣�����Ż� returnStatus��S
����������ڿղ��� / procInstId=null A �� 002 WSMessage δ������ʵ����AssignRead �� assignId
��msgId��ȡassignIdΪ�� A �� 002 ȡ���� AssignRead δ������sleep ��������ǹ�������Ϣ
��Ա��ϢΪ�� / getPersonCode A/B ��� �û�δ�� cfidmusercode
����״̬���¿�ʼ A �� 006/003 ��
����ת�Ѱ�ʧ�ܣ�procInstIdΪ�� A �� ��� WfrAssignMessage ������ ID
����״̬�޷����� A �� ��� state ö�ٶԲ���
����ת�Ѱ�ʧ����006�� A �� 006 �Ż����� / ��Ӧ��
ɾ���������Ϊ�� A �� 007 assignId �� ctx ��
������������ / ����֪ͨ��ʼ B ��
��֪ͨ����Ϣ������ B բ�� bosType �� 41C9B39B
����������Ϣ + WFATINST B1 ���� ��
���͡�ƴ������ �� =null B1 ��̬���� assignReadRecord
��URL�����Ͷ��� B2 ֻ�� IM���Ż��޴���
֪ͨ����Ϣ����ʧ�� B ���� ����ջ���ֶ�Ϊҵ��/���ö��� assign toString
getPcUrlCore ��assignId ���� Ԥ����Ĭ��ҳ����һ��ʧ��
OAMsgCallLog Status�ٳɹ� �Ż��� �� request/response �� portal-api-map

�Ƽ��Ų�˳��

  1. ��־������ �������� ���� ֪ͨ����Ϣ / �������� �� ������ A �� B
  2. �� paramDesc �����־��xxx=null / xxx="" �� �����ֶ�
  3. �� OAMsgCallLog �Ƿ��ѵ��Ż���������
  4. ���ʹ������Ӳ��� �� ��ͬ���Ƿ��д��졢assignReadRecord �Ƿ��и� procInstId
  5. ��Ա���� �� �������/������ IDM ����

7. ��ʱ������ֵ��

���� sleep
�������� 8s
���/���̸��� 8s
ɾ������ 9s

Ŀ�ģ��� SHR ������������ȡ AssignRead / ����״̬�������׳��� assignId/procInstId �ա�


8. һ�仰����

����ȷ�ϡ� ����־ / ��
�Dz����´������Ż��� �����������Ϳ�ʼ + PORTAL-002
�Dz��ǰ�᣿ ����״̬���� + �Ƿ��� 006 �� 003
�Dz���ɾ���죿 ɾ���������Ϳ�ʼ
�Dz����´��ģ� ����������� + ֪ͨ����Ϣ + bosType 41C9B39B
�Dz��dz��Ͳ����� ����������Ϣ + WFATINST/WFPCINST
�Dz���ֻ�ƶ���û�Ż��� ��URL�����Ͷ���
�ĸ������գ� ��������ؼ����� / paramDesc / =null
�Ż����׻���ɶ�� OAMsgCallLog