From 9a869e800b235636097abebadb1bd1cae4206cbc Mon Sep 17 00:00:00 2001 From: value <z1292839451@163.com> Date: 星期二, 04 六月 2024 21:21:57 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- performance-server/src/main/java/com/yuanchu/mom/utils/StyleYearUtils.java | 20 +-- performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOriginalHoursController.java | 14 + performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java | 6 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceDto1.java | 43 +++++++ user-server/src/main/java/com/yuanchu/mom/pojo/User.java | 3 user-server/src/main/java/com/yuanchu/mom/controller/CompaniesController.java | 41 ++++++ cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java | 1 performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java | 43 ++++++ performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOriginalHoursService.java | 9 + performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java | 2 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java | 20 +++ user-server/src/main/java/com/yuanchu/mom/service/UserService.java | 2 cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java | 1 performance-server/src/main/java/com/yuanchu/mom/service/impl/PerformanceShiftServiceImpl.java | 101 +++++++++------- performance-server/src/main/java/com/yuanchu/mom/utils/StyleMonthUtils.java | 4 user-server/src/main/java/com/yuanchu/mom/service/impl/UserServiceImp.java | 2 cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java | 21 +++ 17 files changed, 260 insertions(+), 73 deletions(-) diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java index 17cd875..c70c19f 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java +++ b/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)); + } } diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceDto1.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceDto1.java new file mode 100644 index 0000000..fae668c --- /dev/null +++ b/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; +} diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java index 6a2e465..f339927 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java +++ b/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; } diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java index 1d2e3d3..9268eda 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java +++ b/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; diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java index 8f9872a..786bd65 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java +++ b/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; diff --git a/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOriginalHoursController.java b/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOriginalHoursController.java index 191e4c5..8658998 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOriginalHoursController.java +++ b/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); + } } diff --git a/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java b/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java index eb82628..c558ea3 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java +++ b/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); diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOriginalHoursService.java b/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOriginalHoursService.java index 8053d93..9a6a477 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOriginalHoursService.java +++ b/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; } diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java index e042b0c..2026c9c 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java +++ b/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鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴 + 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());//濮撳悕 diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java index 58f25dd..bc1fba2 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java +++ b/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鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴 - String fileName = URLEncoder.encode("宸ユ椂绠$悊瀵煎嚭", "UTF-8"); + String fileName = URLEncoder.encode("鏃ュ伐鏃剁鐞嗗鍑�", "UTF-8"); response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); try { // 鏂板缓ExcelWriter 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 d4f0b04..db37821 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 @@ -3,7 +3,6 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -18,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; import java.math.BigDecimal; import java.text.SimpleDateFormat; @@ -42,11 +42,10 @@ @Autowired private EnumService enumService; - public List<PerformanceShift> list = new ArrayList<>(); - @Transactional(rollbackFor = Exception.class) @Override public void performanceShiftAdd(PerformanceShiftAddDto performanceShiftAddDto) { + List<PerformanceShift> list = new ArrayList<>(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); String formattedDateTime = performanceShiftAddDto.getStartWeek().format(formatter); String[] splitUserId = performanceShiftAddDto.getUserId().split(","); @@ -60,22 +59,21 @@ LocalDate lastDayOfMonth = performanceShiftAddDto.getEndWeek().toLocalDate().with(TemporalAdjusters.lastDayOfMonth()); List<LocalDateTime> localDateTimesBetween = getLocalDateTimesBetween(firstDayOfMonth.atStartOfDay(), lastDayOfMonth.atStartOfDay()); localDateTimesBetween.forEach(i -> { - for (String s : splitUserId) { - PerformanceShift performanceShift = new PerformanceShift(); - performanceShift.setUserId(Integer.valueOf(s)); - performanceShift.setWorkTime(i); - performanceShift.setShift(""); - list.add(performanceShift); - } + PerformanceShift performanceShift = new PerformanceShift(); + performanceShift.setUserId(Integer.valueOf(userId)); + performanceShift.setWorkTime(i); + performanceShift.setShift(""); + list.add(performanceShift); if (list.size() >= 1000) { baseMapper.insertBatchSomeColumn(list); list.clear(); } }); - if (!list.isEmpty()) { - baseMapper.insertBatchSomeColumn(list); - } } + } + if (!list.isEmpty()) { + baseMapper.insertBatchSomeColumn(list); + list.clear(); } // 鍐嶆鏇存柊 List<LocalDateTime> datesBetween = getLocalDateTimesBetween(performanceShiftAddDto.getStartWeek(), performanceShiftAddDto.getEndWeek()); @@ -203,7 +201,7 @@ } // 骞村垎椤典笌瀵煎嚭鍏卞悓浣跨敤 - public List<Map<String, Object>> annualAttendanceProcessing(List<Map<String, Object>> mapYearList, List<Enums> shiftType){ + public List<Map<String, Object>> annualAttendanceProcessing(List<Map<String, Object>> mapYearList, List<Enums> shiftType) { for (Map<String, Object> map : mapYearList) { Map<String, Object> resultMap = new LinkedHashMap<>(); Map<String, Object> hashMapYear = new LinkedHashMap<>(); @@ -212,22 +210,24 @@ for (int i = 1; i < 13; i++) { Map<String, Object> hashMapMonth = new LinkedHashMap<>(); double totalMonthAttendance = 0; - for (Enums enums : shiftType) { - if (!hashMapYear.containsKey(enums.getLabel())) { - hashMapYear.put(enums.getLabel(), 0); + for (Enums shift : shiftType) { + // 鍒濆鍖栬祴鍊� + if (!hashMapYear.containsKey(shift.getLabel())) { + hashMapYear.put(shift.getLabel(), 0); } // 鏈� - if (ObjectUtils.isNotEmpty(map.get("month_str")) && map.get("work_time").equals(i)) { + if (!ObjectUtils.isEmpty(map.get("month_str"))) { String charArray = map.get("month_str").toString(); - 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") || enums.getValue().equals("6")) { + int count = countOccurrences(charArray, i + "锛�" + shift.getValue()); + hashMapMonth.put(shift.getLabel(), count); + hashMapYear.put(shift.getLabel(), new BigDecimal(hashMapYear.get(shift.getLabel()).toString()).add(new BigDecimal(count))); + // 鏃╋紝涓紝澶滐紝宸� + if (shift.getValue().equals("0") || shift.getValue().equals("1") || shift.getValue().equals("2") || shift.getValue().equals("6")) { totalMonthAttendance += count; totalYearAttendance += count; } - // 鍗婏紝鍙﹀鍗婂ぉ绠楃粰鏃� - if (enums.getValue().equals("5")) { +// 鍗婏紝鍙﹀鍗婂ぉ绠楃粰鏃� + if (shift.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)); @@ -238,7 +238,7 @@ // 绌烘暟鎹� else { map.put("work_time", i); - hashMapMonth.put(enums.getLabel(), 0); + hashMapMonth.put(shift.getLabel(), 0); } } hashMapMonth.put("totalMonthAttendance", totalMonthAttendance); @@ -256,7 +256,7 @@ public static int countOccurrences(String str, String target) { int count = 0; int index = 0; - while ((index = str.indexOf(target, index))!= -1) { + while ((index = str.indexOf(target, index)) != -1) { count++; index += target.length(); } @@ -313,7 +313,7 @@ List<PerformanceShiftMapDto> mapIPage = baseMapper.performanceShiftList(time, userName, laboratory); mapIPage.forEach(i -> { String[] shiftTimes = i.getShiftTime().split(";"); - int totalAttendance = 0; + double totalAttendance = 0; List<Map<String, Object>> map = new ArrayList<>(); // 鍒嗗壊鏃ユ湡 for (String shiftTime : shiftTimes) { @@ -324,12 +324,22 @@ 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]); @@ -400,12 +410,13 @@ /** * 杩斿洖琛ㄥご - * + * <p> * 澶栧眰List浠h〃琛屽唴灞� List浠h〃鍒� 鐩稿悓鐨勫垪鏁版嵁浼氳涓诲姩鍚堝苟 * 鏋勯�犲弻鍒楄〃澶� - * @return List<List<String>> + * + * @return List<List < String>> */ - private static List<List<String>> getYearHeader(String year, List<Enums> enums){ + private static List<List<String>> getYearHeader(String year, List<Enums> enums) { List<List<String>> line = new ArrayList<>(); line.add(Arrays.asList("鑰冨嫟姹囨��", "搴忓彿", "搴忓彿")); line.add(Arrays.asList("鑰冨嫟姹囨��", "宸ュ彿", "宸ュ彿")); @@ -413,19 +424,23 @@ line.add(Arrays.asList("鍑哄嫟璇︽儏", year, "鍑哄嫟")); // 骞� header for (Enums anEnum : enums) { - line.add(Arrays.asList("鑰冨嫟姹囨��", year, anEnum.getLabel())); + if (!anEnum.getValue().equals("5")) { + line.add(Arrays.asList("鑰冨嫟姹囨��", year, anEnum.getLabel())); + } } // 鏈坔eader for (int i = 1; i < 13; i++) { line.add(Arrays.asList("鍑哄嫟璇︽儏", i + " 鏈�", "鍑哄嫟")); for (Enums anEnum : enums) { - line.add(Arrays.asList("鍑哄嫟璇︽儏", i + " 鏈�", anEnum.getLabel())); + if (!anEnum.getValue().equals("5")) { + line.add(Arrays.asList("鍑哄嫟璇︽儏", i + " 鏈�", anEnum.getLabel())); + } } } return line; } - private static List<List<String>> getMonthHeader(LocalDateTime localDateTimeYear, List<Enums> enums){ + private static List<List<String>> getMonthHeader(LocalDateTime localDateTimeYear, List<Enums> enums) { String year = localDateTimeYear.getYear() + " 骞翠汉鍛樼彮娆�"; List<List<String>> line = new ArrayList<>(); line.add(Arrays.asList(year, "搴忓彿", "搴忓彿", "搴忓彿")); @@ -458,12 +473,12 @@ excelRowList.add(list.get(i).getName()); excelRowList.add(list.get(i).getDepartment()); excelRowList.add(list.get(i).getMonthlyAttendance().get("totalAttendance")); - excelRowList.add(list.get(i).getMonthlyAttendance().get(enums.get(3).getLabel())); - excelRowList.add(list.get(i).getMonthlyAttendance().get(enums.get(4).getLabel())); - excelRowList.add(list.get(i).getMonthlyAttendance().get(enums.get(0).getLabel())); - excelRowList.add(list.get(i).getMonthlyAttendance().get(enums.get(1).getLabel())); - excelRowList.add(list.get(i).getMonthlyAttendance().get(enums.get(2).getLabel())); - excelRowList.add(0); // 鍑哄樊 + excelRowList.add(list.get(i).getMonthlyAttendance().get(enums.get(3).getLabel())); // 浼� + excelRowList.add(list.get(i).getMonthlyAttendance().get(enums.get(4).getLabel())); // 鍋� + excelRowList.add(list.get(i).getMonthlyAttendance().get(enums.get(0).getLabel())); // 鏃� + excelRowList.add(list.get(i).getMonthlyAttendance().get(enums.get(1).getLabel())); // 涓� + excelRowList.add(list.get(i).getMonthlyAttendance().get(enums.get(2).getLabel())); // 澶� + excelRowList.add(list.get(i).getMonthlyAttendance().get(enums.get(6).getLabel())); // 宸� for (Map<String, Object> o : list.get(i).getList()) { String enumLabel = ""; for (Enums anEnum : enums) { @@ -471,7 +486,7 @@ enumLabel = anEnum.getLabel(); } } - excelRowList.add(ObjectUtils.isEmpty(enumLabel) ? "鏃�" : enumLabel); + excelRowList.add(ObjectUtils.isEmpty(enumLabel) ? "-" : enumLabel); } data.add(excelRowList); } diff --git a/performance-server/src/main/java/com/yuanchu/mom/utils/StyleMonthUtils.java b/performance-server/src/main/java/com/yuanchu/mom/utils/StyleMonthUtils.java index 7c443be..25af470 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/utils/StyleMonthUtils.java +++ b/performance-server/src/main/java/com/yuanchu/mom/utils/StyleMonthUtils.java @@ -13,8 +13,8 @@ // 澶寸殑绛栫暐 WriteCellStyle headWriteCellStyle = new WriteCellStyle(); // 鑳屾櫙棰滆壊 - headWriteCellStyle.setFillForegroundColor(IndexedColors.WHITE.getIndex()); - headWriteCellStyle.setFillPatternType(FillPatternType.SOLID_FOREGROUND); +// headWriteCellStyle.setFillForegroundColor(IndexedColors.WHITE.getIndex()); +// headWriteCellStyle.setFillPatternType(FillPatternType.SOLID_FOREGROUND); // 瀛椾綋 WriteFont headWriteFont = new WriteFont(); diff --git a/performance-server/src/main/java/com/yuanchu/mom/utils/StyleYearUtils.java b/performance-server/src/main/java/com/yuanchu/mom/utils/StyleYearUtils.java index 0c6646e..8c53d08 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/utils/StyleYearUtils.java +++ b/performance-server/src/main/java/com/yuanchu/mom/utils/StyleYearUtils.java @@ -2,15 +2,9 @@ import com.alibaba.excel.write.metadata.style.WriteCellStyle; import com.alibaba.excel.write.metadata.style.WriteFont; -import com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours; import org.apache.poi.ss.usermodel.*; import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import java.util.stream.Stream; public class StyleYearUtils { /** @@ -22,7 +16,7 @@ // 澶寸殑绛栫暐 WriteCellStyle headWriteCellStyle = new WriteCellStyle(); // 鑳屾櫙棰滆壊 - headWriteCellStyle.setFillForegroundColor(IndexedColors.GREEN.getIndex()); +// headWriteCellStyle.setFillForegroundColor(IndexedColors.GREEN.getIndex()); headWriteCellStyle.setFillPatternType(FillPatternType.SOLID_FOREGROUND); // 瀛椾綋 @@ -63,7 +57,7 @@ WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); // 杩欓噷闇�瑕佹寚瀹� FillPatternType 涓篎illPatternType.SOLID_FOREGROUND 涓嶇劧鏃犳硶鏄剧ず鑳屾櫙棰滆壊.澶撮粯璁や簡 FillPatternType鎵�浠ュ彲浠ヤ笉鎸囧畾 - contentWriteCellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); +// contentWriteCellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); contentWriteCellStyle.setFillPatternType(FillPatternType.SOLID_FOREGROUND); // 璁剧疆瀛椾綋 @@ -73,14 +67,14 @@ contentWriteCellStyle.setWriteFont(contentWriteFont);//鍦ㄦ牱寮忕敤搴旂敤璁剧疆鐨勫瓧浣�; //璁剧疆鏍峰紡; -// contentWriteCellStyle.setBorderBottom(BorderStyle.THIN);//璁剧疆搴曡竟妗�; -// contentWriteCellStyle.setBottomBorderColor((short) 1);//璁剧疆搴曡竟妗嗛鑹�; + contentWriteCellStyle.setBorderBottom(BorderStyle.THIN);//璁剧疆搴曡竟妗�; + contentWriteCellStyle.setBottomBorderColor((short) 0);//璁剧疆搴曡竟妗嗛鑹�; contentWriteCellStyle.setBorderLeft(BorderStyle.THIN); //璁剧疆宸﹁竟妗�; - contentWriteCellStyle.setLeftBorderColor((short) 1);//璁剧疆宸﹁竟妗嗛鑹�; + contentWriteCellStyle.setLeftBorderColor((short) 0);//璁剧疆宸﹁竟妗嗛鑹�; contentWriteCellStyle.setBorderRight(BorderStyle.THIN);//璁剧疆鍙宠竟妗�; - contentWriteCellStyle.setRightBorderColor((short) 1);//璁剧疆鍙宠竟妗嗛鑹�; + contentWriteCellStyle.setRightBorderColor((short) 0);//璁剧疆鍙宠竟妗嗛鑹�; contentWriteCellStyle.setBorderTop(BorderStyle.THIN);//璁剧疆椤惰竟妗�; - contentWriteCellStyle.setTopBorderColor((short) 1); ///璁剧疆椤惰竟妗嗛鑹�; + contentWriteCellStyle.setTopBorderColor((short) 0); ///璁剧疆椤惰竟妗嗛鑹�; contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);// 姘村钩灞呬腑 contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 鍨傜洿灞呬腑 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 b1e4805..ca5d2d6 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,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 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 bc8bf1a..cecb68f 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 @@ -105,4 +105,7 @@ @ApiModelProperty(value = "LIMS鍏宠仈鐨勯儴闂╥d") private String departLimsId; + @ApiModelProperty(value = "浜轰簨绯荤粺鍏宠仈鐨刬d") + private String companyId; + } 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 1784a33..067fa11 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 @@ -8,7 +8,7 @@ import java.util.List; import java.util.Map; -public interface UserService { +public interface UserService { /*鍒ゆ柇鏄惁鐧诲綍鎴愬姛*/ User selectUserByPwd(String account, String password); 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 805f6c4..625909b 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 @@ -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); } }); -- Gitblit v1.9.3