From 32bdae73e49c51b6835ef0a5c7b82c4a83a521df Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期日, 16 三月 2025 16:46:08 +0800
Subject: [PATCH] 人事系统对接
---
ruoyi-admin/src/main/resources/application-test.yml | 18 +
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/FinishProductSpotCheckServiceImpl.java | 2
ruoyi-common/src/main/java/com/ruoyi/common/config/IfsProperties.java | 2
ruoyi-common/src/main/java/com/ruoyi/common/utils/api/IfsApiUtils.java | 4
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java | 4
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/PersonnelHeaderApi.java | 199 ++++++++++++++++++++++
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java | 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/PersonDto.java | 20 ++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java | 1
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java | 11 +
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/Person.java | 41 ++++
ruoyi-admin/src/main/resources/application-prod.yml | 1
ruoyi-common/src/main/java/com/ruoyi/common/config/PersonnelProperties.java | 39 ++++
ruoyi-admin/src/main/resources/application-druid.yml | 19 +
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java | 4
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java | 7
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/Company.java | 20 ++
ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java | 12 +
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CompaniesController.java | 60 ++++++
ruoyi-common/src/main/java/com/ruoyi/common/config/WechatProperty.java | 2
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java | 15 -
21 files changed, 446 insertions(+), 38 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/FinishProductSpotCheckServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/FinishProductSpotCheckServiceImpl.java
index 8d7d884..3ac468f 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/FinishProductSpotCheckServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/FinishProductSpotCheckServiceImpl.java
@@ -16,7 +16,7 @@
import com.deepoove.poi.data.Pictures;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.utils.DateImageUtil;
-import com.ruoyi.common.utils.IfsApiUtils;
+import com.ruoyi.common.utils.api.IfsApiUtils;
import com.ruoyi.common.utils.QueryWrappers;
import com.ruoyi.framework.exception.ErrorException;
import com.ruoyi.inspect.dto.IfsStockQueryDTO;
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
index cab07f0..dfaa489 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
@@ -99,14 +99,9 @@
private InsOrderStateMapper insOrderStateMapper;
@Resource
private InsProductMapper insProductMapper;
- @Resource
- private ShiftTimeMapper shiftTimeMapper;
- @Resource
- private PerformanceShiftMapper performanceShiftMapper;
+
@Value("${wordUrl}")
private String wordUrl;
- @Value("${twoCode}")
- private String twoCode;
@Resource
private InsReportMapper insReportMapper;
@Resource
@@ -781,11 +776,13 @@
int count = 0;
for (InsProduct product : insProducts) {
count++;
- str += "<br/>" + count + "锛�" + product.getInspectionItem() + " " + product.getInspectionItemSubclass() + "<br/>";
-
+ str += (count != 0 ? "\n" : "") + count + "锛�" +
+ product.getInspectionItemClass() + " " +
+ product.getInspectionItem() + " " +
+ product.getInspectionItemSubclass();
}
if (ObjectUtils.isNotEmpty(str)) {
- throw new ErrorException("<strong>瀛樺湪寰呮楠岀殑椤圭洰锛�</strong><br/>" + str);
+ throw new ErrorException("瀛樺湪寰呮楠岀殑椤圭洰锛�" + str);
}
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
index 186e0a1..aed6e35 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
@@ -10,14 +10,11 @@
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
-import com.alibaba.excel.write.style.column.SimpleColumnWidthStyleStrategy;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper;
import com.ruoyi.basic.mapper.StandardProductListMapper;
@@ -28,6 +25,7 @@
import com.ruoyi.common.core.domain.entity.User;
import com.ruoyi.common.numgen.NumberGenerator;
import com.ruoyi.common.utils.*;
+import com.ruoyi.common.utils.api.IfsApiUtils;
import com.ruoyi.framework.exception.ErrorException;
import com.ruoyi.inspect.dto.*;
import com.ruoyi.inspect.mapper.*;
@@ -37,11 +35,8 @@
import com.ruoyi.inspect.service.InsProductService;
import com.ruoyi.inspect.service.InsSampleService;
import com.ruoyi.inspect.vo.InsOrderPrintingVo;
-import com.ruoyi.inspect.vo.SampleDefectsFatherVo;
-import com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHours;
import com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHoursTemporary;
import com.ruoyi.performance.service.AuxiliaryOutputWorkingHoursTemporaryService;
-import com.ruoyi.system.mapper.CustomMapper;
import com.ruoyi.system.mapper.UserMapper;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils;
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
index 46c30d9..17e3cea 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
@@ -25,9 +25,9 @@
import com.ruoyi.common.constant.MenuJumpPathConstants;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.core.domain.entity.InformationNotification;
-import com.ruoyi.common.core.domain.entity.User;
-import com.ruoyi.common.properties.WechatProperty;
+import com.ruoyi.common.config.WechatProperty;
import com.ruoyi.common.utils.*;
+import com.ruoyi.common.utils.api.IfsApiUtils;
import com.ruoyi.framework.exception.ErrorException;
import com.ruoyi.inspect.dto.ReportPageDto;
import com.ruoyi.inspect.mapper.*;
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java
index a0d947f..155010a 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java
@@ -12,7 +12,6 @@
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.dto.*;
@@ -20,7 +19,7 @@
import com.ruoyi.common.constant.InsOrderTypeConstants;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.core.domain.entity.User;
-import com.ruoyi.common.properties.WechatProperty;
+import com.ruoyi.common.config.WechatProperty;
import com.ruoyi.common.utils.LimsDateUtil;
import com.ruoyi.common.utils.QueryWrappers;
import com.ruoyi.common.utils.SecurityUtils;
@@ -58,7 +57,6 @@
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
-import java.util.stream.Collectors;
/**
* @Author zhuo
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/Company.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/Company.java
new file mode 100644
index 0000000..625ba56
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/Company.java
@@ -0,0 +1,20 @@
+package com.ruoyi.web.controller.api;
+
+import lombok.Data;
+
+/**
+ * 鍏徃淇℃伅
+ */
+@Data
+public class Company {
+
+ private String companyId;
+
+ private String companyName;
+
+ private String parentCompanyId;
+
+ private String description;
+
+ private String status;
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/Person.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/Person.java
new file mode 100644
index 0000000..1565244
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/Person.java
@@ -0,0 +1,41 @@
+package com.ruoyi.web.controller.api;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 浜哄憳淇℃伅
+ */
+@Data
+public class Person {
+
+ private String name;
+
+ //浜哄憳缂栧彿锛屽叏灞�鍞竴
+ private String employeeID;
+ //宀椾綅
+ private String position;
+ //宀椾綅缂栫爜
+ private String positionCode;
+ //鎵嬫満鍙风爜
+ private String phoneNumber;
+
+ //鎬у埆 1:鐢� 2:濂�
+ private Integer gender;
+
+ //缁勭粐鐘舵�� enable:鍦ㄨ亴 disabled:绂昏亴
+ private String status;
+ //鎵�灞炵粍缁囩紪鐮�
+ private String companyId;
+ //鍏徃閭(鍙敤浜庨偖绠辩郴缁�)
+ private String companyEmail;
+ //鍏ヨ亴鍏徃鏃堕棿
+ private String dateOfJoiningTheCompany;
+ //缁勭粐鍐呯殑閮ㄩ棬缂栫爜
+ private String departmentCode;
+
+ @ApiModelProperty(">1锛氬瓨鍦� =0锛氫笉瀛樺湪")
+ private Long isLive;
+
+ private String department;
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/PersonDto.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/PersonDto.java
new file mode 100644
index 0000000..50e8481
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/PersonDto.java
@@ -0,0 +1,20 @@
+package com.ruoyi.web.controller.api;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 浜轰簨淇℃伅
+ */
+@Data
+public class PersonDto {
+
+
+ private List<Person> person;
+
+ private List<Company> company;
+
+ private Integer roleId;
+
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/PersonnelHeaderApi.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/PersonnelHeaderApi.java
new file mode 100644
index 0000000..410fd11
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/PersonnelHeaderApi.java
@@ -0,0 +1,199 @@
+package com.ruoyi.web.controller.api;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
+import cn.hutool.log.Log;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.ruoyi.common.config.PersonnelProperties;
+import com.ruoyi.common.core.domain.entity.Custom;
+import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.system.mapper.UserMapper;
+import com.ruoyi.system.service.CustomService;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.DigestUtils;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
+
+/**
+ * 鑾峰彇浜轰簨绯荤粺
+ */
+@Component
+public class PersonnelHeaderApi {
+
+ @Resource
+ private RedisTemplate redisTemplate;
+ @Resource
+ private PersonnelProperties personnelProperties;
+ @Resource
+ private CustomService customService;
+ @Resource
+ private UserMapper userMapper;
+
+ public String fetchNewAccessToken() {
+ HttpRequest request = HttpRequest.post(personnelProperties.getCode())
+ .header("Content-Type", "application/x-www-form-urlencoded")
+ .form("grant_type", "client_credentials")
+ .form("client_id", personnelProperties.getAppId())
+ .form("client_secret", personnelProperties.getAppSecret());
+ HttpResponse response = request.execute();
+ ObjectMapper objectMapper = new ObjectMapper();
+ JsonNode jsonNode;
+ try {
+ jsonNode = objectMapper.readTree(response.body());
+ String accessToken = jsonNode.get("access_token").asText();
+ Log.get().info("鑾峰彇浜轰簨绯荤粺token锛�" + accessToken);
+ redisTemplate.opsForValue().set("personnelAccessToken:idToken:", accessToken, jsonNode.get("expires_in").asInt() - 60, TimeUnit.SECONDS);
+ return accessToken;
+ } catch (Exception e) {
+ throw new RuntimeException(e.getMessage());
+ }
+ }
+
+ //鍒ゆ柇鏄惁瀛樺湪
+ public String getAccessToken() {
+ String accessToken;
+ if (!redisTemplate.hasKey("personnelAccessToken:idToken:")) {
+ accessToken = fetchNewAccessToken();
+ } else {
+ accessToken = redisTemplate.opsForValue().get("personnelAccessToken:idToken:") + "";
+ }
+ return accessToken;
+ }
+
+ //璋冪敤
+ public List<Company> companyUrl() {
+ String accessToken = getAccessToken();
+ HttpRequest request = HttpRequest.get(personnelProperties.getCompanies())
+ .header("Authorization", "Bearer " + accessToken);
+ List<Company> companies;
+ try {
+ companies = JSON.parseArray(request.execute().body(), Company.class);
+ } catch (Exception e) {
+ throw new RuntimeException(e.getMessage());
+ }
+ return companies.stream().filter(ob -> {
+ if (Objects.equals(ob.getStatus(), "enabled")) return true;
+ return false;
+ }).collect(Collectors.toList());
+ }
+
+ public List<Person> userUrl(String companyId) {
+ String accessToken = getAccessToken();
+ HttpRequest request = HttpRequest.get(personnelProperties.getSimple() + companyId)
+ .header("Authorization", "Bearer " + accessToken)
+ .header("Content-Type", "application/form-data");
+ List<Person> person;
+ try {
+ person = JSON.parseArray(request.execute().body(), Person.class);
+ } catch (Exception e) {
+ throw new RuntimeException(e.getMessage());
+ }
+ List<JSONObject> department = getDepartment(companyId);
+ return person.stream().filter(ob -> {
+ if (Objects.equals(ob.getStatus(), "enabled")) {
+ ob.setIsLive(userMapper.selectCount(Wrappers.<User>lambdaQuery().eq(User::getAccount, ob.getEmployeeID())));
+ ob.setDepartment(getDepartmentStr(department, ob.getDepartmentCode()).replaceFirst("/", ""));
+ return true;
+ }
+ return false;
+ }).collect(Collectors.toList());
+ }
+
+ public String getDepartmentStr(List<JSONObject> department, String code) {
+ String str = "";
+ Optional<JSONObject> depart = department.stream().filter(a -> code.equals(a.get("departmentCode"))).findFirst();
+ str = "/" + depart.get().get("departmentName") + str;
+ if (depart.get().get("parentDepartmentCode") != null) {
+ str = getDepartmentStr(department, depart.get().get("parentDepartmentCode").toString()) + str;
+ }
+ return str;
+ }
+
+ public List<JSONObject> getDepartment(String companyId) {
+ String accessToken = getAccessToken();
+ HttpRequest request = HttpRequest.get(personnelProperties.getDepartment().replace("companyId", companyId))
+ .header("Authorization", "Bearer " + accessToken)
+ .header("Content-Type", "application/form-data");
+ List<JSONObject> list;
+ try {
+ list = JSON.parseArray(request.execute().body());
+ } catch (Exception e) {
+ throw new RuntimeException(e.getMessage());
+ }
+ return list.stream().filter(ob -> {
+ if (Objects.equals(ob.get("status"), "enabled")) return true;
+ return false;
+ }).collect(Collectors.toList());
+ }
+
+ public Person selectPersonUser(String code) {
+ String accessToken = getAccessToken();
+ HttpRequest request = HttpRequest.get(personnelProperties.getPerson() + code)
+ .header("Authorization", "Bearer " + accessToken)
+ .header("Content-Type", "application/form-data");
+ Person person;
+ try {
+ person = JSON.parseObject(request.execute().body(), Person.class);
+ if (BeanUtil.isEmpty(person)) return null;
+ } catch (Exception e) {
+ throw new RuntimeException(e.getMessage());
+ }
+ List<JSONObject> department = getDepartment(person.getCompanyId());
+ person.setDepartment(getDepartmentStr(department, person.getDepartmentCode()).replaceFirst("/", ""));
+ person.setIsLive(userMapper.selectCount(Wrappers.<User>lambdaQuery().eq(User::getAccount, person.getEmployeeID())));
+ return person;
+ }
+
+ /**
+ * 灏嗕汉浜嬬郴缁熷嬀閫夌殑鍐呭杞Щ鍒版湰绯荤粺
+ * @param personDto
+ * @return
+ */
+ @Transactional(rollbackFor = Exception.class)
+ public Object addPersonUser(PersonDto personDto) {
+ personDto.getPerson().forEach(person -> {
+ User user = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getAccount, person.getEmployeeID()));
+ List<Company> company = personDto.getCompany();
+ String companyName = "";
+ Custom custom = null;
+ // 濉厖宸ュ巶淇℃伅
+ companyName = company.stream().filter(a -> a.getCompanyId().equals(person.getCompanyId())).findFirst().get().getCompanyName();
+ custom = customService.getCustomId(companyName);
+
+ if (BeanUtil.isEmpty(user)) {
+ user = new User();
+ user.setName(person.getName());
+ user.setNameEn("not write");
+ user.setAccount(person.getEmployeeID());
+ user.setPhone(person.getPhoneNumber());
+ user.setEmail(person.getCompanyEmail());
+ user.setIsCustom(0);
+ user.setPassword(SecurityUtils.encryptPassword("zttZTT123!"));
+ user.setCompany(BeanUtil.isNotEmpty(custom) ? (custom.getId() + "") : companyName);
+ userMapper.insert(user);
+ } else {
+ user.setName(person.getName());
+ user.setPhone(person.getPhoneNumber());
+ user.setEmail(person.getCompanyEmail());
+ user.setIsCustom(0);
+ user.setCompany(BeanUtil.isNotEmpty(custom) ? (custom.getId() + "") : companyName);
+ userMapper.updateById(user);
+ }
+ });
+ return 1;
+ }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CompaniesController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CompaniesController.java
new file mode 100644
index 0000000..0110490
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CompaniesController.java
@@ -0,0 +1,60 @@
+package com.ruoyi.web.controller.system;
+
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.system.mapper.UserMapper;
+import com.ruoyi.system.service.UserService;
+import com.ruoyi.web.controller.api.Company;
+import com.ruoyi.web.controller.api.PersonDto;
+import com.ruoyi.web.controller.api.PersonnelHeaderApi;
+import com.ruoyi.web.controller.api.Person;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/companies")
+@Api(tags = "鐢ㄦ埛妯″潡")
+public class CompaniesController {
+
+ private PersonnelHeaderApi personnelHeaderApi;
+
+ private UserService userService;
+
+ @PostMapping("/getSampleUser")
+ @ApiOperation(value = "鏌ョ湅鎸囧畾閮ㄩ棬鐨勪汉浜嬬郴缁熺粍缁囨灦鏋�")
+ public Result<?> getSampleUser() {
+ return Result.success();
+ }
+
+
+ @ApiOperation(value = "鏌ョ湅浜轰簨绯荤粺缁勭粐鏋舵瀯")
+ @GetMapping(value = "/selectCompaniesList")
+ public Result<List<Company>> selectCompaniesList() {
+ return Result.success(personnelHeaderApi.companyUrl());
+
+ }
+
+ @ApiOperation("鑾峰彇浜轰簨绯荤粺缁勭粐涓嬬殑浜哄憳")
+ @PostMapping(value = "/selectSimpleList")
+ public Result<?> selectSimpleList(String companyId) {
+ return Result.success(personnelHeaderApi.userUrl(companyId));
+ }
+
+ @ApiOperation("灏嗕汉浜嬬郴缁熷嬀閫夌殑鍐呭杞Щ鍒版湰绯荤粺")
+ @PostMapping(value = "/addPersonUser")
+ public Result<?> addPersonUser(@RequestBody PersonDto personDto) {
+ return Result.success(personnelHeaderApi.addPersonUser(personDto));
+ }
+
+ @ApiOperation("閫氳繃鍛樺伐鍙疯幏鍙栧憳宸�")
+ @PostMapping(value = "/selectPersonUser")
+ public Result<?> selectPersonUser(String code) {
+ Person person = personnelHeaderApi.selectPersonUser(code);
+ return Result.success(person);
+ }
+
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
index 8690091..d6c0b29 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -4,7 +4,6 @@
import java.util.Set;
import java.util.UUID;
-import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.config.SsoBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml
index a0e5864..9bd45f1 100644
--- a/ruoyi-admin/src/main/resources/application-druid.yml
+++ b/ruoyi-admin/src/main/resources/application-druid.yml
@@ -8,9 +8,9 @@
druid:
# 涓诲簱鏁版嵁婧�
master:
- url: jdbc:mysql://114.132.189.42:9004/lims-ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+ url: jdbc:mysql://10.16.173.59:3306/lims-ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
- password: 123456
+ password: zttZTT123!
# 浠庡簱鏁版嵁婧�
slave:
# 浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴
@@ -96,7 +96,7 @@
configuration:
map-underscore-to-camel-case: true
cache-enabled: false
- log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+ log-impl: # org.apache.ibatis.logging.stdout.StdOutImpl
# Swagger閰嶇疆
swagger:
@@ -125,7 +125,6 @@
allowed: png,jpg,jpeg,gif
wordUrl: D:\椤圭洰鏂囦欢瀛樺偍\word
-twoCode: D:\椤圭洰鏂囦欢瀛樺偍\two_code
#oa:
@@ -133,6 +132,18 @@
# prodIp: http://192.168.21.53:8081
# unqualifiedProcessId: 41974
+# 浜轰簨绯荤粺
+personnel:
+ code:
+ appId:
+ appSecret:
+ companies:
+ simple:
+ password:
+ department:
+ person:
+
+# 浼佷笟寰俊閫氱煡
wechat:
# 璐ㄩ噺鎶ユ閫氱煡
examiningUrl: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=21993616-9966-4fe4-81b0-68e99a40c964
diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml
index c8e986c..8830a70 100644
--- a/ruoyi-admin/src/main/resources/application-prod.yml
+++ b/ruoyi-admin/src/main/resources/application-prod.yml
@@ -125,7 +125,6 @@
allowed: png,jpg,jpeg,gif
wordUrl: /javaWork/lims-ruoyi/file/word
-twoCode: /javaWork/lims-ruoyi/file/two_code
#oa:
diff --git a/ruoyi-admin/src/main/resources/application-test.yml b/ruoyi-admin/src/main/resources/application-test.yml
index 560cdd9..868108e 100644
--- a/ruoyi-admin/src/main/resources/application-test.yml
+++ b/ruoyi-admin/src/main/resources/application-test.yml
@@ -124,16 +124,28 @@
path: /center-lims/Work/img
# 涓婁紶鏂囦欢鍏佽鐨勬墿灞曞悕
allowed: png,jpg,jpeg,gif
-
+# 鎶ュ憡鍦板潃
wordUrl: /center-lims/Work/word
-twoCode: /center-lims/Work/two_code
-
#oa:
# oaHost: http://192.168.0.49:8000/oa_workflowrequest.asmx?wsdl
# prodIp: http://192.168.21.53:8081
# unqualifiedProcessId: 41974
+# 浜轰簨绯荤粺
+personnel:
+ # 姝e紡鍦板潃
+ code: https://ztt-sso.ztt.cn/oauth2/token
+ # 瑁呭浜轰簨姝e紡搴�
+ appId: 6f5f6a0c-2a01-4ef6-9e75-c8a6f0c2f044
+ appSecret: 9b9c4735b1e5ee9d6a8544b9b38bb03
+ companies: https://ztt-connector.ztt.cn/api/org/v1/companies
+ simple: https://ztt-connector.ztt.cn/api/org/v1/employees/simple?companyId=
+ # 浜哄憳瀵嗙爜鑾峰彇
+ password: https://ztt-connector.ztt.cn/api/org/v1/employees/original_pwd/
+ department: https://ztt-connector.ztt.cn/api/org/v1/companies/companyId/departments
+ person: https://ztt-connector.ztt.cn/api/org/v1/employees/simple/
+
wechat:
# 璐ㄩ噺鎶ユ閫氱煡
examiningUrl: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=21993616-9966-4fe4-81b0-68e99a40c964
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/properties/IfsProperties.java b/ruoyi-common/src/main/java/com/ruoyi/common/config/IfsProperties.java
similarity index 94%
rename from ruoyi-common/src/main/java/com/ruoyi/common/properties/IfsProperties.java
rename to ruoyi-common/src/main/java/com/ruoyi/common/config/IfsProperties.java
index 655a7d3..451f163 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/properties/IfsProperties.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/config/IfsProperties.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.properties;
+package com.ruoyi.common.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/config/PersonnelProperties.java b/ruoyi-common/src/main/java/com/ruoyi/common/config/PersonnelProperties.java
new file mode 100644
index 0000000..aab04a1
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/config/PersonnelProperties.java
@@ -0,0 +1,39 @@
+package com.ruoyi.common.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * 浜轰簨绯荤粺api
+ *
+ * @Author zhuo
+ * @Date 2025/3/16
+ */
+@Configuration
+@ConfigurationProperties(prefix = "personnel")
+@Data
+public class PersonnelProperties {
+ /**
+ * 姝e紡鍦板潃
+ * */
+ private String code;
+ /**
+ * 瑁呭浜轰簨姝e紡搴�
+ * */
+ private String appId;
+ private String appSecret;
+
+ private String companies;
+
+ private String simple;
+
+ /**
+ * 浜哄憳瀵嗙爜鑾峰彇
+ * */
+ private String password;
+
+ private String department;
+
+ private String person;
+}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/properties/WechatProperty.java b/ruoyi-common/src/main/java/com/ruoyi/common/config/WechatProperty.java
similarity index 90%
rename from ruoyi-common/src/main/java/com/ruoyi/common/properties/WechatProperty.java
rename to ruoyi-common/src/main/java/com/ruoyi/common/config/WechatProperty.java
index cf484eb..f992280 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/properties/WechatProperty.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/config/WechatProperty.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.properties;
+package com.ruoyi.common.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/IfsApiUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/api/IfsApiUtils.java
similarity index 98%
rename from ruoyi-common/src/main/java/com/ruoyi/common/utils/IfsApiUtils.java
rename to ruoyi-common/src/main/java/com/ruoyi/common/utils/api/IfsApiUtils.java
index 21460ef..81bed96 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/IfsApiUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/api/IfsApiUtils.java
@@ -1,4 +1,4 @@
-package com.ruoyi.common.utils;
+package com.ruoyi.common.utils.api;
import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONUtil;
@@ -7,7 +7,7 @@
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.common.properties.IfsProperties;
+import com.ruoyi.common.config.IfsProperties;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
index c0b181b..367e578 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
@@ -4,13 +4,10 @@
import javax.net.ssl.SSLContext;
import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.config.SsoBean;
-import com.ruoyi.common.core.domain.entity.User;
import com.ruoyi.framework.model.SsoOauthTokenModel;
import com.ruoyi.framework.model.SsoUserInfoModel;
import com.ruoyi.framework.web.ssoAuth.SsoCodeAuthenticationToken;
-import com.ruoyi.system.mapper.UserMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.HttpEntity;
import org.apache.http.HttpStatus;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java
index c0d0abe..89e6074 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java
@@ -35,9 +35,19 @@
*/
String selectUserDepartmentLimsName();
-
+ /**
+ * 淇敼浜哄憳鏄庣粏鎵�鍦ㄧ粍缁囨灦鏋�
+ * @param ids
+ * @param id
+ * @return
+ */
int upUserDepardLimsId(String ids, String id);
+ /**
+ * 鍒犻櫎浜哄憳鏄庣粏鎵�鍦ㄧ粍缁囨灦鏋�
+ * @param id
+ * @return
+ */
int delUserDepardLimsId(Integer id);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java
index f98f967..485c6b4 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java
@@ -52,12 +52,23 @@
return baseMapper.selectUserDepartmentLimsName(SecurityUtils.getUserId().intValue());
}
+ /**
+ * 淇敼浜哄憳鏄庣粏鎵�鍦ㄧ粍缁囨灦鏋�
+ * @param ids
+ * @param id
+ * @return
+ */
@Override
public int upUserDepardLimsId(String ids, String id) {
List<Integer> userIds = JSON.parseArray(ids, Integer.class);
return baseMapper.update(null, Wrappers.<User>lambdaUpdate().in(User::getId, userIds).set(User::getDepartLimsId, id).set(User::getUpdateTime, LocalDateTime.now()).set(User::getUpdateBy,SecurityUtils.getLoginUser().getUsername()));
}
+ /**
+ * 鍒犻櫎浜哄憳鏄庣粏鎵�鍦ㄧ粍缁囨灦鏋�
+ * @param id
+ * @return
+ */
@Override
public int delUserDepardLimsId(Integer id) {
return baseMapper.update(null, Wrappers.<User>lambdaUpdate().eq(User::getId, id).set(User::getDepartLimsId, null).set(User::getUpdateTime, LocalDateTime.now()).set(User::getUpdateBy, SecurityUtils.getUsername()));
--
Gitblit v1.9.3