From a26151eff700b514ca92b0ac9207200b866071fc Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期四, 30 五月 2024 15:24:48 +0800 Subject: [PATCH] 工时统计+权限+异步处理method+检验样品结果判断 --- performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOriginalHoursMapper.java | 15 performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOutputWorkingHoursService.java | 18 cnas-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodServiceImpl.java | 84 ++ performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryOriginalHoursDto.java | 182 ++++++ performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java | 185 ++++++ performance-server/src/main/resources/mapper/AuxiliaryOriginalHoursMapper.xml | 4 performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryWorkingHoursDayDto.java | 16 performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryCorrectionHoursController.java | 65 ++ performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryCorrectionHoursMapper.java | 25 performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java | 80 ++ performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOriginalHoursService.java | 12 performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java | 27 performance-server/src/main/java/com/yuanchu/mom/excel/AuxiliaryCorrectionHoursListener.java | 41 + performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryCorrectionHours.java | 221 +++++++ performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOutputWorkingHoursMapper.java | 19 framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java | 4 performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryWorkingHoursDayController.java | 17 performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryWorkingHoursDayMapper.java | 11 inspect-server/src/main/java/com/yuanchu/mom/pojo/StandardProductList.java | 1 performance-server/src/main/java/com/yuanchu/mom/utils/StyleYearUtils.java | 21 performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOriginalHoursController.java | 39 + cnas-server/src/main/java/com/yuanchu/mom/pojo/StandardMethod.java | 2 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 21 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java | 41 + performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryOriginalHoursLookDto.java | 22 performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml | 114 +++ performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java | 91 +++ performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryCorrectionHoursService.java | 28 performance-server/src/main/resources/mapper/AuxiliaryCorrectionHoursMapper.xml | 64 ++ performance-server/src/main/resources/mapper/AuxiliaryWorkingHoursDayMapper.xml | 36 + performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java | 29 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java | 8 performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryOutputWorkingHoursDto.java | 16 performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryCorrectionHoursDto.java | 16 performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryWorkingHoursDay.java | 36 performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryWorkingHoursDayService.java | 3 performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryCorrectionHoursServiceImpl.java | 103 +++ 37 files changed, 1,610 insertions(+), 107 deletions(-) diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/StandardMethod.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/StandardMethod.java index 027375e..56c8118 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/pojo/StandardMethod.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/StandardMethod.java @@ -77,10 +77,12 @@ @ValueTableShow(7) @ApiModelProperty(value = "鍒涘缓浜�") + @TableField(exist = false,select = false) private String createUserName; @ValueTableShow(9) @ApiModelProperty(value = "鏇存柊浜�") + @TableField(exist = false,select = false) private String updateUserName; @ValueTableShow(8) 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 2e227d8..91fb6c0 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 @@ -9,8 +9,14 @@ import com.yuanchu.mom.common.GetLook; import com.yuanchu.mom.common.PrintChina; import com.yuanchu.mom.mapper.StandardMethodMapper; +import com.yuanchu.mom.mapper.StandardProductListMapper; +import com.yuanchu.mom.mapper.StructureItemParameterMapper; import com.yuanchu.mom.pojo.StandardMethod; +import com.yuanchu.mom.pojo.StandardProductList; +import com.yuanchu.mom.pojo.StructureItemParameter; import com.yuanchu.mom.service.StandardMethodService; +import com.yuanchu.mom.service.StandardProductListService; +import com.yuanchu.mom.service.StructureItemParameterService; import com.yuanchu.mom.utils.QueryWrappers; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; @@ -19,34 +25,41 @@ import java.io.IOException; import java.util.*; +import java.util.concurrent.CompletableFuture; /** -* @author Administrator -* @description 閽堝琛ㄣ�恠tandard_method(鏍囧噯鏂规硶)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 -* @createDate 2024-03-03 19:21:41 -*/ + * @author Administrator + * @description 閽堝琛ㄣ�恠tandard_method(鏍囧噯鏂规硶)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 + * @createDate 2024-03-03 19:21:41 + */ @Service @AllArgsConstructor public class StandardMethodServiceImpl extends ServiceImpl<StandardMethodMapper, StandardMethod> - implements StandardMethodService{ + implements StandardMethodService { private GetLook getLook; private StandardMethodMapper standardMethodMapper; + + StandardProductListMapper standardProductListMapper; + StandardProductListService standardProductListService; + + StructureItemParameterMapper structureItemParameterMapper; + StructureItemParameterService structureItemParameterService; @Override public Map<String, Object> selectStandardMethodList(Page page, StandardMethod standardMethod) { Map<String, Object> map = new HashMap<>(); map.put("head", PrintChina.printChina(StandardMethod.class)); Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectStandardMethodList"); - if(map1.get("look")==1) standardMethod.setCreateUser(map1.get("userId")); + if (map1.get("look") == 1) standardMethod.setCreateUser(map1.get("userId")); map.put("body", standardMethodMapper.selectStandardMethodList(page, QueryWrappers.queryWrappers(standardMethod))); return map; } @Override public List<StandardMethod> selectStandardMethods() { - return standardMethodMapper.selectList(Wrappers.<StandardMethod>lambdaQuery().select(StandardMethod::getId,StandardMethod::getCode,StandardMethod::getName).ne(StandardMethod::getId, 0)); + return standardMethodMapper.selectList(Wrappers.<StandardMethod>lambdaQuery().select(StandardMethod::getId, StandardMethod::getCode, StandardMethod::getName).ne(StandardMethod::getId, 0)); } @Override @@ -63,8 +76,63 @@ @Override public int upStandardMethod(StandardMethod standardMethod) { + StandardMethod oldStandardMethod = standardMethodMapper.selectById(standardMethod.getId()); + if (!oldStandardMethod.getCode().equals(standardMethod.getCode())) { + CompletableFuture.supplyAsync(() -> replaceMethod(oldStandardMethod.getCode(), standardMethod.getCode())); + } int i = standardMethodMapper.updateById(standardMethod); return i; + } + + //缂栬緫method鍚庡叏閮ㄦ浛鎹� + public String replaceMethod(String oldCode, String code) { + //鏌ヨStandardProductList涓墍鏈塎ethod濡傛灉鍖呭惈涔嬪墠鐨勫垯鏇挎崲 + List<StandardProductList> standardProductLists = standardProductListMapper.selectList(null); + for (StandardProductList standardProductList : standardProductLists) { + if (standardProductList.getMethod().contains(oldCode)) { + String[] split = standardProductList.getMethod().split(","); + String a = null; + for (int i = 0; i < split.length; i++) { + String methodName = split[i].substring(1, split[i].length() - 1); + if (i == 0) { + methodName = split[i].substring(2, split[i].length() - 1); + } else if (i == split.length - 1) { + methodName = split[i].substring(1, split[i].length() - 2); + } + if (methodName.equals(oldCode)) { + methodName = code; + } + a += "\"" + methodName + "\","; + } + String method = "[\"" + a.substring(0, a.length() - 1) + "\"]"; + standardProductList.setMethod(method); + } + } + standardProductListService.updateBatchById(standardProductLists); + //鏌ヨStructureItemParameter涓墍鏈塎ethod濡傛灉鍖呭惈涔嬪墠鐨勫垯鏇挎崲 + List<StructureItemParameter> structureItemParameters = structureItemParameterMapper.selectList(null); + for (StructureItemParameter structureItemParameter : structureItemParameters) { + if (structureItemParameter.getMethod().contains(oldCode)) { + String[] split = structureItemParameter.getMethod().split(","); + String a = null; + for (int i = 0; i < split.length; i++) { + String methodName = split[i].substring(1, split[i].length() - 1); + if (i == 0) { + methodName = split[i].substring(2, split[i].length() - 1); + } else if (i == split.length - 1) { + methodName = split[i].substring(1, split[i].length() - 2); + } + if (methodName.equals(oldCode)) { + methodName = code; + } + a += "\"" + methodName + "\","; + } + String method = "[\"" + a.substring(0, a.length() - 1) + "\"]"; + structureItemParameter.setMethod(method); + } + } + structureItemParameterService.updateBatchById(structureItemParameters); + return "鏇挎崲瀹屾瘯!"; } @Transactional(rollbackFor = Exception.class) @@ -94,7 +162,7 @@ standardMethod.setField(list.get(1).toString()); // 閫犳牸寮� List<List<Object>> structureTestObjectId = new ArrayList<>(); - if (ObjectUtils.isEmpty(list.get(3))){ + if (ObjectUtils.isEmpty(list.get(3))) { structureTestObjectId.add(Arrays.asList(list.get(2))); } else { structureTestObjectId.add(Arrays.asList(list.get(2), list.get(3))); 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 1fa10c5..19d990e 100644 --- a/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java +++ b/framework/src/main/java/com/yuanchu/mom/config/OpenFifer.java @@ -59,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/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java index 4b5d354..6623aef 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 @@ -49,6 +49,14 @@ SampleOrderDto sampleOrderDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), SampleOrderDto.class); return Result.success(insOrderService.selectInsOrderParameter(page, sampleOrderDto)); } + + @ValueClassify("妫�楠屼笅鍗�") + @ApiOperation(value = "鏄惁鍏ㄩ儴鏌ヨ") + @PostMapping("/selectAllInsOrder") + public Result selectAllInsOrder(){ + return Result.success(); + } + @ValueClassify("妫�楠屼笅鍗�") @ApiOperation(value = "妫�楠屽垎閰�") @PostMapping("/upInsOrder") 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 09d5f51..d39542d 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 @@ -181,5 +181,6 @@ private String tree; + @TableField(exist = false,select = false) private Integer structureItemParameterId; } \ No newline at end of file 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 41b9908..db2f487 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 @@ -10,6 +10,7 @@ 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.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -266,7 +267,7 @@ InsOrder insOrder = insOrderMapper.selectById(insSampleMapper.selectById(insProduct.getInsSampleId()).getInsOrderId()); //鏍¢獙濡傛灉杩欎釜浜鸿繖涓娴嬮」鐩凡缁忔坊鍔犺繃浜嗗垯涓嶉渶瑕佸啀鏂板 Long count = auxiliaryOutputWorkingHoursMapper.selectCount(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery() - .eq(AuxiliaryOutputWorkingHours::getCheck, userMapper.selectById(userId).getName()) + .eq(AuxiliaryOutputWorkingHours::getCheck, userId) .eq(AuxiliaryOutputWorkingHours::getInspectProject, insProduct.getInspectionItemSubclass() + insProduct.getInspectionItem()) .eq(AuxiliaryOutputWorkingHours::getOrderNo, insOrder.getEntrustCode())); if (count == 0) { @@ -278,14 +279,14 @@ auxiliaryOutputWorkingHours.setAmount(1);//闈炲姞鐝暟閲� auxiliaryOutputWorkingHours.setOutputWorkTime(insProduct.getManHour());//浜ч噺宸ユ椂 auxiliaryOutputWorkingHours.setManHourGroup(insProduct.getManHourGroup());//宸ユ椂鍒嗙粍 - auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now());//鏃ユ湡 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().format(formatter));//鏃ユ湡 LocalDateTime localDateTime = LocalDateTime.now(); DateTime parse = DateUtil.parse(localDateTime.format(formatter)); auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡 - auxiliaryOutputWorkingHours.setWeek(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1)));//鍛ㄦ - auxiliaryOutputWorkingHours.setCheck(userMapper.selectById(userId).getName());//妫�娴嬩汉 + auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ + auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉 auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours); } @@ -344,6 +345,18 @@ List<InsOrderState> insOrderStates = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery().eq(InsOrderState::getInsOrderId, orderId)); long count = insOrderStates.stream().filter(a -> a.getInsState() == 5).count(); if (count == insOrderStates.size() && num == 5) { + /*鏍峰搧涓嬬殑椤圭洰鍙鏈変竴涓」鐩笉鍚堟牸鍒欐楠岀粨鏋滀负0,鍚﹀垯涓�1*/ + List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)); + for (InsSample insSample : insSamples) { + List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsSampleId, insSample.getId()).eq(InsProduct::getState, 1)); + List<Integer> results = insProducts.stream().map(InsProduct::getInsResult).filter(str -> str != null).collect(Collectors.toList()); + if (results.contains(0)) { + insSample.setInsResult(0); + } else { + insSample.setInsResult(1); + } + insSampleMapper.updateById(insSample); + } InsOrder insOrder = insOrderMapper.selectById(orderId); Map<String, String> user = insProductMapper.selectUserById(insOrder.getUserId()); List<SampleProductDto> samples = insSampleMapper.selectSampleProductListByOrderId(orderId); 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 ee5067f..743cdb3 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 @@ -3,6 +3,7 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; 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; @@ -53,17 +54,32 @@ private InsSampleUserMapper insSampleUserMapper; private InsOrderStateMapper insOrderStateMapper; - - - + + UserMapper userMapper; + + PowerMapper powerMapper; + //鑾峰彇妫�楠屼笅鍗曟暟鎹� @Override public Map<String, Object> selectInsOrderParameter(IPage<InsOrder> page, SampleOrderDto sampleOrderDto) { + //鍒ゆ柇鍏ㄩ儴,涓汉,缁勭粐鐨勬潈闄� + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectInsOrderParameter"); + User user = userMapper.selectById(map1.get("userId")); + Integer roleId = user.getRoleId(); + //鍒ゆ柇鏄惁鏄叏閮ㄦ潈闄� + Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "selectAllInsOrder")); + if (ObjectUtils.isEmpty(power)) { + if (map1.get("look") == 1) { + //涓汉 + sampleOrderDto.setCreateUser(map1.get("userId")); + }else { + //缁勭粐 + sampleOrderDto.setCompany(user.getCompany()); + } + } Map<String, Object> map = new HashMap<>(); map.put("head", PrintChina.printChina(SampleOrderDto.class)); - Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectInsOrderParameter"); - if (map1.get("look") == 1) sampleOrderDto.setCreateUser(map1.get("userId")); map.put("body", insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto))); return map; } @@ -77,20 +93,20 @@ insOrder.setSendTime(LocalDateTime.now()); insOrderMapper.updateById(insOrder); List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId)); - List<Integer> ids = insSamples.stream().map(a-> a.getId()).collect(Collectors.toList()); + List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList()); List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().in(InsProduct::getInsSampleId, ids).eq(InsProduct::getState, 1).select(InsProduct::getSonLaboratory).groupBy(InsProduct::getSonLaboratory)); for (InsProduct insProduct : insProducts) { InsOrderState insOrderState = new InsOrderState(); insOrderState.setInsOrderId(orderId); try { insOrderState.setLaboratory(insProduct.getSonLaboratory()); - }catch (NullPointerException e){ + } catch (NullPointerException e) { throw new ErrorException("璇ユ楠屽崟鏈夋湭缁存姢瀹為獙瀹ょ殑妫�楠岄」鐩�"); } insOrderState.setInsState(0); insOrderStateMapper.insert(insOrderState); } - if(userId!=null){ + if (userId != null) { InsSampleUser insSampleUser = new InsSampleUser(); insSampleUser.setState(0); insSampleUser.setUserId(userId); @@ -110,7 +126,7 @@ list.forEach(a -> { a.setId(null); a.setInsOrderId(insOrder.getId()); - if(StrUtil.isEmpty(a.getSampleCode())){ + if (StrUtil.isEmpty(a.getSampleCode())) { a.setSampleCode(giveCode.giveCode("", "ins_sample", "", "yyMMdd")); } insSampleMapper.insert(a); @@ -122,7 +138,7 @@ product.setUpdateTime(null); product.setUpdateUser(null); product.setInsSampleId(a.getId()); - if(product.getInspectionItemSubclass() == null){ + if (product.getInspectionItemSubclass() == null) { product.setInspectionItemSubclass(""); } insProductMapper.insert(product); @@ -175,9 +191,10 @@ map.put("head", PrintChina.printChina(CostStatisticsDto.class)); Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("costStatistics"); if (map1.get("look") == 1) costStatisticsDto.setCreateUser(map1.get("userId")); - map.put("body", insOrderMapper.selectCostStatistics(page, QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time", split[0]).le("create_time", split[1]+" 23:59:59"))); + map.put("body", insOrderMapper.selectCostStatistics(page, QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time", split[0]).le("create_time", split[1] + " 23:59:59"))); return map; } + @Override public Map<String, Object> selectSampleDefects(Page page, String inspectionItems, String orderNumber) { List<SampleDefectsFatherVo> sampleDefectsFatherVos = insOrderMapper.selectSampleDefects(page, inspectionItems, orderNumber); @@ -190,7 +207,7 @@ @Override public int updateStatus(Integer id) { - return insOrderMapper.updateStatus(id); + return insOrderMapper.updateStatus(id); } } diff --git a/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryCorrectionHoursController.java b/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryCorrectionHoursController.java new file mode 100644 index 0000000..8bfd079 --- /dev/null +++ b/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryCorrectionHoursController.java @@ -0,0 +1,65 @@ +package com.yuanchu.mom.controller; + +import com.alibaba.excel.EasyExcel; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.dto.AuxiliaryCorrectionHoursDto; +import com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto; +import com.yuanchu.mom.excel.AuxiliaryCorrectionHoursListener; +import com.yuanchu.mom.service.AuxiliaryCorrectionHoursService; +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 org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.Map; + +/** + * <p> + * 宸ユ椂缁熻鐨勪慨姝e伐鏃� 鍓嶇鎺у埗鍣� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-05-29 02:38:19 + */ +@Api(tags = "宸ユ椂缁熻-淇宸ユ椂") +@AllArgsConstructor +@RestController +@RequestMapping("/auxiliaryCorrectionHours") +public class AuxiliaryCorrectionHoursController { + + @Resource + AuxiliaryCorrectionHoursService auxiliaryCorrectionHoursService; + + @ValueClassify("宸ユ椂绠$悊") + @ApiOperation(value = "鏌ヨ淇宸ユ椂") + @PostMapping("/selectAuxiliaryCorrectionHours") + public Result selectAuxiliaryCorrectionHours(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + AuxiliaryCorrectionHoursDto entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryCorrectionHoursDto.class); + return Result.success(auxiliaryCorrectionHoursService.selectAuxiliaryCorrectionHours(page, entity)); + } + + /** + * excel涓婁紶 + * + * @return + */ + @ValueClassify("宸ユ椂绠$悊") + @ApiOperation(value = "瀵煎叆") + @PostMapping("/upload") + public Result upload(@RequestParam("file") MultipartFile file) { + try { + EasyExcel.read(file.getInputStream(), AuxiliaryCorrectionHoursDto.class, new AuxiliaryCorrectionHoursListener(auxiliaryCorrectionHoursService)).sheet().doRead(); + } catch (IOException e) { + e.printStackTrace(); + } + return Result.success(); + } + +} 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 new file mode 100644 index 0000000..191e4c5 --- /dev/null +++ b/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOriginalHoursController.java @@ -0,0 +1,39 @@ +package com.yuanchu.mom.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.dto.AuxiliaryCorrectionHoursDto; +import com.yuanchu.mom.dto.AuxiliaryOriginalHoursDto; +import com.yuanchu.mom.dto.AuxiliaryOriginalHoursLookDto; +import com.yuanchu.mom.service.AuxiliaryOriginalHoursService; +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.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +@Api(tags = "宸ユ椂缁熻-鍘熷宸ユ椂") +@AllArgsConstructor +@RestController +@RequestMapping("/auxiliaryOriginalHours") +public class AuxiliaryOriginalHoursController { + + @Resource + AuxiliaryOriginalHoursService auxiliaryOriginalHoursService; + + @ValueClassify("宸ユ椂绠$悊") + @ApiOperation(value = "鏌ヨ鍘熷宸ユ椂") + @PostMapping("/selectAuxiliaryOriginalHours") + public Result selectAuxiliaryOriginalHours(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + AuxiliaryOriginalHoursLookDto entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryOriginalHoursLookDto.class); + return Result.success(auxiliaryOriginalHoursService.selectAuxiliaryOriginalHours(page, entity)); + } +} 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 d005b35..f91a216 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 @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto; import com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours; import com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay; import com.yuanchu.mom.service.AuxiliaryOutputWorkingHoursService; @@ -17,6 +18,8 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.Map; /** @@ -41,8 +44,30 @@ @PostMapping("/selectAuxiliaryOutputWorkingHours") public Result selectAuxiliaryOutputWorkingHours(@RequestBody Map<String, Object> data) throws Exception { Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); - AuxiliaryOutputWorkingHours entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryOutputWorkingHours.class); + AuxiliaryOutputWorkingHoursDto entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryOutputWorkingHoursDto.class); return Result.success(auxiliaryOutputWorkingHoursService.selectAuxiliaryOutputWorkingHours(page, entity)); } + @ValueClassify("宸ユ椂绠$悊") + @ApiOperation(value = "缁熻浜ч噺宸ユ椂姹囨�诲拰杈呭姪宸ユ椂姹囨��") + @PostMapping("/collectWorkingHours") + public Result collectWorkingHours(){ + return Result.success(auxiliaryOutputWorkingHoursService.collectWorkingHours()); + } + + + @ValueClassify("宸ユ椂绠$悊") + @ApiOperation(value = "瀵煎嚭") + @PostMapping("/exportWorkingHours") + public void exportWorkingHours(HttpServletResponse response) throws IOException { + auxiliaryOutputWorkingHoursService.exportWorkingHours(response); + } + + @ValueClassify("宸ユ椂绠$悊") + @ApiOperation(value = "缁勯暱鏉冮檺") + @PostMapping("/leader") + public Result leader() { + return Result.success(); + } + } diff --git a/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryWorkingHoursDayController.java b/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryWorkingHoursDayController.java index cb015bb..471e07f 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryWorkingHoursDayController.java +++ b/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryWorkingHoursDayController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.annotation.ValueClassify; +import com.yuanchu.mom.dto.AuxiliaryWorkingHoursDayDto; import com.yuanchu.mom.pojo.AuxiliaryWorkingHours; import com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay; import com.yuanchu.mom.service.AuxiliaryWorkingHoursDayService; @@ -10,6 +11,7 @@ import com.yuanchu.mom.vo.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import jdk.nashorn.internal.ir.annotations.Ignore; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -42,7 +44,7 @@ @PostMapping("/selectAuxiliaryWorkingHoursDay") public Result selectAuxiliaryWorkingHoursDay(@RequestBody Map<String, Object> data) throws Exception { Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); - AuxiliaryWorkingHoursDay entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryWorkingHoursDay.class); + AuxiliaryWorkingHoursDayDto entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryWorkingHoursDayDto.class); return Result.success(auxiliaryWorkingHoursDayService.selectAuxiliaryWorkingHoursDay(page, entity)); } @@ -68,13 +70,20 @@ } @ValueClassify("宸ユ椂绠$悊") - @ApiOperation(value = "瀹℃牳/鎵瑰噯") - @PostMapping("/checkOrApprove") - public Result checkOrApprove(Integer id, String state) { + @ApiOperation(value = "鎵瑰噯") + @PostMapping("/approve") + public Result approve(Integer id, String state) { return Result.success(auxiliaryWorkingHoursDayService.checkOrApprove(id,state)); } @ValueClassify("宸ユ椂绠$悊") + @ApiOperation(value = "瀹℃牳") + @PostMapping("/check") + public Result check(@RequestBody AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay ) { + return Result.success(auxiliaryWorkingHoursDayService.updateAuxiliaryWorkingHoursDay(auxiliaryWorkingHoursDay)); + } + + @ValueClassify("宸ユ椂绠$悊") @ApiOperation(value = "缂栬緫") @PostMapping("/updateAuxiliaryWorkingHoursDay") public Result updateAuxiliaryWorkingHoursDay(@RequestBody AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) { diff --git a/performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryCorrectionHoursDto.java b/performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryCorrectionHoursDto.java new file mode 100644 index 0000000..b65cb72 --- /dev/null +++ b/performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryCorrectionHoursDto.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.yuanchu.mom.annotation.ValueTableShow; +import com.yuanchu.mom.pojo.AuxiliaryCorrectionHours; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AuxiliaryCorrectionHoursDto extends AuxiliaryCorrectionHours { + + @ApiModelProperty("濮撳悕") + @ValueTableShow(2) + @ExcelProperty(value = "濮撳悕") + private String name; +} diff --git a/performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryOriginalHoursDto.java b/performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryOriginalHoursDto.java new file mode 100644 index 0000000..de60608 --- /dev/null +++ b/performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryOriginalHoursDto.java @@ -0,0 +1,182 @@ +package com.yuanchu.mom.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.yuanchu.mom.annotation.ValueTableShow; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +//鍘熷宸ユ椂 +public class AuxiliaryOriginalHoursDto { + @ApiModelProperty("濮撳悕") + @ValueTableShow(2) + @ExcelProperty(value = "濮撳悕") + private String name; + + @ApiModelProperty("绫诲瀷") + @ValueTableShow(3) + @ExcelProperty(value = "绫诲瀷") + private String type; + + @ApiModelProperty("1鏃ュ伐鏃�") + @ValueTableShow(4) + @ExcelProperty(value = "1鏃�") + private Double oneHours; + + @ApiModelProperty("2鏃ュ伐鏃�") + @ValueTableShow(5) + @ExcelProperty(value = "2鏃�") + private Double twoHours; + + @ApiModelProperty("3鏃ュ伐鏃�") + @ValueTableShow(6) + @ExcelProperty(value = "3鏃�") + private Double threeHours; + + @ApiModelProperty("4鏃ュ伐鏃�") + @ValueTableShow(7) + @ExcelProperty(value = "4鏃�") + private Double fourHours; + + @ApiModelProperty("5鏃ュ伐鏃�") + @ValueTableShow(8) + @ExcelProperty(value = "5鏃�") + private Double fiveHours; + + @ApiModelProperty("6鏃ュ伐鏃�") + @ValueTableShow(9) + @ExcelProperty(value = "6鏃�") + private Double sixHours; + + @ApiModelProperty("7鏃ュ伐鏃�") + @ValueTableShow(10) + @ExcelProperty(value = "7鏃�") + private Double sevenHours; + + @ApiModelProperty("8鏃ュ伐鏃�") + @ValueTableShow(11) + @ExcelProperty(value = "8鏃�") + private Double eightHours; + + @ApiModelProperty("9鏃ュ伐鏃�") + @ValueTableShow(12) + @ExcelProperty(value = "9鏃�") + private Double nineHours; + + @ApiModelProperty("10鏃ュ伐鏃�") + @ValueTableShow(13) + @ExcelProperty(value = "10鏃�") + private Double tenHours; + + @ApiModelProperty("11鏃ュ伐鏃�") + @ValueTableShow(14) + @ExcelProperty(value = "11鏃�") + private Double elevenHours; + + @ApiModelProperty("12鏃ュ伐鏃�") + @ValueTableShow(15) + @ExcelProperty(value = "12鏃�") + private Double twelveHours; + + @ApiModelProperty("13鏃ュ伐鏃�") + @ValueTableShow(16) + @ExcelProperty(value = "13鏃�") + private Double thirteenHours; + + @ApiModelProperty("14鏃ュ伐鏃�") + @ValueTableShow(17) + @ExcelProperty(value = "14鏃�") + private Double fourteenHours; + + @ApiModelProperty("15鏃ュ伐鏃�") + @ValueTableShow(18) + @ExcelProperty(value = "15鏃�") + private Double fifteenHours; + + @ApiModelProperty("16鏃ュ伐鏃�") + @ValueTableShow(19) + @ExcelProperty(value = "16鏃�") + private Double sixteenHours; + + @ApiModelProperty("17鏃ュ伐鏃�") + @ValueTableShow(20) + @ExcelProperty(value = "17鏃�") + private Double seventeenHours; + + @ApiModelProperty("18鏃ュ伐鏃�") + @ValueTableShow(21) + @ExcelProperty(value = "18鏃�") + private Double eighteenHours; + + @ApiModelProperty("19鏃ュ伐鏃�") + @ValueTableShow(22) + @ExcelProperty(value = "19鏃�") + private Double nineteenHours; + + @ApiModelProperty("20鏃ュ伐鏃�") + @ValueTableShow(23) + @ExcelProperty(value = "20鏃�") + private Double twentyHours; + + @ApiModelProperty("21鏃ュ伐鏃�") + @ValueTableShow(24) + @ExcelProperty(value = "21鏃�") + private Double twentyOneHours; + + @ApiModelProperty("22鏃ュ伐鏃�") + @ValueTableShow(25) + @ExcelProperty(value = "22鏃�") + private Double twentyTwoHours; + + @ApiModelProperty("23鏃ュ伐鏃�") + @ValueTableShow(26) + @ExcelProperty(value = "23鏃�") + private Double twentyThreeHours; + + @ApiModelProperty("24鏃ュ伐鏃�") + @ValueTableShow(27) + @ExcelProperty(value = "24鏃�") + private Double twentyFourHours; + + @ApiModelProperty("25鏃ュ伐鏃�") + @ValueTableShow(28) + @ExcelProperty(value = "25鏃�") + private Double twentyFiveHours; + + @ApiModelProperty("26鏃ュ伐鏃�") + @ValueTableShow(29) + @ExcelProperty(value = "26鏃�") + private Double twentySixHours; + + @ApiModelProperty("27鏃ュ伐鏃�") + @ValueTableShow(30) + @ExcelProperty(value = "27鏃�") + private Double twentySevenHours; + + @ApiModelProperty("28鏃ュ伐鏃�") + @ValueTableShow(31) + @ExcelProperty(value = "28鏃�") + private Double twentyEightHours; + + @ApiModelProperty("29鏃ュ伐鏃�") + @ValueTableShow(32) + @ExcelProperty(value = "29鏃�") + private Double twentyNineHours; + + @ApiModelProperty("30鏃ュ伐鏃�") + @ValueTableShow(33) + @ExcelProperty(value = "30鏃�") + private Double thirtyHours; + + @ApiModelProperty("31鏃ュ伐鏃�") + @ValueTableShow(34) + @ExcelProperty(value = "31鏃�") + private Double thirtyOneHours; + + @ApiModelProperty("鏈堜唤") + @ValueTableShow(35) + @ExcelProperty(value = "鏈堜唤") + private LocalDateTime month; +} diff --git a/performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryOriginalHoursLookDto.java b/performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryOriginalHoursLookDto.java new file mode 100644 index 0000000..28e80fa --- /dev/null +++ b/performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryOriginalHoursLookDto.java @@ -0,0 +1,22 @@ +package com.yuanchu.mom.dto; + + +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +@Data +//鍘熷宸ユ椂缁熻鐨勬煡璇㈡潯浠� +public class AuxiliaryOriginalHoursLookDto { + + @NotNull + private LocalDateTime startTime;//鏈堝垵 + + @NotNull + private LocalDateTime endTime;//鏈堟湯 + + private Integer userId; + + private Integer departId; +} diff --git a/performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryOutputWorkingHoursDto.java b/performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryOutputWorkingHoursDto.java new file mode 100644 index 0000000..ac6b231 --- /dev/null +++ b/performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryOutputWorkingHoursDto.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.yuanchu.mom.annotation.ValueTableShow; +import com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AuxiliaryOutputWorkingHoursDto extends AuxiliaryOutputWorkingHours { + + @ApiModelProperty("妫�娴嬩汉") + @ValueTableShow(13) + @ExcelProperty(value = "妫�娴嬩汉") + private String name; +} diff --git a/performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryWorkingHoursDayDto.java b/performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryWorkingHoursDayDto.java new file mode 100644 index 0000000..fe2751e --- /dev/null +++ b/performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryWorkingHoursDayDto.java @@ -0,0 +1,16 @@ +package com.yuanchu.mom.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.yuanchu.mom.annotation.ValueTableShow; +import com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AuxiliaryWorkingHoursDayDto extends AuxiliaryWorkingHoursDay { + + @ApiModelProperty("濮撳悕") + @ValueTableShow(2) + @ExcelProperty(value = "濮撳悕") + private String name; +} diff --git a/performance-server/src/main/java/com/yuanchu/mom/excel/AuxiliaryCorrectionHoursListener.java b/performance-server/src/main/java/com/yuanchu/mom/excel/AuxiliaryCorrectionHoursListener.java new file mode 100644 index 0000000..0f3573f --- /dev/null +++ b/performance-server/src/main/java/com/yuanchu/mom/excel/AuxiliaryCorrectionHoursListener.java @@ -0,0 +1,41 @@ +package com.yuanchu.mom.excel; + + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.yuanchu.mom.dto.AuxiliaryCorrectionHoursDto; +import com.yuanchu.mom.service.AuxiliaryCorrectionHoursService; + +import java.util.ArrayList; +import java.util.List; + +public class AuxiliaryCorrectionHoursListener extends AnalysisEventListener<AuxiliaryCorrectionHoursDto> { + + private static final int BATCH_COUNT = 1000; + List<AuxiliaryCorrectionHoursDto> list = new ArrayList<>(); + + private AuxiliaryCorrectionHoursService auxiliaryCorrectionHoursService; + + public AuxiliaryCorrectionHoursListener(AuxiliaryCorrectionHoursService auxiliaryCorrectionHoursService) { + this.auxiliaryCorrectionHoursService = auxiliaryCorrectionHoursService; + } + + @Override + public void invoke(AuxiliaryCorrectionHoursDto data, AnalysisContext analysisContext) { + list.add(data); + if (list.size() >= BATCH_COUNT) { + save(); + list.clear(); + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + save(); + } + + + private void save() { + auxiliaryCorrectionHoursService.importExcel(list); + } +} diff --git a/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryCorrectionHoursMapper.java b/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryCorrectionHoursMapper.java new file mode 100644 index 0000000..2a8cc79 --- /dev/null +++ b/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryCorrectionHoursMapper.java @@ -0,0 +1,25 @@ +package com.yuanchu.mom.mapper; + +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.dto.AuxiliaryCorrectionHoursDto; +import com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto; +import com.yuanchu.mom.pojo.AuxiliaryCorrectionHours; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * <p> + * 宸ユ椂缁熻鐨勪慨姝e伐鏃� Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-05-29 02:38:19 + */ +public interface AuxiliaryCorrectionHoursMapper extends BaseMapper<AuxiliaryCorrectionHours> { + + IPage<AuxiliaryCorrectionHoursDto> selectAuxiliaryCorrectionHours(Page page, @Param("ew") QueryWrapper<AuxiliaryCorrectionHoursDto> ew, @Param("ids") List<Integer> ids); +} diff --git a/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOriginalHoursMapper.java b/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOriginalHoursMapper.java new file mode 100644 index 0000000..99e5bea --- /dev/null +++ b/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOriginalHoursMapper.java @@ -0,0 +1,15 @@ +package com.yuanchu.mom.mapper; + +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.dto.AuxiliaryOriginalHoursDto; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface AuxiliaryOriginalHoursMapper { + + + +} diff --git a/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOutputWorkingHoursMapper.java b/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOutputWorkingHoursMapper.java index 35f126e..3344457 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOutputWorkingHoursMapper.java +++ b/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOutputWorkingHoursMapper.java @@ -3,8 +3,16 @@ 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.dto.AuxiliaryOriginalHoursDto; +import com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto; +import com.yuanchu.mom.dto.AuxiliaryWorkingHoursDayDto; import com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; /** * <p> @@ -16,5 +24,14 @@ */ public interface AuxiliaryOutputWorkingHoursMapper extends BaseMapper<AuxiliaryOutputWorkingHours> { - IPage<AuxiliaryOutputWorkingHours> selectAuxiliaryOutputWorkingHours(Page page, QueryWrapper<AuxiliaryOutputWorkingHours> ew); + IPage<AuxiliaryOutputWorkingHoursDto> selectAuxiliaryOutputWorkingHours(Page page, @Param("ew") QueryWrapper<AuxiliaryOutputWorkingHoursDto> ew, @Param("ids") List<Integer> ids); + + //鏌ヨ缁熻宸ユ椂瀵煎嚭鏁版嵁 + List<AuxiliaryOutputWorkingHoursDto> selectDataByUser(@Param("ids") List<Integer> ids); + + //鏌ヨ璇ユ湀鐨勪骇閲忓伐鏃� + List<Map<String, Object>> totalHours(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime, @Param("userId") Integer userId, @Param("departId") Integer departId, @Param("ids") List<Integer> ids); + + + List<AuxiliaryOutputWorkingHours> selectListByIds(@Param("ids") List<Integer> ids); } diff --git a/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryWorkingHoursDayMapper.java b/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryWorkingHoursDayMapper.java index 2a0cf37..18091a2 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryWorkingHoursDayMapper.java +++ b/performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryWorkingHoursDayMapper.java @@ -3,9 +3,13 @@ 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.dto.AuxiliaryWorkingHoursDayDto; import com.yuanchu.mom.pojo.AuxiliaryWorkingHours; import com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * <p> @@ -17,5 +21,10 @@ */ public interface AuxiliaryWorkingHoursDayMapper extends BaseMapper<AuxiliaryWorkingHoursDay> { - IPage<AuxiliaryWorkingHoursDay> selectAuxiliaryWorkingHoursDay(Page page, QueryWrapper<AuxiliaryWorkingHoursDay> ew); + IPage<AuxiliaryWorkingHoursDayDto> selectAuxiliaryWorkingHoursDay(Page page, @Param("ew") QueryWrapper<AuxiliaryWorkingHoursDayDto> ew, @Param("ids") List<Integer> ids); + + //鏌ヨ杈呭姪宸ユ椂瀵煎嚭淇℃伅 + List<AuxiliaryWorkingHoursDayDto> selectDataByUser(@Param("ids") List<Integer> ids); + + List<AuxiliaryWorkingHoursDay> selectListByIds(@Param("ids") List<Integer> ids); } diff --git a/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryCorrectionHours.java b/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryCorrectionHours.java new file mode 100644 index 0000000..2880070 --- /dev/null +++ b/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryCorrectionHours.java @@ -0,0 +1,221 @@ +package com.yuanchu.mom.pojo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; + +import com.yuanchu.mom.annotation.ValueTableShow; +import com.yuanchu.mom.common.OrderBy; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + * <p> + * 宸ユ椂缁熻鐨勪慨姝e伐鏃� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-05-29 02:38:19 + */ +@Getter +@Setter +@TableName("auxiliary_correction_hours") +@ApiModel(value = "AuxiliaryCorrectionHours瀵硅薄", description = "宸ユ椂缁熻鐨勪慨姝e伐鏃�") +public class AuxiliaryCorrectionHours extends OrderBy implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("濮撳悕id") + private Integer nameUser; + + @ApiModelProperty("绫诲瀷") + @ValueTableShow(3) + @ExcelProperty(value = "绫诲瀷") + private String type; + + @ApiModelProperty("1鏃ュ伐鏃�") + @ValueTableShow(4) + @ExcelProperty(value = "1鏃�") + private Double oneHours; + + @ApiModelProperty("2鏃ュ伐鏃�") + @ValueTableShow(5) + @ExcelProperty(value = "2鏃�") + private Double twoHours; + + @ApiModelProperty("3鏃ュ伐鏃�") + @ValueTableShow(6) + @ExcelProperty(value = "3鏃�") + private Double threeHours; + + @ApiModelProperty("4鏃ュ伐鏃�") + @ValueTableShow(7) + @ExcelProperty(value = "4鏃�") + private Double fourHours; + + @ApiModelProperty("5鏃ュ伐鏃�") + @ValueTableShow(8) + @ExcelProperty(value = "5鏃�") + private Double fiveHours; + + @ApiModelProperty("6鏃ュ伐鏃�") + @ValueTableShow(9) + @ExcelProperty(value = "6鏃�") + private Double sixHours; + + @ApiModelProperty("7鏃ュ伐鏃�") + @ValueTableShow(10) + @ExcelProperty(value = "7鏃�") + private Double sevenHours; + + @ApiModelProperty("8鏃ュ伐鏃�") + @ValueTableShow(11) + @ExcelProperty(value = "8鏃�") + private Double eightHours; + + @ApiModelProperty("9鏃ュ伐鏃�") + @ValueTableShow(12) + @ExcelProperty(value = "9鏃�") + private Double nineHours; + + @ApiModelProperty("10鏃ュ伐鏃�") + @ValueTableShow(13) + @ExcelProperty(value = "10鏃�") + private Double tenHours; + + @ApiModelProperty("11鏃ュ伐鏃�") + @ValueTableShow(14) + @ExcelProperty(value = "11鏃�") + private Double elevenHours; + + @ApiModelProperty("12鏃ュ伐鏃�") + @ValueTableShow(15) + @ExcelProperty(value = "12鏃�") + private Double twelveHours; + + @ApiModelProperty("13鏃ュ伐鏃�") + @ValueTableShow(16) + @ExcelProperty(value = "13鏃�") + private Double thirteenHours; + + @ApiModelProperty("14鏃ュ伐鏃�") + @ValueTableShow(17) + @ExcelProperty(value = "14鏃�") + private Double fourteenHours; + + @ApiModelProperty("15鏃ュ伐鏃�") + @ValueTableShow(18) + @ExcelProperty(value = "15鏃�") + private Double fifteenHours; + + @ApiModelProperty("16鏃ュ伐鏃�") + @ValueTableShow(19) + @ExcelProperty(value = "16鏃�") + private Double sixteenHours; + + @ApiModelProperty("17鏃ュ伐鏃�") + @ValueTableShow(20) + @ExcelProperty(value = "17鏃�") + private Double seventeenHours; + + @ApiModelProperty("18鏃ュ伐鏃�") + @ValueTableShow(21) + @ExcelProperty(value = "18鏃�") + private Double eighteenHours; + + @ApiModelProperty("19鏃ュ伐鏃�") + @ValueTableShow(22) + @ExcelProperty(value = "19鏃�") + private Double nineteenHours; + + @ApiModelProperty("20鏃ュ伐鏃�") + @ValueTableShow(23) + @ExcelProperty(value = "20鏃�") + private Double twentyHours; + + @ApiModelProperty("21鏃ュ伐鏃�") + @ValueTableShow(24) + @ExcelProperty(value = "21鏃�") + private Double twentyOneHours; + + @ApiModelProperty("22鏃ュ伐鏃�") + @ValueTableShow(25) + @ExcelProperty(value = "22鏃�") + private Double twentyTwoHours; + + @ApiModelProperty("23鏃ュ伐鏃�") + @ValueTableShow(26) + @ExcelProperty(value = "23鏃�") + private Double twentyThreeHours; + + @ApiModelProperty("24鏃ュ伐鏃�") + @ValueTableShow(27) + @ExcelProperty(value = "24鏃�") + private Double twentyFourHours; + + @ApiModelProperty("25鏃ュ伐鏃�") + @ValueTableShow(28) + @ExcelProperty(value = "25鏃�") + private Double twentyFiveHours; + + @ApiModelProperty("26鏃ュ伐鏃�") + @ValueTableShow(29) + @ExcelProperty(value = "26鏃�") + private Double twentySixHours; + + @ApiModelProperty("27鏃ュ伐鏃�") + @ValueTableShow(30) + @ExcelProperty(value = "27鏃�") + private Double twentySevenHours; + + @ApiModelProperty("28鏃ュ伐鏃�") + @ValueTableShow(31) + @ExcelProperty(value = "28鏃�") + private Double twentyEightHours; + + @ApiModelProperty("29鏃ュ伐鏃�") + @ValueTableShow(32) + @ExcelProperty(value = "29鏃�") + private Double twentyNineHours; + + @ApiModelProperty("30鏃ュ伐鏃�") + @ValueTableShow(33) + @ExcelProperty(value = "30鏃�") + private Double thirtyHours; + + @ApiModelProperty("31鏃ュ伐鏃�") + @ValueTableShow(34) + @ExcelProperty(value = "31鏃�") + private Double thirtyOneHours; + + @ApiModelProperty("鏈堜唤") + @ValueTableShow(35) + @ExcelProperty(value = "鏈堜唤") + private LocalDateTime month; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty("鍒涘缓浜篿d") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("淇敼浜篿d") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; +} diff --git a/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java b/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java index bfb71ba..54c7d01 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java +++ b/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java @@ -1,5 +1,6 @@ package com.yuanchu.mom.pojo; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; @@ -8,7 +9,9 @@ import java.io.Serializable; import java.time.LocalDateTime; +import com.fasterxml.jackson.annotation.JsonFormat; import com.yuanchu.mom.annotation.ValueTableShow; +import com.yuanchu.mom.common.OrderBy; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; @@ -26,67 +29,77 @@ @Setter @TableName("auxiliary_output_working_hours") @ApiModel(value = "AuxiliaryOutputWorkingHours瀵硅薄", description = "鏃ュ伐鏃剁鐞嗙殑浜ч噺宸ユ椂") -public class AuxiliaryOutputWorkingHours implements Serializable { - - private static final long serialVersionUID = 1L; +public class AuxiliaryOutputWorkingHours extends OrderBy implements Serializable { @TableId(value = "id", type = IdType.AUTO) private Integer id; @ApiModelProperty("妫�娴嬮」鐩�") + @ExcelProperty(value = "妫�娴嬮」鐩�") @ValueTableShow(2) private String inspectProject; @ApiModelProperty("鍔犵彮濮旀墭鍗曞彿") + @ExcelProperty(value = "鍔犵彮濮旀墭鍗曞彿") @ValueTableShow(3) private String overtimeOrderNo; @ApiModelProperty("鍔犵彮宸ユ椂") + @ExcelProperty(value = "鍔犵彮宸ユ椂") @ValueTableShow(4) private Double overtimeWorkTime; @ApiModelProperty("鍔犵彮鏁伴噺") + @ExcelProperty(value = "鍔犵彮鏁伴噺") @ValueTableShow(5) private Integer overtimeAmount; @ApiModelProperty("闈炲姞鐝鎵樺崟鍙�") + @ExcelProperty(value = "闈炲姞鐝鎵樺崟鍙�") @ValueTableShow(6) private String orderNo; @ApiModelProperty("闈炲姞鐝伐鏃�") + @ExcelProperty(value = "闈炲姞鐝伐鏃�") @ValueTableShow(7) private Double workTime; @ApiModelProperty("闈炲姞鐝暟閲�") + @ExcelProperty(value = "闈炲姞鐝暟閲�") @ValueTableShow(8) private Integer amount; @ApiModelProperty("浜ч噺宸ユ椂") + @ExcelProperty(value = "浜ч噺宸ユ椂") @ValueTableShow(9) private Double outputWorkTime; @ApiModelProperty("鏃ユ湡") + @ExcelProperty(value = "鏃ユ湡") @ValueTableShow(10) - private LocalDateTime dateTime; + private String dateTime; @ApiModelProperty("鍛ㄦ") + @ExcelProperty(value = "鍛ㄦ") @ValueTableShow(11) - private Integer week; + private String week; @ApiModelProperty("鏄熸湡") + @ExcelProperty(value = "鏄熸湡") @ValueTableShow(12) private String weekDay; - @ApiModelProperty("妫�娴嬩汉") - @ValueTableShow(13) - private String check; + @ApiModelProperty("妫�娴嬩汉id") + private Integer check; @ApiModelProperty("鍒涘缓鏃堕棿") @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; @ApiModelProperty("淇敼鏃堕棿") @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; @ApiModelProperty("鍒涘缓浜篿d") diff --git a/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryWorkingHoursDay.java b/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryWorkingHoursDay.java index 4afa389..88eb419 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryWorkingHoursDay.java +++ b/performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryWorkingHoursDay.java @@ -1,5 +1,6 @@ package com.yuanchu.mom.pojo; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; @@ -10,8 +11,10 @@ import java.time.LocalDateTime; import com.yuanchu.mom.annotation.ValueTableShow; +import com.yuanchu.mom.common.OrderBy; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import lombok.Getter; import lombok.Setter; @@ -23,74 +26,84 @@ * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 * @since 2024-05-28 02:22:19 */ -@Getter -@Setter +@Data @TableName("auxiliary_working_hours_day") @ApiModel(value = "AuxiliaryWorkingHoursDay瀵硅薄", description = "鏃ュ伐鏃剁鐞嗙殑杈呭姪宸ユ椂") -public class AuxiliaryWorkingHoursDay implements Serializable { - - private static final long serialVersionUID = 1L; +public class AuxiliaryWorkingHoursDay extends OrderBy implements Serializable { @TableId(value = "id", type = IdType.AUTO) private Integer id; - @ApiModelProperty("濮撳悕") - @ValueTableShow(2) - private String name; + @ApiModelProperty("濮撳悕id") + private Integer nameUser; @ApiModelProperty("缂栧彿") + @ExcelProperty(value = "缂栧彿") @ValueTableShow(3) private String number; @ApiModelProperty("杈呭姪椤圭洰鍚嶇О") + @ExcelProperty(value = "杈呭姪椤圭洰鍚嶇О") @ValueTableShow(4) private String auxiliaryProject; @ApiModelProperty("鏍稿噯宸ユ椂") + @ExcelProperty(value = "鏍稿噯宸ユ椂") @ValueTableShow(5) private Double approvedWorkingHour; @ApiModelProperty("鏁伴噺") + @ExcelProperty(value = "鏁伴噺") @ValueTableShow(6) private Integer amount; @ApiModelProperty("杈呭姪宸ユ椂") + @ExcelProperty(value = "杈呭姪宸ユ椂") @ValueTableShow(7) private Double nonproductiveTime; @ApiModelProperty("杈呭姪璇存槑") + @ExcelProperty(value = "杈呭姪璇存槑") @ValueTableShow(8) private String remarks; @ApiModelProperty("澶嶆牳浜�") + @ExcelProperty(value = "澶嶆牳浜�") @ValueTableShow(9) private String reviewer; @ApiModelProperty("澶嶆牳鏁伴噺") + @ExcelProperty(value = "澶嶆牳鏁伴噺") @ValueTableShow(10) private Integer reviewerNumber; @ApiModelProperty("澶嶆牳宸ユ椂") + @ExcelProperty(value = "澶嶆牳宸ユ椂") @ValueTableShow(11) private Double reviewerNonproductiveTime; @ApiModelProperty("澶嶆牳璇存槑") + @ExcelProperty(value = "澶嶆牳璇存槑") @ValueTableShow(12) private String reviewerRemark; @ApiModelProperty("骞�") + @ExcelProperty(value = "骞�") @ValueTableShow(13) private String year; @ApiModelProperty("鐝") + @ExcelProperty(value = "鐝") @ValueTableShow(14) private String shift; @ApiModelProperty("鍛ㄦ") + @ExcelProperty(value = "鍛ㄦ") @ValueTableShow(15) - private Integer week; + private String week; @ApiModelProperty("鏄熸湡") + @ExcelProperty(value = "鏄熸湡") @ValueTableShow(16) private String weekDay; @@ -112,11 +125,12 @@ private Integer updateUser; @ApiModelProperty("鐘舵��") + @ExcelProperty(value = "鐘舵��") @ValueTableShow(18) private String state; @ApiModelProperty("鏃ユ湡") - @TableLogic + @ExcelProperty(value = "鏃ユ湡") @ValueTableShow(19) - private LocalDateTime dateTime; + private String dateTime; } diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryCorrectionHoursService.java b/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryCorrectionHoursService.java new file mode 100644 index 0000000..5aba180 --- /dev/null +++ b/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryCorrectionHoursService.java @@ -0,0 +1,28 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.AuxiliaryCorrectionHoursDto; +import com.yuanchu.mom.pojo.AuxiliaryCorrectionHours; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + * <p> + * 宸ユ椂缁熻鐨勪慨姝e伐鏃� 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-05-29 02:38:19 + */ +public interface AuxiliaryCorrectionHoursService extends IService<AuxiliaryCorrectionHours> { + + Map<String, Object> selectAuxiliaryCorrectionHours(Page page, AuxiliaryCorrectionHoursDto auxiliaryCorrectionHoursDto); + + /** + * 瀵煎叆涓婁紶 + * @param list + */ + void importExcel(List<AuxiliaryCorrectionHoursDto> list); +} 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 new file mode 100644 index 0000000..8053d93 --- /dev/null +++ b/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOriginalHoursService.java @@ -0,0 +1,12 @@ +package com.yuanchu.mom.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.AuxiliaryOriginalHoursDto; +import com.yuanchu.mom.dto.AuxiliaryOriginalHoursLookDto; + +import java.util.Map; + +public interface AuxiliaryOriginalHoursService { + + Map<String, Object> selectAuxiliaryOriginalHours(Page page, AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto); +} diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOutputWorkingHoursService.java b/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOutputWorkingHoursService.java index fb40392..4843e27 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOutputWorkingHoursService.java +++ b/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOutputWorkingHoursService.java @@ -2,9 +2,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto; import com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours; import com.baomidou.mybatisplus.extension.service.IService; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.Map; /** @@ -17,5 +20,18 @@ */ public interface AuxiliaryOutputWorkingHoursService extends IService<AuxiliaryOutputWorkingHours> { - Map<String, Object> selectAuxiliaryOutputWorkingHours(Page page, AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours); + Map<String, Object> selectAuxiliaryOutputWorkingHours(Page page, AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto); + + /** + * 缁熻浜ч噺宸ユ椂姹囨�诲拰杈呭姪宸ユ椂姹囨�� + * @return + */ + Map<String,Object> collectWorkingHours(); + + /** + * 瀵煎嚭 + * @param response + * @throws IOException + */ + void exportWorkingHours(HttpServletResponse response)throws IOException; } diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryWorkingHoursDayService.java b/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryWorkingHoursDayService.java index 8f3c971..7c5804e 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryWorkingHoursDayService.java +++ b/performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryWorkingHoursDayService.java @@ -1,6 +1,7 @@ package com.yuanchu.mom.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yuanchu.mom.dto.AuxiliaryWorkingHoursDayDto; import com.yuanchu.mom.pojo.AuxiliaryWorkingHours; import com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay; import com.baomidou.mybatisplus.extension.service.IService; @@ -18,7 +19,7 @@ */ public interface AuxiliaryWorkingHoursDayService extends IService<AuxiliaryWorkingHoursDay> { - Map<String, Object> selectAuxiliaryWorkingHoursDay(Page page, AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay); + Map<String, Object> selectAuxiliaryWorkingHoursDay(Page page, AuxiliaryWorkingHoursDayDto auxiliaryWorkingHoursDayDto); int insertAuxiliaryWorkingHoursDay(AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay); diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryCorrectionHoursServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryCorrectionHoursServiceImpl.java new file mode 100644 index 0000000..19bcdcf --- /dev/null +++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryCorrectionHoursServiceImpl.java @@ -0,0 +1,103 @@ +package com.yuanchu.mom.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +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.AuxiliaryOutputWorkingHoursDto; +import com.yuanchu.mom.mapper.PowerMapper; +import com.yuanchu.mom.mapper.UserMapper; +import com.yuanchu.mom.pojo.AuxiliaryCorrectionHours; +import com.yuanchu.mom.mapper.AuxiliaryCorrectionHoursMapper; +import com.yuanchu.mom.pojo.Power; +import com.yuanchu.mom.pojo.User; +import com.yuanchu.mom.service.AuxiliaryCorrectionHoursService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.mom.utils.QueryWrappers; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * <p> + * 宸ユ椂缁熻鐨勪慨姝e伐鏃� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-05-29 02:38:19 + */ +@Service +public class AuxiliaryCorrectionHoursServiceImpl extends ServiceImpl<AuxiliaryCorrectionHoursMapper, AuxiliaryCorrectionHours> implements AuxiliaryCorrectionHoursService { + + @Resource + AuxiliaryCorrectionHoursMapper auxiliaryCorrectionHoursMapper; + + @Resource + GetLook getLook; + + @Resource + UserMapper userMapper; + + @Resource + PowerMapper powerMapper; + + @Override + public Map<String, Object> selectAuxiliaryCorrectionHours(Page page, AuxiliaryCorrectionHoursDto auxiliaryCorrectionHoursDto) { + Map<String, Object> map = new HashMap<>(); + List<Integer> ids = null; + map.put("head", PrintChina.printChina(AuxiliaryCorrectionHoursDto.class)); + //鍒ゆ柇缁勯暱,缁勫憳,绠$悊鍛樻潈闄� + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryCorrectionHours"); + User user = userMapper.selectById(map1.get("userId")); + Integer roleId = user.getRoleId(); + Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "leader")); + if (ObjectUtils.isEmpty(power)) { + //涓嶆槸缁勯暱 + if (map1.get("look") == 1) { + //鏄粍鍛� + auxiliaryCorrectionHoursDto.setNameUser(map1.get("userId")); + } else { + //绠$悊鍛�(涓嶆坊鍔犻檺鍒舵潯浠舵墍鏈変汉閮藉彲浠ョ湅) + } + } else { + //鏄粍闀� + //鏌ヨ缁勯暱涓嬬殑缁勫憳 + List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getDepartLimsId, user.getDepartLimsId())); + if (ObjectUtils.isNotEmpty(users)) { + ids = users.stream().map(User::getId).distinct().collect(Collectors.toList()); + } + } + map.put("body", auxiliaryCorrectionHoursMapper.selectAuxiliaryCorrectionHours(page, QueryWrappers.queryWrappers(auxiliaryCorrectionHoursDto),ids)); + return map; + } + + //瀵煎叆涓婁紶 + @Override + public void importExcel(List<AuxiliaryCorrectionHoursDto> list) { + if (CollectionUtil.isEmpty(list)) { + return; + } + List<AuxiliaryCorrectionHours> auxiliaryCorrectionHoursList = new ArrayList<>(); + for (AuxiliaryCorrectionHoursDto auxiliaryCorrectionHoursDto : list) { + AuxiliaryCorrectionHours auxiliaryCorrectionHours = new AuxiliaryCorrectionHours(); + User user = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getName, auxiliaryCorrectionHoursDto.getName())); + if (ObjectUtils.isEmpty(user)){ + throw new RuntimeException("绯荤粺娌℃湁鏌ュ埌"+auxiliaryCorrectionHoursDto.getName()+"杩欎釜鐢ㄦ埛淇℃伅!"); + } + BeanUtils.copyProperties(auxiliaryCorrectionHoursDto,auxiliaryCorrectionHours); + auxiliaryCorrectionHours.setNameUser(user.getId()); + auxiliaryCorrectionHoursList.add(auxiliaryCorrectionHours); + } + //鎵归噺鏂板 + saveBatch(auxiliaryCorrectionHoursList); + } +} 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 new file mode 100644 index 0000000..d1b5aa5 --- /dev/null +++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java @@ -0,0 +1,91 @@ +package com.yuanchu.mom.service.impl; + +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.mapper.*; +import com.yuanchu.mom.pojo.Power; +import com.yuanchu.mom.pojo.User; +import com.yuanchu.mom.service.AuxiliaryOriginalHoursService; +import com.yuanchu.mom.utils.QueryWrappers; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class AuxiliaryOriginalHoursServiceImpl implements AuxiliaryOriginalHoursService { + + @Resource + GetLook getLook; + + @Resource + UserMapper userMapper; + + @Resource + PowerMapper powerMapper; + + @Resource + AuxiliaryOriginalHoursMapper auxiliaryOriginalHoursMapper; + + @Resource + AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper; + + @Resource + AuxiliaryWorkingHoursDayMapper auxiliaryWorkingHoursDayMapper; + + @Override + public Map<String, Object> selectAuxiliaryOriginalHours(Page page, AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto) { + Map<String, Object> map = new HashMap<>(); + List<Integer> ids = null; + map.put("head", PrintChina.printChina(AuxiliaryCorrectionHoursDto.class)); + //鍒ゆ柇缁勯暱,缁勫憳,绠$悊鍛樻潈闄� + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryOriginalHours"); + User user = userMapper.selectById(map1.get("userId")); + Integer roleId = user.getRoleId(); + Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "leader")); + if (ObjectUtils.isEmpty(power)) { + //涓嶆槸缁勯暱 + if (map1.get("look") == 1) { + //鏄粍鍛� + ids.add(map1.get("userId")); + } else { + //绠$悊鍛�(涓嶆坊鍔犻檺鍒舵潯浠舵墍鏈変汉閮藉彲浠ョ湅) + } + } else { + //鏄粍闀� + //鏌ヨ缁勯暱涓嬬殑缁勫憳 + List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getDepartLimsId, user.getDepartLimsId())); + if (ObjectUtils.isNotEmpty(users)) { + ids = users.stream().map(User::getId).distinct().collect(Collectors.toList()); + } + } + IPage<AuxiliaryOriginalHoursDto> originalHoursDtoIPage = new Page<>(); + originalHoursDtoIPage.setSize(page.getSize()); + originalHoursDtoIPage.setCurrent(page.getCurrent()); + List<AuxiliaryOriginalHoursDto> auxiliaryOriginalHoursDtos = null; + //浜ч噺宸ユ椂 + List<Map<String, Object>> maps = auxiliaryOutputWorkingHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getStartTime(), auxiliaryOriginalHoursLookDto.getEndTime(), auxiliaryOriginalHoursLookDto.getUserId(), auxiliaryOriginalHoursLookDto.getDepartId(), ids); + Map<Object, Map<Object, Double>> collect = maps.stream().collect( + Collectors.groupingBy(objmap -> objmap.get("name"), + Collectors.groupingBy(objmap -> objmap.get("month"), + Collectors.summingDouble(objmap -> Double.parseDouble(objmap.get("output_work_time").toString()))))); + + //杈呭姪宸ユ椂 + //杈呭姪宸ユ椂 + //鍔犵彮宸ユ椂 + //鎬诲伐鏃� + originalHoursDtoIPage.setRecords(auxiliaryOriginalHoursDtos); + map.put("body", originalHoursDtoIPage); + return map; + } +} 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 07f0be7..891c9ef 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 @@ -1,18 +1,37 @@ 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.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.AuxiliaryOutputWorkingHoursDto; +import com.yuanchu.mom.dto.AuxiliaryWorkingHoursDayDto; +import com.yuanchu.mom.mapper.AuxiliaryWorkingHoursDayMapper; +import com.yuanchu.mom.mapper.PowerMapper; +import com.yuanchu.mom.mapper.UserMapper; import com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours; import com.yuanchu.mom.mapper.AuxiliaryOutputWorkingHoursMapper; import com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay; +import com.yuanchu.mom.pojo.Power; +import com.yuanchu.mom.pojo.User; import com.yuanchu.mom.service.AuxiliaryOutputWorkingHoursService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.mom.utils.QueryWrappers; 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.HashMap; +import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * <p> @@ -28,11 +47,171 @@ @Resource AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper; + @Resource + GetLook getLook; + + @Resource + AuxiliaryWorkingHoursDayMapper auxiliaryWorkingHoursDayMapper; + + @Resource + UserMapper userMapper; + + @Resource + PowerMapper powerMapper; + @Override - public Map<String, Object> selectAuxiliaryOutputWorkingHours(Page page, AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours) { + public Map<String, Object> selectAuxiliaryOutputWorkingHours(Page page, AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto) { + String dates = auxiliaryOutputWorkingHoursDto.getDateTime(); + String week = auxiliaryOutputWorkingHoursDto.getWeek(); + auxiliaryOutputWorkingHoursDto.setDateTime(null); + auxiliaryOutputWorkingHoursDto.setWeek(null); Map<String, Object> map = new HashMap<>(); - map.put("head", PrintChina.printChina(AuxiliaryOutputWorkingHours.class)); - map.put("body", auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHours))); + List<Integer> ids = null; + map.put("head", PrintChina.printChina(AuxiliaryOutputWorkingHoursDto.class)); + //鍒ゆ柇缁勯暱,缁勫憳,绠$悊鍛樻潈闄� + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryOutputWorkingHours"); + User user = userMapper.selectById(map1.get("userId")); + Integer roleId = user.getRoleId(); + Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "leader")); + if (ObjectUtils.isEmpty(power)) { + //涓嶆槸缁勯暱 + if (map1.get("look") == 1) { + //鏄粍鍛� + auxiliaryOutputWorkingHoursDto.setCheck(map1.get("userId")); + } else { + //绠$悊鍛�(涓嶆坊鍔犻檺鍒舵潯浠舵墍鏈変汉閮藉彲浠ョ湅) + } + } else { + //鏄粍闀� + //鏌ヨ缁勯暱涓嬬殑缁勫憳 + List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getDepartLimsId, user.getDepartLimsId())); + if (ObjectUtils.isNotEmpty(users)) { + ids = users.stream().map(User::getId).distinct().collect(Collectors.toList()); + } + } + if (ObjectUtils.isNotEmpty(dates)) { + String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); + if (ObjectUtils.isNotEmpty(week)){ + String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); + map.put("body", auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, + QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto) + .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59") + .ge("week", weeks[0]).le("week", weeks[1] ), ids)); + } + map.put("body", auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto).ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids)); + } else { + map.put("body", auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto), ids)); + } return map; } + + //缁熻浜ч噺宸ユ椂姹囨�诲拰杈呭姪宸ユ椂姹囨�� + @Override + public Map<String, Object> collectWorkingHours() { + Map<String, Object> map = new HashMap<>(); + Double sumOutputWorkTime = 0.0; + Double sumApprovedWorkingHour = 0.0; + List<Integer> ids = null; + //鍒ゆ柇鏄粍闀胯繕鏄粍鍛樿繕鏄鐞嗗憳 + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryOutputWorkingHours"); + User user = userMapper.selectById(map1.get("userId")); + Integer roleId = user.getRoleId(); + Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "leader")); + if (ObjectUtils.isEmpty(power)) { + //涓嶆槸缁勯暱 + if (map1.get("look") == 1) { + //鏄粍鍛� + ids.add(map1.get("userId")); + } else { + //绠$悊鍛�(涓嶆坊鍔犻檺鍒舵潯浠舵墍鏈変汉閮藉彲浠ョ湅) + } + } else { + //鏄粍闀� + //鏌ヨ缁勯暱涓嬬殑缁勫憳 + List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getDepartLimsId, user.getDepartLimsId())); + if (ObjectUtils.isNotEmpty(users)) { + ids = users.stream().map(User::getId).distinct().collect(Collectors.toList()); + } + } + //缁熻褰撳墠鐢ㄦ埛鐨勪骇鍝佸伐鏃� + List<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectListByIds(ids); + if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours)) { + Map<String, Double> sumMap = new HashMap<>(); + for (AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHour : auxiliaryOutputWorkingHours) { + if (!sumMap.containsKey(auxiliaryOutputWorkingHour.getManHourGroup())) { + sumMap.put(auxiliaryOutputWorkingHour.getManHourGroup(), auxiliaryOutputWorkingHour.getOutputWorkTime()); + } + } + sumOutputWorkTime = sumMap.values().stream().mapToDouble(Double::doubleValue).sum(); + } + map.put("浜ч噺宸ユ椂姹囨��", sumOutputWorkTime); + //缁熻褰撳墠鐢ㄦ埛鐨勮緟鍔╁伐鏃� + List<AuxiliaryWorkingHoursDay> auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectListByIds(ids); + if (ObjectUtils.isNotEmpty(auxiliaryWorkingHoursDays)) { + for (AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay : auxiliaryWorkingHoursDays) { + sumApprovedWorkingHour += auxiliaryWorkingHoursDay.getNonproductiveTime(); + } + } + map.put("杈呭姪宸ユ椂姹囨��", sumApprovedWorkingHour); + return map; + } + + //瀵煎嚭 + @Override + public void exportWorkingHours(HttpServletResponse response) throws IOException { + List<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtos = null; + List<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtos = null; + List<Integer> ids = null; + //鍒ゆ柇鏄粍闀胯繕鏄粍鍛樿繕鏄鐞嗗憳 + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryOutputWorkingHours"); + User user = userMapper.selectById(map1.get("userId")); + Integer roleId = user.getRoleId(); + Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "leader")); + if (ObjectUtils.isEmpty(power)) { + //涓嶆槸缁勯暱 + if (map1.get("look") == 1) { + //鏄粍鍛� + ids.add(map1.get("userId")); + } else { + //绠$悊鍛�(涓嶆坊鍔犻檺鍒舵潯浠舵墍鏈変汉閮藉彲浠ョ湅) + } + } else { + //鏄粍闀� + //鏌ヨ缁勯暱涓嬬殑缁勫憳 + List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getDepartLimsId, user.getDepartLimsId())); + if (ObjectUtils.isNotEmpty(users)) { + ids = users.stream().map(User::getId).distinct().collect(Collectors.toList()); + } + } + + //鏌ヨ杈呭姪宸ユ椂 + auxiliaryWorkingHoursDayDtos = auxiliaryWorkingHoursDayMapper.selectDataByUser(ids); +// if (auxiliaryWorkingHoursDayDtos == null || auxiliaryWorkingHoursDayDtos.size() == 0) { +// throw new RuntimeException("鏆傛棤鏁版嵁"); +// } + //鏌ヨ缁熻宸ユ椂 + auxiliaryOutputWorkingHoursDtos = auxiliaryOutputWorkingHoursMapper.selectDataByUser(ids); +// if (auxiliaryOutputWorkingHoursDtos == null || auxiliaryOutputWorkingHoursDtos.size() == 0) { +// throw new RuntimeException("鏆傛棤鏁版嵁"); +// } + 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(AuxiliaryWorkingHoursDayDto.class).build(); + excelWriter.write(auxiliaryWorkingHoursDayDtos, mainSheet); + + WriteSheet mainSheet1 = EasyExcel.writerSheet(1, "浜ч噺宸ユ椂瀵煎嚭").head(AuxiliaryOutputWorkingHoursDto.class).build(); + excelWriter.write(auxiliaryOutputWorkingHoursDtos, mainSheet1); + // 鍏抽棴娴� + excelWriter.finish(); + } catch (IOException e) { + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } } diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java index 4255b7c..954addc 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java +++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java @@ -5,15 +5,10 @@ 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.AuxiliaryWorkingHoursDayDto; import com.yuanchu.mom.exception.ErrorException; -import com.yuanchu.mom.mapper.AuxiliaryWorkingHoursMapper; -import com.yuanchu.mom.mapper.PerformanceShiftMapper; -import com.yuanchu.mom.mapper.UserMapper; -import com.yuanchu.mom.pojo.AuxiliaryWorkingHours; -import com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay; -import com.yuanchu.mom.mapper.AuxiliaryWorkingHoursDayMapper; -import com.yuanchu.mom.pojo.PerformanceShift; -import com.yuanchu.mom.pojo.User; +import com.yuanchu.mom.mapper.*; +import com.yuanchu.mom.pojo.*; import com.yuanchu.mom.service.AuxiliaryWorkingHoursDayService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.mom.utils.MyUtil; @@ -24,7 +19,9 @@ import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * <p> @@ -50,13 +47,59 @@ UserMapper userMapper; @Resource + RoleMapper roleMapper; + + @Resource + PowerMapper powerMapper; + + @Resource PerformanceShiftMapper performanceShiftMapper; @Override - public Map<String, Object> selectAuxiliaryWorkingHoursDay(Page page, AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) { - Map<String, Object> map = new HashMap<>(); - map.put("head", PrintChina.printChina(AuxiliaryWorkingHoursDay.class)); - map.put("body", auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDay))); + public Map<String, Object> selectAuxiliaryWorkingHoursDay(Page page, AuxiliaryWorkingHoursDayDto auxiliaryWorkingHoursDayDto) { + String dates = auxiliaryWorkingHoursDayDto.getDateTime(); + String week = auxiliaryWorkingHoursDayDto.getWeek(); + auxiliaryWorkingHoursDayDto.setDateTime(null); + auxiliaryWorkingHoursDayDto.setWeek(null); + Map<String, Object> map = new HashMap<>(); + List<Integer> ids = null; + map.put("head", PrintChina.printChina(AuxiliaryWorkingHoursDayDto.class)); + //鍒ゆ柇缁勯暱,缁勫憳,绠$悊鍛樻潈闄� + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryWorkingHoursDay"); + User user = userMapper.selectById(map1.get("userId")); + Integer roleId = user.getRoleId(); + Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "leader")); + if (ObjectUtils.isEmpty(power)) { + //涓嶆槸缁勯暱 + if (map1.get("look") == 1) { + //鏄粍鍛� + auxiliaryWorkingHoursDayDto.setNameUser(map1.get("userId")); + } else { + //绠$悊鍛�(涓嶆坊鍔犻檺鍒舵潯浠舵墍鏈変汉閮藉彲浠ョ湅) + } + } else { + //鏄粍闀� + //鏌ヨ缁勫憳 + List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getDepartLimsId, user.getDepartLimsId())); + if (ObjectUtils.isNotEmpty(users)) { + ids = users.stream().map(User::getId).distinct().collect(Collectors.toList()); + } + } + if (ObjectUtils.isNotEmpty(dates)) { + String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); + if (ObjectUtils.isNotEmpty(week)) { + String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); + map.put("body", auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, + QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto) + .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59") + .ge("week", weeks[0]).le("week", weeks[1] ), ids)); + } else { + map.put("body", auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto).ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids)); + } + } + else { + map.put("body", auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto), ids)); + } return map; } @@ -77,8 +120,7 @@ @Override public int insertAuxiliaryWorkingHoursDay(AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) { Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); - User user = userMapper.selectById(userId); - auxiliaryWorkingHoursDay.setName(user.getName());//濮撳悕 + auxiliaryWorkingHoursDay.setNameUser(userId);//濮撳悕id auxiliaryWorkingHoursDay.setState("宸叉彁浜�"); return auxiliaryWorkingHoursDayMapper.insert(auxiliaryWorkingHoursDay); } @@ -87,9 +129,6 @@ @Override public int checkOrApprove(Integer id, String state) { AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay = auxiliaryWorkingHoursDayMapper.selectById(id); - if (auxiliaryWorkingHoursDay.getState().equals("宸叉壒鍑�") && state.equals("宸插鏍�")) { - throw new RuntimeException("璇ユ暟鎹凡缁忔壒鍑嗘棤闇�瀹℃牳!"); - } auxiliaryWorkingHoursDay.setState(state); return auxiliaryWorkingHoursDayMapper.updateById(auxiliaryWorkingHoursDay); } @@ -101,8 +140,7 @@ throw new RuntimeException("璇ユ暟鎹凡缁忔壒鍑嗘垨宸插鏍�,鏃犳硶杩涜缂栬緫!"); } Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); - User user = userMapper.selectById(userId); - auxiliaryWorkingHoursDay.setName(user.getName());//濮撳悕 + auxiliaryWorkingHoursDay.setNameUser(userId);//濮撳悕id return auxiliaryWorkingHoursDayMapper.updateById(auxiliaryWorkingHoursDay); } @@ -117,8 +155,8 @@ public String selectshiftByUser(LocalDateTime dateTime) { Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); PerformanceShift performanceShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery().eq(PerformanceShift::getUserId, userId).eq(PerformanceShift::getWorkTime, dateTime)); - if (ObjectUtils.isEmpty(performanceShift)){ - throw new RuntimeException("娌℃湁鏌ュ埌褰撳墠鐢ㄦ埛閫夋嫨鏃ユ湡鐨勫綋鐝彮娆′俊鎭�!!"); + if (ObjectUtils.isEmpty(performanceShift)) { + return null; } return performanceShift.getShift(); } 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 a1c54b1..43ae551 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,14 +2,22 @@ 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; public class StyleYearUtils { /** * 鏍囬鏍峰紡 + * * @return */ - public static WriteCellStyle getHeadStyle(){ + public static WriteCellStyle getHeadStyle() { // 澶寸殑绛栫暐 WriteCellStyle headWriteCellStyle = new WriteCellStyle(); // 鑳屾櫙棰滆壊 @@ -19,7 +27,7 @@ // 瀛椾綋 WriteFont headWriteFont = new WriteFont(); headWriteFont.setFontName("浠垮畫");//璁剧疆瀛椾綋鍚嶅瓧 - headWriteFont.setFontHeightInPoints((short)9);//璁剧疆瀛椾綋澶у皬 + headWriteFont.setFontHeightInPoints((short) 9);//璁剧疆瀛椾綋澶у皬 headWriteFont.setBold(true);//瀛椾綋鍔犵矖 headWriteFont.setColor((short) 1); headWriteCellStyle.setWriteFont(headWriteFont); //鍦ㄦ牱寮忕敤搴旂敤璁剧疆鐨勫瓧浣�; @@ -46,9 +54,10 @@ /** * 鍐呭鏍峰紡 + * * @return */ - public static WriteCellStyle getContentStyle(){ + public static WriteCellStyle getContentStyle() { // 鍐呭鐨勭瓥鐣� WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); @@ -80,4 +89,10 @@ return contentWriteCellStyle; } + + public static void main(String[] args) { + + String a="[\"GB/T 15972.20-2021\",\"IEC 60793-1-20:2014\"]"; + System.out.println(a.contains("GB/T 15972.20-2021")); + } } diff --git a/performance-server/src/main/resources/mapper/AuxiliaryCorrectionHoursMapper.xml b/performance-server/src/main/resources/mapper/AuxiliaryCorrectionHoursMapper.xml new file mode 100644 index 0000000..b2f074a --- /dev/null +++ b/performance-server/src/main/resources/mapper/AuxiliaryCorrectionHoursMapper.xml @@ -0,0 +1,64 @@ +<?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.AuxiliaryCorrectionHoursMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.AuxiliaryCorrectionHours"> + <id column="id" property="id" /> + <result column="name_user" property="nameUser" /> + <result column="type" property="type" /> + <result column="one_hours" property="oneHours" /> + <result column="two_hours" property="twoHours" /> + <result column="three_hours" property="threeHours" /> + <result column="four_hours" property="fourHours" /> + <result column="five_hours" property="fiveHours" /> + <result column="six_hours" property="sixHours" /> + <result column="seven_hours" property="sevenHours" /> + <result column="eight_hours" property="eightHours" /> + <result column="nine_hours" property="nineHours" /> + <result column="ten_hours" property="tenHours" /> + <result column="eleven_hours" property="elevenHours" /> + <result column="twelve_hours" property="twelveHours" /> + <result column="thirteen_hours" property="thirteenHours" /> + <result column="fourteen_hours" property="fourteenHours" /> + <result column="fifteen_hours" property="fifteenHours" /> + <result column="sixteen_hours" property="sixteenHours" /> + <result column="seventeen_hours" property="seventeenHours" /> + <result column="eighteen_hours" property="eighteenHours" /> + <result column="nineteen_hours" property="nineteenHours" /> + <result column="twenty_hours" property="twentyHours" /> + <result column="twenty_one_hours" property="twentyOneHours" /> + <result column="twenty_two_hours" property="twentyTwoHours" /> + <result column="twenty_three_hours" property="twentyThreeHours" /> + <result column="twenty_four_hours" property="twentyFourHours" /> + <result column="twenty_five_hours" property="twentyFiveHours" /> + <result column="twenty_six_hours" property="twentySixHours" /> + <result column="twenty_seven_hours" property="twentySevenHours" /> + <result column="twenty_eight_hours" property="twentyEightHours" /> + <result column="twenty_nine_hours" property="twentyNineHours" /> + <result column="thirty_hours" property="thirtyHours" /> + <result column="thirty_one_hours" property="thirtyOneHours" /> + <result column="month" property="month" /> + <result column="create_time" property="createTime" /> + <result column="update_time" property="updateTime" /> + <result column="create_user" property="createUser" /> + <result column="update_user" property="updateUser" /> + </resultMap> + <select id="selectAuxiliaryCorrectionHours" resultType="com.yuanchu.mom.dto.AuxiliaryCorrectionHoursDto"> + select data.* + from ( + select ach.*,name + FROM auxiliary_correction_hours ach + left join user on user.id=ach.name_user + <if test="ids !=null and ids != ''"> + WHERE name_user in + <foreach collection="ids" index="index" open="(" separator="," close=")" item="val"> + #{val} + </foreach> + </if> + ) data + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> +</mapper> diff --git a/performance-server/src/main/resources/mapper/AuxiliaryOriginalHoursMapper.xml b/performance-server/src/main/resources/mapper/AuxiliaryOriginalHoursMapper.xml new file mode 100644 index 0000000..04473fe --- /dev/null +++ b/performance-server/src/main/resources/mapper/AuxiliaryOriginalHoursMapper.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.AuxiliaryOriginalHoursMapper"> +</mapper> \ No newline at end of file diff --git a/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml b/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml index 7c882fc..0117578 100644 --- a/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml +++ b/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml @@ -1,35 +1,105 @@ <?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.AuxiliaryOutputWorkingHoursMapper"> - <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours"> - <id column="id" property="id" /> - <result column="inspect_project" property="inspectProject" /> - <result column="overtime_order_no" property="overtimeOrderNo" /> - <result column="overtime_work_time" property="overtimeWorkTime" /> - <result column="overtime_amount" property="overtimeAmount" /> - <result column="order_no" property="orderNo" /> - <result column="work_time" property="workTime" /> - <result column="amount" property="amount" /> - <result column="output_work_time" property="outputWorkTime" /> - <result column="date_time" property="dateTime" /> - <result column="week" property="week" /> - <result column="week_day" property="weekDay" /> - <result column="check" property="check" /> - <result column="create_time" property="createTime" /> - <result column="update_time" property="updateTime" /> - <result column="create_user" property="createUser" /> - <result column="update_user" property="updateUser" /> + <id column="id" property="id"/> + <result column="inspect_project" property="inspectProject"/> + <result column="overtime_order_no" property="overtimeOrderNo"/> + <result column="overtime_work_time" property="overtimeWorkTime"/> + <result column="overtime_amount" property="overtimeAmount"/> + <result column="order_no" property="orderNo"/> + <result column="work_time" property="workTime"/> + <result column="amount" property="amount"/> + <result column="output_work_time" property="outputWorkTime"/> + <result column="date_time" property="dateTime"/> + <result column="week" property="week"/> + <result column="week_day" property="weekDay"/> + <result column="check" property="check"/> + <result column="create_time" property="createTime"/> + <result column="update_time" property="updateTime"/> + <result column="create_user" property="createUser"/> + <result column="update_user" property="updateUser"/> </resultMap> - <select id="selectAuxiliaryOutputWorkingHours" resultType="com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours"> - select data.* - from ( + <select id="selectAuxiliaryOutputWorkingHours" resultType="com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto"> select * - FROM auxiliary_output_working_hours + from ( + select aowh.id, + inspect_project, + overtime_order_no, + overtime_work_time, + overtime_amount, + order_no, + work_time, + amount, + output_work_time, + date_time, + week, + week_day, + name + FROM auxiliary_output_working_hours aowh + left join user on user.id=aowh.`check` + <if test="ids !=null and ids != ''"> + WHERE `check` in + <foreach collection="ids" index="index" open="(" separator="," close=")" item="val"> + #{val} + </foreach> + </if> ) data <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> </select> + <select id="selectDataByUser" resultType="com.yuanchu.mom.dto.AuxiliaryOutputWorkingHoursDto"> + select aowh.*,name + FROM auxiliary_output_working_hours aowh + left join user on user.id=aowh.`check` + <if test="ids !=null and ids != ''"> + WHERE `check` in + <foreach collection="ids" index="index" open="(" separator="," close=")" item="val"> + #{val} + </foreach> + </if> + </select> + <select id="totalHours" resultType="java.util.Map"> + select A.name, + A.month, + A.output_work_time + from( + select user.name, + user.id, + depart_lims_id, + output_work_time, + date_time as month + from auxiliary_output_working_hours aowh + left join user on user.id=aowh.`check` + left join department_lims dl on depart_lims_id=dl.id + where date_time between #{startTime} and #{endTime} + <if test="ids !=null and ids != ''"> + and `check` in + <foreach collection="ids" index="index" open="(" separator="," close=")" item="val"> + #{val} + </foreach> + </if> + order by date_time + )A + where 1=1 + <if test="userId !=null and userId != ''"> + and A.user_id=#{userId} + </if> + <if test="departId !=null and departId != ''"> + and A.depart_lims_id=#{departId} + </if> + group by A.name,A.month + </select> + <select id="selectListByIds" resultType="com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours"> + select * from auxiliary_output_working_hours + where 1=1 + <if test="ids !=null and ids != ''"> + and `check` in + <foreach collection="ids" index="index" open="(" separator="," close=")" item="val"> + #{val} + </foreach> + </if> + </select> </mapper> diff --git a/performance-server/src/main/resources/mapper/AuxiliaryWorkingHoursDayMapper.xml b/performance-server/src/main/resources/mapper/AuxiliaryWorkingHoursDayMapper.xml index 0fedc4f..cbcc3a6 100644 --- a/performance-server/src/main/resources/mapper/AuxiliaryWorkingHoursDayMapper.xml +++ b/performance-server/src/main/resources/mapper/AuxiliaryWorkingHoursDayMapper.xml @@ -4,7 +4,7 @@ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay"> <id column="id" property="id"/> - <result column="name" property="name"/> + <result column="nameUser" property="nameUser"/> <result column="number" property="number"/> <result column="auxiliary_project" property="auxiliaryProject"/> <result column="approved_working_hour" property="approvedWorkingHour"/> @@ -25,14 +25,42 @@ <result column="update_user" property="updateUser"/> <result column="state" property="state"/> </resultMap> - <select id="selectAuxiliaryWorkingHoursDay" resultType="com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay"> + <select id="selectAuxiliaryWorkingHoursDay" resultType="com.yuanchu.mom.dto.AuxiliaryWorkingHoursDayDto"> select data.* from ( - select * - FROM auxiliary_working_hours_day + select awhd.*,name + FROM auxiliary_working_hours_day awhd + left join user on name_user=user.id + <if test="ids !=null and ids != ''"> + WHERE name_user in + <foreach collection="ids" index="index" open="(" separator="," close=")" item="val"> + #{val} + </foreach> + </if> ) data <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> </select> + <select id="selectDataByUser" resultType="com.yuanchu.mom.dto.AuxiliaryWorkingHoursDayDto"> + select awhd.*,name + FROM auxiliary_working_hours_day awhd + left join user on name_user=user.id + <if test="ids !=null and ids != ''"> + WHERE name_user in + <foreach collection="ids" index="index" open="(" separator="," close=")" item="val"> + #{val} + </foreach> + </if> + </select> + <select id="selectListByIds" resultType="com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay"> + select * from auxiliary_working_hours_day + where 1=1 + <if test="ids !=null and ids != ''"> + and name_user in + <foreach collection="ids" index="index" open="(" separator="," close=")" item="val"> + #{val} + </foreach> + </if> + </select> </mapper> -- Gitblit v1.9.3