From 10de56ca16261e6a4eec49dfd32f0a6b232f7baf Mon Sep 17 00:00:00 2001 From: 晏有为 <13214124+yan-youwei@user.noreply.gitee.com> Date: 星期四, 23 五月 2024 19:05:08 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-after --- system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java | 30 - cnas-server/src/main/resources/mapper/DeviceMapper.xml | 3 user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java | 2 cnas-server/src/main/java/com/yuanchu/mom/controller/StandardMethodController.java | 12 cnas-server/src/main/java/com/yuanchu/mom/pojo/Department.java | 9 user-server/src/main/java/com/yuanchu/mom/pojo/AuthApi.java | 39 + user-server/src/main/java/com/yuanchu/mom/dto/UserPageDto.java | 4 inspect-server/src/main/resources/mapper/StandardTreeMapper.xml | 9 inspect-server/src/main/resources/mapper/StandardTemplateMapper.xml | 2 user-server/src/main/java/com/yuanchu/mom/pojo/User.java | 39 - user-server/src/main/java/com/yuanchu/mom/pojo/Person.java | 36 + performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml | 7 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsUnPass.java | 2 inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTreeController.java | 30 + inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java | 9 cnas-server/src/main/java/com/yuanchu/mom/service/StandardMethodService.java | 6 user-server/src/main/java/com/yuanchu/mom/util/HeaderToken.java | 154 ++--- inspect-server/src/main/java/com/yuanchu/mom/pojo/StandardProductList.java | 9 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java | 7 inspect-server/src/main/java/com/yuanchu/mom/controller/ReportController.java | 2 system-run/src/main/resources/application-prod.yml | 44 user-server/src/main/resources/mapper/UserMapper.xml | 20 cnas-server/src/main/resources/mapper/DepartmentLimsMapper.xml | 34 + user-server/src/main/java/com/yuanchu/mom/controller/CompaniesController.java | 39 + user-server/src/main/java/com/yuanchu/mom/controller/UserController.java | 25 + inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTemplateController.java | 9 user-server/src/main/resources/mapper/DepartmentsMapper.xml | 4 cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentService.java | 11 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java | 2 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java | 2 user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java | 102 +++ cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentLimsServiceImpl.java | 86 +++ cnas-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodServiceImpl.java | 138 +++++ cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java | 44 - inspect-server/src/main/resources/mapper/StandardProductListMapper.xml | 26 inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardProductListMapper.java | 3 cnas-server/src/main/java/com/yuanchu/mom/controller/DepartmentController.java | 53 + inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java | 94 +++ inspect-server/src/main/resources/mapper/InsOrderMapper.xml | 1 cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentLimsMapper.java | 27 + user-server/src/main/java/com/yuanchu/mom/service/UserService.java | 11 performance-server/src/main/java/com/yuanchu/mom/service/impl/PerformanceShiftServiceImpl.java | 58 + cnas-server/src/main/resources/mapper/DepartmentMapper.xml | 11 user-server/src/main/java/com/yuanchu/mom/dto/Custom.java | 2 user-server/src/main/java/com/yuanchu/mom/dto/PersonDto.java | 16 framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java | 8 cnas-server/src/main/java/com/yuanchu/mom/mapper/StandardMethodMapper.java | 5 inspect-server/src/main/java/com/yuanchu/mom/controller/WarehouseController.java | 2 inspect-server/src/main/java/com/yuanchu/mom/service/StandardProductListService.java | 5 inspect-server/src/main/java/com/yuanchu/mom/service/StandardTreeService.java | 3 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java | 3 framework/src/main/java/com/yuanchu/mom/config/Swagger3.java | 10 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 15 framework/src/main/java/com/yuanchu/mom/utils/GiveCode.java | 1 cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentMapper.java | 12 cnas-server/src/main/java/com/yuanchu/mom/pojo/DepartmentLims.java | 38 + inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java | 6 system-run/src/main/resources/application-dev.yml | 3 /dev/null | 28 - inspect-server/src/main/java/com/yuanchu/mom/controller/InsUnPassController.java | 2 inspect-server/src/main/resources/static/report-template.docx | 0 user-server/src/main/java/com/yuanchu/mom/mapper/DepartmentsMapper.java | 12 user-server/src/main/java/com/yuanchu/mom/pojo/Departments.java | 46 + cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentLimsService.java | 25 + 64 files changed, 1,058 insertions(+), 439 deletions(-) diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DepartmentController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DepartmentController.java index 7f4579b..9efef9b 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/controller/DepartmentController.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DepartmentController.java @@ -1,23 +1,19 @@ package com.yuanchu.mom.controller; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yuanchu.mom.annotation.ValueAuth; import com.yuanchu.mom.annotation.ValueClassify; -import com.yuanchu.mom.dto.UserDto; import com.yuanchu.mom.pojo.Department; +import com.yuanchu.mom.pojo.DepartmentLims; +import com.yuanchu.mom.service.DepartmentLimsService; import com.yuanchu.mom.service.DepartmentService; -import com.yuanchu.mom.utils.JackSonUtil; import com.yuanchu.mom.vo.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; -import java.util.Map; - /** * <p> - * 閮ㄩ棬鏄庣粏 鍓嶇鎺у埗鍣� + * 缁勭粐鏋舵瀯鏄庣粏 鍓嶇鎺у埗鍣� * </p> * * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 @@ -29,32 +25,47 @@ @RequestMapping("/department") public class DepartmentController { - DepartmentService departmentService; - @ValueClassify("浜哄憳鏄庣粏") - @ApiOperation(value = "娣诲姞閮ㄩ棬") + private DepartmentService departmentService; + + private DepartmentLimsService departmentLimsService; + + @ValueClassify("鐢ㄦ埛绠$悊") + @ApiOperation(value = "娣诲姞缁勭粐鏋舵瀯") @PostMapping("/addDepartment") public Result addDepartment(@RequestBody Department department) { return Result.success(departmentService.addDepartment(department)); } - @ApiOperation(value = "鑾峰彇閮ㄩ棬鏍�") + @ApiOperation(value = "鑾峰彇缁勭粐鏋舵瀯鏍�") @GetMapping("/selectDepartment") - @ValueClassify("浜哄憳鏄庣粏") + @ValueClassify("鐢ㄦ埛绠$悊") public Result selectDepartment() { return Result.success(departmentService.selectDepartment()); } - @ValueClassify("浜哄憳鏄庣粏") - @ApiOperation(value = "鍒犻櫎閮ㄩ棬") + @ValueClassify("鐢ㄦ埛绠$悊") + @ApiOperation(value = "鍒犻櫎缁勭粐鏋舵瀯") @PostMapping("/delDepartment") public Result delDepartment(Integer id) { return Result.success(departmentService.delDepartment(id)); } - @ValueAuth - @ApiOperation(value = "鏍规嵁閫夋嫨鐨勬爲灞曠ず鐩稿叧鐨勪汉鍛�") - @PostMapping("/showUserById") - public Result showUserById(@RequestBody Map<String, Object> data) throws Exception { - Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); - UserDto user = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), UserDto.class); - return Result.success(departmentService.showUserById(page, user)); + + @ValueClassify("浜哄憳鏄庣粏") + @ApiOperation(value = "鑾峰彇缁勭粐鏋舵瀯鏍�") + @GetMapping("/selectDepartmentLim") + public Result selectDepartmentLim() { + return Result.success(departmentLimsService.selectDepartment()); } + @ValueClassify("浜哄憳鏄庣粏") + @ApiOperation(value = "娣诲姞缁勭粐鏋舵瀯") + @PostMapping("/addDepartmentLims") + public Result addDepartmentLims(@RequestBody DepartmentLims department) { + return Result.success(departmentLimsService.addDepartment(department)); + } + + @ValueClassify("浜哄憳鏄庣粏") + @ApiOperation(value = "鍒犻櫎缁勭粐鏋舵瀯") + @PostMapping("/delDepartmentLims") + public Result delDepartmentLims(Integer id) { + return Result.success(departmentLimsService.delDepartment(id)); + } } diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/StandardMethodController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/StandardMethodController.java index ae92a36..cb88f6c 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/controller/StandardMethodController.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/StandardMethodController.java @@ -11,10 +11,12 @@ import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; import java.util.Map; -@Api("鏍囧噯鏂规硶") +@Api(tags = "鏍囧噯鏂规硶") @RestController @RequestMapping("/standardMethod") @AllArgsConstructor @@ -55,4 +57,12 @@ public Result<?> upStandardMethod(@RequestBody StandardMethod standardMethod) { return Result.success(standardMethodService.upStandardMethod(standardMethod)); } + + @ValueClassify("瀹為獙瀹ょ殑妫�娴嬭兘鍔涙。妗�") + @ApiOperation(value = "瀵煎叆鏍囧噯鏄庣粏") + @PostMapping("/importStandardDetails") + public Result<?> importStandardDetails(@RequestPart("file") MultipartFile file) throws IOException { + standardMethodService.inputExcel(file); + return Result.success(); + } } diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentLimsMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentLimsMapper.java new file mode 100644 index 0000000..a702511 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentLimsMapper.java @@ -0,0 +1,27 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.dto.DepartmentDto; +import com.yuanchu.mom.pojo.DepartmentLims; + +import java.util.List; + +/** +* @author z1292 +* @description 閽堝琛ㄣ�恉epartment_lims(閮ㄩ棬鏄庣粏)銆戠殑鏁版嵁搴撴搷浣淢apper +* @createDate 2024-05-22 14:08:17 +* @Entity com.yuanchu.mom.pojo.DepartmentLims +*/ +public interface DepartmentLimsMapper extends BaseMapper<DepartmentLims> { + + //鑾峰彇閮ㄩ棬鏍� + List<DepartmentDto> selectDepartment(); + + //鏍规嵁閮ㄩ棬id,鏌ヨ浠栫殑鎵�鏈夊瓙绫籭d + List<Integer> selectSonById(Integer id); + +} + + + + diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentMapper.java index f38205a..53a0e62 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentMapper.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DepartmentMapper.java @@ -1,12 +1,8 @@ package com.yuanchu.mom.mapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.yuanchu.mom.dto.DepartmentDto; -import com.yuanchu.mom.dto.UserDto; +import com.yuanchu.mom.mybatis_config.MyBaseMapper; import com.yuanchu.mom.pojo.Department; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Param; import java.util.List; @@ -18,15 +14,11 @@ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 * @since 2024-04-15 04:01:48 */ -public interface DepartmentMapper extends BaseMapper<Department> { +public interface DepartmentMapper extends MyBaseMapper<Department> { //鑾峰彇閮ㄩ棬鏍� List<DepartmentDto> selectDepartment(); - - //鏍规嵁閫夋嫨鐨勬爲灞曠ず鐩稿叧鐨勪汉鍛� - IPage<UserDto> showUserById(@Param("page") IPage<UserDto> page, @Param("ids") List<String> ids, @Param("ew") QueryWrapper<UserDto> ew); - //鏍规嵁閮ㄩ棬id,鏌ヨ浠栫殑鎵�鏈夊瓙绫籭d List<Integer> selectSonById(Integer id); diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/StandardMethodMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/StandardMethodMapper.java index 9fcddc7..065b6b1 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/mapper/StandardMethodMapper.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/StandardMethodMapper.java @@ -3,9 +3,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.mybatis_config.MyBaseMapper; import com.yuanchu.mom.pojo.StandardMethod; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yuanchu.mom.pojo.StructureItemParameter; /** * @author Administrator @@ -13,7 +12,7 @@ * @createDate 2024-03-03 19:21:41 * @Entity com.yuanchu.mom.pojo.StandardMethod */ -public interface StandardMethodMapper extends BaseMapper<StandardMethod> { +public interface StandardMethodMapper extends MyBaseMapper<StandardMethod> { IPage<StandardMethod> selectStandardMethodList(Page page, QueryWrapper<StandardMethod> ew); diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Department.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Department.java index 4d846cf..b02685c 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Department.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Department.java @@ -4,12 +4,13 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; -import java.io.Serializable; -import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; /** * <p> @@ -35,13 +36,17 @@ @ApiModelProperty("鐖剁骇id") private Integer fatherId; + @TableField(fill = FieldFill.INSERT) private Integer createUser; @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; + @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; + + private String companyId; } diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DepartmentLims.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DepartmentLims.java new file mode 100644 index 0000000..a44d27b --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DepartmentLims.java @@ -0,0 +1,38 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 閮ㄩ棬鏄庣粏 + * @TableName department_lims + */ +@TableName(value ="department_lims") +@Data +public class DepartmentLims implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鍚嶇О") + private String name; + + @ApiModelProperty("鐖剁骇id") + private Integer fatherId; + + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; +} \ No newline at end of file diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentLimsService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentLimsService.java new file mode 100644 index 0000000..249c243 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentLimsService.java @@ -0,0 +1,25 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yuanchu.mom.dto.DepartmentDto; +import com.yuanchu.mom.pojo.DepartmentLims; + +import java.util.List; + +/** +* @author z1292 +* @description 閽堝琛ㄣ�恉epartment_lims(閮ㄩ棬鏄庣粏)銆戠殑鏁版嵁搴撴搷浣淪ervice +* @createDate 2024-05-22 14:08:17 +*/ +public interface DepartmentLimsService extends IService<DepartmentLims> { + + //娣诲姞閮ㄩ棬 + int addDepartment(DepartmentLims departmentLims); + + //鑾峰彇閮ㄩ棬鏍� + List<DepartmentDto> selectDepartment(); + + //鍒犻櫎閮ㄩ棬 + boolean delDepartment(Integer id); + +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentService.java index a956618..2b6e5bb 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentService.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DepartmentService.java @@ -1,14 +1,10 @@ package com.yuanchu.mom.service; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yuanchu.mom.dto.DepartmentDto; -import com.yuanchu.mom.dto.UserDto; -import com.yuanchu.mom.pojo.Department; import com.baomidou.mybatisplus.extension.service.IService; -import com.yuanchu.mom.pojo.User; +import com.yuanchu.mom.dto.DepartmentDto; +import com.yuanchu.mom.pojo.Department; import java.util.List; -import java.util.Map; /** * <p> @@ -28,7 +24,4 @@ //鍒犻櫎閮ㄩ棬 boolean delDepartment(Integer id); - - //鏍规嵁閫夋嫨鐨勬爲灞曠ず鐩稿叧鐨勪汉鍛� - Map<String, Object> showUserById(Page page, UserDto user); } diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/StandardMethodService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/StandardMethodService.java index 8bfb29f..7f7d8fb 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/service/StandardMethodService.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/StandardMethodService.java @@ -1,10 +1,11 @@ package com.yuanchu.mom.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yuanchu.mom.pojo.StandardMethod; import com.baomidou.mybatisplus.extension.service.IService; -import com.yuanchu.mom.pojo.StructureItemParameter; +import com.yuanchu.mom.pojo.StandardMethod; +import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; import java.util.List; import java.util.Map; @@ -25,4 +26,5 @@ int upStandardMethod(StandardMethod standardMethod); + void inputExcel(MultipartFile file) throws IOException; } diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentLimsServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentLimsServiceImpl.java new file mode 100644 index 0000000..730c872 --- /dev/null +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentLimsServiceImpl.java @@ -0,0 +1,86 @@ +package com.yuanchu.mom.service.impl; + +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.dto.DepartmentDto; +import com.yuanchu.mom.mapper.DepartmentLimsMapper; +import com.yuanchu.mom.pojo.DepartmentLims; +import com.yuanchu.mom.service.DepartmentLimsService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** +* @author z1292 +* @description 閽堝琛ㄣ�恉epartment_lims(閮ㄩ棬鏄庣粏)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 +* @createDate 2024-05-22 14:08:17 +*/ +@Service +@AllArgsConstructor +public class DepartmentLimsServiceImpl extends ServiceImpl<DepartmentLimsMapper, DepartmentLims> + implements DepartmentLimsService{ + + DepartmentLimsMapper departmentMapper; + + @Override + public int addDepartment(DepartmentLims department) { + departmentMapper.insert(department); + return department.getId(); + } + + //鑾峰彇閮ㄩ棬鏍� + @Override + public List<DepartmentDto> selectDepartment() { + List<DepartmentDto> departments = departmentMapper.selectDepartment(); + //鑾峰彇鐖惰妭鐐� + List<DepartmentDto> collect = departments.stream().filter(m -> m.getFatherId() == null).peek( + (m) -> m.setChildren(getChildren(m, departments)) + ).collect(Collectors.toList()); + return collect; + } + + /** + * 閫掑綊鏌ヨ瀛愯妭鐐� + * @param root 鏍硅妭鐐� + * @param all 鎵�鏈夎妭鐐� + * @return 鏍硅妭鐐逛俊鎭� + */ + private List<DepartmentDto> getChildren(DepartmentDto root, List<DepartmentDto> all) { + return all.stream().filter(m -> Objects.equals(m.getFatherId(), root.getId())).peek( + (m) -> m.setChildren(getChildren(m, all)) + ).collect(Collectors.toList()); + } + + //鍒犻櫎閮ㄩ棬 + @Override + public boolean delDepartment(Integer id) { + //鍒ゆ柇鏄惁鏈夊瓙绫�,鐩村埌娌℃湁涓烘 + List<DepartmentLims> department = getDepartment(id); + return removeBatchByIds(department); + } + + //鍒ゆ柇鏄惁鏈夊瓙绫�,鐩村埌娌℃湁涓烘 + public List<DepartmentLims> getDepartment(Integer id) { + List<DepartmentLims> list = new ArrayList<>(); + DepartmentLims depart = baseMapper.selectById(id); + list.add(depart); + List<DepartmentLims> departments = baseMapper.selectList(Wrappers.<DepartmentLims>lambdaQuery().eq(DepartmentLims::getFatherId, id)); + if (ObjectUtils.isNotEmpty(departments)) { + list.addAll(departments); + for (DepartmentLims department : departments) { + list.addAll(getDepartment(department.getId())); + } + } + return list; + } + +} + + + + diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java index fa99cdf..53f8b46 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java @@ -2,30 +2,19 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yuanchu.mom.common.PrintChina; -import com.yuanchu.mom.dto.DepartmentDto; -import com.yuanchu.mom.dto.UserDto; -import com.yuanchu.mom.dto.UserPageDto; -import com.yuanchu.mom.pojo.Department; -import com.yuanchu.mom.mapper.DepartmentMapper; -import com.yuanchu.mom.pojo.Device; -import com.yuanchu.mom.pojo.User; -import com.yuanchu.mom.service.DepartmentService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yuanchu.mom.utils.QueryWrappers; +import com.yuanchu.mom.dto.DepartmentDto; +import com.yuanchu.mom.mapper.DepartmentMapper; +import com.yuanchu.mom.pojo.Department; +import com.yuanchu.mom.service.DepartmentService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import lombok.var; -import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.SQLException; -import java.sql.Wrapper; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -43,6 +32,8 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Department> implements DepartmentService { DepartmentMapper departmentMapper; + + //娣诲姞閮ㄩ棬 @@ -82,23 +73,6 @@ List<Department> department = getDepartment(id); return removeBatchByIds(department); } - - //鏍规嵁閫夋嫨鐨勬爲灞曠ず鐩稿叧鐨勪汉鍛� - @Override - public Map<String, Object> showUserById(Page page, UserDto user) { - //鏍规嵁閮ㄩ棬id,鏌ヨ浠栫殑鎵�鏈夊瓙绫籭d - List<Integer> list = departmentMapper.selectSonById(Integer.parseInt(user.getDepartId())); - List<String> ids = list.stream() - .map(Object::toString) - //.collect(Collectors.joining(",")); - .collect(Collectors.toList()); - log.info(ids+"\n"); - Map<String, Object> map = new HashMap<>(); - map.put("head", PrintChina.printChina(UserDto.class)); - map.put("body", departmentMapper.showUserById(page, ids, QueryWrappers.queryWrappers(user))); - return map; - } - //鍒ゆ柇鏄惁鏈夊瓙绫�,鐩村埌娌℃湁涓烘 public List<Department> getDepartment(Integer id) { diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodServiceImpl.java index d101d18..2e227d8 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodServiceImpl.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodServiceImpl.java @@ -1,5 +1,8 @@ package com.yuanchu.mom.service.impl; +import cn.hutool.json.JSONUtil; +import cn.hutool.poi.excel.ExcelUtil; +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; @@ -11,10 +14,11 @@ import com.yuanchu.mom.utils.QueryWrappers; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.io.IOException; +import java.util.*; /** * @author Administrator @@ -42,7 +46,7 @@ @Override public List<StandardMethod> selectStandardMethods() { - return standardMethodMapper.selectList(Wrappers.<StandardMethod>lambdaQuery().select(StandardMethod::getId,StandardMethod::getCode,StandardMethod::getName)); + return standardMethodMapper.selectList(Wrappers.<StandardMethod>lambdaQuery().select(StandardMethod::getId,StandardMethod::getCode,StandardMethod::getName).ne(StandardMethod::getId, 0)); } @Override @@ -62,6 +66,132 @@ int i = standardMethodMapper.updateById(standardMethod); return i; } + + @Transactional(rollbackFor = Exception.class) + @Override + public void inputExcel(MultipartFile file) throws IOException { + // 瀛樺偍妫�娴嬪璞ist + List<Object> structureTestObjectIdList = new ArrayList<>(); + List<StandardMethod> result = new ArrayList<>(); + ExcelUtil.readBySax(file.getInputStream(), 0, (i, l, list) -> { + // 鍘婚櫎绗竴琛岃〃澶� + if (l == 0) { + return; + } + // 瀛樺偍鍞竴妫�娴嬪璞� + if (!structureTestObjectIdList.contains(list.get(2))) { + structureTestObjectIdList.add(list.get(2)); + } + StandardMethod standardMethod = formatData(list); + result.add(standardMethod); + }); + addStructureTest(structureTestObjectIdList, result); + } + + // 鏍煎紡鍖栨暟鎹� + public StandardMethod formatData(List<Object> list) { + StandardMethod standardMethod = new StandardMethod(); + standardMethod.setField(list.get(1).toString()); + // 閫犳牸寮� + List<List<Object>> structureTestObjectId = new ArrayList<>(); + if (ObjectUtils.isEmpty(list.get(3))){ + structureTestObjectId.add(Arrays.asList(list.get(2))); + } else { + structureTestObjectId.add(Arrays.asList(list.get(2), list.get(3))); + } + standardMethod.setStructureTestObjectId(JSONUtil.toJsonStr(structureTestObjectId)); + standardMethod.setCode(list.get(4).toString()); + standardMethod.setName(list.get(5).toString()); + standardMethod.setNameEn(list.get(6).toString()); + if (!Objects.equals(list.get(7), null)) { + standardMethod.setRemark(list.get(7).toString()); + } + standardMethod.setQualificationId(list.get(8).toString()); + if (ObjectUtils.isNotEmpty(list.get(9))) { + if (list.get(9).equals("鏄�")) { + standardMethod.setIsProduct(1); + } else if (list.get(9).equals("鍚�")) { + standardMethod.setIsProduct(0); + } + } + if (ObjectUtils.isNotEmpty(list.get(10))) { + if (list.get(10).equals("鏄�")) { + standardMethod.setIsUse(1); + } else if (list.get(9).equals("鍚�")) { + standardMethod.setIsUse(0); + } + } + return standardMethod; + } + + // 鏂板鏁版嵁 + public void addStructureTest(List<Object> structureTestObjectIdList, List<StandardMethod> standardMethodList) { + List<StandardMethod> updateList = new ArrayList<>(); + List<Integer> deleteListId = new ArrayList<>(); + List<StandardMethod> addList = new ArrayList<>(); + if (!structureTestObjectIdList.isEmpty()) { + // 寰幆excel閲岄潰鐨勫垎缁� + structureTestObjectIdList.forEach(j -> { + // 浠xcel涓殑缁勫悕鏌ヨ鏁版嵁搴撲腑鐨勫垎缁� + List<StandardMethod> standardMethods = baseMapper.selectList(Wrappers.<StandardMethod>lambdaQuery() + .like(StandardMethod::getStructureTestObjectId, "\"" + j + "\"")); + // 灏嗙粨鏋滃惊鐜尮閰� + for (int i = 0; i < standardMethods.size(); i++) { + boolean isExistence = false; + for (int i1 = 0; i1 < standardMethodList.size(); i1++) { + // 鏇存柊 + if (standardMethods.get(i).getStructureTestObjectId().equals(standardMethodList.get(i1).getStructureTestObjectId()) + && standardMethods.get(i).getCode().equals(standardMethodList.get(i1).getCode()) + && standardMethods.get(i).getField().equals(standardMethodList.get(i1).getField())) { + // 缁檈xcel鏁版嵁璧嬪�糹d鍋氭洿鏂� + standardMethodList.get(i1).setId(standardMethods.get(i).getId()); + // 鏇存柊 + updateList.add(standardMethodList.get(i1)); + isExistence = true; + break; + } + } + // 鍒犻櫎 + if (!isExistence) { + deleteListId.add(standardMethods.get(i).getId()); + } + } + for (int i = 0; i < standardMethodList.size(); i++) { + if (standardMethodList.get(i).getStructureTestObjectId().contains("\"" + j + "\"")) { + boolean isExistence = false; + for (int i1 = 0; i1 < standardMethods.size(); i1++) { + if (standardMethods.get(i1).getStructureTestObjectId().equals(standardMethodList.get(i).getStructureTestObjectId()) + && standardMethods.get(i1).getCode().equals(standardMethodList.get(i).getCode()) + && standardMethods.get(i1).getField().equals(standardMethodList.get(i).getField())) { + isExistence = true; + break; + } + } + // 鏂板 + if (!isExistence) { + addList.add(standardMethodList.get(i)); + } + } + } + }); + } + if (!addList.isEmpty()) { + // 鏂板 + baseMapper.insertBatchSomeColumn(addList); + } + + if (!deleteListId.isEmpty()) { + // 鍒犻櫎 + baseMapper.deleteBatchIds(deleteListId); + } + + if (!updateList.isEmpty()) { + // 鏇存柊 + updateList.forEach(i -> { + baseMapper.updateById(i); + }); + } + } } diff --git a/cnas-server/src/main/resources/mapper/DepartmentLimsMapper.xml b/cnas-server/src/main/resources/mapper/DepartmentLimsMapper.xml new file mode 100644 index 0000000..dbf7e78 --- /dev/null +++ b/cnas-server/src/main/resources/mapper/DepartmentLimsMapper.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.yuanchu.mom.mapper.DepartmentLimsMapper"> + + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.DepartmentLims"> + <id property="id" column="id" jdbcType="INTEGER"/> + <result property="name" column="name" jdbcType="VARCHAR"/> + <result property="fatherId" column="father_id" jdbcType="INTEGER"/> + <result property="createUser" column="create_user" jdbcType="INTEGER"/> + <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> + <result property="updateUser" column="update_user" jdbcType="INTEGER"/> + <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> + </resultMap> + + <select id="selectDepartment" resultType="com.yuanchu.mom.dto.DepartmentDto"> + SELECT id, name, father_id + FROM department_lims + </select> + + <select id="selectSonById" resultType="java.lang.Integer"> + SELECT au.id + FROM (SELECT * FROM department_lims WHERE father_id IS NOT NULL) au, + (SELECT @father_id := #{id}) pd + WHERE FIND_IN_SET(father_id, @father_id) > 0 + AND @father_id := concat(@father_id, ',', id) + UNION + SELECT id + FROM department_lims + WHERE id = #{id} + ORDER BY id + </select> +</mapper> diff --git a/cnas-server/src/main/resources/mapper/DepartmentMapper.xml b/cnas-server/src/main/resources/mapper/DepartmentMapper.xml index f0a3326..ad9d0f4 100644 --- a/cnas-server/src/main/resources/mapper/DepartmentMapper.xml +++ b/cnas-server/src/main/resources/mapper/DepartmentMapper.xml @@ -6,17 +6,6 @@ FROM department </select> - <select id="showUserById" resultType="com.yuanchu.mom.dto.UserDto"> - select * from (select id, name, age, email, phone,depart_id - from user where state=1 and SUBSTRING_INDEX(depart_id, ',', -1) in - <foreach collection="ids" item="id" separator="," open="(" close=")"> - #{id} - </foreach> ) a - <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> - ${ew.customSqlSegment} - </if> - </select> - <select id="selectSonById" resultType="java.lang.Integer"> SELECT au.id FROM (SELECT * FROM department WHERE father_id IS NOT NULL) au, diff --git a/cnas-server/src/main/resources/mapper/DeviceMapper.xml b/cnas-server/src/main/resources/mapper/DeviceMapper.xml index 721840b..44655bd 100644 --- a/cnas-server/src/main/resources/mapper/DeviceMapper.xml +++ b/cnas-server/src/main/resources/mapper/DeviceMapper.xml @@ -93,12 +93,11 @@ <select id="selectDeviceParameterPage" resultType="com.yuanchu.mom.dto.DeviceDto"> select * from( SELECT - d.*, u.name equipmentManagerUser, l.laboratory_name laboratoryName, i.inspection_item insProductItem + d.*, u.name equipmentManagerUser, l.laboratory_name laboratoryName FROM device d left join `user` u on u.id = d.equipment_manager left join laboratory l on l.id = d.subordinate_departments_id - left join ins_product i on i.id = d.ins_product_ids ) a <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} diff --git a/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java b/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java index ec032d3..1fa10c5 100644 --- a/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java +++ b/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java @@ -1,16 +1,12 @@ package com.yuanchu.mom.config; -import cn.hutool.log.Log; -import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; @@ -63,8 +59,8 @@ @Override protected void addInterceptors(InterceptorRegistry registry) { -// registry.addInterceptor(fiferConfig).addPathPatterns("/**"); -// registry.addInterceptor(powerConfig).addPathPatterns("/**"); + registry.addInterceptor(fiferConfig).addPathPatterns("/**"); + registry.addInterceptor(powerConfig).addPathPatterns("/**"); registry.addInterceptor(logConfig).addPathPatterns("/**"); super.addInterceptors(registry); } diff --git a/framework/src/main/java/com/yuanchu/mom/config/Swagger3.java b/framework/src/main/java/com/yuanchu/mom/config/Swagger3.java index 1156d4d..e6cba12 100644 --- a/framework/src/main/java/com/yuanchu/mom/config/Swagger3.java +++ b/framework/src/main/java/com/yuanchu/mom/config/Swagger3.java @@ -34,15 +34,15 @@ // 鐢ˋpiInfoBuilder杩涜瀹氬埗 return new ApiInfoBuilder() // 璁剧疆鏍囬 - .title("OMS") + .title("LIMS") // 鎻忚堪 - .description("OMS绯荤粺") + .description("瀹為獙瀹ょ鐞嗙郴缁�") // 浣滆�呬俊鎭� - .contact(new Contact("榈烽洀", null, null)) + .contact(new Contact("榈烽洀缃戠粶绉戞妧", null, null)) // 鐗堟湰 - .version("鐗堟湰鍙�:V1.0") + .version("鐗堟湰鍙凤細V1.0") //鍗忚 - .license("The Apache License") + .license("鍟嗕笟椤圭洰") //鍗忚url .licenseUrl("http://www.baidu.com") .build(); diff --git a/framework/src/main/java/com/yuanchu/mom/utils/GiveCode.java b/framework/src/main/java/com/yuanchu/mom/utils/GiveCode.java index 62a181b..4f60117 100644 --- a/framework/src/main/java/com/yuanchu/mom/utils/GiveCode.java +++ b/framework/src/main/java/com/yuanchu/mom/utils/GiveCode.java @@ -1,7 +1,6 @@ package com.yuanchu.mom.utils; import com.yuanchu.mom.mapper.SystemLogMapper; -import lombok.Builder; import org.springframework.stereotype.Component; import javax.annotation.Resource; diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java index 22fd71f..97f0ff1 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java @@ -31,7 +31,7 @@ @RestController @AllArgsConstructor @RequestMapping("/insOrder") -@Api("妫�楠屽崟妯″潡") +@Api(tags="妫�楠屽崟妯″潡") public class InsOrderController { private InsOrderService insOrderService; diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java index 44a38a5..18c32af 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java @@ -23,7 +23,7 @@ */ @RestController @RequestMapping("/insOrderPlan") -@Api("/妫�楠屼换鍔�") +@Api(tags = "妫�楠屼换鍔�") @AllArgsConstructor public class InsOrderPlanController { diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java index ae91318..12ba4ff 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java @@ -4,7 +4,6 @@ import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yuanchu.mom.annotation.ValueAuth; import com.yuanchu.mom.annotation.ValueClassify; import com.yuanchu.mom.dto.ReportPageDto; import com.yuanchu.mom.exception.ErrorException; @@ -30,8 +29,7 @@ @RestController @RequestMapping("/insReport") -//@AllArgsConstructor -@Api("妫�楠屾姤鍛�") +@Api(tags = "妫�楠屾姤鍛�") public class InsReportController { @Resource @@ -49,9 +47,9 @@ return Result.success(insReportService.pageInsReport(page, reportPageDto)); } + @ValueClassify("鎶ュ憡缂栧埗") @ApiOperation(value = "鎶ュ憡涓婁紶") @PostMapping("/inReport") - @ValueAuth public Result inReport(MultipartFile file, Integer id) { String urlString; String pathName; diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsUnPassController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsUnPassController.java index 2de8f38..2822d73 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsUnPassController.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsUnPassController.java @@ -23,7 +23,7 @@ */ @RestController @RequestMapping("/unPass") -@Api("/涓嶅悎鏍肩鐞�") +@Api(tags = "涓嶅悎鏍肩鐞�") @AllArgsConstructor public class InsUnPassController { @Resource diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/ReportController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/ReportController.java index c03cc3f..b3936d4 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/controller/ReportController.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/ReportController.java @@ -16,7 +16,7 @@ @RestController @AllArgsConstructor @RequestMapping("/report") -@Api("鎶ヨ〃妯″潡") +@Api(tags = "鎶ヨ〃妯″潡") public class ReportController { private ReportService reportService; diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTemplateController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTemplateController.java index 4ea2dbb..e75d445 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTemplateController.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTemplateController.java @@ -17,7 +17,7 @@ @RequestMapping("/StandardTemplate") @RestController @AllArgsConstructor -@Api("鍘熷璁板綍妯℃澘") +@Api(tags = "鍘熷璁板綍妯℃澘") public class StandardTemplateController { private StandardTemplateService standardTemplateService; @@ -62,4 +62,11 @@ return Result.success(standardTemplateService.getStandTempThingById(id)); } + @ApiOperation(value = "缂栬緫妯℃澘缂栧埗") + @GetMapping("/getEditTemplatePreparation") + @ValueClassify("鏍囧噯搴�") + public Result<?> getEditTemplatePreparation(@RequestParam("id") Integer id) { + StandardTemplate byId = standardTemplateService.getById(id); + return Result.success("OK", byId.getThing()); + } } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTreeController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTreeController.java index d5ea19c..52d84ba 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTreeController.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/StandardTreeController.java @@ -11,13 +11,19 @@ import com.yuanchu.mom.service.StandardProductListService; import com.yuanchu.mom.service.StandardTreeService; import com.yuanchu.mom.vo.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.util.Map; + @RestController @AllArgsConstructor @RequestMapping("/standardTree") +@Api(tags="鏍囧噯搴�") public class StandardTreeController { private StandardTreeService standardTreeService; @@ -103,6 +109,20 @@ return Result.success(standardProductListService.selectStandardProductListByMethodId(id, tree, page)); } + @ApiOperation(value = "鎵归噺缂栬緫鏌ヨ妫�楠岄」鐩�") + @PostMapping("/selectStandardProductByMethodId") + @ValueAuth + public Result selectStandardProductByMethodId(Integer id, String tree, Integer page,String laboratory,String item,String items){ + return Result.success(standardProductListService.selectStandardProductByMethodId(id, tree, page, laboratory, item, items)); + } + + @ApiOperation(value = "鎵归噺缂栬緫鏌ヨ鎵�鏈夋楠岄」鐩拰妫�楠屽瓙椤规灇涓�") + @PostMapping("/selectStandardProductEnumByMethodId") + @ValueAuth + public Result selectStandardProductEnumByMethodId(Integer id, String tree){ + return Result.success(standardProductListService.selectStandardProductEnumByMethodId(id, tree)); + } + @ApiOperation(value = "鑾峰彇鏍囧噯鏍戜笅鏍囧噯鏂规硶鏋氫妇") @GetMapping("/selectStandardMethodEnum") @ValueAuth @@ -117,4 +137,14 @@ return Result.success(standardTreeService.getStandardTree2()); } + @ValueClassify("鏍囧噯搴�") + @ApiOperation(value = "鎵归噺淇敼椤圭洰鍐呭") + @PostMapping("/upStandardProducts") + @ApiImplicitParams({ + @ApiImplicitParam(name = "standardProductList",dataTypeClass = StandardProductList.class), + @ApiImplicitParam(name = "ids",dataTypeClass = Integer.class) + }) + public Result upStandardProducts(@RequestBody Map<String, Object> product){ + return Result.success(standardTreeService.upStandardProducts(product)); + } } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/WarehouseController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/WarehouseController.java index 813f662..4a86f4b 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/controller/WarehouseController.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/WarehouseController.java @@ -16,7 +16,7 @@ @RequestMapping("/warehouse") @RestController @AllArgsConstructor -@Api("鏍峰搧浠撳簱") +@Api(tags = "鏍峰搧绠$悊") public class WarehouseController { private WarehouseService warehouseService; diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardProductListMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardProductListMapper.java index 5247bc5..3d5d0bf 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardProductListMapper.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardProductListMapper.java @@ -1,5 +1,6 @@ package com.yuanchu.mom.mapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.yuanchu.mom.pojo.StandardProductList; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -11,6 +12,8 @@ */ public interface StandardProductListMapper extends BaseMapper<StandardProductList> { + IPage<StandardProductList> standardProductListIPage(Integer id, String tree, IPage<StandardProductList> iPage, String laboratory, String item, String items); + } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsUnPass.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsUnPass.java index 869393d..b804794 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsUnPass.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsUnPass.java @@ -61,7 +61,7 @@ /** * 鐢ㄦ埛鍚� */ - @ValueTableShow(value = 9, name = "鐢ㄦ埛鍚�") + @ValueTableShow(value = 9, name = "妫�楠屼汉") private String name; @TableField(fill = FieldFill.INSERT) diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/StandardProductList.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/StandardProductList.java index 82b2d4b..09d5f51 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/StandardProductList.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/StandardProductList.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -18,8 +20,9 @@ /** * 涓婚敭id */ - @TableId(type = IdType.AUTO) - private Integer id; + @TableId(type = IdType.ASSIGN_ID) + @JsonSerialize(using = ToStringSerializer.class) + private Long id; /** * 妫�楠岄」 @@ -177,4 +180,6 @@ private String dic; private String tree; + + private Integer structureItemParameterId; } \ No newline at end of file diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/StandardProductListService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/StandardProductListService.java index 5539cd5..0825375 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/StandardProductListService.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/StandardProductListService.java @@ -1,6 +1,7 @@ package com.yuanchu.mom.service; import com.alibaba.fastjson.JSONArray; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.yuanchu.mom.pojo.InsSample; import com.yuanchu.mom.pojo.StandardProductList; @@ -23,4 +24,8 @@ Map<String, Object> selectStandardProductListByMethodId(Integer id, String tree, Integer page); + IPage<StandardProductList> selectStandardProductByMethodId(Integer id, String tree, Integer page, String laboratory, String item, String items); + + Map<String, List<?>> selectStandardProductEnumByMethodId(Integer id, String tree); + } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTreeService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTreeService.java index cdff842..2805ef6 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTreeService.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/StandardTreeService.java @@ -6,6 +6,7 @@ import com.yuanchu.mom.pojo.StandardTree; import java.util.List; +import java.util.Map; /** * @author Administrator @@ -24,4 +25,6 @@ List<SampleTypeDto> getStandardTree2(); + int upStandardProducts(Map<String, Object> product); + } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java index cb1ce57..78ec60d 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java @@ -410,8 +410,6 @@ delRSet.add(jo1.get("r") + ""); } } - } else { - if ("鍙傛暟".equals(v.get("v"))) delSet.add(jo1.get("c") + ""); } } for (int i = 0; i < temp.size(); i++) { @@ -504,7 +502,6 @@ } Style style = new Style(); style.setFontFamily(v.get("ff") == null ? "寰蒋闆呴粦" : v.get("ff") + ""); -// style.setFontSize(v.get("fs")==null?14:Integer.parseInt(v.get("fs")+"")); if (!((v.get("fc") + "").indexOf("rgb") > -1)) { style.setColor(v.get("fc") == null ? "000000" : (v.get("fc") + "").replace("#", "")); } else { @@ -512,13 +509,10 @@ } textRenderData.setStyle(style); text.add(textRenderData); - if (i == temp.size() - 1) { - TextRenderData[] text2 = text.toArray(new TextRenderData[0]); - rowRenderData = Rows.of(text2).rowAtleastHeight(1).center().create(); - rows.add(rowRenderData); - text = new ArrayList<>(); - } } + TextRenderData[] text2 = text.toArray(new TextRenderData[0]); + rowRenderData = Rows.of(text2).rowAtleastHeight(1).center().create(); + rows.add(rowRenderData); TableRenderData tableRenderData = new TableRenderData(); tableRenderData.setRows(rows); TableStyle tableStyle = new TableStyle(); @@ -594,6 +588,9 @@ }catch (Exception e){ throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�"); } + if(signatureUrl == null || "".equals(signatureUrl)){ + throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�"); + } XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( new HashMap<String, Object>() {{ put("order", insOrder); diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java index 0a1fc95..5514fe2 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java @@ -12,6 +12,7 @@ import com.yuanchu.mom.dto.SampleOrderDto; import com.yuanchu.mom.dto.SampleProductDto; import com.yuanchu.mom.dto.SampleProductDto2; +import com.yuanchu.mom.exception.ErrorException; import com.yuanchu.mom.mapper.*; import com.yuanchu.mom.pojo.*; import com.yuanchu.mom.service.InsOrderService; @@ -81,7 +82,11 @@ for (InsProduct insProduct : insProducts) { InsOrderState insOrderState = new InsOrderState(); insOrderState.setInsOrderId(orderId); - insOrderState.setLaboratory(insProduct.getSonLaboratory()); + try { + insOrderState.setLaboratory(insProduct.getSonLaboratory()); + }catch (NullPointerException e){ + throw new ErrorException("璇ユ楠屽崟鏈夋湭缁存姢瀹為獙瀹ょ殑妫�楠岄」鐩�"); + } insOrderState.setInsState(0); insOrderStateMapper.insert(insOrderState); } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java index 4d1bf27..ea79da8 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java @@ -171,8 +171,9 @@ String laboratory = insOrderMapper.selectById(insReport.getInsOrderId()).getLaboratory(); sealUrl = insReportMapper.getLaboratoryByName(laboratory); }catch (Exception e){ - throw new ErrorException("鎵句笉鍒版姤鍛婄珷鍗�"); + throw new ErrorException("鎵句笉鍒版姤鍛婁笓鐢ㄧ珷"); } + if(sealUrl==null) throw new ErrorException("鎵句笉鍒版姤鍛婁笓鐢ㄧ珷"); //绯荤粺鐢熸垚鎶ュ憡鍦板潃 String url = insReport.getUrl(); //鎵嬪姩涓婁紶鎶ュ憡鍦板潃 diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java index 660938b..416e151 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java @@ -2,7 +2,10 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; 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.yuanchu.mom.common.GetLook; import com.yuanchu.mom.mapper.StandardProductListMapper; @@ -52,6 +55,9 @@ public List<StandardProductList> selectStandardProductList(InsSample insSample) { String[] models = insSample.getModel().split("-(?=[^-]*$)");//鎷嗗垎鏈�鍚庝竴涓��-銆� List<StandardProductList> list = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery().eq(StandardProductList::getStandardMethodListId, insSample.getStandardMethodListId()).eq(StandardProductList::getState, 1).eq(StandardProductList::getModel, models[0])); + if (list.size() == 0) { + list = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery().eq(StandardProductList::getStandardMethodListId, insSample.getStandardMethodListId()).eq(StandardProductList::getState, 1)); + } list = list.stream().filter(a -> { try { if (a.getSection() != null && !Objects.equals(a.getSection(), "")) { @@ -61,7 +67,7 @@ List<String> manHours = JSON.parseArray(a.getManHour(), String.class); List<String> prices = JSON.parseArray(a.getPrice(), String.class); boolean isIf = false; - for (int i = 0;i<sections.size();i++){ + for (int i = 0; i < sections.size(); i++) { if (sections.get(i).contains("&")) { String[] split = sections.get(i).split("&"); isIf = new BigDecimal(models[1]).compareTo(new BigDecimal(split[0])) > -1 && new BigDecimal(models[1]).compareTo(new BigDecimal(split[1])) < 1; @@ -81,7 +87,7 @@ String param = sections.get(i).replace("=", ""); isIf = new BigDecimal(models[1]).compareTo(new BigDecimal(param)) == 0; } - if(isIf) { + if (isIf) { a.setSection(sections.get(i)); a.setAsk(asks.get(i)); a.setTell(tells.get(i)); @@ -106,14 +112,29 @@ List<StandardProductList> list = new ArrayList<>(); if (trees.length == 3) { List<StandardTree> treeList = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2])); + if (treeList.size() == 0) { + StandardTree standardTree = new StandardTree(); + standardTree.setFactory(trees[0]); + standardTree.setLaboratory(trees[1]); + standardTree.setSampleType(trees[2]); + treeList.add(standardTree); + } for (StandardTree standardTree : treeList) { - String str = tree+" - "+standardTree.getSample()+" - "+standardTree.getModel(); + String str = tree + " - " + standardTree.getSample() + " - " + standardTree.getModel(); list.addAll(standardTreeMapper.selectStandardProductListByTree3("\"" + trees[2] + "\"", standardTree.getSample(), standardTree.getModel(), str)); } - } else if (trees.length == 4){ + } else if (trees.length == 4) { List<StandardTree> treeList = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3])); + if (treeList.size() == 0) { + StandardTree standardTree = new StandardTree(); + standardTree.setFactory(trees[0]); + standardTree.setLaboratory(trees[1]); + standardTree.setSampleType(trees[2]); + standardTree.setSample(trees[2]); + treeList.add(standardTree); + } for (StandardTree standardTree : treeList) { - String str = tree+" - "+standardTree.getModel(); + String str = tree + " - " + standardTree.getModel(); list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", standardTree.getSample(), standardTree.getModel(), str)); list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + trees[3] + "\"", standardTree.getSample(), standardTree.getModel(), str)); } @@ -121,42 +142,53 @@ list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", trees[3], trees[4], tree)); list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + trees[3] + "\"", trees[3], trees[4], tree)); } + for (StandardProductList productList : list) { + productList.setId(IdWorker.getId()); + } List<StandardProductList> standardProductLists = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery().eq(StandardProductList::getStandardMethodListId, id).like(StandardProductList::getTree, tree)); for (StandardProductList sp : standardProductLists) { for (StandardProductList pl : list) { if (Objects.equals(sp.getInspectionItem(), pl.getInspectionItem()) - && Objects.equals(sp.getInspectionItemSubclass(), pl.getInspectionItemSubclass()) - && Objects.equals(sp.getModel(), pl.getModel())) { + && Objects.equals(sp.getInspectionItemSubclass() == null ? "" : sp.getInspectionItemSubclass(), pl.getInspectionItemSubclass() == null ? "" : pl.getInspectionItemSubclass()) + && Objects.equals(sp.getModel(), pl.getModel()) + && Objects.equals(sp.getStructureItemParameterId(), pl.getStructureItemParameterId())) { pl.setId(sp.getId()); - pl.setState(id==0?1:sp.getState()); + if (sp.getState() != null && !sp.getState().equals("")) { + pl.setState(sp.getState()); + } else { + pl.setState(id == 0 ? 1 : 0); + } pl.setMethodS(sp.getMethodS()); - if(sp.getAsk()!=null&&!sp.getAsk().equals("")){ + if (sp.getAsk() != null && !sp.getAsk().equals("")) { pl.setAsk(sp.getAsk()); } - if(sp.getTell()!=null&&!sp.getTell().equals("")){ + if (sp.getTell() != null && !sp.getTell().equals("")) { pl.setTell(sp.getTell()); } - if(sp.getPrice()!=null&&!sp.getPrice().equals("")){ + if (sp.getPrice() != null && !sp.getPrice().equals("")) { pl.setPrice(sp.getPrice()); } - if(sp.getManHour()!=null&&!sp.getManHour().equals("")){ + if (sp.getManHour() != null && !sp.getManHour().equals("")) { pl.setManHour(sp.getManHour()); } - if(sp.getSection()!=null&&!sp.getSection().equals("")){ + if (sp.getSection() != null && !sp.getSection().equals("")) { pl.setSection(sp.getSection()); } - if(sp.getTemplateId()!=null&&!sp.getTemplateId().equals("")){ + if (sp.getTemplateId() != null && !sp.getTemplateId().equals("")) { pl.setTemplateId(sp.getTemplateId()); + } + if(sp.getTree() != null && !sp.getTree().equals("")){ + pl.setTree(sp.getTree()); } break; } } } - if(page == 1){ + if (page == 1) { Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); CompletableFuture.supplyAsync(() -> { standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate().eq(StandardProductList::getStandardMethodListId, id).like(StandardProductList::getTree, tree)); - standardProductListService2.saveBatch(list.stream().map(a->{ + standardProductListService2.saveBatch(list.stream().map(a -> { a.setFactory(trees[0]); a.setLaboratory(trees[1]); a.setSampleType(trees[2]); @@ -174,13 +206,37 @@ } Map<String, Object> map = new HashMap<>(); try { - map.put("productList", list.subList((page - 1)*50, page * 50)); - }catch (IndexOutOfBoundsException e){ - map.put("productList", list.subList((page - 1)*50, list.size())); + map.put("productList", list.subList((page - 1) * 50, page * 50)); + } catch (IndexOutOfBoundsException e) { + map.put("productList", list.subList((page - 1) * 50, list.size())); } map.put("total", list.size()); return map; } + + @Override + public IPage<StandardProductList> selectStandardProductByMethodId(Integer id, String tree, Integer page, String laboratory, String item, String items) { + IPage<StandardProductList> iPage = new Page<>(); + iPage.setSize(100); + iPage.setCurrent(page); + return standardProductListMapper.standardProductListIPage(id, tree, iPage, laboratory, item, items); + } + + @Override + public Map<String, List<?>> selectStandardProductEnumByMethodId(Integer id, String tree) { + HashMap<String, List<?>> map = new HashMap<>(); + map.put("item", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() + .eq(StandardProductList::getStandardMethodListId, id) + .like(StandardProductList::getTree, tree) + .select(StandardProductList::getInspectionItem) + .groupBy(StandardProductList::getInspectionItem))); + map.put("items", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() + .eq(StandardProductList::getStandardMethodListId, id) + .like(StandardProductList::getTree, tree) + .select(StandardProductList::getInspectionItemSubclass) + .groupBy(StandardProductList::getInspectionItemSubclass))); + return map; + } } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java index 0654d4a..1fe8cf3 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java @@ -19,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.Map; /** * @author Administrator @@ -109,6 +110,14 @@ return standardTreeMapper.getStandardTree2(); } + @Override + @Transactional(rollbackFor = Exception.class) + public int upStandardProducts(Map<String, Object> product) { + List<Integer> ids = JSON.parseArray(JSON.toJSONString(product.get("ids"))); + StandardProductList productList = JSON.parseObject(JSON.toJSONString(product.get("standardProductList")), StandardProductList.class); + standardProductListMapper.update(productList, Wrappers.<StandardProductList>lambdaUpdate().in(StandardProductList::getId, ids)); + return 1; + } } diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml index 5355d6b..4c67745 100644 --- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml +++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml @@ -159,6 +159,7 @@ inspection_item from (select *,GROUP_CONCAT(inspection_item SEPARATOR ',') inspection_item2 from ins_product where state = 1 GROUP BY ins_sample_id,man_hour_group) b GROUP BY b.ins_sample_id) c ON c.ins_sample_id = isa.id + where (i.state = 1 or i.state = 3 or i.state = 4) ) a <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} diff --git a/inspect-server/src/main/resources/mapper/StandardProductListMapper.xml b/inspect-server/src/main/resources/mapper/StandardProductListMapper.xml index dfdbe58..5735cfd 100644 --- a/inspect-server/src/main/resources/mapper/StandardProductListMapper.xml +++ b/inspect-server/src/main/resources/mapper/StandardProductListMapper.xml @@ -16,10 +16,8 @@ <result property="manHourGroup" column="man_hour_group" jdbcType="VARCHAR"/> <result property="inspectionItemType" column="inspection_item_type" jdbcType="VARCHAR"/> <result property="inspectionValueType" column="inspection_value_type" jdbcType="VARCHAR"/> - <result property="deviceGroup" column="device_group" jdbcType="VARCHAR"/> <result property="checkoutNumber" column="checkout_number" jdbcType="INTEGER"/> <result property="section" column="section" jdbcType="VARCHAR"/> - <result property="valueType" column="value_type" jdbcType="VARCHAR"/> <result property="method" column="method" jdbcType="VARCHAR"/> <result property="manDay" column="man_day" jdbcType="INTEGER"/> <result property="bsm" column="bsm" jdbcType="VARCHAR"/> @@ -31,14 +29,18 @@ <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> </resultMap> - <sql id="Base_Column_List"> - id,inspection_item,inspection_item_classify, - inspection_item_subclass,laboratory,unit, - price,man_hour,man_hour_group, - inspection_item_type,inspection_value_type,device_group, - checkout_number,section,value_type, - method,man_day,bsm, - ask,standard_method_list_id,create_user, - update_user,create_time,update_time - </sql> + <select id="standardProductListIPage" resultType="com.yuanchu.mom.pojo.StandardProductList"> + select * from `center-lims`.standard_product_list + where standard_method_list_id = #{id} + and tree like concat('%',#{tree},'%') + <if test="laboratory != ''"> + and son_laboratory = #{laboratory} + </if> + <if test="item != ''"> + and inspection_item = #{item} + </if> + <if test="items != ''"> + and inspection_item_subclass = #{items} + </if> + </select> </mapper> diff --git a/inspect-server/src/main/resources/mapper/StandardTemplateMapper.xml b/inspect-server/src/main/resources/mapper/StandardTemplateMapper.xml index 0dafd77..e3042fb 100644 --- a/inspect-server/src/main/resources/mapper/StandardTemplateMapper.xml +++ b/inspect-server/src/main/resources/mapper/StandardTemplateMapper.xml @@ -17,7 +17,7 @@ <select id="selectStandardTemplatePageList" resultType="com.yuanchu.mom.pojo.StandardTemplate"> select * from ( - select st.id, st.name, remark, thing, u2.name create_user_name, u3.name update_user_name, st.create_time, st.update_time + select st.id, st.name, remark, u2.name create_user_name, u3.name update_user_name, st.create_time, st.update_time from standard_template st left join user u2 on u2.id = st.create_user left join user u3 on u3.id = st.update_user diff --git a/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml b/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml index 23b0adc..ce4a5cc 100644 --- a/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml +++ b/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml @@ -157,7 +157,8 @@ 0 state, #{model} model, #{sample} sample, - #{trees} tree + #{trees} tree, + id structure_item_parameter_id from structure_item_parameter where ( sample is NULL @@ -193,7 +194,8 @@ 0 state, #{model} model, #{sample} sample, - #{trees} tree + #{trees} tree, + id structure_item_parameter_id from structure_item_parameter where sample LIKE CONCAT('%[', #{tree}, ']%') </select> @@ -233,7 +235,8 @@ 0 state, #{model} model, #{sample} sample, - #{trees} tree + #{trees} tree, + id structure_item_parameter_id from structure_item_parameter where ( sample is NULL diff --git a/inspect-server/src/main/resources/static/report-template.docx b/inspect-server/src/main/resources/static/report-template.docx index 8d3e75d..7c4b147 100644 --- a/inspect-server/src/main/resources/static/report-template.docx +++ b/inspect-server/src/main/resources/static/report-template.docx Binary files differ diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/PerformanceShiftServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/PerformanceShiftServiceImpl.java index e6fa72e..d4f0b04 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/PerformanceShiftServiceImpl.java +++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/PerformanceShiftServiceImpl.java @@ -19,6 +19,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; @@ -100,7 +101,7 @@ List<Map<String, Object>> mapYearIPage = baseMapper.performanceShiftYearPage(time, userName, laboratory); mapIPage.getRecords().forEach(i -> { String[] shiftTimes = i.getShiftTime().split(";"); - int totalAttendance = 0; + double totalAttendance = 0; List<Map<String, Object>> map = new ArrayList<>(); // 鍒嗗壊鏃ユ湡 for (String shiftTime : shiftTimes) { @@ -111,19 +112,29 @@ i.getMonthlyAttendance().put(enums.getLabel(), 0); } if (enums.getValue().equals(shiftTimeAndShift[1])) { - Integer num = (Integer) i.getMonthlyAttendance().get(enums.getLabel()); - i.getMonthlyAttendance().put(enums.getLabel(), num += 1); + BigDecimal bigDecimal = new BigDecimal(i.getMonthlyAttendance().get(enums.getLabel()).toString()); + i.getMonthlyAttendance().put(enums.getLabel(), bigDecimal.add(new BigDecimal("1"))); + } + // 鍗婏紝鍙﹀鍗婂ぉ绠楃粰鏃� + if (shiftTimeAndShift[1].equals("5") && enums.getValue().equals("0")) { + BigDecimal bigDecimal = new BigDecimal(i.getMonthlyAttendance().get(enums.getLabel()).toString()); + i.getMonthlyAttendance().put(enums.getLabel(), bigDecimal.add(new BigDecimal("0.5"))); } } - if (shiftTimeAndShift[1].equals("1") || shiftTimeAndShift[1].equals("2") || shiftTimeAndShift[1].equals("0")) { + // 鏃╋紝涓紝澶滐紝宸� + if (shiftTimeAndShift[1].equals("1") || shiftTimeAndShift[1].equals("2") || shiftTimeAndShift[1].equals("0") || shiftTimeAndShift[1].equals("6")) { i.getMonthlyAttendance().put("totalAttendance", totalAttendance += 1); + } + // 鍗� + if (shiftTimeAndShift[1].equals("5")) { + i.getMonthlyAttendance().put("totalAttendance", totalAttendance += 0.5); } hashMap.put("id", shiftTimeAndShift[2]); hashMap.put("shift", shiftTimeAndShift[1]); hashMap.put("time", shiftTimeAndShift[0]); map.add(hashMap); } - int totalYearAttendance = 0; + double totalYearAttendance = 0; Map<String, Object> hashMap = new HashMap<>(); for (Map<String, Object> record : mapYearIPage) { if (record.get("user_id").toString().equals(i.getUserId())) { @@ -132,12 +143,21 @@ hashMap.put(enums.getLabel(), 0); } if (enums.getValue().equals(record.get("shift"))) { - Integer num = (Integer) hashMap.get(enums.getLabel()); - hashMap.put(enums.getLabel(), num += 1); + BigDecimal num = new BigDecimal(hashMap.get(enums.getLabel()).toString()); + hashMap.put(enums.getLabel(), num.add(new BigDecimal("1"))); + } + // 鍗婏紝鍙﹀鍗婂ぉ绠楃粰鏃� + if (record.get("shift").equals("5") && enums.getValue().equals("0")) { + BigDecimal bigDecimal = new BigDecimal(hashMap.get(enums.getLabel()).toString()); + hashMap.put(enums.getLabel(), bigDecimal.add(new BigDecimal("0.5"))); } } - if (record.get("shift").equals("1") || record.get("shift").equals("2") || record.get("shift").equals("0")) { + if (record.get("shift").equals("1") || record.get("shift").equals("2") || record.get("shift").equals("0") || record.get("shift").equals("6")) { hashMap.put("totalAttendance", totalYearAttendance += 1); + } + // 鍗� + if (record.get("shift").equals("5")) { + hashMap.put("totalAttendance", totalYearAttendance += 0.5); } } } @@ -187,11 +207,11 @@ for (Map<String, Object> map : mapYearList) { Map<String, Object> resultMap = new LinkedHashMap<>(); Map<String, Object> hashMapYear = new LinkedHashMap<>(); - int totalYearAttendance = 0; + double totalYearAttendance = 0; // 涓�骞�12涓湀 for (int i = 1; i < 13; i++) { Map<String, Object> hashMapMonth = new LinkedHashMap<>(); - int totalMonthAttendance = 0; + double totalMonthAttendance = 0; for (Enums enums : shiftType) { if (!hashMapYear.containsKey(enums.getLabel())) { hashMapYear.put(enums.getLabel(), 0); @@ -202,9 +222,17 @@ int count = countOccurrences(charArray, i + "锛�" + enums.getValue()); hashMapMonth.put(enums.getLabel(), count); hashMapYear.put(enums.getLabel(), Integer.parseInt(hashMapYear.get(enums.getLabel()).toString()) + count ); - if (enums.getValue().equals("0") || enums.getValue().equals("1") || enums.getValue().equals("2")) { + if (enums.getValue().equals("0") || enums.getValue().equals("1") || enums.getValue().equals("2") || enums.getValue().equals("6")) { totalMonthAttendance += count; totalYearAttendance += count; + } + // 鍗婏紝鍙﹀鍗婂ぉ绠楃粰鏃� + if (enums.getValue().equals("5")) { + BigDecimal multiply = new BigDecimal("0.5").multiply(new BigDecimal(count)).setScale(1, BigDecimal.ROUND_CEILING); + hashMapMonth.put(shiftType.get(0).getLabel(), new BigDecimal(hashMapMonth.get(shiftType.get(0).getLabel()).toString()).add(multiply)); + hashMapYear.put(shiftType.get(0).getLabel(), new BigDecimal(hashMapYear.get(shiftType.get(0).getLabel()).toString()).add(multiply)); + totalMonthAttendance += multiply.doubleValue(); + totalYearAttendance += multiply.doubleValue(); } } // 绌烘暟鎹� @@ -245,14 +273,18 @@ Map<String, Object> year = JackSonUtil.unmarshal(JackSonUtil.marshal(list.get(i).get("year")), Map.class); excelRowList.add(year.get("totalYearAttendance")); enums.forEach(j -> { - excelRowList.add(year.get(j.getLabel())); + if (!j.getValue().equals("5")) { + excelRowList.add(year.get(j.getLabel())); + } }); Map<String, Map<String, Object>> month = JackSonUtil.unmarshal(JackSonUtil.marshal(list.get(i).get("month")), Map.class); for (int j = 1; j < 13; j++) { Object totalMonthAttendance = month.get(j + "").get("totalMonthAttendance"); excelRowList.add(totalMonthAttendance); for (Enums anEnum : enums) { - excelRowList.add(month.get(j + "").get(anEnum.getLabel())); + if (!anEnum.getValue().equals("5")) { + excelRowList.add(month.get(j + "").get(anEnum.getLabel())); + } } } data.add(excelRowList); diff --git a/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml b/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml index 697da8a..31d6551 100644 --- a/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml +++ b/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml @@ -26,6 +26,7 @@ </if> </where> GROUP BY u.id + order by s.create_time </select> <select id="performanceShiftYearPage" resultType="map"> @@ -43,6 +44,7 @@ </if> <if test="laboratory != null and laboratory != ''"> </if> + order by s.create_time </select> <select id="performanceShiftYear" resultType="java.util.Map"> @@ -63,7 +65,7 @@ <if test="laboratory != null and laboratory != ''"> </if> GROUP BY u.id - order by s.work_time + order by s.create_time </select> <select id="performanceShiftYearList" resultType="map"> @@ -84,7 +86,7 @@ <if test="laboratory != null and laboratory != ''"> </if> GROUP BY u.id - order by s.work_time + order by s.create_time </select> <select id="performanceShiftList" resultMap="performanceShiftPageMap"> @@ -104,5 +106,6 @@ </if> </where> GROUP BY u.id + order by s.create_time </select> </mapper> diff --git a/system-run/src/main/resources/application-dev.yml b/system-run/src/main/resources/application-dev.yml index 6892d1f..13e6c40 100644 --- a/system-run/src/main/resources/application-dev.yml +++ b/system-run/src/main/resources/application-dev.yml @@ -37,9 +37,8 @@ datasource: type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver - #url: jdbc:mysql://localhost:3306/center_lims?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 -# url: jdbc:mysql://114.132.189.42:9004/center-lims?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 url: jdbc:mysql://localhost:3306/center-lims?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 +# url: jdbc:mysql://114.132.189.42:9004/center-lims?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 username: root password: 123456 druid: diff --git a/system-run/src/main/resources/application-prod.yml b/system-run/src/main/resources/application-prod.yml index a911969..6f50888 100644 --- a/system-run/src/main/resources/application-prod.yml +++ b/system-run/src/main/resources/application-prod.yml @@ -54,26 +54,24 @@ filters: stat,wall,log4j # 閰嶇疆鐩戞帶缁熻鎷︽埅鐨刦ilters锛屽幓鎺夊悗鐩戞帶鐣岄潰sql鏃犳硶缁熻锛�'wall'鐢ㄤ簬闃茬伀澧� useGlobalDataSourceStat: true #鍚堝苟澶氫釜DruidDatasource鐨勭洃鎺ф暟鎹� connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500; #閫氳繃connectProperties灞炴�ф潵鎵撳紑mergesql鍔熻兘缃楁參sQL璁板綍 - -redis: - # redis鏁版嵁搴撶储寮�(榛樿涓�0)锛屾垜浠娇鐢ㄧ储寮曚负3鐨勬暟鎹簱锛岄伩鍏嶅拰鍏朵粬鏁版嵁搴撳啿绐� - database: 0 - # redis鏈嶅姟鍣ㄥ湴鍧�锛堥粯璁や负loaclhost锛� - host: 127.0.0.1 - # redis绔彛锛堥粯璁や负6379锛� - port: 6379 - # redis璁块棶瀵嗙爜锛堥粯璁や负绌猴級 - password: root2022 - # redis杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶆绉掞級 - timeout: 20 - # redis杩炴帴姹犻厤缃� - pool: - # 鏈�澶у彲鐢ㄨ繛鎺ユ暟锛堥粯璁や负8锛岃礋鏁拌〃绀烘棤闄愶級 - max-active: 8 - # 鏈�澶х┖闂茶繛鎺ユ暟锛堥粯璁や负8锛岃礋鏁拌〃绀烘棤闄愶級 - max-idle: 8 - # 鏈�灏忕┖闂茶繛鎺ユ暟锛堥粯璁や负0锛岃鍊煎彧鏈変负姝f暟鎵嶆湁鐢級 - min-idle: 0 - # 浠庤繛鎺ユ睜涓幏鍙栬繛鎺ユ渶澶х瓑寰呮椂闂达紙榛樿涓�-1锛屽崟浣嶄负姣锛岃礋鏁拌〃绀烘棤闄愶級 - max-wait: -1 - + redis: + # redis鏁版嵁搴撶储寮�(榛樿涓�0)锛屾垜浠娇鐢ㄧ储寮曚负3鐨勬暟鎹簱锛岄伩鍏嶅拰鍏朵粬鏁版嵁搴撳啿绐� + database: 0 + # redis鏈嶅姟鍣ㄥ湴鍧�锛堥粯璁や负loaclhost锛� + host: 127.0.0.1 + # redis绔彛锛堥粯璁や负6379锛� + port: 6379 + # redis璁块棶瀵嗙爜锛堥粯璁や负绌猴級 + password: root2022 + # redis杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶆绉掞級 + timeout: 20 + # redis杩炴帴姹犻厤缃� + pool: + # 鏈�澶у彲鐢ㄨ繛鎺ユ暟锛堥粯璁や负8锛岃礋鏁拌〃绀烘棤闄愶級 + max-active: 8 + # 鏈�澶х┖闂茶繛鎺ユ暟锛堥粯璁や负8锛岃礋鏁拌〃绀烘棤闄愶級 + max-idle: 8 + # 鏈�灏忕┖闂茶繛鎺ユ暟锛堥粯璁や负0锛岃鍊煎彧鏈変负姝f暟鎵嶆湁鐢級 + min-idle: 0 + # 浠庤繛鎺ユ睜涓幏鍙栬繛鎺ユ渶澶х瓑寰呮椂闂达紙榛樿涓�-1锛屽崟浣嶄负姣锛岃礋鏁拌〃绀烘棤闄愶級 + max-wait: -1 \ No newline at end of file diff --git a/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java b/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java index 7ff4ee0..c9fa8ae 100644 --- a/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java +++ b/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java @@ -1,42 +1,14 @@ package com.yuanchu.mom; -import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; -import com.yuanchu.mom.service.PerformanceShiftService; -import com.yuanchu.mom.utils.StyleYearUtils; import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; - -import java.util.Collection; -import java.util.List; -import java.util.Map; @SpringBootTest class SystemRunApplicationTest { - @Autowired - private PerformanceShiftService performanceShiftService; - - private static String fileName = "D:\\" + System.currentTimeMillis() + ".xlsx"; - @Test void contextLoads() throws Exception { - Map<Object, Object> data = performanceShiftService.exportToYearExcel("2024-05-01 00:00:00", null, null); - // 璁剧疆鍗曞厓鏍兼牱寮� - HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleYearUtils.getHeadStyle(), StyleYearUtils.getContentStyle()); - EasyExcel.write(fileName) - .head((List<List<String>>) data.get("header")) - .registerWriteHandler(horizontalCellStyleStrategy) - .sheet("鏈堝害") - .doWrite((Collection<?>) data.get("data")); -// String url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?corpid=wwa423654b975441ac&corpsecret=J3fbMJoTn3LmrWDobvS5JpU8N0TvEbGkVl8OhvIsol0"; -// String s = HttpUtil.get(url); -// System.out.println(s); -// Map<String, Object> unmarshal = JSONObject.parseObject(s, Map.class); -// String checkInRecords = "https://qyapi.weixin.qq.com/cgi-bin/checkin/getcheckindata?access_token=" + unmarshal.get("access_token"); -// String body = HttpRequest.post(checkInRecords).execute().body(); -// System.out.println(body); + } } diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/CompaniesController.java b/user-server/src/main/java/com/yuanchu/mom/controller/CompaniesController.java index 73bb8e9..08729b4 100644 --- a/user-server/src/main/java/com/yuanchu/mom/controller/CompaniesController.java +++ b/user-server/src/main/java/com/yuanchu/mom/controller/CompaniesController.java @@ -1,37 +1,48 @@ package com.yuanchu.mom.controller; -import cn.hutool.http.HttpRequest; -import cn.hutool.http.HttpResponse; -import cn.hutool.http.HttpUtil; import com.yuanchu.mom.annotation.ValueAuth; -import com.yuanchu.mom.pojo.AuthApi; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.dto.PersonDto; import com.yuanchu.mom.pojo.Company; +import com.yuanchu.mom.service.UserService; import com.yuanchu.mom.util.HeaderToken; import com.yuanchu.mom.vo.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.Authorization; import lombok.AllArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @AllArgsConstructor @RequestMapping("/companies") -@Api("缁勭粐妯″潡") +@Api(tags="鐢ㄦ埛妯″潡") public class CompaniesController { - @Autowired private HeaderToken headerToken; - @ValueAuth - @ApiOperation(value = "鑾峰彇缁勭粐鍒楄〃") + private UserService userService; + + @ValueClassify("鐢ㄦ埛绠$悊") + @ApiOperation(value = "鑾峰彇浜轰簨绯荤粺缁勭粐鏋舵瀯") @GetMapping(value = "/selectCompaniesList") - public Result<List<Company>> selectcompaniesList(){ + public Result<List<Company>> selectCompaniesList() { return Result.success(headerToken.companyUrl()); } + + @ValueAuth + @ApiOperation("鑾峰彇浜轰簨绯荤粺缁勭粐涓嬬殑浜哄憳") + @PostMapping(value = "/selectSimpleList") + public Result<?> selectSimpleList(String companyId) { + return Result.success(headerToken.userUrl(companyId)); + } + + @ValueAuth + @ApiOperation("灏嗕汉浜嬬郴缁熷嬀閫夌殑鍐呭杞Щ鍒版湰绯荤粺") + @PostMapping(value = "/addPersonUser") + public Result<?> addPersonUser(@RequestBody PersonDto personDto) { + return Result.success(userService.addPersonUser(personDto)); + } + } \ No newline at end of file diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/PostController.java b/user-server/src/main/java/com/yuanchu/mom/controller/PostController.java deleted file mode 100644 index dd87db6..0000000 --- a/user-server/src/main/java/com/yuanchu/mom/controller/PostController.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yuanchu.mom.controller; - -import com.yuanchu.mom.annotation.ValueAuth; -import com.yuanchu.mom.pojo.Post; -import com.yuanchu.mom.util.HeaderToken; -import com.yuanchu.mom.vo.Result; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.AllArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -@RestController -@AllArgsConstructor -@RequestMapping("/post") -@Api("宀椾綅妯″潡") -public class PostController { - - @Autowired - private HeaderToken headerToken; - - @ValueAuth - @ApiOperation(value = "鑾峰彇宀椾綅鍒楄〃") - @PostMapping(value = "/selectPostList/{companyId}") - public Result<List<Post>> selectPostList(@PathVariable String companyId){ - return Result.success(headerToken.postUrl(companyId)); - } -} \ No newline at end of file diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/SimpleController.java b/user-server/src/main/java/com/yuanchu/mom/controller/SimpleController.java deleted file mode 100644 index 9d2660d..0000000 --- a/user-server/src/main/java/com/yuanchu/mom/controller/SimpleController.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.yuanchu.mom.controller; - - -import com.yuanchu.mom.pojo.User; -import com.yuanchu.mom.util.HeaderToken; -import com.yuanchu.mom.vo.Result; -import io.swagger.annotations.Api; -import lombok.AllArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - - -@AllArgsConstructor -@RestController -@RequestMapping("/simple") -@Api("浜哄憳妯″潡") -public class SimpleController { - - @Autowired - private HeaderToken headerToken; - - @PostMapping( value = "/selectSimpleList/companyId") - public Result<List<User>> selectSimpleList(@PathVariable String companyId){ - return Result.success(headerToken.userUrl(companyId)); - } -} diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java b/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java index 90522c7..9561e48 100644 --- a/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java +++ b/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java @@ -98,6 +98,16 @@ UserPageDto user = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), UserPageDto.class); return Result.success(userService.selectUserList(page, user)); } + + @ValueClassify("浜哄憳鎬昏") + @ApiOperation(value = "浜哄憳鎬昏") + @PostMapping("/selectPersonnelOverview") + public Result selectPersonnelOverview(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + UserPageDto user = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), UserPageDto.class); + return Result.success(userService.selectPersonnelOverview(page, user)); + } + @ValueClassify("鐢ㄦ埛绠$悊") @ApiOperation(value = "淇敼鐢ㄦ埛淇℃伅") @PostMapping("/updateUser") @@ -171,4 +181,19 @@ public Result<?> upUserPassword(String oldPassword, String newPassWord){ return Result.success(userService.upUserPassword(oldPassword, newPassWord)); } + + @ValueClassify("浜哄憳鏄庣粏") + @PostMapping("/upUserDepardLimsId") + @ApiOperation(value = "淇敼浜哄憳鏄庣粏鎵�鍦ㄧ粍缁囨灦鏋�") + public Result<?> upUserDepardLimsId(String ids, String id){ + return Result.success(userService.upUserDepardLimsId(ids, id)); + } + + @ValueClassify("浜哄憳鏄庣粏") + @PostMapping("/delUserDepardLimsId") + @ApiOperation(value = "鍒犻櫎浜哄憳鏄庣粏鎵�鍦ㄧ粍缁囨灦鏋�") + public Result<?> delUserDepardLimsId(Integer id){ + return Result.success(userService.delUserDepardLimsId(id)); + } + } diff --git a/user-server/src/main/java/com/yuanchu/mom/dto/Custom.java b/user-server/src/main/java/com/yuanchu/mom/dto/Custom.java index aef0096..cfece7c 100644 --- a/user-server/src/main/java/com/yuanchu/mom/dto/Custom.java +++ b/user-server/src/main/java/com/yuanchu/mom/dto/Custom.java @@ -24,7 +24,7 @@ @TableId(type = IdType.AUTO) private Integer id; - @ValueTableShow(2) + @ValueTableShow(value = 2) @ApiModelProperty(value = "瀹㈡埛璐﹀彿") private String account; diff --git a/user-server/src/main/java/com/yuanchu/mom/dto/PersonDto.java b/user-server/src/main/java/com/yuanchu/mom/dto/PersonDto.java new file mode 100644 index 0000000..fa1e22d --- /dev/null +++ b/user-server/src/main/java/com/yuanchu/mom/dto/PersonDto.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.dto; + +import com.yuanchu.mom.pojo.Company; +import com.yuanchu.mom.pojo.Person; +import lombok.Data; + +import java.util.List; + +@Data +public class PersonDto { + + private List<Person> person; + + private List<Company> company; + +} diff --git a/user-server/src/main/java/com/yuanchu/mom/dto/UserPageDto.java b/user-server/src/main/java/com/yuanchu/mom/dto/UserPageDto.java index d959ddd..83b7f8a 100644 --- a/user-server/src/main/java/com/yuanchu/mom/dto/UserPageDto.java +++ b/user-server/src/main/java/com/yuanchu/mom/dto/UserPageDto.java @@ -12,15 +12,13 @@ @NoArgsConstructor public class UserPageDto extends User { - @ValueTableShow(10) @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛") private String createUserName; - @ValueTableShow(11) @ApiModelProperty(value = "鏇存柊鐢ㄦ埛") private String updateUserName; - @ValueTableShow(1) + @ValueTableShow(3) @ApiModelProperty(value = "瑙掕壊") private String roleName; diff --git a/user-server/src/main/java/com/yuanchu/mom/mapper/DepartmentsMapper.java b/user-server/src/main/java/com/yuanchu/mom/mapper/DepartmentsMapper.java new file mode 100644 index 0000000..ff12ec0 --- /dev/null +++ b/user-server/src/main/java/com/yuanchu/mom/mapper/DepartmentsMapper.java @@ -0,0 +1,12 @@ +package com.yuanchu.mom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yuanchu.mom.pojo.Departments; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface DepartmentsMapper extends BaseMapper<Departments> { + +} diff --git a/user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java b/user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java index e0ec91b..42a89ae 100644 --- a/user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java +++ b/user-server/src/main/java/com/yuanchu/mom/mapper/UserMapper.java @@ -16,6 +16,8 @@ IPage<User> selectUserDtoPageList(IPage<UserPageDto> page, QueryWrapper<UserPageDto> ew); + IPage<User> selectPersonnelOverview(IPage<UserPageDto> page, QueryWrapper<UserPageDto> ew); + //鑾峰彇璁惧璐熻矗浜� List<User> getDeviceManager(); diff --git a/user-server/src/main/java/com/yuanchu/mom/pojo/AuthApi.java b/user-server/src/main/java/com/yuanchu/mom/pojo/AuthApi.java index b91d14b..b16a664 100644 --- a/user-server/src/main/java/com/yuanchu/mom/pojo/AuthApi.java +++ b/user-server/src/main/java/com/yuanchu/mom/pojo/AuthApi.java @@ -2,10 +2,43 @@ public class AuthApi { - public static String companies = "https://ztt-sso.asuncloud.net/api/org/v1/companies"; + /** + * 娴嬭瘯鍦板潃 + * */ +// private String code = "https://ztt-sso.asuncloud.net/oauth2/token"; + /** + * 姝e紡鍦板潃 + * */ + public static String code = "https://ztt-sso.chinaztt.cn/oauth2/token"; - public static String post="https://ztt-sso.asuncloud.net/api/org/v1/post?companyId="; + /** + * 娌冲彛浜轰簨娴嬭瘯搴� + * */ +// private String appId = "8b2f2c7e-2ab9-4718-8193-c0c636dceba8"; +// private String appSecret = "db59b70d28ab1865aafe4008f59d4760"; + /** + * 娌冲彛浜轰簨姝e紡搴� + * */ + public static String appId = "f6f3d70f-3666-4d3d-b9c5-430de3f6007c"; + public static String appSecret = "a18923496542302066b0a7bec993a4e2"; +/** + * 瑁呭浜轰簨娴嬭瘯搴� + * */ +// private String appId = "0acf9b63-31e3-45c4-99c1-af1aac88b985"; +// private String appSecret = "7fb7a4026c71619345c31fa12ba31f4f"; + /** + * 瑁呭浜轰簨姝e紡搴� + * */ +// private String appId = "6f5f6a0c-2a01-4ef6-9e75-c8a6f0c2f044"; +// private String appSecret = "89b9c4735b1e5ee9d6a8544b9b38bb03"; - public static String simple="https://ztt-sso.asuncloud.net/api/org/v1/employees/simple?companyId="; + public static String companies = "https://ztt-connector.chinaztt.cn/api/org/v1/companies"; + + public static String simple="https://ztt-connector.chinaztt.cn/api/org/v1/employees/simple?companyId="; + + /** + * 浜哄憳瀵嗙爜鑾峰彇 + * */ + public static String password = "https://ztt-connector.chinaztt.cn/api/org/v1/employees/original_pwd/"; } \ No newline at end of file diff --git a/user-server/src/main/java/com/yuanchu/mom/pojo/Departments.java b/user-server/src/main/java/com/yuanchu/mom/pojo/Departments.java new file mode 100644 index 0000000..65010a4 --- /dev/null +++ b/user-server/src/main/java/com/yuanchu/mom/pojo/Departments.java @@ -0,0 +1,46 @@ +package com.yuanchu.mom.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 閮ㄩ棬鏄庣粏 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-04-15 04:01:48 + */ +@Data +@ApiModel(value = "Department瀵硅薄", description = "閮ㄩ棬鏄庣粏") +@TableName("department") +public class Departments implements Serializable { + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("鍚嶇О") + private String name; + + @ApiModelProperty("鐖剁骇id") + private Integer fatherId; + + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + private String companyId; +} diff --git a/user-server/src/main/java/com/yuanchu/mom/pojo/Person.java b/user-server/src/main/java/com/yuanchu/mom/pojo/Person.java new file mode 100644 index 0000000..c363b82 --- /dev/null +++ b/user-server/src/main/java/com/yuanchu/mom/pojo/Person.java @@ -0,0 +1,36 @@ +package com.yuanchu.mom.pojo; + +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; +} diff --git a/user-server/src/main/java/com/yuanchu/mom/pojo/User.java b/user-server/src/main/java/com/yuanchu/mom/pojo/User.java index 6f4b5fb..bc8bf1a 100644 --- a/user-server/src/main/java/com/yuanchu/mom/pojo/User.java +++ b/user-server/src/main/java/com/yuanchu/mom/pojo/User.java @@ -24,18 +24,17 @@ @TableId(type = IdType.AUTO) private Integer id; - @ValueTableShow(1) + @ValueTableShow(2) @ApiModelProperty(value = "璐﹀彿") private String account; @ApiModelProperty(value = "瀵嗙爜") private String password; - @ValueTableShow(2) + @ValueTableShow(1) @ApiModelProperty(value = "濮撳悕") private String name; - @ValueTableShow(2) @ApiModelProperty(value = "濮撳悕EN") private String nameEn; @@ -43,11 +42,9 @@ @ApiModelProperty(value = "鐘舵��") private Integer state; - @ValueTableShow(4) @ApiModelProperty(value = "骞撮緞") private Integer age; - @ValueTableShow(5) @ApiModelProperty(value = "閭") private String email; @@ -58,24 +55,20 @@ @ApiModelProperty(value = "閮ㄩ棬") private String department; - @ValueTableShow(8) @ApiModelProperty(value = "鍗曚綅") private String company; - @ValueTableShow(14) @ApiModelProperty(value = "鍗曚綅鍦板潃") private String address; @ApiModelProperty(value = "瑙掕壊涓婚敭") private Integer roleId; - @ValueTableShow(9) @ApiModelProperty(value = "鍒涘缓鏃ユ湡") @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; - @ValueTableShow(10) @ApiModelProperty(value = "鏇存柊鏃ユ湡") @TableField(fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @@ -96,42 +89,20 @@ /** * 绛惧悕鐓х墖鍦板潃 */ - @ValueTableShow(value = 12,name = "绛惧悕鐓х墖鍦板潃") private String signatureUrl; /** * 鑷韩鐓х墖鍦板潃 */ - @ValueTableShow(value = 13,name = "鑷韩鐓х墖鍦板潃") private String pictureUrl; /** * 缁勭粐 */ -// @ValueTableShow(value = 14,name = "缁勭粐") @ApiModelProperty(value = "鍏宠仈鐨勯儴闂╥d") private String departId; - ////浜哄憳缂栧彿锛屽叏灞�鍞竴 -// private String employeeID; -////宀椾綅 -// private String position; -////宀椾綅缂栫爜 -// private String positionCode; -////鎵嬫満鍙风爜 -// private String phoneNumber; -// -// //鎬у埆 1:鐢� 2:濂� -// private int gender; -// -// //缁勭粐鐘舵�� enable:鍦ㄨ亴 disabled:绂昏亴 -// private String status; -////鎵�灞炵粍缁囩紪鐮� -// private String companyId; -////鍏徃閭(鍙敤浜庨偖绠辩郴缁�) -// private String companyEmail; -////鍏ヨ亴鍏徃鏃堕棿 -// private String dateOfJoiningTheCompany; -////缁勭粐鍐呯殑閮ㄩ棬缂栫爜 -// private String departmentCode; + @ApiModelProperty(value = "LIMS鍏宠仈鐨勯儴闂╥d") + private String departLimsId; + } diff --git a/user-server/src/main/java/com/yuanchu/mom/service/UserService.java b/user-server/src/main/java/com/yuanchu/mom/service/UserService.java index 01fde83..1784a33 100644 --- a/user-server/src/main/java/com/yuanchu/mom/service/UserService.java +++ b/user-server/src/main/java/com/yuanchu/mom/service/UserService.java @@ -1,10 +1,9 @@ package com.yuanchu.mom.service; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.PersonDto; import com.yuanchu.mom.dto.UserPageDto; import com.yuanchu.mom.pojo.User; -import org.springframework.web.multipart.MultipartFile; import java.util.List; import java.util.Map; @@ -18,6 +17,8 @@ String selectNameById(Integer id); Map<String, Object> selectUserList(IPage<UserPageDto> page, UserPageDto user); + + Map<String, Object> selectPersonnelOverview(IPage<UserPageDto> page, UserPageDto user); int updateUser(User user); @@ -34,4 +35,10 @@ int upUserPassword(String oldPassword, String newPassWord); + int addPersonUser(PersonDto personDto); + + int upUserDepardLimsId(String ids, String id); + + int delUserDepardLimsId(Integer id); + } diff --git a/user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java b/user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java index 351cd81..d8cc65f 100644 --- a/user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java +++ b/user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java @@ -1,35 +1,32 @@ package com.yuanchu.mom.service.impl; import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.common.GetLook; import com.yuanchu.mom.common.PrintChina; +import com.yuanchu.mom.dto.PersonDto; import com.yuanchu.mom.dto.UserPageDto; import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.DepartmentsMapper; import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.Departments; import com.yuanchu.mom.pojo.User; import com.yuanchu.mom.service.UserService; -import com.yuanchu.mom.utils.Jwt; +import com.yuanchu.mom.util.HeaderToken; import com.yuanchu.mom.utils.QueryWrappers; -import com.yuanchu.mom.vo.Result; -import lombok.AllArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.DigestUtils; -import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; -import java.io.File; import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.atomic.AtomicReference; @Service public class UserServiceImp implements UserService { @@ -37,11 +34,13 @@ @Resource UserMapper userMapper; @Resource - Jwt jwt; - @Resource private GetLook getLook; + @Resource + private DepartmentsMapper departmentsMapper; + @Resource + private HeaderToken headerToken; @Override public User selectUserByPwd(String account, String password) { @@ -69,14 +68,24 @@ } @Override + public Map<String, Object> selectPersonnelOverview(IPage<UserPageDto> page, UserPageDto user) { + Map<String, Object> map = new HashMap<>(); + map.put("head", PrintChina.printChina(UserPageDto.class)); + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectUserList"); + if (map1.get("look") == 1) user.setCreateUser(map1.get("userId")); + map.put("body", userMapper.selectPersonnelOverview(page, QueryWrappers.queryWrappers(user))); + return map; + } + + @Override public int updateUser(User user) { - user.setDepartId("1,"+user.getDepartId()); + user.setDepartId("1," + user.getDepartId()); return userMapper.updateById(user); } @Override public int addUser(User user) { - user.setDepartId("1,"+user.getDepartId()); + user.setDepartId("1"); return userMapper.insert(user); } @@ -114,4 +123,69 @@ return userMapper.updateById(user); } + @Override + @Transactional(rollbackFor = Exception.class) + public int addPersonUser(PersonDto personDto) { + AtomicReference<String> departId = new AtomicReference<>(""); + AtomicReference<String> companyName = new AtomicReference<>(); + personDto.getCompany().forEach(company -> { + Departments department = departmentsMapper.selectOne(Wrappers.<Departments>lambdaQuery().eq(Departments::getCompanyId, company.getCompanyId())); + if (BeanUtil.isEmpty(department)) { + department = new Departments(); + department.setName(company.getCompanyName()); + department.setCompanyId(company.getCompanyId()); + Departments department2 = departmentsMapper.selectOne(Wrappers.<Departments>lambdaQuery().eq(Departments::getCompanyId, company.getParentCompanyId())); + if (BeanUtil.isEmpty(department2)) { + department.setFatherId(1); + } else { + department.setFatherId(department2.getId()); + } + departmentsMapper.insert(department); + } + departId.set(departId.get() + department.getId() + ","); + companyName.set(department.getName()); + }); + personDto.getPerson().forEach(person -> { + User user = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getAccount, person.getEmployeeID())); + 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(person.getCompanyId().equals("SC2463") ? 0 : 1); + user.setDepartId(departId.get()); +// user.setPassword(DigestUtils.md5DigestAsHex(headerToken.getPassword(person.getEmployeeID()).getBytes())); + user.setPassword(DigestUtils.md5DigestAsHex("123456".getBytes())); + user.setCompany(companyName.get()); + user.setAddress("鏈~鍐�"); + userMapper.insert(user); + } else { + user.setName(person.getName()); + user.setPhone(person.getPhoneNumber()); + user.setEmail(person.getCompanyEmail()); + user.setIsCustom(person.getCompanyId().equals("SC2463") ? 0 : 1); + user.setDepartId(departId.get()); + user.setCompany(companyName.get()); + user.setCreateUser(null); + user.setCreateTime(null); + user.setUpdateUser(null); + user.setUpdateTime(null); + userMapper.updateById(user); + } + }); + return 1; + } + + @Override + public int upUserDepardLimsId(String ids, String id) { + List<Integer> userIds = JSON.parseArray(ids, Integer.class); + return userMapper.update(null, Wrappers.<User>lambdaUpdate().in(User::getId, userIds).set(User::getDepartLimsId, id).set(User::getUpdateTime, LocalDateTime.now()).set(User::getUpdateUser, getLook.selectPowerByMethodAndUserId(null).get("userId"))); + } + + @Override + public int delUserDepardLimsId(Integer id) { + return userMapper.update(null, Wrappers.<User>lambdaUpdate().eq(User::getId, id).set(User::getDepartLimsId, null).set(User::getUpdateTime, LocalDateTime.now()).set(User::getUpdateUser, getLook.selectPowerByMethodAndUserId(null).get("userId"))); + } } diff --git a/user-server/src/main/java/com/yuanchu/mom/util/HeaderToken.java b/user-server/src/main/java/com/yuanchu/mom/util/HeaderToken.java index 147145f..3af736a 100644 --- a/user-server/src/main/java/com/yuanchu/mom/util/HeaderToken.java +++ b/user-server/src/main/java/com/yuanchu/mom/util/HeaderToken.java @@ -2,23 +2,25 @@ import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; +import cn.hutool.log.Log; import com.alibaba.fastjson.JSON; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.type.TypeReference; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +import com.yuanchu.mom.exception.ErrorException; +import com.yuanchu.mom.mapper.UserMapper; import com.yuanchu.mom.pojo.AuthApi; import com.yuanchu.mom.pojo.Company; -import com.yuanchu.mom.pojo.Post; +import com.yuanchu.mom.pojo.Person; import com.yuanchu.mom.pojo.User; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.time.Duration; import java.util.List; +import java.util.Objects; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; @Component public class HeaderToken { @@ -26,129 +28,83 @@ @Resource private RedisTemplate redisTemplate; - public static void main(String[] args) { - HttpRequest request = HttpRequest.post("https://ztt-sso.asuncloud.net/oauth2/token") - .header("Content-Type", "application/x-www-form-urlencoded") - .form("grant_type", "client_credentials") - .form("client_id", "8b2f2c7e-2ab9-4718-8193-c0c636dceba8") - .form("client_secret", "db59b70d28ab1865aafe4008f59d4760"); - - HttpResponse response = request.execute(); - - System.out.println(response.body()); - } + @Resource + private UserMapper userMapper; public String fetchNewAccessToken() { - HttpRequest request = HttpRequest.post("https://ztt-sso.asuncloud.net/oauth2/token") + HttpRequest request = HttpRequest.post(AuthApi.code) .header("Content-Type", "application/x-www-form-urlencoded") .form("grant_type", "client_credentials") - .form("client_id", "8b2f2c7e-2ab9-4718-8193-c0c636dceba8") - .form("client_secret", "db59b70d28ab1865aafe4008f59d4760"); + .form("client_id", AuthApi.appId) + .form("client_secret", AuthApi.appSecret); HttpResponse response = request.execute(); - - System.out.println(response.body()); ObjectMapper objectMapper = new ObjectMapper(); - JsonNode jsonNode = null; + JsonNode jsonNode; try { jsonNode = objectMapper.readTree(response.body()); String accessToken = jsonNode.get("access_token").asText(); - redisTemplate.opsForValue().set("access_token",accessToken); - redisTemplate.expire("access_token", dataTime("access_token"), TimeUnit.SECONDS); - } catch (JsonProcessingException e) { - e.printStackTrace(); + Log.get().info("鑾峰彇浜轰簨绯荤粺token锛�"+accessToken); + redisTemplate.opsForValue().set("access_token",accessToken,jsonNode.get("expires_in").asInt() - 60,TimeUnit.SECONDS); + return accessToken; + } catch (Exception e) { + throw new ErrorException(e.getMessage()); } - return null; } - private String accessToken ; - //鍒ゆ柇鏄惁杩囨湡 + //鍒ゆ柇鏄惁瀛樺湪 public String getAccessToken() { - accessToken=(String) redisTemplate.opsForValue().get("access_token"); - if (accessToken == null) { + String accessToken; + if (!redisTemplate.hasKey("access_token")) { accessToken = fetchNewAccessToken(); + }else{ + accessToken = redisTemplate.opsForValue().get("access_token")+""; } return accessToken; } - //鍒ゆ柇 token 鏄惁宸插瓨鍦� - public String getToken(String token) { - String o = redisTemplate.opsForValue().get(token).toString(); - if (o != null && !o.isEmpty()) { - return o; - }else{ - redisTemplate.expire(token,dataTime("access_token"),TimeUnit.SECONDS); - String tokens = redisTemplate.opsForValue().get(token).toString(); - return tokens; - } - // 鑾峰彇 token -// accessToken = fetchNewAccessToken(); -// return accessToken; - } - - //鑾峰彇token杩囨湡鏃堕棿 - public Long dataTime(String token){ - Long access_token = redisTemplate.getExpire(token); - if(access_token != null && access_token >60) { - redisTemplate.expire(token, access_token - 60 ,TimeUnit.SECONDS); - return access_token - 60; - }//灏辩洿鎺ヨ皟鐢� - return null; - } - - //璋冪敤 - public List<Company> companyUrl() { + public List<Company> companyUrl() { String accessToken = getAccessToken(); - String getToken= getToken(accessToken); - String apiUrl =AuthApi.companies; // 鏇挎崲涓哄疄闄呯殑API绔偣URL - HttpRequest request = HttpRequest.get(apiUrl) + HttpRequest request = HttpRequest.get(AuthApi.companies) .header("Authorization", "Bearer " + accessToken); - HttpResponse response = request.execute(); - ObjectMapper objectMapper = new ObjectMapper(); - String body = response.body(); - List<Company> companies = null; + List<Company> companies; try { - companies = objectMapper.readValue(body, new TypeReference<List<Company>>(){}); - } catch (JsonProcessingException e) { - e.printStackTrace(); + companies = JSON.parseArray(request.execute().body(), Company.class); + }catch (Exception e){ + throw new ErrorException(e.getMessage()); } - return companies; + return companies.stream().filter(ob->{ + if(ob.getStatus().equals("enabled")) return true; + return false; + }).collect(Collectors.toList()); } - public List<Post> postUrl(String companyId) { + public List<Person> userUrl(String companyId) { String accessToken = getAccessToken(); - String token = getToken(accessToken); - String apiUrl =AuthApi.post+companyId; // 鏇挎崲涓哄疄闄呯殑API绔偣URL - HttpRequest request = HttpRequest.get(apiUrl) - .header("Authorization", "Bearer " + accessToken); - HttpResponse response = request.execute(); - ObjectMapper objectMapper = new ObjectMapper(); - String body = response.body(); - List<Post> posts = null; - try { - posts=objectMapper.readValue(body, new TypeReference<List<Post>>() {}); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } - return posts; - } - - public List<User> userUrl(String companyId) { - String accessToken = getAccessToken(); - String token = getToken(accessToken); - String apiUrl =AuthApi.simple+companyId; // 鏇挎崲涓哄疄闄呯殑API绔偣URL - HttpRequest request = HttpRequest.get(apiUrl) + HttpRequest request = HttpRequest.get(AuthApi.simple+companyId) .header("Authorization", "Bearer " + accessToken) .header("Content-Type", "application/form-data"); - HttpResponse response = request.execute(); - ObjectMapper objectMapper = new ObjectMapper(); - String body = response.body(); - List<User> user=null; + List<Person> person; try { - user= objectMapper.readValue(body,new TypeReference<List<User>>(){}); - } catch (JsonProcessingException e) { - e.printStackTrace(); + person = JSON.parseArray(request.execute().body(), Person.class); + }catch (Exception e){ + throw new ErrorException(e.getMessage()); } - return user; + return person.stream().filter(ob->{ + if(Objects.equals(ob.getStatus(), "enabled")) { + ob.setIsLive(userMapper.selectCount(Wrappers.<User>lambdaQuery().eq(User::getAccount, ob.getEmployeeID()))); + return true; + } + return false; + }).collect(Collectors.toList()); + } + + public String getPassword(String employeeId) { + String accessToken = getAccessToken(); + HttpRequest request = HttpRequest.get(AuthApi.password + employeeId) + .header("Authorization", "Bearer " + accessToken); + System.out.println(AuthApi.password + employeeId); + System.out.println(request.execute().body()); + return JSON.parseObject(request.execute().body()).get("originalPwd").toString(); } } \ No newline at end of file diff --git a/user-server/src/main/resources/mapper/DepartmentsMapper.xml b/user-server/src/main/resources/mapper/DepartmentsMapper.xml new file mode 100644 index 0000000..6816efa --- /dev/null +++ b/user-server/src/main/resources/mapper/DepartmentsMapper.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.yuanchu.mom.mapper.DepartmentsMapper"> +</mapper> diff --git a/user-server/src/main/resources/mapper/UserMapper.xml b/user-server/src/main/resources/mapper/UserMapper.xml index ecdc611..4ce6510 100644 --- a/user-server/src/main/resources/mapper/UserMapper.xml +++ b/user-server/src/main/resources/mapper/UserMapper.xml @@ -6,7 +6,7 @@ select u1.id, u1.account, u1.name, u1.state, u1.create_time, u1.update_time, u1.create_user, u1.update_user, u1.age, u1.email, u1.phone, u1.department, u1.company, u1.address, u1.is_custom, u1.role_id, u2.name create_user_name, u3.name update_user_name, r.name role_name,u1.signature_url,u1.picture_url,u1.depart_id, - u1.name_en + u1.name_en,u1.depart_lims_id from user u1 left join user u2 on u2.id = u1.create_user left join user u3 on u3.id = u1.update_user @@ -16,6 +16,24 @@ ${ew.customSqlSegment} </if> </select> + + <select id="selectPersonnelOverview" resultType="com.yuanchu.mom.dto.UserPageDto"> + select * from ( + select u1.id, u1.account, u1.name, u1.state, u1.create_time, u1.update_time, u1.create_user, u1.update_user, + u1.age, u1.email, u1.phone, u1.department, u1.company, u1.address, u1.is_custom, u1.role_id, u2.name + create_user_name, u3.name update_user_name, r.name role_name,u1.signature_url,u1.picture_url,u1.depart_id, + u1.name_en + from user u1 + left join user u2 on u2.id = u1.create_user + left join user u3 on u3.id = u1.update_user + left join role r on u1.role_id = r.id + where u1.depart_lims_id is not null + ) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + <select id="getDeviceManager" resultType="com.yuanchu.mom.dto.UserPageDto"> select id, name from user -- Gitblit v1.9.3