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