Commit dd0995e6 by kenzo

add workflow interface

parent 5d4af887
...@@ -11,6 +11,7 @@ import com.cnooc.expert.controller.expert.model.request.ExamPaperGetReq; ...@@ -11,6 +11,7 @@ import com.cnooc.expert.controller.expert.model.request.ExamPaperGetReq;
import com.cnooc.expert.controller.expert.model.request.ExamQuestionListReq; import com.cnooc.expert.controller.expert.model.request.ExamQuestionListReq;
import com.cnooc.expert.controller.expert.model.request.ExamQuestionXiaoTiListReq; import com.cnooc.expert.controller.expert.model.request.ExamQuestionXiaoTiListReq;
import com.cnooc.expert.controller.expert.model.request.ExamRecordSaveReq; import com.cnooc.expert.controller.expert.model.request.ExamRecordSaveReq;
import com.cnooc.expert.controller.expert.model.request.ExpertInfoGetByBusinessIdReq;
import com.cnooc.expert.controller.expert.model.request.ExpertInfoUpdateApiReq; import com.cnooc.expert.controller.expert.model.request.ExpertInfoUpdateApiReq;
import com.cnooc.expert.controller.expert.model.request.GeRenXiuJiaApplyReq; import com.cnooc.expert.controller.expert.model.request.GeRenXiuJiaApplyReq;
import com.cnooc.expert.controller.expert.model.request.GeRenXiuJiaPageReq; import com.cnooc.expert.controller.expert.model.request.GeRenXiuJiaPageReq;
...@@ -57,6 +58,7 @@ import com.cnooc.expert.external.expert.model.response.TrainExamPageApiResp; ...@@ -57,6 +58,7 @@ import com.cnooc.expert.external.expert.model.response.TrainExamPageApiResp;
import com.cnooc.expert.external.expert.model.response.ViolationExpertGetApiResp; import com.cnooc.expert.external.expert.model.response.ViolationExpertGetApiResp;
import com.cnooc.expert.external.expert.model.response.ViolationExpertPageApiResp; import com.cnooc.expert.external.expert.model.response.ViolationExpertPageApiResp;
import com.cnooc.expert.external.expert.model.response.XiangMuInfoByChouQuNumGetApiResp; import com.cnooc.expert.external.expert.model.response.XiangMuInfoByChouQuNumGetApiResp;
import com.cnooc.expert.external.expert.model.response.ZhuanJiaInfoGetByBusinessIdApiResp;
import com.cnooc.expert.external.expert.model.response.ZhuanJiaPingBiaoXiangMuRenWuPageApiResp; import com.cnooc.expert.external.expert.model.response.ZhuanJiaPingBiaoXiangMuRenWuPageApiResp;
import com.cnooc.expert.service.ExpertService; import com.cnooc.expert.service.ExpertService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -154,25 +156,32 @@ public class ExpertController extends AbstractBaseController { ...@@ -154,25 +156,32 @@ public class ExpertController extends AbstractBaseController {
// 省市区树 // 省市区树
@PostMapping("/city/tree") @PostMapping("/city/tree")
public ApiResult<List<CityTreeApiResp>> CityTree() { public ApiResult<List<CityTreeApiResp>> cityTree() {
List<CityTreeApiResp> apiResp = expertService.treeCity(); List<CityTreeApiResp> apiResp = expertService.treeCity();
return ApiResult.successWithResult(apiResp); return ApiResult.successWithResult(apiResp);
} }
// 专家个人信息详情 // 专家个人信息详情
@PostMapping("/info") @PostMapping("/info")
public ApiResult<ExpertInfoGetApiResp> ExpertInfoGet() { public ApiResult<ExpertInfoGetApiResp> expertInfoGet() {
ExpertInfoGetApiResp apiResp = expertService.getExpertInfo(null); ExpertInfoGetApiResp apiResp = expertService.getExpertInfo(null);
return ApiResult.successWithResult(apiResp); return ApiResult.successWithResult(apiResp);
} }
// 专家个人信息修改 // 专家个人信息修改
@PostMapping("/updateAllInfo") @PostMapping("/updateAllInfo")
public ApiResult<ExpertInfoGetApiResp> ExpertInfoUpdate(@RequestBody @Validated ExpertInfoUpdateApiReq req) { public ApiResult<ExpertInfoGetApiResp> expertInfoUpdate(@RequestBody @Validated ExpertInfoUpdateApiReq req) {
ExpertInfoGetApiResp apiResp = expertService.updateExpetInfo(req); ExpertInfoGetApiResp apiResp = expertService.updateExpetInfo(req);
return ApiResult.successWithResult(apiResp); return ApiResult.successWithResult(apiResp);
} }
// 根据BusinessId获取专家信息
@PostMapping("/info-by-businessId")
public ApiResult<ZhuanJiaInfoGetByBusinessIdApiResp> expertInfoByBusinessId(@RequestBody @Validated ExpertInfoGetByBusinessIdReq req) {
ZhuanJiaInfoGetByBusinessIdApiResp apiResp = expertService.getZhuanJiaInfoByBusinessId(req.getBusinessId());
return ApiResult.successWithResult(apiResp);
}
// 专家个人的申请列表 // 专家个人的申请列表
@PostMapping("/zhuan-jia/shen-qing-ji-lu/page") @PostMapping("/zhuan-jia/shen-qing-ji-lu/page")
public ApiResult<BasePageResp<ZhuanJiaShenQingJiLuPageResp>> zhuanJiaShenQingJiLuPage(@RequestBody @Validated ZhuanJiaShenQingJiLuPageReq req) { public ApiResult<BasePageResp<ZhuanJiaShenQingJiLuPageResp>> zhuanJiaShenQingJiLuPage(@RequestBody @Validated ZhuanJiaShenQingJiLuPageReq req) {
......
...@@ -11,6 +11,7 @@ import com.cnooc.expert.controller.expert.model.request.ExamPaperGetReq; ...@@ -11,6 +11,7 @@ import com.cnooc.expert.controller.expert.model.request.ExamPaperGetReq;
import com.cnooc.expert.controller.expert.model.request.ExamQuestionListReq; import com.cnooc.expert.controller.expert.model.request.ExamQuestionListReq;
import com.cnooc.expert.controller.expert.model.request.ExamQuestionXiaoTiListReq; import com.cnooc.expert.controller.expert.model.request.ExamQuestionXiaoTiListReq;
import com.cnooc.expert.controller.expert.model.request.ExamRecordSaveReq; import com.cnooc.expert.controller.expert.model.request.ExamRecordSaveReq;
import com.cnooc.expert.controller.expert.model.request.ExpertInfoGetByBusinessIdReq;
import com.cnooc.expert.controller.expert.model.request.ExpertInfoUpdateApiReq; import com.cnooc.expert.controller.expert.model.request.ExpertInfoUpdateApiReq;
import com.cnooc.expert.controller.expert.model.request.GeRenXiuJiaApplyReq; import com.cnooc.expert.controller.expert.model.request.GeRenXiuJiaApplyReq;
import com.cnooc.expert.controller.expert.model.request.GeRenXiuJiaPageReq; import com.cnooc.expert.controller.expert.model.request.GeRenXiuJiaPageReq;
...@@ -55,6 +56,7 @@ import com.cnooc.expert.controller.expert.model.response.SecondaryUnitListItemRe ...@@ -55,6 +56,7 @@ import com.cnooc.expert.controller.expert.model.response.SecondaryUnitListItemRe
import com.cnooc.expert.controller.expert.model.response.TempExamPaperGetResp; import com.cnooc.expert.controller.expert.model.response.TempExamPaperGetResp;
import com.cnooc.expert.controller.expert.model.response.WeiGuiGetResp; import com.cnooc.expert.controller.expert.model.response.WeiGuiGetResp;
import com.cnooc.expert.controller.expert.model.response.WeiGuiPageResp; import com.cnooc.expert.controller.expert.model.response.WeiGuiPageResp;
import com.cnooc.expert.controller.expert.model.response.ZhuanJiaInfoGetByBusinessIdResp;
import com.cnooc.expert.controller.expert.model.response.ZhuanJiaShenQingJiLuPageResp; import com.cnooc.expert.controller.expert.model.response.ZhuanJiaShenQingJiLuPageResp;
import com.cnooc.expert.external.expert.model.request.ExamPaperSubmitApiReq; import com.cnooc.expert.external.expert.model.request.ExamPaperSubmitApiReq;
import com.cnooc.expert.external.expert.model.request.TainLessonProgressUpdateApiReq; import com.cnooc.expert.external.expert.model.request.TainLessonProgressUpdateApiReq;
...@@ -66,6 +68,7 @@ import com.cnooc.expert.external.expert.model.response.ExamRecordSaveApiResp; ...@@ -66,6 +68,7 @@ import com.cnooc.expert.external.expert.model.response.ExamRecordSaveApiResp;
import com.cnooc.expert.external.expert.model.response.TainLessonProgressUpdateApiResp; import com.cnooc.expert.external.expert.model.response.TainLessonProgressUpdateApiResp;
import com.cnooc.expert.external.expert.model.response.TrainCourseLessonGetApiResp; import com.cnooc.expert.external.expert.model.response.TrainCourseLessonGetApiResp;
import com.cnooc.expert.external.expert.model.response.TrainExamPageApiResp; import com.cnooc.expert.external.expert.model.response.TrainExamPageApiResp;
import com.cnooc.expert.external.expert.model.response.ZhuanJiaInfoGetByBusinessIdApiResp;
import com.cnooc.expert.service.ExpertMockService; import com.cnooc.expert.service.ExpertMockService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
...@@ -206,6 +209,13 @@ public class ExpertMockController extends AbstractBaseController { ...@@ -206,6 +209,13 @@ public class ExpertMockController extends AbstractBaseController {
return ApiResult.successWithResult(expertMockService.updateExpetInfo(req)); return ApiResult.successWithResult(expertMockService.updateExpetInfo(req));
} }
// 根据BusinessId获取专家信息
@PostMapping("/info-by-businessId")
public ApiResult<ZhuanJiaInfoGetByBusinessIdResp> expertInfoByBusinessId(@RequestBody @Validated ExpertInfoGetByBusinessIdReq req) {
ZhuanJiaInfoGetByBusinessIdResp apiResp = expertMockService.getZhuanJiaInfoByBusinessId(req.getBusinessId());
return ApiResult.successWithResult(apiResp);
}
/** /**
* 抽取码详情 * 抽取码详情
* *
......
package com.cnooc.expert.controller.expert.model.request;
import lombok.Data;
@Data
public class ExpertInfoGetByBusinessIdReq {
private String businessId;
}
package com.cnooc.expert.controller.expert.model.response;
import lombok.Builder;
import lombok.Data;
import java.util.List;
@Data
@Builder
public class ZhuanJiaInfoGetByBusinessIdResp {
private List<Zc> zcList;
private List<Zg> zgList;
private List<Ps> psList;
private List<Jl> jlList;
private List<Pb> pbList;
private SysShenHeJieGuo rukuShenHeJieGuo;
private List<Hb> hbList;
private List<Language> languageList;
private List<XueLi> xueLiList;
private Bean bean;
private List<FuJian> fuJianList;
@Data
@Builder
public static class Bean {
private String adAccount;
private Integer age;
private String authPassWithImport;
private String auths;
private String base64FanMianFuJian;
private String base64FanMianFuJianName;
private String base64FuJian;
private String base64FuJianName;
private String base64Photo;
private String base64PhotoName;
private String baseAuths;
private String baseCode;
private String baseGuid;
private String baseMobile;
private String baseName;
private String baseSFZH;
private String baseShenPiZhuangTai;
private String baseZhuangTai;
private String biYeYuanXiao;
private Integer bianGengXuHao;
private String birthday;
private String buNengRuXuanQingKong;
private String byzFileGuid;
private String canYuXiangMu;
private String city;
private Long createTime;
private String createTimeText;
private String creatorName;
private String danRenQiTaZhuanJia;
private String danweiGuid;
private String department;
private String domainName;
private String email;
private String fanMianFuJianGuids;
private String fax;
private String fuJianGuids;
private String gongZuoBeiZhu;
private String gongZuoDanWei;
private String gongZuoDanWeiBH;
private String gongZuoDanWeiDiZhi;
private String gongZuoPhone;
private String gongZuoPost;
private Long gongZuoTime;
private String gongZuoZhiWu;
private String gongZuoZhuanYeName;
private String gongZuoZhuanYeYears;
private Integer gongZuoZhuangTai;
private String graduationDate;
private Boolean hasLianJieChuLiYiJian;
private String huoJiangQingKuang;
private Boolean inGroup;
private Boolean isHasLianJieChuLiYiJian;
private Boolean isQualified;
private Boolean isReadRuKuPromise;
private Boolean isSenior;
private Boolean isZhiYeZiGe;
private String jgdmFileGuid;
private String jiTuanErJiDanWeiCode;
private String jiTuanErJiDanWeiName;
private String jiaTingDiZhi;
private String jiaTingPhone;
private String jiaTingPost;
private String jianKangZhuangKuang;
private String jinJiLianXiRenGuid;
private String jinJiLianXiRenName;
private String jinJiLianXiRenPhone;
private String kaoShiFenShu;
private Integer leiJiFenZhi;
private Long leiJiZhanTingTime;
private String lianJieYiJianShuFuJianGuid;
private String lsFuJian;
private String minZu;
private String minZuText;
private String mobile;
private String mobileGJQHText;
private String mobileGuoJiQuHao;
private String modifierName;
private Long modifyTime;
private String modifyTimeText;
private Boolean needTest;
private String photoGuid;
private String pingBiaoChangZhuDiQu;
private String pingBiaoChangZhuDiQuName;
private Boolean pingBiaoIsYingJi;
private String pingBiaoQiTaDiQu;
private String pingBiaoTuiJianLX;
private String pingBiaoYingJiDiQu;
private Long pinqiEndTime;
private Long pinqiStartTime;
private String professionLevel;
private String qiTaLianXiFangShi;
private Boolean qualified;
private Boolean readRuKuPromise;
private Long readRuKuPromiseTime;
private Integer ruKuZhuangTai;
private Boolean senior;
private Boolean sex;
private String sfzFileGuid;
private String sfzFuJians;
private String shenFenZheng;
private Long shenHeEndTime;
private Long shenHeStartTime;
private String shenPiRen;
private String shenPiShiJian;
private String shenPiShiJianText;
private String shenPiYiJian;
private Integer shenPiZhuangTai;
private Long shenQingEndTime;
private Integer shenQingLeiXing;
private Long shenQingStartTime;
private Boolean shiFouYiFaZhuanJia;
private String subjectCode;
private String subjectId;
private String subjectName;
private Integer subjectType;
private String suoShuBuMeng;
private String suoShuDanWeiName;
private String suoShuHangYe;
private String suoShuZhaoBiaoDaiLi;
private String suoZaiQitaZhuanJiaKu;
private String tenantId;
private String tenantId_;
private String tenantName;
private Long tiJiaoTime;
private String tiJiaoTimeText;
private String tuiKuYuanYin;
private String waiYuChengDu;
private String xueLi;
private String xueLiTxt;
private String xueLiZhuanYe;
private String xueWei;
private String xueWeiTxt;
private String xueWeiZhuanYe;
private String yinHang;
private String yinHang1;
private String yinHangKa;
private String yinHangKaFileGuid;
private String yingJiZhuangTai;
private String zhangHao;
private String zhaoBiaoDanWeiBianHao;
private String zhaoBiaoDanweiMingChen;
private String zhengJianType;
private String zhengZhiMianMao;
private Boolean zhiYeZiGe;
private String zhuanJiaCode;
private Integer zhuanJiaFenJi;
private Integer zhuanJiaFenLei;
private String zhuanJiaGuid;
private String zhuanJiaName;
private String zhuanJiaShiXiangGuid;
private Integer zhuanJiaSourceType;
private String zhuanJiaSuoZaiDiGuids;
private String zhuanJiaSuoZaiDiNames;
private String zhuanJiaType;
private Integer zhuanJiaZhuangTai;
private String zhuanJiaZiZhiTiaoJian;
private String zhuanJiaZongHeBianHao;
private String zhuanYeJingLi;
private String zhuanYeTeChang;
private Integer zhuanjiaQinRenQi;
private Long ziDongZanTingEndTime;
private Long ziDongZanTingStartTime;
}
@Data
@Builder
public static class Jl {
private String buMenName;
private Long createTime;
private String createTimeText;
private String creatorName;
private String danWeiBH;
private String danWeiName;
private String gongZuoMiaoShu;
private String jingLiGuid;
private Long liZhiTime;
private String liZhiTimeText;
private String modifierName;
private Long modifyTime;
private String modifyTimeText;
private Long riZhiTime;
private String riZhiTimeText;
private String shenFenZheng;
private Long tenantId;
private String tenantName;
private String zhiWu;
private String zhuanJiaGuid;
private String zhuanJiaShiXiangGuid;
private String ziXinXiGuid;
}
@Data
@Builder
public static class Zg {
private String base64ZgFile;
private String base64ZgFileName;
private Long createTime;
private String createTimeText;
private String creatorName;
private String dictGuid;
private Long huoQuDate;
private String modifierName;
private Long modifyTime;
private String modifyTimeText;
private Long obtainTime;
private String qiTaZiGe;
private String zgFileGuid;
private String zhuanJiaGuid;
private String zhuanJiaShiXiangGuid;
private String ziGeGuid;
private String ziGeName;
private String ziGeZhengShuHao;
private String ziXinXiGuid;
}
@Data
@Builder
public static class Zc {
private String base64ZcFile;
private String base64ZcFileName;
private Long createTime;
private String createTimeText;
private String creatorName;
private String dictGuid;
private String modifierName;
private Long modifyTime;
private String modifyTimeText;
private Long pingDingTime;
private String pingDingTimeText;
private String zcFileGuid;
private String zhiChengGuid;
private String zhiChengName;
private String zhiChengZhuanYe;
private String zhuanJiaGuid;
private String zhuanJiaShiXiangGuid;
private String ziXinXiGuid;
}
@Data
@Builder
public static class Pb {
private Long createTime;
private String createTimeText;
private String creatorName;
private Long dongJieEndTime;
private String dongJieFuJianGuid;
private String dongJieOperator;
private String dongJieReason;
private Long dongJieSatrtTime;
private Long dongJieTime;
private Boolean isPrimary;
private Boolean isScarce;
private String jieDongFuJianGuid;
private String jieDongOperator;
private String jieDongReason;
private Long jieDongTime;
private String modifierName;
private Long modifyTime;
private String modifyTimeText;
private String parentGuid;
private String path;
private String pingBiaoZhuanYeGuid;
private Integer professionLevel;
private String zhuanJiaGuid;
private String zhuanJiaLeiBie;
private String zhuanJiaShiXiangGuid;
private String zhuanYeBH;
private String zhuanYeGuid;
private String zhuanYeJiBie;
private String zhuanYeName;
private Integer zhuanYeNianXian;
private Integer zhuanYeStatus;
private String zhuanYeXiangGuanJingLi;
private String ziXinXiGuid;
}
@Data
@Builder
public static class Hb {
private Long createTime;
private String createTimeText;
private String creatorName;
private String danWeiBH;
private String danWeiName;
private String huiBiGuid;
private String huiBiMiaoShu;
private String huiBiMiaoShuStr;
private String modifierName;
private Long modifyTime;
private String modifyTimeText;
private String zhuanJiaGuid;
private String zhuanJiaShiXiangGuid;
private String ziXinXiGuid;
}
@Data
@Builder
public static class Ps {
private Long createTime;
private String creatorGuid;
private String creatorName;
private String modifierGuid;
private String modifierName;
private Long modifyTime;
private Long pinQiEndTime;
private String pinQiEndTimeText;
private Long pinQiStartTime;
private String pinQiStartTimeText;
private String pinShuFuJianGuid;
private String pingShuGuid;
private String zhuanJiaGuid;
private Integer zhuanJiaQinRenQi;
}
@Data
@Builder
public static class Language {
private String languageGuid;
private String zhuanJiaGuid;
private String zhuanJiaShiXiangGuid;
private String languageName;
private String languageId;
private String shuLianChengDu;
private String shuLianChengDuId;
}
@Data
@Builder
public static class XueLi {
private Long biYeTime;
private String biYeYuanXiao;
private String biYeYuanXiaoGuid;
private String byzFileGuid;
private Long createTime;
private String creatorGuid;
private String creatorName;
private Long creatorTime;
private Boolean isImport;
private Boolean isZuiGaoXueLi;
private Boolean isZuiGaoXueWei;
private String modifier;
private String modifierName;
private Long modifyTime;
private String suoShuZhaoBiaoDaiLi;
private String xueLiBh;
private String xueLiDictGuid;
private String xueLiGuid;
private String xueLiName;
private String xueLiZhuanYe;
private String xueLiZhuanYeBh;
private String xueLiZhuanYeGuid;
private String xueWeiBh;
private String xueWeiDictGuid;
private String xueWeiName;
private String xwzFileGuid;
private String zhuanJiaGuid;
private String zhuanJiaShiXiangGuid;
private String ziXinXiGuid;
}
@Data
@Builder
public static class FuJian {
private Long createTime;
private String creatorGuid;
private String creatorName;
private String downloadUrl;
private String feiQiRenGuid;
private String feiQiRenName;
private Long feiQiTime;
private String fileDescription;
private String fileName;
private Integer fileSize;
private Integer fileType;
private String fuJianGuid;
private Boolean isFeiQi;
private String modifierGuid;
private String modifierName;
private Long modifyTime;
private String shenHeRenGuid;
private String shenHeRenName;
private Integer shenHeStatus;
private Long shenHeTime;
private String shenHeYiJian;
private Long tiJiaoTime;
private String zhuanJiaFuJianGuid;
private String zhuanJiaGuid;
private String zhuanJiaShiXiangGuid;
private String ziXinXiGuid;
}
@Data
@Builder
public static class SysShenHeJieGuo {
private String bianGengXuHao;
private String businessId;
private Long createTime;
private String createTimeText;
private String creatorName;
private String currentNode;
private String daiShenRenGuids;
private String daiShenRenNames;
private Boolean isFinish;
private String mobile;
private String modifierName;
private Long modifyTime;
private String modifyTimeText;
private Boolean nengCheHui;
private String photoGuid;
private String remark;
private String sequence;
private String shenFenZheng;
private String shenHeRenGuid;
private String shenPiBuMenGuid;
private String shenPiBuMenName;
private String shenPiJiLuGuid;
private String shenPiRen;
private String shenPiShiJian;
private String shenPiYiJian;
private Integer shenPiZhuangTai;
private Integer shenQingLeiXing;
private Boolean shiFouZhuanJiao;
private String shiXiangGuid;
private String shiXiangName;
private String shiXiangType;
private String shouLiRen;
private Long shouLiTime;
private String shouLiTimeText;
private Integer shouLiZhuanTai;
private String tiJiaoRenGuid;
private String tiJiaoRenName;
private Long tiJiaoTime;
private String tiJiaoTimeText;
private String tuiKuYuanYin;
private String workFlowBusinessId;
private String workFlowBusinessIdNew;
private String xiaJiShenHeRenGuid;
private String xiaJiShenHeRenName;
private String xiangMuGuid;
private String zhuanJiaGuid;
private String zhuanJiaShiXiangGuid;
}
}
...@@ -4,7 +4,10 @@ import com.cnooc.expert.common.response.ApiResult; ...@@ -4,7 +4,10 @@ import com.cnooc.expert.common.response.ApiResult;
import com.cnooc.expert.common.response.BasePageResp; import com.cnooc.expert.common.response.BasePageResp;
import com.cnooc.expert.controller.common.AbstractBaseController; import com.cnooc.expert.controller.common.AbstractBaseController;
import com.cnooc.expert.controller.workflow.model.request.ApprovePathSettingPageReq; import com.cnooc.expert.controller.workflow.model.request.ApprovePathSettingPageReq;
import com.cnooc.expert.controller.workflow.model.response.ApprovePathSettingPageResp; import com.cnooc.expert.external.workflow.model.request.InstRevokeApiReq;
import com.cnooc.expert.external.workflow.model.request.InstStartApiReq;
import com.cnooc.expert.external.workflow.model.response.InstStartApiResp;
import com.cnooc.expert.external.workflow.model.response.ProcDefPageApiResp;
import com.cnooc.expert.service.WorkflowService; import com.cnooc.expert.service.WorkflowService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
...@@ -20,10 +23,25 @@ public class WorkflowController extends AbstractBaseController { ...@@ -20,10 +23,25 @@ public class WorkflowController extends AbstractBaseController {
private final WorkflowService workflowService; private final WorkflowService workflowService;
// 流程实例启动
@PostMapping("/start")
public ApiResult<InstStartApiResp> instStart(@RequestBody @Validated InstStartApiReq req) {
InstStartApiResp apiResp = workflowService.startInst(req);
return ApiResult.successWithResult(apiResp);
}
// 流程实例回撤
@PostMapping("/revoke")
public ApiResult<Boolean> instRevoke(@RequestBody @Validated InstRevokeApiReq req) {
Boolean apiResp = workflowService.revokeInst(req);
return ApiResult.successWithResult(apiResp);
}
// 获取审批路径 // 获取审批路径
@PostMapping("/approve-path-setting/page") @PostMapping("/approve-path-setting/page")
public ApiResult<BasePageResp<ApprovePathSettingPageResp>> pageApprovePathSetting(@RequestBody @Validated ApprovePathSettingPageReq req) { public ApiResult<BasePageResp<ProcDefPageApiResp>> pageApprovePathSetting(@RequestBody @Validated ApprovePathSettingPageReq req) {
return ApiResult.successWithResult(workflowService.pageApprovePathSetting(req)); BasePageResp<ProcDefPageApiResp> apiResp = workflowService.pageApprovePathSetting(req);
return ApiResult.successWithResult(apiResp);
} }
} }
...@@ -5,8 +5,10 @@ import com.cnooc.expert.common.response.BasePageResp; ...@@ -5,8 +5,10 @@ import com.cnooc.expert.common.response.BasePageResp;
import com.cnooc.expert.controller.common.AbstractBaseController; import com.cnooc.expert.controller.common.AbstractBaseController;
import com.cnooc.expert.controller.workflow.model.request.ApprovePathSettingPageReq; import com.cnooc.expert.controller.workflow.model.request.ApprovePathSettingPageReq;
import com.cnooc.expert.controller.workflow.model.response.ApprovePathSettingPageResp; import com.cnooc.expert.controller.workflow.model.response.ApprovePathSettingPageResp;
import com.cnooc.expert.controller.workflow.model.response.InstStartResp;
import com.cnooc.expert.external.workflow.model.request.InstRevokeApiReq;
import com.cnooc.expert.external.workflow.model.request.InstStartApiReq;
import com.cnooc.expert.service.WorkflowMockService; import com.cnooc.expert.service.WorkflowMockService;
import com.cnooc.expert.service.WorkflowService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
...@@ -21,6 +23,20 @@ public class WorkflowMockController extends AbstractBaseController { ...@@ -21,6 +23,20 @@ public class WorkflowMockController extends AbstractBaseController {
private final WorkflowMockService workflowMockService; private final WorkflowMockService workflowMockService;
// 流程实例启动
@PostMapping("/start")
public ApiResult<InstStartResp> instStart(@RequestBody @Validated InstStartApiReq req) {
InstStartResp apiResp = workflowMockService.startInst(req);
return ApiResult.successWithResult(apiResp);
}
// 流程实例回撤
@PostMapping("/revoke")
public ApiResult<Boolean> instRevoke(@RequestBody @Validated InstRevokeApiReq req) {
Boolean apiResp = workflowMockService.revokeInst(req);
return ApiResult.successWithResult(apiResp);
}
// 获取审批路径 // 获取审批路径
@PostMapping("/approve-path-setting/page") @PostMapping("/approve-path-setting/page")
public ApiResult<BasePageResp<ApprovePathSettingPageResp>> pageApprovePathSetting(@RequestBody @Validated ApprovePathSettingPageReq req) { public ApiResult<BasePageResp<ApprovePathSettingPageResp>> pageApprovePathSetting(@RequestBody @Validated ApprovePathSettingPageReq req) {
......
package com.cnooc.expert.controller.workflow.model.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Builder;
import lombok.Data;
@Data
@Builder
public class InstStartResp {
// 实例id
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;
// 业务id
private String businessId;
// 标题
private String title;
// 业务类型code
private String businessTypeCode;
// 当前实例执行id
private String currentExecutionId;
// 状态
private Integer status;
// 状态名称
private String statusName;
// 发起直接到退回的任务
private Boolean start2BackTask;
// 上次退回的节点
private String lastBackTaskId;
// 结束时间
private String endAt;
// 创建时间
private String createAt;
// 删除时间
private String deleteAt;
// 发起人id
private String starterId;
// 发起人名称
private String starterName;
// 发起主体
private String subjectId;
// 租户id
private String tenantId;
}
package com.cnooc.expert.external.common.model.request;
import lombok.Builder;
import lombok.Data;
@Data
@Builder
public class ProcDefPageApiReq {
// 模板名称
private String defName;
// 业务id
private String businessId;
// 事项类型 code
private String businessTypeCode;
// 标段id
private Long bidSectionId;
// 第几页
private Integer pageNum;
// 每页多少条数据
private Integer pageSize;
// 主体id
private String subjectId;
}
package com.cnooc.expert.external.common.model.response;
import lombok.Data;
import java.util.List;
@Data
public class ApiPagination<T> {
private Integer totalCount;
private Integer pageSize;
private Integer pageNum;
private Integer firstResult;
private Integer totalPage;
private Integer pageNo;
private Boolean firstPage;
private Boolean lastPage;
private Integer nextPage;
private Integer prePage;
private List<T> list;
}
...@@ -28,6 +28,7 @@ import com.cnooc.expert.external.expert.model.request.TrainExamPageApiReq; ...@@ -28,6 +28,7 @@ import com.cnooc.expert.external.expert.model.request.TrainExamPageApiReq;
import com.cnooc.expert.external.expert.model.request.ViolationExpertGetApiReq; import com.cnooc.expert.external.expert.model.request.ViolationExpertGetApiReq;
import com.cnooc.expert.external.expert.model.request.ViolationExpertPageApiReq; import com.cnooc.expert.external.expert.model.request.ViolationExpertPageApiReq;
import com.cnooc.expert.external.expert.model.request.XiangMuInfoByChouQuNumGetApiReq; import com.cnooc.expert.external.expert.model.request.XiangMuInfoByChouQuNumGetApiReq;
import com.cnooc.expert.external.expert.model.request.ZhuanJiaInfoGetByBusinessIdApiReq;
import com.cnooc.expert.external.expert.model.request.ZhuanJiaPingBiaoXiangMuRenWuPageApiReq; import com.cnooc.expert.external.expert.model.request.ZhuanJiaPingBiaoXiangMuRenWuPageApiReq;
import com.cnooc.expert.external.expert.model.response.CityTreeApiResp; import com.cnooc.expert.external.expert.model.response.CityTreeApiResp;
import com.cnooc.expert.external.expert.model.response.CommonFuJianListApiResp; import com.cnooc.expert.external.expert.model.response.CommonFuJianListApiResp;
...@@ -56,6 +57,7 @@ import com.cnooc.expert.external.expert.model.response.TrainExamPageApiResp; ...@@ -56,6 +57,7 @@ import com.cnooc.expert.external.expert.model.response.TrainExamPageApiResp;
import com.cnooc.expert.external.expert.model.response.ViolationExpertGetApiResp; import com.cnooc.expert.external.expert.model.response.ViolationExpertGetApiResp;
import com.cnooc.expert.external.expert.model.response.ViolationExpertPageApiResp; import com.cnooc.expert.external.expert.model.response.ViolationExpertPageApiResp;
import com.cnooc.expert.external.expert.model.response.XiangMuInfoByChouQuNumGetApiResp; import com.cnooc.expert.external.expert.model.response.XiangMuInfoByChouQuNumGetApiResp;
import com.cnooc.expert.external.expert.model.response.ZhuanJiaInfoGetByBusinessIdApiResp;
import com.cnooc.expert.external.expert.model.response.ZhuanJiaPingBiaoXiangMuRenWuPageApiResp; import com.cnooc.expert.external.expert.model.response.ZhuanJiaPingBiaoXiangMuRenWuPageApiResp;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.http.Body; import retrofit2.http.Body;
...@@ -70,6 +72,9 @@ public interface ExpertServiceApi { ...@@ -70,6 +72,9 @@ public interface ExpertServiceApi {
@POST("/api/mini/expertManage/approve/getBusinessId") @POST("/api/mini/expertManage/approve/getBusinessId")
Call<ApiBaseResult<String>> getBusinessIdApi(@HeaderMap Map<String, Object> headers); Call<ApiBaseResult<String>> getBusinessIdApi(@HeaderMap Map<String, Object> headers);
@POST("/api/saas-expert/mini/zjfw/zggrxxgl/queryZhuanJiaInfoByBusinessId")
Call<ApiBaseResult<ZhuanJiaInfoGetByBusinessIdApiResp>> getZhuanJiaInfoByBusinessIdApi(@HeaderMap Map<String, Object> headers, @Body ZhuanJiaInfoGetByBusinessIdApiReq req);
@POST("/api/mini/zjfw/zggrxxgl/queryInfoForEdit") @POST("/api/mini/zjfw/zggrxxgl/queryInfoForEdit")
Call<ApiBaseResult<ExpertInfoGetApiResp>> getExpertInfo(@HeaderMap Map<String, Object> headers, @Body ExpertInfoGetApiReq req); Call<ApiBaseResult<ExpertInfoGetApiResp>> getExpertInfo(@HeaderMap Map<String, Object> headers, @Body ExpertInfoGetApiReq req);
......
package com.cnooc.expert.external.expert.model.request;
import lombok.Builder;
import lombok.Data;
@Data
@Builder
public class ZhuanJiaInfoGetByBusinessIdApiReq {
private String businessId;
}
package com.cnooc.expert.external.expert.model.response; package com.cnooc.expert.external.expert.model.response;
import com.cnooc.expert.controller.expert.model.response.ExpertInfoGetResp;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
...@@ -16,39 +15,39 @@ public class ExpertInfoGetApiResp { ...@@ -16,39 +15,39 @@ public class ExpertInfoGetApiResp {
private String pinQiEndTime; private String pinQiEndTime;
private ExpertInfoGetResp.Bean bean; private Bean bean;
private ExpertInfoGetResp.SysShenHeJieGuo sysShenHeJieGuo; private SysShenHeJieGuo sysShenHeJieGuo;
private ExpertInfoGetResp.SysShenHeJieGuo xuQiShenHeJieGuo; private SysShenHeJieGuo xuQiShenHeJieGuo;
private ExpertInfoGetResp.ZhuangTaiXiuGaiJiLuSq xuQiXiuGaiJiLuSq; private ZhuangTaiXiuGaiJiLuSq xuQiXiuGaiJiLuSq;
private ExpertInfoGetResp.SysShenHeJieGuo tuiKuShenHeJieGuo; private SysShenHeJieGuo tuiKuShenHeJieGuo;
private ExpertInfoGetResp.ZhuangTaiXiuGaiJiLuSq tuiKuGaiJiLuSq; private ZhuangTaiXiuGaiJiLuSq tuiKuGaiJiLuSq;
private ExpertInfoGetResp.SysShenHeJieGuo yiLeiShenHeJieGuo; private SysShenHeJieGuo yiLeiShenHeJieGuo;
private ExpertInfoGetResp.SysShenHeJieGuo rukuShenHeJieGuo; private SysShenHeJieGuo rukuShenHeJieGuo;
private List<ExpertInfoGetResp.Jl> jlList; private List<Jl> jlList;
private List<ExpertInfoGetResp.Zg> zgList; private List<Zg> zgList;
private List<ExpertInfoGetResp.Zc> zcList; private List<Zc> zcList;
private List<ExpertInfoGetResp.Pb> pbList; private List<Pb> pbList;
private List<ExpertInfoGetResp.Hb> hbList; private List<Hb> hbList;
private List<ExpertInfoGetResp.Ps> psList; private List<Ps> psList;
private List<ExpertInfoGetResp.Language> languageList; private List<Language> languageList;
private List<ExpertInfoGetResp.XueLi> xueLiList; private List<XueLi> xueLiList;
private List<ExpertInfoGetResp.FuJian> fuJianList; private List<FuJian> fuJianList;
@Data @Data
...@@ -517,13 +516,16 @@ public class ExpertInfoGetApiResp { ...@@ -517,13 +516,16 @@ public class ExpertInfoGetApiResp {
private String fuJianGuid; private String fuJianGuid;
private Boolean isRenew; private Boolean isRenew;
private Short zhuanJiaQinRenQi; private Short zhuanJiaQinRenQi;
/** 解聘原因,10:专家主动退库,20:到期清退,30:到龄清退,40:管理员清退 */ /**
* 解聘原因,10:专家主动退库,20:到期清退,30:到龄清退,40:管理员清退
*/
private Short jiePinYuanYinType; private Short jiePinYuanYinType;
/** 续期原因类型,0:其他;1:聘任到期; */ /**
* 续期原因类型,0:其他;1:聘任到期;
*/
private Short renewYuanyinType; private Short renewYuanyinType;
private String renewJutiYuanyin; private String renewJutiYuanyin;
} }
} }
package com.cnooc.expert.external.expert.model.response;
import lombok.Builder;
import lombok.Data;
import java.util.List;
@Data
public class ZhuanJiaInfoGetByBusinessIdApiResp {
private List<Zc> zcList;
private List<Zg> zgList;
private List<Ps> psList;
private List<Jl> jlList;
private List<Pb> pbList;
private SysShenHeJieGuo rukuShenHeJieGuo;
private List<Hb> hbList;
private List<Language> languageList;
private List<XueLi> xueLiList;
private Bean bean;
private List<FuJian> fuJianList;
@Data
public static class Bean {
private String adAccount;
private Integer age;
private String authPassWithImport;
private String auths;
private String base64FanMianFuJian;
private String base64FanMianFuJianName;
private String base64FuJian;
private String base64FuJianName;
private String base64Photo;
private String base64PhotoName;
private String baseAuths;
private String baseCode;
private String baseGuid;
private String baseMobile;
private String baseName;
private String baseSFZH;
private String baseShenPiZhuangTai;
private String baseZhuangTai;
private String biYeYuanXiao;
private Integer bianGengXuHao;
private String birthday;
private String buNengRuXuanQingKong;
private String byzFileGuid;
private String canYuXiangMu;
private String city;
private Long createTime;
private String createTimeText;
private String creatorName;
private String danRenQiTaZhuanJia;
private String danweiGuid;
private String department;
private String domainName;
private String email;
private String fanMianFuJianGuids;
private String fax;
private String fuJianGuids;
private String gongZuoBeiZhu;
private String gongZuoDanWei;
private String gongZuoDanWeiBH;
private String gongZuoDanWeiDiZhi;
private String gongZuoPhone;
private String gongZuoPost;
private Long gongZuoTime;
private String gongZuoZhiWu;
private String gongZuoZhuanYeName;
private String gongZuoZhuanYeYears;
private Integer gongZuoZhuangTai;
private String graduationDate;
private Boolean hasLianJieChuLiYiJian;
private String huoJiangQingKuang;
private Boolean inGroup;
private Boolean isHasLianJieChuLiYiJian;
private Boolean isQualified;
private Boolean isReadRuKuPromise;
private Boolean isSenior;
private Boolean isZhiYeZiGe;
private String jgdmFileGuid;
private String jiTuanErJiDanWeiCode;
private String jiTuanErJiDanWeiName;
private String jiaTingDiZhi;
private String jiaTingPhone;
private String jiaTingPost;
private String jianKangZhuangKuang;
private String jinJiLianXiRenGuid;
private String jinJiLianXiRenName;
private String jinJiLianXiRenPhone;
private String kaoShiFenShu;
private Integer leiJiFenZhi;
private Long leiJiZhanTingTime;
private String lianJieYiJianShuFuJianGuid;
private String lsFuJian;
private String minZu;
private String minZuText;
private String mobile;
private String mobileGJQHText;
private String mobileGuoJiQuHao;
private String modifierName;
private Long modifyTime;
private String modifyTimeText;
private Boolean needTest;
private String photoGuid;
private String pingBiaoChangZhuDiQu;
private String pingBiaoChangZhuDiQuName;
private Boolean pingBiaoIsYingJi;
private String pingBiaoQiTaDiQu;
private String pingBiaoTuiJianLX;
private String pingBiaoYingJiDiQu;
private Long pinqiEndTime;
private Long pinqiStartTime;
private String professionLevel;
private String qiTaLianXiFangShi;
private Boolean qualified;
private Boolean readRuKuPromise;
private Long readRuKuPromiseTime;
private Integer ruKuZhuangTai;
private Boolean senior;
private Boolean sex;
private String sfzFileGuid;
private String sfzFuJians;
private String shenFenZheng;
private Long shenHeEndTime;
private Long shenHeStartTime;
private String shenPiRen;
private String shenPiShiJian;
private String shenPiShiJianText;
private String shenPiYiJian;
private Integer shenPiZhuangTai;
private Long shenQingEndTime;
private Integer shenQingLeiXing;
private Long shenQingStartTime;
private Boolean shiFouYiFaZhuanJia;
private String subjectCode;
private String subjectId;
private String subjectName;
private Integer subjectType;
private String suoShuBuMeng;
private String suoShuDanWeiName;
private String suoShuHangYe;
private String suoShuZhaoBiaoDaiLi;
private String suoZaiQitaZhuanJiaKu;
private String tenantId;
private String tenantId_;
private String tenantName;
private Long tiJiaoTime;
private String tiJiaoTimeText;
private String tuiKuYuanYin;
private String waiYuChengDu;
private String xueLi;
private String xueLiTxt;
private String xueLiZhuanYe;
private String xueWei;
private String xueWeiTxt;
private String xueWeiZhuanYe;
private String yinHang;
private String yinHang1;
private String yinHangKa;
private String yinHangKaFileGuid;
private String yingJiZhuangTai;
private String zhangHao;
private String zhaoBiaoDanWeiBianHao;
private String zhaoBiaoDanweiMingChen;
private String zhengJianType;
private String zhengZhiMianMao;
private Boolean zhiYeZiGe;
private String zhuanJiaCode;
private Integer zhuanJiaFenJi;
private Integer zhuanJiaFenLei;
private String zhuanJiaGuid;
private String zhuanJiaName;
private String zhuanJiaShiXiangGuid;
private Integer zhuanJiaSourceType;
private String zhuanJiaSuoZaiDiGuids;
private String zhuanJiaSuoZaiDiNames;
private String zhuanJiaType;
private Integer zhuanJiaZhuangTai;
private String zhuanJiaZiZhiTiaoJian;
private String zhuanJiaZongHeBianHao;
private String zhuanYeJingLi;
private String zhuanYeTeChang;
private Integer zhuanjiaQinRenQi;
private Long ziDongZanTingEndTime;
private Long ziDongZanTingStartTime;
}
@Data
public static class Jl {
private String buMenName;
private Long createTime;
private String createTimeText;
private String creatorName;
private String danWeiBH;
private String danWeiName;
private String gongZuoMiaoShu;
private String jingLiGuid;
private Long liZhiTime;
private String liZhiTimeText;
private String modifierName;
private Long modifyTime;
private String modifyTimeText;
private Long riZhiTime;
private String riZhiTimeText;
private String shenFenZheng;
private Long tenantId;
private String tenantName;
private String zhiWu;
private String zhuanJiaGuid;
private String zhuanJiaShiXiangGuid;
private String ziXinXiGuid;
}
@Data
public static class Zg {
private String base64ZgFile;
private String base64ZgFileName;
private Long createTime;
private String createTimeText;
private String creatorName;
private String dictGuid;
private Long huoQuDate;
private String modifierName;
private Long modifyTime;
private String modifyTimeText;
private Long obtainTime;
private String qiTaZiGe;
private String zgFileGuid;
private String zhuanJiaGuid;
private String zhuanJiaShiXiangGuid;
private String ziGeGuid;
private String ziGeName;
private String ziGeZhengShuHao;
private String ziXinXiGuid;
}
@Data
public static class Zc {
private String base64ZcFile;
private String base64ZcFileName;
private Long createTime;
private String createTimeText;
private String creatorName;
private String dictGuid;
private String modifierName;
private Long modifyTime;
private String modifyTimeText;
private Long pingDingTime;
private String pingDingTimeText;
private String zcFileGuid;
private String zhiChengGuid;
private String zhiChengName;
private String zhiChengZhuanYe;
private String zhuanJiaGuid;
private String zhuanJiaShiXiangGuid;
private String ziXinXiGuid;
}
@Data
public static class Pb {
private Long createTime;
private String createTimeText;
private String creatorName;
private Long dongJieEndTime;
private String dongJieFuJianGuid;
private String dongJieOperator;
private String dongJieReason;
private Long dongJieSatrtTime;
private Long dongJieTime;
private Boolean isPrimary;
private Boolean isScarce;
private String jieDongFuJianGuid;
private String jieDongOperator;
private String jieDongReason;
private Long jieDongTime;
private String modifierName;
private Long modifyTime;
private String modifyTimeText;
private String parentGuid;
private String path;
private String pingBiaoZhuanYeGuid;
private Integer professionLevel;
private String zhuanJiaGuid;
private String zhuanJiaLeiBie;
private String zhuanJiaShiXiangGuid;
private String zhuanYeBH;
private String zhuanYeGuid;
private String zhuanYeJiBie;
private String zhuanYeName;
private Integer zhuanYeNianXian;
private Integer zhuanYeStatus;
private String zhuanYeXiangGuanJingLi;
private String ziXinXiGuid;
}
@Data
public static class Hb {
private Long createTime;
private String createTimeText;
private String creatorName;
private String danWeiBH;
private String danWeiName;
private String huiBiGuid;
private String huiBiMiaoShu;
private String huiBiMiaoShuStr;
private String modifierName;
private Long modifyTime;
private String modifyTimeText;
private String zhuanJiaGuid;
private String zhuanJiaShiXiangGuid;
private String ziXinXiGuid;
}
@Data
public static class Ps {
private Long createTime;
private String creatorGuid;
private String creatorName;
private String modifierGuid;
private String modifierName;
private Long modifyTime;
private Long pinQiEndTime;
private String pinQiEndTimeText;
private Long pinQiStartTime;
private String pinQiStartTimeText;
private String pinShuFuJianGuid;
private String pingShuGuid;
private String zhuanJiaGuid;
private Integer zhuanJiaQinRenQi;
}
@Data
public static class Language {
private String languageGuid;
private String zhuanJiaGuid;
private String zhuanJiaShiXiangGuid;
private String languageName;
private String languageId;
private String shuLianChengDu;
private String shuLianChengDuId;
}
@Data
public static class XueLi {
private Long biYeTime;
private String biYeYuanXiao;
private String biYeYuanXiaoGuid;
private String byzFileGuid;
private Long createTime;
private String creatorGuid;
private String creatorName;
private Long creatorTime;
private Boolean isImport;
private Boolean isZuiGaoXueLi;
private Boolean isZuiGaoXueWei;
private String modifier;
private String modifierName;
private Long modifyTime;
private String suoShuZhaoBiaoDaiLi;
private String xueLiBh;
private String xueLiDictGuid;
private String xueLiGuid;
private String xueLiName;
private String xueLiZhuanYe;
private String xueLiZhuanYeBh;
private String xueLiZhuanYeGuid;
private String xueWeiBh;
private String xueWeiDictGuid;
private String xueWeiName;
private String xwzFileGuid;
private String zhuanJiaGuid;
private String zhuanJiaShiXiangGuid;
private String ziXinXiGuid;
}
@Data
public static class FuJian {
private Long createTime;
private String creatorGuid;
private String creatorName;
private String downloadUrl;
private String feiQiRenGuid;
private String feiQiRenName;
private Long feiQiTime;
private String fileDescription;
private String fileName;
private Integer fileSize;
private Integer fileType;
private String fuJianGuid;
private Boolean isFeiQi;
private String modifierGuid;
private String modifierName;
private Long modifyTime;
private String shenHeRenGuid;
private String shenHeRenName;
private Integer shenHeStatus;
private Long shenHeTime;
private String shenHeYiJian;
private Long tiJiaoTime;
private String zhuanJiaFuJianGuid;
private String zhuanJiaGuid;
private String zhuanJiaShiXiangGuid;
private String ziXinXiGuid;
}
@Data
public static class SysShenHeJieGuo {
private String bianGengXuHao;
private String businessId;
private Long createTime;
private String createTimeText;
private String creatorName;
private String currentNode;
private String daiShenRenGuids;
private String daiShenRenNames;
private Boolean isFinish;
private String mobile;
private String modifierName;
private Long modifyTime;
private String modifyTimeText;
private Boolean nengCheHui;
private String photoGuid;
private String remark;
private String sequence;
private String shenFenZheng;
private String shenHeRenGuid;
private String shenPiBuMenGuid;
private String shenPiBuMenName;
private String shenPiJiLuGuid;
private String shenPiRen;
private String shenPiShiJian;
private String shenPiYiJian;
private Integer shenPiZhuangTai;
private Integer shenQingLeiXing;
private Boolean shiFouZhuanJiao;
private String shiXiangGuid;
private String shiXiangName;
private String shiXiangType;
private String shouLiRen;
private Long shouLiTime;
private String shouLiTimeText;
private Integer shouLiZhuanTai;
private String tiJiaoRenGuid;
private String tiJiaoRenName;
private Long tiJiaoTime;
private String tiJiaoTimeText;
private String tuiKuYuanYin;
private String workFlowBusinessId;
private String workFlowBusinessIdNew;
private String xiaJiShenHeRenGuid;
private String xiaJiShenHeRenName;
private String xiangMuGuid;
private String zhuanJiaGuid;
private String zhuanJiaShiXiangGuid;
}
}
...@@ -30,6 +30,7 @@ import com.cnooc.expert.external.expert.model.request.TrainExamPageApiReq; ...@@ -30,6 +30,7 @@ import com.cnooc.expert.external.expert.model.request.TrainExamPageApiReq;
import com.cnooc.expert.external.expert.model.request.ViolationExpertGetApiReq; import com.cnooc.expert.external.expert.model.request.ViolationExpertGetApiReq;
import com.cnooc.expert.external.expert.model.request.ViolationExpertPageApiReq; import com.cnooc.expert.external.expert.model.request.ViolationExpertPageApiReq;
import com.cnooc.expert.external.expert.model.request.XiangMuInfoByChouQuNumGetApiReq; import com.cnooc.expert.external.expert.model.request.XiangMuInfoByChouQuNumGetApiReq;
import com.cnooc.expert.external.expert.model.request.ZhuanJiaInfoGetByBusinessIdApiReq;
import com.cnooc.expert.external.expert.model.request.ZhuanJiaPingBiaoXiangMuRenWuPageApiReq; import com.cnooc.expert.external.expert.model.request.ZhuanJiaPingBiaoXiangMuRenWuPageApiReq;
import com.cnooc.expert.external.expert.model.response.CityTreeApiResp; import com.cnooc.expert.external.expert.model.response.CityTreeApiResp;
import com.cnooc.expert.external.expert.model.response.CommonFuJianListApiResp; import com.cnooc.expert.external.expert.model.response.CommonFuJianListApiResp;
...@@ -58,6 +59,7 @@ import com.cnooc.expert.external.expert.model.response.TrainExamPageApiResp; ...@@ -58,6 +59,7 @@ import com.cnooc.expert.external.expert.model.response.TrainExamPageApiResp;
import com.cnooc.expert.external.expert.model.response.ViolationExpertGetApiResp; import com.cnooc.expert.external.expert.model.response.ViolationExpertGetApiResp;
import com.cnooc.expert.external.expert.model.response.ViolationExpertPageApiResp; import com.cnooc.expert.external.expert.model.response.ViolationExpertPageApiResp;
import com.cnooc.expert.external.expert.model.response.XiangMuInfoByChouQuNumGetApiResp; import com.cnooc.expert.external.expert.model.response.XiangMuInfoByChouQuNumGetApiResp;
import com.cnooc.expert.external.expert.model.response.ZhuanJiaInfoGetByBusinessIdApiResp;
import com.cnooc.expert.external.expert.model.response.ZhuanJiaPingBiaoXiangMuRenWuPageApiResp; import com.cnooc.expert.external.expert.model.response.ZhuanJiaPingBiaoXiangMuRenWuPageApiResp;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -92,6 +94,16 @@ public class ExpertServiceClient extends AbstractRetrofitManager { ...@@ -92,6 +94,16 @@ public class ExpertServiceClient extends AbstractRetrofitManager {
return this.getResponseBody(call, "getExpertInfo"); return this.getResponseBody(call, "getExpertInfo");
} }
// 根据 businessId获取专家信息
public ApiBaseResult<ZhuanJiaInfoGetByBusinessIdApiResp> getZhuanJiaInfoByBusinessId(String businessId) {
Map<String, Object> headers = super.getHeaders();
ZhuanJiaInfoGetByBusinessIdApiReq req = ZhuanJiaInfoGetByBusinessIdApiReq.builder()
.businessId(businessId)
.build();
Call<ApiBaseResult<ZhuanJiaInfoGetByBusinessIdApiResp>> call = expertServiceApi.getZhuanJiaInfoByBusinessIdApi(headers, req);
return this.getResponseBody(call, "getZhuanJiaInfoByBusinessId");
}
public ApiBaseResult<ExpertInfoGetApiResp> updateExpertInfo(ExpertInfoUpdateApiReq req) { public ApiBaseResult<ExpertInfoGetApiResp> updateExpertInfo(ExpertInfoUpdateApiReq req) {
Map<String, Object> headers = super.getHeaders(); Map<String, Object> headers = super.getHeaders();
Call<ApiBaseResult<ExpertInfoGetApiResp>> call = expertServiceApi.updateExpertInfoApi(headers, req); Call<ApiBaseResult<ExpertInfoGetApiResp>> call = expertServiceApi.updateExpertInfoApi(headers, req);
......
package com.cnooc.expert.external.workflow.api; package com.cnooc.expert.external.workflow.api;
import com.cnooc.expert.external.common.model.request.ProcDefPageApiReq;
import com.cnooc.expert.external.common.model.response.ApiBaseResult;
import com.cnooc.expert.external.common.model.response.ApiPagination;
import com.cnooc.expert.external.workflow.model.request.InstRevokeApiReq;
import com.cnooc.expert.external.workflow.model.request.InstStartApiReq;
import com.cnooc.expert.external.workflow.model.response.InstStartApiResp;
import com.cnooc.expert.external.workflow.model.response.ProcDefPageApiResp;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.HeaderMap;
import retrofit2.http.POST;
import java.util.Map;
public interface WorkflowServiceApi { public interface WorkflowServiceApi {
@POST("/api/workflow2/expertManage/jingdongengine/findDefInfoListByCondition")
Call<ApiBaseResult<ApiPagination<ProcDefPageApiResp>>> pageProcDefApi(@HeaderMap Map<String, Object> headers, @Body ProcDefPageApiReq req);
@POST("/api/workflow2/expertManage/inst/start")
Call<ApiBaseResult<InstStartApiResp>> startInstApi(@HeaderMap Map<String, Object> headers, @Body InstStartApiReq req);
@POST("/api/workflow2/expertManage/inst/revoke")
Call<ApiBaseResult<Void>> revokeInstApi(@HeaderMap Map<String, Object> headers, @Body InstRevokeApiReq req);
} }
package com.cnooc.expert.external.workflow.model.request;
import lombok.Builder;
import lombok.Data;
@Data
@Builder
public class InstRevokeApiReq {
// 业务id
private String businessId;
// 事项类型code
private String busType;
}
package com.cnooc.expert.external.workflow.model.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.lang.Nullable;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.util.List;
import java.util.Map;
@Data
public class InstStartApiReq {
// 企业id,按照当前的阶段传入对应的企业id,不传默认取当前登陆人企业id,平台审批的时候传入 0;
private String subjectId;
// 标题
private String title;
// 业务id
private String businessId;
// 事项类型 code
private String busTypeCode;
// 流程定义id
private String procDefId;
// 自定义任务信息(用户自定义审批人配置)
@Valid
@Nullable
public List<TaskParticipantConfigReq> taskParticipantConfigs;
// 流程实例抄送人
private List<ApprovePersonReq> instCcParticipants;
// 签名相关参数,传入会校验,不传不会校验
private Map<String, Object> signatureMap;
// 文件pathId
private Long pathId;
// 发起备注
private String opinion;
// 发起人自定义向上审批
private Boolean customizeUpApproval;
// 发起人设置限上岗人员
private List<ApprovePersonReq> receiveParticipants;
// 配置来源
private Short engineType;
/***************************************************对接审批流新统一方案*****************************************************/
// 审批路径模板id
private String templateId;
// 审批路径模板名称
private String templateName;
// 审批路径模板名称
private String steps;
// 审批模板中每个审批节点中审批人的对应关系的json字符串
private String controlApproveUser;
// 限上岗审批信息
private TemplateProConfigReq templateProConfig;
// 需要下级审批
private Boolean needNextApprove;
// 接收人id
private String receiveId;
// 发起申请备注信息
private String remark;
// 发起申请附件信息
private String attachment;
// 主体名称
private String subjectName;
@Data
public static class TaskParticipantConfigReq {
// 任务定义的key值
@NotBlank(message = "自定义任务键值不能为空")
private String key;
// 任务定义的名称
private String name;
// 是否拆分审批人组
private Boolean allowSplitParty;
// 任务(节点)抄送人
@Valid
private List<ApprovePersonReq> ccParticipants;
// 审批人配置信息
@Valid
private List<ParticipantGroupDTO> participantGroups;
}
@Data
public static class ApprovePersonReq {
// id
@NotNull(message = "审批人id 不能为空")
private Long id;
// 审批人名称
@NotNull(message = "审批人名称 不能为空")
private String name;
}
@Data
public static class ParticipantGroupDTO {
// 参与者类型:person-人员、orgHead-部门负责人、role-角色、trendsOrgHead-动态部门负责人、personVariable-人员变量
@NotBlank(message = "参与者类型不能为空")
@Pattern(
regexp = "person|orgHead|role|trendsOrgHead|personVariable",
message = "参与者类型现仅支持person-人员、orgHead-部门负责人、role-角色、trendsOrgHead-动态部门负责人、personVariable-人员变量"
)
private String type;
/**
* 是否需要 协助(秘书协助等)
*/
// 是否需要 协助(秘书协助等)
private Boolean needAssist;
// 分组名称
private String groupName;
// 审批人
private List<ParticipantApproveDTO> participants;
}
@Data
public static class ParticipantApproveDTO {
/**
* 审批人分 用户 , 角色 , 部门等。。id 和 name 存对应的id和名称
*/
// id
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;
// 名称
private String name;
}
@Data
public static class TemplateProConfigReq {
// 限上岗配置
private String procurementConfigId;
private String reason;
// 限上岗人员信息
private String personnel;
private String upDomain;
private String upward;
// 签署意见
private String signOpinion;
}
}
package com.cnooc.expert.external.workflow.model.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
@Data
public class InstStartApiResp {
// 实例id
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;
// 业务id
private String businessId;
// 标题
private String title;
// 业务类型code
private String businessTypeCode;
// 当前实例执行id
private String currentExecutionId;
// 状态
private Integer status;
// 状态名称
private String statusName;
// 发起直接到退回的任务
private Boolean start2BackTask;
// 上次退回的节点
private String lastBackTaskId;
// 结束时间
private String endAt;
// 创建时间
private String createAt;
// 删除时间
private String deleteAt;
// 发起人id
private String starterId;
// 发起人名称
private String starterName;
// 发起主体
private String subjectId;
// 租户id
private String tenantId;
}
package com.cnooc.expert.external.workflow.model.response;
import lombok.Data;
import java.util.List;
@Data
public class ProcDefPageApiResp {
// id
private String id;
// 业务类型编码
private String businessTypeCode;
// 模板id
private String defId;
// 模板名称
private String defName;
// ifream嵌入url
private String ifreamUrl;
// 模板步骤
private String defPath;
// 步骤信息
private List<ProcDefPath> templatePaths;
// 是否需要审批
private Boolean needApprove;
// 配置来源
private Short engineType;
@Data
public static class ProcDefPath {
// 节点id
private String nodeId;
// 审批步骤
private String nodeName;
// 审批人名称,该节点存在多个审批人时,以|拼接
private String approvePersonName;
// 账号,一个节点存在多个用户审批,一个用户对应一个account。多个以|来进行拼接
private List<AccountSubjectNameEmailVO> accountList;
// 所属单位,该节点存在多个审批人时,以|拼接
private String subjectName;
// 邮箱,该节点存在多个审批人时,以|拼接
private String email;
}
@Data
public static class AccountSubjectNameEmailVO {
// 账号
private String account;
// 候选人名称
private String name;
// 候选人所属主体名称
private String subjectName;
// 邮箱
private String email;
}
}
package com.cnooc.expert.external.workflow.service; package com.cnooc.expert.external.workflow.service;
import com.cnooc.expert.external.common.AbstractRetrofitManager; import com.cnooc.expert.external.common.AbstractRetrofitManager;
import com.cnooc.expert.external.common.model.request.ProcDefPageApiReq;
import com.cnooc.expert.external.common.model.response.ApiBaseResult;
import com.cnooc.expert.external.common.model.response.ApiPagination;
import com.cnooc.expert.external.workflow.api.WorkflowServiceApi; import com.cnooc.expert.external.workflow.api.WorkflowServiceApi;
import com.cnooc.expert.external.workflow.model.request.InstRevokeApiReq;
import com.cnooc.expert.external.workflow.model.request.InstStartApiReq;
import com.cnooc.expert.external.workflow.model.response.InstStartApiResp;
import com.cnooc.expert.external.workflow.model.response.ProcDefPageApiResp;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import retrofit2.Call;
import retrofit2.Retrofit; import retrofit2.Retrofit;
import java.util.Map;
@Service @Service
public class WorkflowServiceClient extends AbstractRetrofitManager { public class WorkflowServiceClient extends AbstractRetrofitManager {
...@@ -14,4 +24,27 @@ public class WorkflowServiceClient extends AbstractRetrofitManager { ...@@ -14,4 +24,27 @@ public class WorkflowServiceClient extends AbstractRetrofitManager {
public WorkflowServiceClient(@Qualifier("retrofitWorkflow") Retrofit retrofit) { public WorkflowServiceClient(@Qualifier("retrofitWorkflow") Retrofit retrofit) {
this.workflowServiceApi = retrofit.create(WorkflowServiceApi.class); this.workflowServiceApi = retrofit.create(WorkflowServiceApi.class);
} }
// 审批发起
public ApiBaseResult<InstStartApiResp> startInst(InstStartApiReq apiReq) {
Map<String, Object> headers = super.getHeaders();
Call<ApiBaseResult<InstStartApiResp>> call = workflowServiceApi.startInstApi(headers, apiReq);
return this.getResponseBody(call, "startInst");
}
// 审批撤回
public ApiBaseResult<Void> revokeInst(InstRevokeApiReq apiReq) {
Map<String, Object> headers = super.getHeaders();
Call<ApiBaseResult<Void>> call = workflowServiceApi.revokeInstApi(headers, apiReq);
return this.getResponseBody(call, "revokeInst");
}
// 审批路径分页
public ApiBaseResult<ApiPagination<ProcDefPageApiResp>> pageProcDef(ProcDefPageApiReq apiReq) {
Map<String, Object> headers = super.getHeaders();
Call<ApiBaseResult<ApiPagination<ProcDefPageApiResp>>> call = workflowServiceApi.pageProcDefApi(headers, apiReq);
return this.getResponseBody(call, "pageProcDef");
}
} }
...@@ -54,6 +54,7 @@ import com.cnooc.expert.controller.expert.model.response.SecondaryUnitListItemRe ...@@ -54,6 +54,7 @@ import com.cnooc.expert.controller.expert.model.response.SecondaryUnitListItemRe
import com.cnooc.expert.controller.expert.model.response.TempExamPaperGetResp; import com.cnooc.expert.controller.expert.model.response.TempExamPaperGetResp;
import com.cnooc.expert.controller.expert.model.response.WeiGuiGetResp; import com.cnooc.expert.controller.expert.model.response.WeiGuiGetResp;
import com.cnooc.expert.controller.expert.model.response.WeiGuiPageResp; import com.cnooc.expert.controller.expert.model.response.WeiGuiPageResp;
import com.cnooc.expert.controller.expert.model.response.ZhuanJiaInfoGetByBusinessIdResp;
import com.cnooc.expert.controller.expert.model.response.ZhuanJiaShenQingJiLuPageResp; import com.cnooc.expert.controller.expert.model.response.ZhuanJiaShenQingJiLuPageResp;
import com.cnooc.expert.external.expert.model.request.ExamPaperSubmitApiReq; import com.cnooc.expert.external.expert.model.request.ExamPaperSubmitApiReq;
import com.cnooc.expert.external.expert.model.request.ExpertInfoGetReq; import com.cnooc.expert.external.expert.model.request.ExpertInfoGetReq;
...@@ -794,6 +795,470 @@ public class ExpertMockService { ...@@ -794,6 +795,470 @@ public class ExpertMockService {
return result; return result;
} }
public ZhuanJiaInfoGetByBusinessIdResp getZhuanJiaInfoByBusinessId(String businessId) {
List<ZhuanJiaInfoGetByBusinessIdResp.Zc> zcList = Lists.newArrayList(
ZhuanJiaInfoGetByBusinessIdResp.Zc.builder()
.base64ZcFile("")
.base64ZcFileName("")
.createTime(1745393470354L)
.createTimeText("2025-04-23 15:31:10")
.creatorName("物装中心十八")
.dictGuid("")
.modifierName("物装中心十八")
.modifyTime(1747115258721L)
.modifyTimeText("2025-05-20 16:25:58")
.pingDingTime(1745393470354L)
.pingDingTimeText("2025-04-23 15:31:10")
.zcFileGuid("1420053958893662209")
.zhiChengGuid("28882bfa-afb4-425b-b50e-945a545fdd82")
.zhiChengName("不限")
.zhiChengZhuanYe("12")
.zhuanJiaGuid("1b4ffa58-2197-4b91-8178-3f49bd100f09")
.zhuanJiaShiXiangGuid("1402705b-0424-4f39-913c-7793b7b9f5d1")
.ziXinXiGuid("")
.build()
);
List<ZhuanJiaInfoGetByBusinessIdResp.XueLi> xueLiList = Lists.newArrayList(
ZhuanJiaInfoGetByBusinessIdResp.XueLi.builder()
.biYeTime(1745164800000L)
.biYeYuanXiao("21")
.biYeYuanXiao("")
.biYeYuanXiaoGuid("")
.byzFileGuid("")
.createTime(null)
.creatorGuid("1171528722513702912")
.creatorName("物装中心十八")
.creatorTime(null)
.isImport(false)
.isZuiGaoXueLi(true)
.isZuiGaoXueWei(true)
.modifier("")
.modifierName("")
.modifyTime(1745393482493L)
.suoShuZhaoBiaoDaiLi("")
.xueLiBh("")
.xueLiDictGuid("28a0942a-84ad-4329-8be4-8196ed3164fe")
.xueLiGuid("b471705b-205a-4dee-8f62-ad7d7a7c28ed")
.xueLiName("博士研究生")
.xueLiZhuanYe("12")
.xueLiZhuanYeBh("")
.xueLiZhuanYeGuid("")
.xueWeiBh("")
.xueWeiDictGuid("84dab32c-88e2-4ba1-ae74-a45b7bf75b5e")
.xueWeiName("博士后")
.xwzFileGuid("")
.zhuanJiaGuid("1b4ffa58-2197-4b91-8178-3f49bd100f09")
.zhuanJiaShiXiangGuid("1402705b-0424-4f39-913c-7793b7b9f5d1")
.ziXinXiGuid("")
.build()
);
List<ZhuanJiaInfoGetByBusinessIdResp.Ps> psList = Lists.newArrayList(
ZhuanJiaInfoGetByBusinessIdResp.Ps.builder()
.createTime(1745456982639L)
.creatorGuid("-1")
.creatorName("系统生成")
.modifierGuid("")
.modifierName("")
.modifyTime(null)
.pinQiEndTime(1840064982638L)
.pinQiEndTimeText("2028-04-23")
.pinQiStartTime(1745424000000L)
.pinQiStartTimeText("2025-04-24")
.pinShuFuJianGuid("1364891041086844929")
.pingShuGuid("7f903e09-e86a-4e8e-a7d0-1b2355fdf0d7")
.zhuanJiaGuid("1b4ffa58-2197-4b91-8178-3f49bd100f09")
.zhuanJiaQinRenQi(3)
.build()
);
List<ZhuanJiaInfoGetByBusinessIdResp.Jl> jlList = Lists.newArrayList(
ZhuanJiaInfoGetByBusinessIdResp.Jl.builder()
.buMenName("12")
.createTime(1745393470354L)
.createTimeText("2025-04-23 15:31:10")
.creatorName("物装中心十八")
.danWeiBH("")
.danWeiName("12")
.gongZuoMiaoShu("")
.jingLiGuid("b98559d9-35c7-4569-996f-8885923f503d")
.liZhiTime(1745337600000L)
.liZhiTimeText("2025-04-23 00:00:00")
.modifierName("物装中心十八")
.modifyTime(1747115258721L)
.modifyTimeText("2025-05-13 13:47:38")
.riZhiTime(1744646400000L)
.riZhiTimeText("2025-04-15 00:00:00")
.shenFenZheng("")
.tenantId(892422091105296400L)
.tenantName("")
.zhiWu("12")
.zhuanJiaGuid("1b4ffa58-2197-4b91-8178-3f49bd100f09")
.zhuanJiaShiXiangGuid("1402705b-0424-4f39-913c-7793b7b9f5d1")
.ziXinXiGuid("")
.build()
);
List<ZhuanJiaInfoGetByBusinessIdResp.Pb> pbList = Lists.newArrayList(
ZhuanJiaInfoGetByBusinessIdResp.Pb.builder()
.createTime(1745393470354L)
.createTimeText("2025-04-23 15:31:10")
.creatorName("物装中心十八")
.dongJieEndTime(null)
.dongJieFuJianGuid("")
.dongJieOperator("")
.dongJieReason("")
.dongJieSatrtTime(null)
.dongJieTime(null)
.isPrimary(true)
.isScarce(false)
.jieDongFuJianGuid("")
.jieDongOperator("")
.jieDongReason("")
.jieDongTime(null)
.modifierName("物装中心十八")
.modifyTime(1747115258721L)
.modifyTimeText("2025-05-13 13:47:38")
.parentGuid("0")
.path("$$$001$$$")
.pingBiaoZhuanYeGuid("22d508e7-7776-4b4a-8c97-f12985cdc251")
.professionLevel(1)
.zhuanJiaGuid("1b4ffa58-2197-4b91-8178-3f49bd100f09")
.zhuanJiaLeiBie(null)
.zhuanJiaShiXiangGuid("1402705b-0424-4f39-913c-7793b7b9f5d1")
.zhuanYeBH("001")
.zhuanYeGuid("4648caf4-5084-44cd-9120-d18d20950e30")
.zhuanYeJiBie("10")
.zhuanYeName("拟真环境测试专业勿动")
.zhuanYeNianXian(12)
.zhuanYeStatus(10)
.zhuanYeXiangGuanJingLi("12")
.ziXinXiGuid("")
.build()
);
ZhuanJiaInfoGetByBusinessIdResp.SysShenHeJieGuo rukuShenHeJieGuo = ZhuanJiaInfoGetByBusinessIdResp.SysShenHeJieGuo
.builder()
.bianGengXuHao("")
.businessId("1371846169935306752")
.createTime(1747115219009L)
.createTimeText("2025-05-13 13:46:59")
.creatorName("物装中心十八")
.currentNode("")
.daiShenRenGuids("")
.daiShenRenNames("")
.isFinish(true)
.mobile("15900000018")
.modifierName("物装中心十八")
.modifyTime(1747115261126L)
.modifyTimeText("2025-05-13 13:47:41")
.nengCheHui(false)
.photoGuid("")
.remark("")
.sequence("")
.shenFenZheng("15263219990128571X")
.shenHeRenGuid("")
.shenPiBuMenGuid("")
.shenPiBuMenName("")
.shenPiJiLuGuid("60e5723c-6b1c-4022-b34a-ed595d9d6f37")
.shenPiRen("")
.shenPiShiJian("")
.shenPiYiJian("")
.shenPiZhuangTai(50)
.shenQingLeiXing(101)
.shiFouZhuanJiao(false)
.shiXiangGuid("")
.shiXiangName("")
.shiXiangType("")
.shouLiRen("")
.shouLiTime(null)
.shouLiTimeText(null)
.shouLiZhuanTai(10)
.tiJiaoRenGuid("1171528722513702912")
.tiJiaoRenName("物装中心十八")
.tiJiaoTime(null)
.tiJiaoTimeText("")
.tuiKuYuanYin("")
.workFlowBusinessId("1364891101101371393")
.workFlowBusinessIdNew("1364617369199915009")
.xiaJiShenHeRenGuid("")
.xiaJiShenHeRenName("")
.xiangMuGuid("")
.zhuanJiaGuid("1b4ffa58-2197-4b91-8178-3f49bd100f09")
.zhuanJiaShiXiangGuid("1402705b-0424-4f39-913c-7793b7b9f5d1")
.build();
List<ZhuanJiaInfoGetByBusinessIdResp.Hb> hbList = Lists.newArrayList(
ZhuanJiaInfoGetByBusinessIdResp.Hb.builder()
.createTime(1745393470354L)
.createTimeText("2025-04-23 15:31:10")
.creatorName("物装中心十八")
.danWeiBH("")
.danWeiName("")
.huiBiGuid("03ed2b07-bdf3-4a4d-97b3-bd00050ae634")
.huiBiMiaoShu("12")
.huiBiMiaoShuStr("")
.modifierName("物装中心十八")
.modifyTime(1747115258721L)
.modifyTimeText("2025-05-13 13:47:38")
.zhuanJiaGuid("1b4ffa58-2197-4b91-8178-3f49bd100f09")
.zhuanJiaShiXiangGuid("1402705b-0424-4f39-913c-7793b7b9f5d1")
.ziXinXiGuid("")
.build()
);
ZhuanJiaInfoGetByBusinessIdResp.Bean bean = ZhuanJiaInfoGetByBusinessIdResp.Bean.builder()
.adAccount("wzzx18")
.age(26)
.authPassWithImport("")
.auths(null)
.base64FanMianFuJian("")
.base64FanMianFuJianName("")
.base64FuJian("")
.base64FuJianName("")
.base64Photo("")
.base64PhotoName("")
.baseAuths(null)
.baseCode("000099")
.baseGuid("1b4ffa58-2197-4b91-8178-3f49bd100f09")
.baseMobile("15900000018")
.baseName("物装中心十八")
.baseSFZH("15263219990128571X")
.baseShenPiZhuangTai("30")
.baseZhuangTai("10")
.biYeYuanXiao("")
.bianGengXuHao(0)
.birthday("1999年01月")
.buNengRuXuanQingKong("")
.byzFileGuid("")
.canYuXiangMu("")
.city("")
.createTime(1745391231935L)
.createTimeText("2025-04-23 14:53:51")
.creatorName("中国海洋石油集团有限公司")
.danRenQiTaZhuanJia("")
.danweiGuid("")
.department("")
.domainName("")
.email("1590000021@cnooc.com.cn")
.fanMianFuJianGuids("")
.fax("")
.fuJianGuids("")
.gongZuoBeiZhu("")
.gongZuoDanWei("中化建国际招标有限责任公司天津分公司")
.gongZuoDanWeiBH("")
.gongZuoDanWeiDiZhi("12")
.gongZuoPhone("")
.gongZuoPost("")
.gongZuoTime(null)
.gongZuoZhiWu("12")
.gongZuoZhuanYeName("")
.gongZuoZhuanYeYears("")
.gongZuoZhuangTai(1)
.graduationDate("")
.hasLianJieChuLiYiJian(false)
.huoJiangQingKuang("")
.inGroup(false)
.isHasLianJieChuLiYiJian(false)
.isQualified(true)
.isReadRuKuPromise(true)
.isSenior(false)
.isZhiYeZiGe(false)
.jgdmFileGuid("")
.jiTuanErJiDanWeiCode("")
.jiTuanErJiDanWeiName("中国海洋石油集团有限公司")
.jiaTingDiZhi("")
.jiaTingPhone("15900000011")
.jiaTingPost("")
.jianKangZhuangKuang("")
.jinJiLianXiRenGuid("")
.jinJiLianXiRenName("")
.jinJiLianXiRenPhone("")
.kaoShiFenShu(null)
.leiJiFenZhi(0)
.leiJiZhanTingTime(null)
.lianJieYiJianShuFuJianGuid("")
.lsFuJian(null)
.minZu("")
.minZuText("")
.mobile("15900000018")
.mobileGJQHText("15900000018")
.mobileGuoJiQuHao("")
.modifierName("杨斌")
.modifyTime(1755689152526L)
.modifyTimeText("2025-08-20 19:25:52")
.needTest(false)
.photoGuid("")
.pingBiaoChangZhuDiQu("110101")
.pingBiaoChangZhuDiQuName("")
.pingBiaoIsYingJi(false)
.pingBiaoQiTaDiQu("")
.pingBiaoTuiJianLX(null)
.pingBiaoYingJiDiQu("")
.pinqiEndTime(1840064982638L)
.pinqiStartTime(1745424000000L)
.professionLevel("")
.qiTaLianXiFangShi("")
.qualified(true)
.readRuKuPromise(true)
.readRuKuPromiseTime(1745391797759L)
.ruKuZhuangTai(900)
.senior(false)
.sex(true)
.sfzFileGuid("")
.sfzFuJians(null)
.shenFenZheng("15263219990128571X")
.shenHeEndTime(null)
.shenHeStartTime(null)
.shenPiRen("")
.shenPiShiJian(null)
.shenPiShiJianText("")
.shenPiYiJian("")
.shenPiZhuangTai(30)
.shenQingEndTime(null)
.shenQingLeiXing(101)
.shenQingStartTime(null)
.shiFouYiFaZhuanJia(false)
.subjectCode("91120116MA829PHX9X")
.subjectId("1355213128952123392")
.subjectName("中化建国际招标有限责任公司天津分公司")
.subjectType(1)
.suoShuBuMeng("12")
.suoShuDanWeiName("中国海洋石油集团有限公司")
.suoShuHangYe("")
.suoShuZhaoBiaoDaiLi("91110000710932216U")
.suoZaiQitaZhuanJiaKu("")
.tenantId("892422091105296400")
.tenantId_("")
.tenantName("")
.tiJiaoTime(null)
.tiJiaoTimeText("")
.tuiKuYuanYin("")
.waiYuChengDu("")
.xueLi("")
.xueLiTxt("")
.xueLiZhuanYe("")
.xueWei("")
.xueWeiTxt("")
.xueWeiZhuanYe("")
.yinHang("12121")
.yinHang1("")
.yinHangKa("123131311212")
.yinHangKaFileGuid("")
.yingJiZhuangTai(null)
.zhangHao("")
.zhaoBiaoDanWeiBianHao("")
.zhaoBiaoDanweiMingChen("")
.zhengJianType("0")
.zhengZhiMianMao("")
.zhiYeZiGe(false)
.zhuanJiaCode("000099")
.zhuanJiaFenJi(30)
.zhuanJiaFenLei(2)
.zhuanJiaGuid("1b4ffa58-2197-4b91-8178-3f49bd100f09")
.zhuanJiaName("物装中心十八")
.zhuanJiaShiXiangGuid("1402705b-0424-4f39-913c-7793b7b9f5d1")
.zhuanJiaSourceType(1)
.zhuanJiaSuoZaiDiGuids("110000110100110101")
.zhuanJiaSuoZaiDiNames("北京市北京市东城区")
.zhuanJiaType(null)
.zhuanJiaZhuangTai(10)
.zhuanJiaZiZhiTiaoJian("")
.zhuanJiaZongHeBianHao("PT000099")
.zhuanYeJingLi("")
.zhuanYeTeChang("")
.zhuanjiaQinRenQi(3)
.ziDongZanTingEndTime(null)
.ziDongZanTingStartTime(null)
.build();
List<ZhuanJiaInfoGetByBusinessIdResp.FuJian> fuJianList = Lists.newArrayList(
ZhuanJiaInfoGetByBusinessIdResp.FuJian.builder()
.createTime(1745393470744L)
.creatorGuid("1171528722513702912")
.creatorName("物装中心十八")
.downloadUrl("https://purb.m-bid.cnooc.com.cn/bid-mimic-cggl/892422091105296385/2/2025/4/23/1364617976113278976/%E4%BF%9D%E8%AF%81%E9%87%91%E3%80%81%E6%9C%8D%E5%8A%A1%E8%B4%B91.0.7.20250415.pdf?response-content-disposition=attachment%3Bfilename%3D%25E4%25BF%259D%25E8%25AF%2581%25E9%2587%2591%25E3%2580%2581%25E6%259C%258D%25E5%258A%25A1%25E8%25B4%25B91.0.7.20250415.pdf&AWSAccessKeyId=5T0WWU7JAUDUXJ2EG1FB&Expires=1745393679&Signature=N26QXpJBR7EFBi95KCnj6A1gg2w%3D")
.feiQiRenGuid("")
.feiQiRenName("")
.feiQiTime(null)
.fileDescription("")
.fileName("保证金、服务费1.0.7.20250415.pdf")
.fileSize(650921)
.fileType(4)
.fuJianGuid("1364617976113278976")
.isFeiQi(false)
.modifierGuid("")
.modifierName("")
.modifyTime(1745393482507L)
.shenHeRenGuid("")
.shenHeRenName("")
.shenHeStatus(30)
.shenHeTime(null)
.shenHeYiJian("")
.tiJiaoTime(1745391879721L)
.zhuanJiaFuJianGuid("1e2b5d5d-7b3c-4f26-87f0-2c1f45daa982")
.zhuanJiaGuid("1b4ffa58-2197-4b91-8178-3f49bd100f09")
.zhuanJiaShiXiangGuid("1402705b-0424-4f39-913c-7793b7b9f5d1")
.ziXinXiGuid("")
.build()
);
List<ZhuanJiaInfoGetByBusinessIdResp.Zg> zgList = Lists.newArrayList(
ZhuanJiaInfoGetByBusinessIdResp.Zg.builder()
.base64ZgFile("")
.base64ZgFileName("")
.createTime(1763520166268L)
.createTimeText("2025-11-19 10:42:46")
.creatorName("张立辉")
.dictGuid("")
.huoQuDate(1875283200000L)
.modifierName("张立辉")
.modifyTime(1763523886016L)
.modifyTimeText("2025-11-19 11:44:46")
.obtainTime(1671120000000L)
.qiTaZiGe("")
.zgFileGuid("")
.zhuanJiaGuid("ed78e562-27a2-43ea-8ccd-704fc12ae0ae")
.zhuanJiaShiXiangGuid("98cfd81c-f8e5-4c93-925a-92737028ab33")
.ziGeGuid("8f55681a-43c1-4b98-90cf-bec627af0d3d")
.ziGeName("一级建造师(铁路工程)")
.ziGeZhengShuHao("00019998900")
.ziXinXiGuid("")
.build()
);
List<ZhuanJiaInfoGetByBusinessIdResp.Language> languageList = Lists.newArrayList(
ZhuanJiaInfoGetByBusinessIdResp.Language.builder()
.languageGuid("522f8e5c-5097-4a00-b28a-0d5871f9c12b")
.languageId("5c7cbee6-1032-40cd-858d-b1f8050c0940")
.languageName("法语")
.shuLianChengDu("熟练")
.shuLianChengDuId("77332c10-acb4-4cba-84bd-f97101169196")
.zhuanJiaGuid("ed78e562-27a2-43ea-8ccd-704fc12ae0ae")
.zhuanJiaShiXiangGuid("98cfd81c-f8e5-4c93-925a-92737028ab33")
.build()
);
ZhuanJiaInfoGetByBusinessIdResp result = ZhuanJiaInfoGetByBusinessIdResp.builder()
.zcList(zcList)
.zgList(zgList)
.psList(psList)
.jlList(jlList)
.pbList(pbList)
.rukuShenHeJieGuo(rukuShenHeJieGuo)
.hbList(hbList)
.languageList(languageList)
.xueLiList(xueLiList)
.bean(bean)
.fuJianList(fuJianList)
.build();
return result;
}
public ExpertInfoGetResp updateExpetInfo(ExpertInfoUpdateApiReq req) { public ExpertInfoGetResp updateExpetInfo(ExpertInfoUpdateApiReq req) {
ExpertInfoGetResp.SysShenHeJieGuo sysShenHeJieGuo = ExpertInfoGetResp.SysShenHeJieGuo.builder() ExpertInfoGetResp.SysShenHeJieGuo sysShenHeJieGuo = ExpertInfoGetResp.SysShenHeJieGuo.builder()
...@@ -2890,4 +3355,5 @@ public class ExpertMockService { ...@@ -2890,4 +3355,5 @@ public class ExpertMockService {
.data(list) .data(list)
.build(); .build();
} }
} }
...@@ -80,6 +80,7 @@ import com.cnooc.expert.external.expert.model.response.TrainExamPageApiResp; ...@@ -80,6 +80,7 @@ import com.cnooc.expert.external.expert.model.response.TrainExamPageApiResp;
import com.cnooc.expert.external.expert.model.response.ViolationExpertGetApiResp; import com.cnooc.expert.external.expert.model.response.ViolationExpertGetApiResp;
import com.cnooc.expert.external.expert.model.response.ViolationExpertPageApiResp; import com.cnooc.expert.external.expert.model.response.ViolationExpertPageApiResp;
import com.cnooc.expert.external.expert.model.response.XiangMuInfoByChouQuNumGetApiResp; import com.cnooc.expert.external.expert.model.response.XiangMuInfoByChouQuNumGetApiResp;
import com.cnooc.expert.external.expert.model.response.ZhuanJiaInfoGetByBusinessIdApiResp;
import com.cnooc.expert.external.expert.model.response.ZhuanJiaPingBiaoXiangMuRenWuPageApiResp; import com.cnooc.expert.external.expert.model.response.ZhuanJiaPingBiaoXiangMuRenWuPageApiResp;
import com.cnooc.expert.external.expert.service.ExpertServiceClient; import com.cnooc.expert.external.expert.service.ExpertServiceClient;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
...@@ -193,6 +194,11 @@ public class ExpertService { ...@@ -193,6 +194,11 @@ public class ExpertService {
return apiResp.getData(); return apiResp.getData();
} }
public ZhuanJiaInfoGetByBusinessIdApiResp getZhuanJiaInfoByBusinessId(String businessId) {
ApiBaseResult<ZhuanJiaInfoGetByBusinessIdApiResp> apiResp = expertServiceClient.getZhuanJiaInfoByBusinessId(businessId);
return apiResp.getData();
}
public ExpertInfoGetApiResp updateExpetInfo(ExpertInfoUpdateApiReq req) { public ExpertInfoGetApiResp updateExpetInfo(ExpertInfoUpdateApiReq req) {
ApiBaseResult<ExpertInfoGetApiResp> apiResp = expertServiceClient.updateExpertInfo(req); ApiBaseResult<ExpertInfoGetApiResp> apiResp = expertServiceClient.updateExpertInfo(req);
return apiResp.getData(); return apiResp.getData();
......
...@@ -3,7 +3,10 @@ package com.cnooc.expert.service; ...@@ -3,7 +3,10 @@ package com.cnooc.expert.service;
import com.cnooc.expert.common.response.BasePageResp; import com.cnooc.expert.common.response.BasePageResp;
import com.cnooc.expert.controller.workflow.model.request.ApprovePathSettingPageReq; import com.cnooc.expert.controller.workflow.model.request.ApprovePathSettingPageReq;
import com.cnooc.expert.controller.workflow.model.response.ApprovePathSettingPageResp; import com.cnooc.expert.controller.workflow.model.response.ApprovePathSettingPageResp;
import com.cnooc.expert.external.workflow.service.WorkflowServiceClient; import com.cnooc.expert.controller.workflow.model.response.InstStartResp;
import com.cnooc.expert.external.workflow.model.request.InstRevokeApiReq;
import com.cnooc.expert.external.workflow.model.request.InstStartApiReq;
import com.cnooc.expert.external.workflow.model.response.InstStartApiResp;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -14,7 +17,15 @@ import java.util.List; ...@@ -14,7 +17,15 @@ import java.util.List;
@Service @Service
public class WorkflowMockService { public class WorkflowMockService {
private final WorkflowServiceClient workflowServiceClient; public InstStartResp startInst(InstStartApiReq req) {
return InstStartResp.builder()
.id(1763815035205L)
.build();
}
public Boolean revokeInst(InstRevokeApiReq req) {
return Boolean.TRUE;
}
public BasePageResp<ApprovePathSettingPageResp> pageApprovePathSetting(ApprovePathSettingPageReq req) { public BasePageResp<ApprovePathSettingPageResp> pageApprovePathSetting(ApprovePathSettingPageReq req) {
...@@ -69,4 +80,5 @@ public class WorkflowMockService { ...@@ -69,4 +80,5 @@ public class WorkflowMockService {
.data(data) .data(data)
.build(); .build();
} }
} }
...@@ -3,6 +3,13 @@ package com.cnooc.expert.service; ...@@ -3,6 +3,13 @@ package com.cnooc.expert.service;
import com.cnooc.expert.common.response.BasePageResp; import com.cnooc.expert.common.response.BasePageResp;
import com.cnooc.expert.controller.workflow.model.request.ApprovePathSettingPageReq; import com.cnooc.expert.controller.workflow.model.request.ApprovePathSettingPageReq;
import com.cnooc.expert.controller.workflow.model.response.ApprovePathSettingPageResp; import com.cnooc.expert.controller.workflow.model.response.ApprovePathSettingPageResp;
import com.cnooc.expert.external.common.model.request.ProcDefPageApiReq;
import com.cnooc.expert.external.common.model.response.ApiBaseResult;
import com.cnooc.expert.external.common.model.response.ApiPagination;
import com.cnooc.expert.external.workflow.model.request.InstRevokeApiReq;
import com.cnooc.expert.external.workflow.model.request.InstStartApiReq;
import com.cnooc.expert.external.workflow.model.response.InstStartApiResp;
import com.cnooc.expert.external.workflow.model.response.ProcDefPageApiResp;
import com.cnooc.expert.external.workflow.service.WorkflowServiceClient; import com.cnooc.expert.external.workflow.service.WorkflowServiceClient;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -16,57 +23,34 @@ public class WorkflowService { ...@@ -16,57 +23,34 @@ public class WorkflowService {
private final WorkflowServiceClient workflowServiceClient; private final WorkflowServiceClient workflowServiceClient;
public BasePageResp<ApprovePathSettingPageResp> pageApprovePathSetting(ApprovePathSettingPageReq req) { public InstStartApiResp startInst(InstStartApiReq req) {
ApiBaseResult<InstStartApiResp> apiResp = workflowServiceClient.startInst(req);
return apiResp.getData();
}
public Boolean revokeInst(InstRevokeApiReq req) {
workflowServiceClient.revokeInst(req);
return Boolean.TRUE;
}
List<ApprovePathSettingPageResp.ApprovePathAccount> accountList = Lists.newArrayList(
ApprovePathSettingPageResp.ApprovePathAccount.builder()
.account("ex_liujh27")
.name("刘俊")
.subjectName("中国海洋石油集团有限公司")
.email("ex_liujh27@cnooc.com.cn")
.build()
);
List<ApprovePathSettingPageResp.ApprovePath> templatePaths = Lists.newArrayList( public BasePageResp<ProcDefPageApiResp> pageApprovePathSetting(ApprovePathSettingPageReq req) {
ApprovePathSettingPageResp.ApprovePath.builder() ProcDefPageApiReq apiReq = ProcDefPageApiReq.builder()
.nodeId("node246ec7f3c7571dd631a93f34fa8aeb4b") .pageNum(req.getPageNo())
.nodeName("一级") .pageSize(req.getPageSize())
.approvePersonName("刘俊") .businessId(req.getBusinessId())
.subjectName("中国海洋石油集团有限公司") .businessTypeCode(req.getBusinessTypeCode())
.email("ex_liujh27@cnooc.com.cn") .subjectId(req.getSubjectId())
.accountList(accountList) .build();
.build() ApiBaseResult<ApiPagination<ProcDefPageApiResp>> apiResp = workflowServiceClient.pageProcDef(apiReq);
);
List<ApprovePathSettingPageResp> data = Lists.newArrayList( ApiPagination<ProcDefPageApiResp> pageResp = apiResp.getData();
ApprovePathSettingPageResp.builder()
.defId("e2dbccf455ec448b8a8284dc2c6c3b04")
.defName("中移深化-专家审批")
.defPath("1")
.opinion(null)
.pathId(null)
.useIfream(true)
.engineType(1)
.ifreamUrl("https://flow.t-bid.cnooc.com.cn/deta/scene-talk/approvalFlowChart.html?templateId=e2dbccf455ec448b8a8284dc2c6c3b04&approveId=")
.fileId(null)
.suggestMsg("1111")
.receiveSettingCode(null)
.receiveSettingName(null)
.upSubjectName(null)
.upSubjectId(null)
.needUpApproval(null)
.signingComments(null)
.noNeedUpApprovalCode(null)
.noNeedUpApprovalInfo(null)
.templatePaths(templatePaths)
.build()
);
return BasePageResp.<ApprovePathSettingPageResp>builder() return BasePageResp.<ProcDefPageApiResp>builder()
.current(1) .current(pageResp.getPageNo())
.pages(1) .pages(pageResp.getPageNum())
.total(1) .total(pageResp.getTotalCount())
.data(data) .data(pageResp.getList())
.build(); .build();
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment