@@ -9,6 +9,6 @@ package com.ningdatech.pmapi.ding.constants; | |||
public interface DingOrganizationContant { | |||
String UNIT_TYPE = "GOV_UNIT"; | |||
String GOV_TEMPORARY = "GOV_TEMPORARY"; | |||
String HOLLOW = "GOV_HOLLOW_DIVISION_NODE"; | |||
} |
@@ -1,36 +1,13 @@ | |||
package com.ningdatech.pmapi.ding.controller; | |||
import cn.hutool.crypto.digest.MD5; | |||
import com.alibaba.fastjson.JSON; | |||
import com.ningdatech.pmapi.common.util.CryptUtils; | |||
import com.ningdatech.pmapi.common.util.HttpUtil; | |||
import com.ningdatech.pmapi.common.util.Md5Utils; | |||
import com.ningdatech.pmapi.common.util.RefreshKeyUtil; | |||
import com.ningdatech.pmapi.ding.task.EmployeeBatchGetTask; | |||
import com.ningdatech.pmapi.ding.task.GovBusinessStripsTask; | |||
import com.ningdatech.pmapi.ding.task.OrganizationBatchGetTask; | |||
import com.ningdatech.pmapi.irs.utils.RefreshTokenUtil; | |||
import com.ningdatech.pmapi.organization.manage.ProcDefManage; | |||
import io.swagger.annotations.ApiOperation; | |||
import liquibase.util.MD5Util; | |||
import lombok.RequiredArgsConstructor; | |||
import lombok.extern.slf4j.Slf4j; | |||
import org.apache.http.conn.ssl.NoopHostnameVerifier; | |||
import org.apache.http.conn.ssl.SSLConnectionSocketFactory; | |||
import org.apache.http.conn.ssl.TrustStrategy; | |||
import org.apache.http.impl.client.CloseableHttpClient; | |||
import org.apache.http.impl.client.HttpClientBuilder; | |||
import org.apache.http.impl.client.HttpClients; | |||
import org.apache.http.ssl.SSLContexts; | |||
import org.springframework.http.ResponseEntity; | |||
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; | |||
import org.springframework.web.bind.annotation.*; | |||
import org.springframework.web.client.RestTemplate; | |||
import javax.net.ssl.SSLContext; | |||
import java.io.UnsupportedEncodingException; | |||
import java.net.URLEncoder; | |||
import java.security.NoSuchAlgorithmException; | |||
/** | |||
* <p> | |||
@@ -103,4 +80,10 @@ public class DingInfoPullController { | |||
public String init() { | |||
return procDefManage.init(); | |||
} | |||
@ApiOperation(value = "系统流程配置初始化按区域", notes = "系统流程配置初始化按区域") | |||
@GetMapping("/init/{areaCode}") | |||
public String initByArea(@PathVariable String areaCode) { | |||
return procDefManage.initByArea(areaCode); | |||
} | |||
} |
@@ -3,6 +3,7 @@ package com.ningdatech.pmapi.organization.manage; | |||
import cn.hutool.core.util.IdUtil; | |||
import com.alibaba.fastjson.JSON; | |||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; | |||
import com.google.common.collect.Lists; | |||
import com.ningdatech.basic.util.StrPool; | |||
import com.ningdatech.pmapi.ding.constants.DingOrganizationContant; | |||
import com.ningdatech.pmapi.organization.model.entity.DingOrganization; | |||
@@ -43,7 +44,9 @@ public class ProcDefManage { | |||
*/ | |||
public String init() { | |||
List<DingOrganization> orgs = organizationService.list(Wrappers.lambdaQuery(DingOrganization.class) | |||
.eq(DingOrganization::getTypeCode, DingOrganizationContant.UNIT_TYPE)); | |||
.in(DingOrganization::getTypeCode, Lists.newArrayList( | |||
DingOrganizationContant.UNIT_TYPE,DingOrganizationContant.GOV_TEMPORARY | |||
))); | |||
log.info("需要处理初始化单位配置的企业 数量为{}",orgs.size()); | |||
@@ -101,4 +104,40 @@ public class ProcDefManage { | |||
defaultHistory.setVersion(0); | |||
orgProcdefHistoryService.save(defaultHistory); | |||
} | |||
public String initByArea(String areaCode) { | |||
List<DingOrganization> orgs = organizationService.list(Wrappers.lambdaQuery(DingOrganization.class) | |||
.in(DingOrganization::getTypeCode, Lists.newArrayList( | |||
DingOrganizationContant.UNIT_TYPE,DingOrganizationContant.GOV_TEMPORARY | |||
)) | |||
.eq(DingOrganization::getDivisionCode,areaCode)); | |||
log.info("{}地区 需要处理初始化单位配置的企业 数量为{}",areaCode,orgs.size()); | |||
for(DingOrganization org : orgs){ | |||
log.info("当前是 {}",org.getOrganizationName()); | |||
String orgCode = org.getOrganizationCode(); | |||
List<WflowOrgModels> models = orgProcdefService.list(Wrappers.lambdaQuery(WflowOrgModels.class) | |||
.eq(WflowOrgModels::getOrgCode, orgCode)); | |||
log.info("已经有的单位流程 {}", JSON.toJSONString(models)); | |||
List<String> types = models.stream().map(WflowOrgModels::getType).collect(Collectors.toList()); | |||
//默认流程 | |||
if(!types.contains(ProcessDefTypeEnum.DEFAULT.name())){ | |||
saveDef(org,ProcessDefTypeEnum.DEFAULT); | |||
} | |||
//盖章流程 | |||
if(!types.contains(ProcessDefTypeEnum.SEAL.name())){ | |||
saveDef(org,ProcessDefTypeEnum.SEAL); | |||
} | |||
//联审流程 | |||
if(!types.contains(ProcessDefTypeEnum.JOINT_REVIEW.name())){ | |||
saveDef(org,ProcessDefTypeEnum.JOINT_REVIEW); | |||
} | |||
} | |||
return "初始化成功"; | |||
} | |||
} |
@@ -2,6 +2,7 @@ package com.ningdatech.pmapi.scheduler.task; | |||
import cn.hutool.core.date.StopWatch; | |||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; | |||
import com.google.common.collect.Lists; | |||
import com.ningdatech.pmapi.ding.constants.DingOrganizationContant; | |||
import com.ningdatech.pmapi.ding.task.EmployeeBatchGetTask; | |||
import com.ningdatech.pmapi.organization.model.entity.DingOrganization; | |||
@@ -42,7 +43,9 @@ public class BatchUpdateEmployeeTask { | |||
stopWatch.start(); | |||
// 1.查出浙政钉 所有单位 | |||
List<DingOrganization> units = organizationService.list(Wrappers.lambdaQuery(DingOrganization.class) | |||
.eq(DingOrganization::getTypeCode, DingOrganizationContant.UNIT_TYPE)); | |||
.in(DingOrganization::getTypeCode, Lists.newArrayList( | |||
DingOrganizationContant.UNIT_TYPE,DingOrganizationContant.GOV_TEMPORARY | |||
))); | |||
log.info("需要更新的 单位数量为 {}",units.size()); | |||