zss
2024-06-04 598b7528eed13b0cc1f52f97e36d2c0515e56166
设备的数采配置+用户获取第三方权限+原始工时导出
已修改13个文件
已添加1个文件
208 ■■■■■ 文件已修改
cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceDto1.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOriginalHoursController.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOriginalHoursService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/controller/CompaniesController.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/pojo/User.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/service/UserService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
@@ -6,12 +6,14 @@
import com.yuanchu.mom.annotation.ValueAuth;
import com.yuanchu.mom.annotation.ValueClassify;
import com.yuanchu.mom.dto.DeviceDto;
import com.yuanchu.mom.dto.DeviceDto1;
import com.yuanchu.mom.pojo.Device;
import com.yuanchu.mom.service.DeviceService;
import com.yuanchu.mom.utils.JackSonUtil;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -130,5 +132,23 @@
    public Result selectDeviceByCode(String code) {
        return Result.success(deviceService.selectDeviceByCode(code));
    }
    @ValueClassify("设备")
    @ApiOperation(value = "查询数采配置")
    @PostMapping("/getNumberCollect")
    public Result<?> getNumberCollect(Integer id) {
        DeviceDto1 deviceDto1 = new DeviceDto1();
        BeanUtils.copyProperties(deviceService.getById(id),deviceDto1);
        return Result.success(deviceDto1);
    }
    @ValueClassify("设备")
    @ApiOperation(value = "维护数采配置")
    @PostMapping("/numberCollect")
    public Result<?> numberCollect(@RequestBody DeviceDto1 deviceDto1) {
        Device device = new Device();
        BeanUtils.copyProperties(deviceDto1,device);
        return Result.success(deviceService.updateById(device));
    }
}
cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceDto1.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@
package com.yuanchu.mom.dto;
import com.yuanchu.mom.annotation.ValueTableShow;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class DeviceDto1 {
    private Integer id;
    @ApiModelProperty(value = "IP")
    @ValueTableShow(1)
    @NotNull
    private String ip;
    @ApiModelProperty(value = "采集地址")
    @NotNull
    private String collectUrl;
    @ApiModelProperty(value = "存储地址")
    @NotNull
    private String storageUrl;
    @ApiModelProperty(value = "参照")
    @NotNull
    private String refer;
    @ApiModelProperty(value = "X")
    @NotNull
    private String x;
    @ApiModelProperty(value = "Y")
    @NotNull
    private String y;
    @ApiModelProperty(value = "公式")
    @NotNull
    private String formula;
}
cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java
@@ -118,4 +118,25 @@
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    @ApiModelProperty(value = "IP")
    private String ip;
    @ApiModelProperty(value = "采集地址")
    private String collectUrl;
    @ApiModelProperty(value = "存储地址")
    private String storageUrl;
    @ApiModelProperty(value = "参照")
    private String refer;
    @ApiModelProperty(value = "X")
    private String x;
    @ApiModelProperty(value = "Y")
    private String y;
    @ApiModelProperty(value = "公式")
    private String formula;
}
cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanchu.mom.dto.DeviceDto;
import com.yuanchu.mom.dto.DeviceDto1;
import com.yuanchu.mom.pojo.Device;
import java.util.List;
cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java
@@ -7,6 +7,7 @@
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.dto.DeviceDto;
import com.yuanchu.mom.dto.DeviceDto1;
import com.yuanchu.mom.mapper.DeviceMapper;
import com.yuanchu.mom.mapper.StructureItemParameterMapper;
import com.yuanchu.mom.pojo.Device;
performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOriginalHoursController.java
@@ -11,12 +11,11 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Map;
@Api(tags = "工时统计-原始工时")
@@ -36,4 +35,11 @@
        AuxiliaryOriginalHoursLookDto entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryOriginalHoursLookDto.class);
        return Result.success(auxiliaryOriginalHoursService.selectAuxiliaryOriginalHours(page, entity));
    }
    @ValueClassify("工时管理")
    @ApiOperation(value = "导出原始工时")
    @GetMapping("/exportOriginalHours")
    public void exportOriginalHours(@RequestBody AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto,HttpServletResponse response) throws IOException {
        auxiliaryOriginalHoursService.exportWorkingHours(auxiliaryOriginalHoursLookDto,response);
    }
}
performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java
@@ -55,7 +55,7 @@
    @ValueClassify("工时管理")
    @ApiOperation(value = "导出")
    @ApiOperation(value = "导出产量工时+辅助工时")
    @GetMapping("/exportWorkingHours")
    public void exportWorkingHours(HttpServletResponse response) throws IOException {
        auxiliaryOutputWorkingHoursService.exportWorkingHours(response);
performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOriginalHoursService.java
@@ -4,9 +4,18 @@
import com.yuanchu.mom.dto.AuxiliaryOriginalHoursDto;
import com.yuanchu.mom.dto.AuxiliaryOriginalHoursLookDto;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Map;
public interface AuxiliaryOriginalHoursService {
    Map<String, Object> selectAuxiliaryOriginalHours(Page page, AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto);
    /**
     * å¯¼å‡ºåŽŸå§‹å·¥æ—¶
     *
     * @param response
     */
    void exportWorkingHours(AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto, HttpServletResponse response) throws IOException;
}
performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java
@@ -1,14 +1,17 @@
package com.yuanchu.mom.service.impl;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.alibaba.fastjson.JSONObject;
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.AuxiliaryCorrectionHoursDto;
import com.yuanchu.mom.dto.AuxiliaryOriginalHoursDto;
import com.yuanchu.mom.dto.AuxiliaryOriginalHoursLookDto;
import com.yuanchu.mom.dto.*;
import com.yuanchu.mom.mapper.*;
import com.yuanchu.mom.pojo.AuxiliaryCorrectionHours;
import com.yuanchu.mom.pojo.Power;
@@ -18,6 +21,9 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -124,11 +130,11 @@
            }
        }
        //如果产量工时为空
        else if (ObjectUtils.isEmpty(maps)) {
        else if (ObjectUtils.isNotEmpty(maps1)) {
            for (Map<String, Object> objectMap : maps1) {
                auxiliaryOriginalHoursDtos.add(getData(objectMap, "总工时"));
            }
        } else if (ObjectUtils.isEmpty(maps1)) {
        } else if (ObjectUtils.isNotEmpty(maps)) {
            for (Map<String, Object> objectMap : maps) {
                auxiliaryOriginalHoursDtos.add(getData(objectMap, "总工时"));
            }
@@ -138,6 +144,33 @@
        return map;
    }
    //导出原始工时
    @Override
    public void exportWorkingHours(AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto, HttpServletResponse response) throws IOException {
        List<AuxiliaryOriginalHoursDto> auxiliaryOriginalHoursDtos = new ArrayList<AuxiliaryOriginalHoursDto>();
        //查询原始工时(使用分页查询)
        IPage<AuxiliaryOriginalHoursDto> body = (IPage<AuxiliaryOriginalHoursDto>) selectAuxiliaryOriginalHours(new Page(-1, -1), auxiliaryOriginalHoursLookDto).get("body");
        auxiliaryOriginalHoursDtos=body.getRecords();
        response.setContentType("application/vnd.ms-excel");
        response.setCharacterEncoding("UTF-8");
        // è¿™é‡ŒURLEncoder.encode可以防止中文乱码 å½“ç„¶å’Œeasyexcel没有关系
        String fileName = URLEncoder.encode("工时统计导出", "UTF-8");
        response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
        try {
            // æ–°å»ºExcelWriter
            ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
            WriteSheet mainSheet = EasyExcel.writerSheet(0, "原始工时导出").head(AuxiliaryOriginalHoursDto.class).build();
            excelWriter.write(auxiliaryOriginalHoursDtos, mainSheet);
            // å…³é—­æµ
            excelWriter.finish();
        } catch (IOException e) {
            throw new RuntimeException("导出失败");
        }
    }
    private AuxiliaryOriginalHoursDto getData(Map<String, Object> objectMap, String type) {
        AuxiliaryOriginalHoursDto auxiliaryOriginalHoursDto = new AuxiliaryOriginalHoursDto();
        auxiliaryOriginalHoursDto.setName(objectMap.get("name").toString());//姓名
performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
@@ -167,8 +167,8 @@
    //导出
    @Override
    public void exportWorkingHours(HttpServletResponse response) throws IOException {
        List<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtos = null;
        List<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtos = null;
        List<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtos = new ArrayList<>();
        List<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtos = new ArrayList<>();
        List<Integer> ids = null;
        //判断是组长还是组员还是管理员
        Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryOutputWorkingHours");
@@ -199,7 +199,7 @@
        response.setContentType("application/vnd.ms-excel");
        response.setCharacterEncoding("UTF-8");
        // è¿™é‡ŒURLEncoder.encode可以防止中文乱码 å½“ç„¶å’Œeasyexcel没有关系
        String fileName = URLEncoder.encode("工时管理导出", "UTF-8");
        String fileName = URLEncoder.encode("日工时管理导出", "UTF-8");
        response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
        try {
            // æ–°å»ºExcelWriter
user-server/src/main/java/com/yuanchu/mom/controller/CompaniesController.java
@@ -1,10 +1,18 @@
package com.yuanchu.mom.controller;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yuanchu.mom.annotation.ValueAuth;
import com.yuanchu.mom.annotation.ValueClassify;
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.dto.PersonDto;
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.mapper.PowerMapper;
import com.yuanchu.mom.mapper.UserMapper;
import com.yuanchu.mom.pojo.Company;
import com.yuanchu.mom.pojo.Person;
import com.yuanchu.mom.pojo.Power;
import com.yuanchu.mom.pojo.User;
import com.yuanchu.mom.service.UserService;
import com.yuanchu.mom.util.HeaderToken;
import com.yuanchu.mom.vo.Result;
@@ -13,7 +21,9 @@
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@RestController
@AllArgsConstructor
@@ -25,11 +35,40 @@
    private UserService userService;
    UserMapper userMapper;
    PowerMapper powerMapper;
    private GetLook getLook;
    @ValueClassify("用户管理")
    @PostMapping("/getSampleUser")
    @ApiOperation(value = "直接获取与自己相同单位的人员列表")
    public Result<?> getSampleUser(){
        return Result.success();
    }
    @ValueClassify("用户管理")
    @ApiOperation(value = "获取人事系统组织架构")
    @GetMapping(value = "/selectCompaniesList")
    public Result<List<Company>> selectCompaniesList() {
        return Result.success(headerToken.companyUrl());
        //判断是否有直接获取第三方部门的权限
        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
        User user = userMapper.selectById(userId);
        Integer roleId = user.getRoleId();
        Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "getSampleUser"));
        if (ObjectUtils.isNotEmpty(power)){
            List<Company> companies = new ArrayList<>();
            Company company = new Company();
            if (ObjectUtils.isEmpty(user.getCompanyId())){
                throw new ErrorException("该用户没有所属单位!");
            }
            company.setCompanyId(user.getCompanyId());
            companies.add(company);
            return Result.success(companies);
        }else {
            return Result.success(headerToken.companyUrl());
        }
    }
    @ValueAuth
user-server/src/main/java/com/yuanchu/mom/pojo/User.java
@@ -105,4 +105,7 @@
    @ApiModelProperty(value = "LIMS关联的部门id")
    private String departLimsId;
    @ApiModelProperty(value = "人事系统关联的id")
    private String companyId;
}
user-server/src/main/java/com/yuanchu/mom/service/UserService.java
@@ -8,7 +8,7 @@
import java.util.List;
import java.util.Map;
public interface UserService {
public interface UserService  {
    /*判断是否登录成功*/
    User selectUserByPwd(String account, String password);
user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java
@@ -159,6 +159,7 @@
                user.setCompany(BeanUtil.isNotEmpty(custom)?(custom.getId()+""):companyName);
                user.setAddress("未填写");
                user.setRoleId(personDto.getRoleId()>10000?0:personDto.getRoleId());
                user.setCompanyId(person.getCompanyId());
                userMapper.insert(user);
            } else {
                user.setName(person.getName());
@@ -170,6 +171,7 @@
                user.setCreateTime(null);
                user.setUpdateUser(null);
                user.setUpdateTime(null);
                user.setCompanyId(person.getCompanyId());
                userMapper.updateById(user);
            }
        });