From 16d63c3d68d131ad0cc4a8bd9f22a0c0515aa6bf Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期三, 17 七月 2024 18:23:57 +0800 Subject: [PATCH] 工时的各需求+检验任务修改 --- inspect-server/src/main/resources/mapper/InsSampleMapper.xml | 3 performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryWorkingHoursDayMapper.java | 1 performance-server/src/main/java/com/yuanchu/mom/service/AuxiliaryOutputWorkingHoursService.java | 2 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsFiber.java | 3 performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryOriginalHoursDto.java | 11 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 35 ++ inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java | 19 + performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java | 56 ++- performance-server/src/main/resources/mapper/AuxiliaryOriginalHoursMapper.xml | 4 performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml | 58 ++- performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java | 533 ++++++++++++++++++---------------- performance-server/src/main/resources/mapper/AuxiliaryCorrectionHoursMapper.xml | 8 inspect-server/src/main/resources/mapper/InsOrderMapper.xml | 78 +++-- performance-server/src/main/resources/mapper/AuxiliaryWorkingHoursDayMapper.xml | 20 + performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java | 5 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsFibers.java | 4 performance-server/src/main/java/com/yuanchu/mom/pojo/AuxiliaryOutputWorkingHours.java | 16 performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryCorrectionHoursDto.java | 4 performance-server/src/main/java/com/yuanchu/mom/mapper/AuxiliaryOutputWorkingHoursMapper.java | 2 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java | 4 20 files changed, 532 insertions(+), 334 deletions(-) diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java index 4167ff4..25fb187 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java @@ -24,7 +24,7 @@ public interface InsOrderMapper extends BaseMapper<InsOrder> { //鑾峰彇妫�楠屼笅鍗曟暟鎹� - IPage<SampleOrderDto> selectInsOrderPage(IPage<InsOrder> page, QueryWrapper<SampleOrderDto> ew); + IPage<SampleOrderDto> selectInsOrderPage(IPage<InsOrder> page, @Param("ew") QueryWrapper<SampleOrderDto> ew, @Param("laboratory") String laboratory); //淇敼妫�楠屼笅鍗曟暟鎹� int upInsOrderParameter(InsOrder itemParameter); @@ -51,4 +51,6 @@ String selLaboratoryCode(String laboratory); List<Map<Integer, Object>> selectReportModelByOrderId(@Param("id") Integer id, @Param("laboratory") String laboratory); + + String seldepLimsId(int depLimsId); } \ No newline at end of file diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsFiber.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsFiber.java index 54f6435..e3af79f 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsFiber.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsFiber.java @@ -61,4 +61,7 @@ @ApiModelProperty("鍏宠仈 鍏夌氦甯﹁〃id") private Integer insFibersId; + + @TableField(exist = false,select = false) + private Integer state; } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsFibers.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsFibers.java index c750145..99cf9c4 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsFibers.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsFibers.java @@ -58,4 +58,8 @@ @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; + + @TableField(exist = false,select = false) + private Integer state; + } 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 3904f84..6bf6f97 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 @@ -283,13 +283,40 @@ //鍐嶆煡璇㈠嚭鎵�鏈夌殑鍏夌氦甯� List<InsFibers> insFibers = insFibersMapper.selectList(Wrappers.<InsFibers>lambdaQuery().eq(InsFibers::getInsBushingId, insBushing.getId())); if (CollectionUtils.isNotEmpty(insFibers)) { + for (InsFibers insFiber : insFibers) { + List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsFibersId, insFiber.getId())); + List<Integer> collect = insProducts.stream().map(InsProduct::getInsResult).filter(sm -> ObjectUtils.isNotEmpty(sm)).collect(Collectors.toList()); + if (insProducts.size()==collect.size()) { + insFiber.setState(1);//宸叉楠� + }else { + insFiber.setState(0);//鏈楠� + } + } fibers.addAll(insFibers); //鏌ュ嚭鍏夌氦甯︿笅鎵�鏈夌殑鍏夌氦 List<InsFiber> fiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().in(InsFiber::getInsFibersId, insFibers.stream().map(InsFibers::getId).collect(Collectors.toList()))); + for (InsFiber insFiber : fiberList) { + List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsFiberId, insFiber.getId())); + List<Integer> collect = insProducts.stream().map(InsProduct::getInsResult).filter(sm -> ObjectUtils.isNotEmpty(sm)).collect(Collectors.toList()); + if (insProducts.size()==collect.size()) { + insFiber.setState(1);//宸叉楠� + }else { + insFiber.setState(0);//鏈楠� + } + } fiber.addAll(fiberList); } else { //濡傛灉濂楃涓嬫病鏈夊厜绾ゅ甫灏卞彧鏈夊厜绾や簡 List<InsFiber> insFiberList = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsBushingId, insBushing.getId())); + for (InsFiber insFiber : insFiberList) { + List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getInsFiberId, insFiber.getId())); + List<Integer> collect = insProducts.stream().map(InsProduct::getInsResult).filter(sm -> ObjectUtils.isNotEmpty(sm)).collect(Collectors.toList()); + if (insProducts.size()==collect.size()) { + insFiber.setState(1);//宸叉楠� + }else { + insFiber.setState(0);//鏈楠� + } + } fiber.addAll(insFiberList); } } @@ -362,6 +389,7 @@ } } } + productVos = productVos.stream().sorted(Comparator.comparing(productVo -> productVo.getInsProduct().getInspectionItemClass())).collect(Collectors.toList()); } else { //鐢靛姏--鐑惊鐜� @@ -485,12 +513,15 @@ //鏍¢獙濡傛灉杩欎釜浜鸿繖涓娴嬮」鐩凡缁忔坊鍔犺繃浜嗗垯涓嶉渶瑕佸啀鏂板 Long count = auxiliaryOutputWorkingHoursMapper.selectCount(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery() .eq(AuxiliaryOutputWorkingHours::getCheck, userId) - .eq(AuxiliaryOutputWorkingHours::getInspectProject, insProduct.getInspectionItemSubclass() + insProduct.getInspectionItem()) + .eq(AuxiliaryOutputWorkingHours::getInspectionItem, insProduct.getInspectionItem()) + .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, insProduct.getInspectionItemSubclass()) .eq(AuxiliaryOutputWorkingHours::getOrderNo, insOrder.getEntrustCode())); if (count == 0 && ObjectUtils.isNotEmpty(insProduct.getManHour())) { //娣诲姞姣忎釜浜虹殑浜ч噺宸ユ椂 AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours(); - auxiliaryOutputWorkingHours.setInspectProject(insProduct.getInspectionItemSubclass() + insProduct.getInspectionItem());//妫�娴嬮」鐩� + auxiliaryOutputWorkingHours.setInspectionItem(insProduct.getInspectionItem());//妫�娴嬬埗椤� + auxiliaryOutputWorkingHours.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());//妫�娴嬪瓙椤� + auxiliaryOutputWorkingHours.setSample(insSampleMapper.selectById(insProduct.getInsSampleId()).getSampleCode());//鏍峰搧缂栧彿 auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//闈炲姞鐝鎵樺崟鍙� auxiliaryOutputWorkingHours.setWorkTime(insProduct.getManHour());//闈炲姞鐝伐鏃� auxiliaryOutputWorkingHours.setAmount(1);//闈炲姞鐝暟閲� 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 a67a306..d2e26d5 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 @@ -73,10 +73,23 @@ //鑾峰彇妫�楠屼笅鍗曟暟鎹� @Override public Map<String, Object> selectInsOrderParameter(IPage<InsOrder> page, SampleOrderDto sampleOrderDto) { + Map<String, Object> map = new HashMap<>(); + map.put("head", PrintChina.printChina(SampleOrderDto.class)); //鍒ゆ柇鍏ㄩ儴,涓汉,缁勭粐鐨勬潈闄� Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectInsOrderParameter"); - User user = userMapper.selectById(map1.get("userId")); + User user = userMapper.selectById(map1.get("userId"));//褰撳墠鐧诲綍鐨勪汉 Integer roleId = user.getRoleId(); + //鑾峰彇褰撳墠浜烘墍灞炲疄楠屽id + String departLimsId = user.getDepartLimsId(); + String laboratory=null; + if (ObjectUtils.isNotEmpty(departLimsId) && !departLimsId.equals("")){ + String[] split = departLimsId.split(","); + //鏌ヨ瀵瑰簲鏋舵瀯鍚嶇О(閫氫俊瀹為獙瀹�,鐢靛姏瀹為獙瀹�,妫�娴嬪姙) + String departLims=baseMapper.seldepLimsId(Integer.parseInt(split[split.length - 1])); + if (departLims.contains("瀹為獙瀹�")){ + laboratory=departLims; + } + } //鍒ゆ柇鏄惁鏄叏閮ㄦ潈闄� Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "selectAllInsOrder")); if (ObjectUtils.isEmpty(power)) { @@ -92,9 +105,7 @@ } } } - Map<String, Object> map = new HashMap<>(); - map.put("head", PrintChina.printChina(SampleOrderDto.class)); - map.put("body", insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto))); + map.put("body", insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto),laboratory)); return map; } diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml index 853eb28..a0b49ae 100644 --- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml +++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml @@ -56,6 +56,42 @@ <association property="children" resultMap="SampleDefectsChildrenMap" javaType="java.util.List"/> </resultMap> + <select id="selectInsOrderPage" resultType="com.yuanchu.mom.dto.SampleOrderDto"> + select * + from ( + SELECT + io.*, + ir.id report_id, + ir.url, + ir.url_s, + (select count(*) from ins_sample isa2 + where isa2.ins_order_id = io.id and isa2.sample_code NOT REGEXP '/') sample_num, + concat(ROUND((select count(*) from ins_product ip + where state = 1 and ins_result is not null and ip.ins_sample_id in (select id from ins_sample where + ins_sample.ins_order_id= io.id )) / (select count(*) from ins_product ip2 + where state = 1 and ip2.ins_sample_id in (select id from ins_sample where ins_sample.ins_order_id= io.id )) * + 100, 2), '%') insProgress, + group_concat(distinct isa.sample_code,' ') sample_code, + group_concat(distinct isa.sample,' ') sample_name, + group_concat(distinct isa.model,' ') sample_model, + u.name + FROM + ins_order io + LEFT JOIN ins_sample isa ON io.id = isa.ins_order_id + LEFT JOIN ( SELECT id, ins_order_id, is_ratify, url,url_s FROM ins_report WHERE is_ratify = 1 ) ir ON io.id = + ir.ins_order_id + left join user u on io.create_user = u.id + where 1=1 + <if test="laboratory!=null and laboratory!=''"> + and io.laboratory=#{laboratory} + </if> + GROUP BY + io.id + ) a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> <resultMap id="SampleDefectsChildrenMap" type="com.yuanchu.mom.vo.SampleDefectsChildrenVo"> <result column="entrust_code" property="entrust_code"/> <result column="inspection_item" property="inspection_item"/> @@ -82,38 +118,6 @@ create_time, state from ins_order - ) a - <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> - ${ew.customSqlSegment} - </if> - </select> - <select id="selectInsOrderPage" resultType="com.yuanchu.mom.dto.SampleOrderDto"> - select * - from ( - SELECT - io.*, - ir.id report_id, - ir.url, - ir.url_s, - (select count(*) from ins_sample isa2 - where isa2.ins_order_id = io.id and isa2.sample_code NOT REGEXP '/') sample_num, - concat(ROUND((select count(*) from ins_product ip - where state = 1 and ins_result is not null and ip.ins_sample_id in (select id from ins_sample where - ins_sample.ins_order_id= io.id )) / (select count(*) from ins_product ip2 - where state = 1 and ip2.ins_sample_id in (select id from ins_sample where ins_sample.ins_order_id= io.id )) * - 100, 2), '%') insProgress, - group_concat(distinct isa.sample_code,' ') sample_code, - group_concat(distinct isa.sample,' ') sample_name, - group_concat(distinct isa.model,' ') sample_model, - u.name - FROM - ins_order io - LEFT JOIN ins_sample isa ON io.id = isa.ins_order_id - LEFT JOIN ( SELECT id, ins_order_id, is_ratify, url,url_s FROM ins_report WHERE is_ratify = 1 ) ir ON io.id = - ir.ins_order_id - left join user u on io.create_user = u.id - GROUP BY - io.id ) a <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} @@ -233,7 +237,9 @@ </where> </update> <update id="updateStatus"> - update ins_order set state=3 where id=#{id} + update ins_order + set state=3 + where id = #{id} </update> <select id="selectSampleDefects" resultMap="selectSampleDefectsMap"> @@ -332,4 +338,10 @@ ${ew.customSqlSegment} </if> </select> + + <select id="seldepLimsId" resultType="java.lang.String"> + select name + from department_lims + where id = #{depLimsId} + </select> </mapper> diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml index f6c177f..e822231 100644 --- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml +++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml @@ -254,7 +254,7 @@ method, man_day, bsm, - ask, + tell as ask, `last_value`, ip.ins_result ip_ins_result, state, @@ -272,6 +272,7 @@ left join ins_product ip on isa.id = ip.ins_sample_id left join ins_product_result ipr on ip.id = ipr.ins_product_id where ins_order_id = #{id} + and template_id is not null and state = 1 </select> 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 c558ea3..64b980f 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 @@ -49,8 +49,9 @@ @ValueClassify("宸ユ椂绠$悊") @ApiOperation(value = "缁熻浜ч噺宸ユ椂姹囨�诲拰杈呭姪宸ユ椂姹囨��") @PostMapping("/collectWorkingHours") - public Result collectWorkingHours(){ - return Result.success(auxiliaryOutputWorkingHoursService.collectWorkingHours()); + public Result collectWorkingHours(@RequestBody Map<String, Object> data)throws Exception{ + AuxiliaryOutputWorkingHoursDto entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryOutputWorkingHoursDto.class); + return Result.success(auxiliaryOutputWorkingHoursService.collectWorkingHours(entity)); } 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 index 4cc3b62..0e6bdb7 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryCorrectionHoursDto.java +++ b/performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryCorrectionHoursDto.java @@ -16,4 +16,8 @@ @ApiModelProperty("閮ㄩ棬") private String departLims; + + @ApiModelProperty("鎬诲伐鏃�") + @ValueTableShow(35) + private Double total; } 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 index 04702b3..740adfa 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryOriginalHoursDto.java +++ b/performance-server/src/main/java/com/yuanchu/mom/dto/AuxiliaryOriginalHoursDto.java @@ -3,9 +3,11 @@ import com.alibaba.excel.annotation.ExcelIgnore; 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; +import java.text.DecimalFormat; import java.time.LocalDateTime; @Data @@ -15,6 +17,9 @@ @ValueTableShow(2) @ExcelProperty(value = "濮撳悕") private String name; + + //淇宸ユ椂 + private AuxiliaryCorrectionHours auxiliaryCorrectionHours; @ApiModelProperty("绫诲瀷") @ValueTableShow(3) @@ -269,8 +274,14 @@ @ExcelIgnore private Integer thirtyOne; + @ApiModelProperty("鎬诲伐鏃�") + @ValueTableShow(34) + @ExcelProperty(value = "鎬诲伐鏃�") + private Double total; + @ApiModelProperty("鏈堜唤") @ValueTableShow(35) @ExcelProperty(value = "鏈堜唤") private String month; + } 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 d832a03..b94f040 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 @@ -34,4 +34,6 @@ List<AuxiliaryOutputWorkingHours> selectListByIds(@Param("ids") List<Integer> ids); + + List<AuxiliaryOutputWorkingHours> selectLists(@Param("ew") QueryWrapper<AuxiliaryOutputWorkingHours> ew, @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 20f688d..e6055c2 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 @@ -32,4 +32,5 @@ //鏌ヨ璇ユ湀鐨勮緟鍔╁伐鏃� List<Map<String, Object>> totalHours(@Param("month") String month, @Param("ids") List<Integer> ids); + List<AuxiliaryWorkingHoursDay> selectLists(@Param("ew") QueryWrapper<AuxiliaryWorkingHoursDay> ew, @Param("ids") List<Integer> ids); } 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 ffa4801..745d38b 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 @@ -32,10 +32,20 @@ @ExcelIgnore private Integer id; - @ApiModelProperty("妫�娴嬮」鐩�") - @ExcelProperty(value = "妫�娴嬮」鐩�") + @ApiModelProperty("妫�娴嬬埗椤�") + @ExcelProperty(value = "妫�娴嬬埗椤�") @ValueTableShow(2) - private String inspectProject; + private String inspectionItem; + + @ApiModelProperty("妫�娴嬪瓙椤�") + @ExcelProperty(value = "妫�娴嬪瓙椤�") + @ValueTableShow(2) + private String inspectionItemSubclass; + + @ApiModelProperty("鏍峰搧缂栧彿") + @ExcelProperty(value = "鏍峰搧缂栧彿") + @ValueTableShow(2) + private String sample; @ApiModelProperty("鍔犵彮濮旀墭鍗曞彿") @ExcelProperty(value = "鍔犵彮濮旀墭鍗曞彿") 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 4843e27..b157b59 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 @@ -26,7 +26,7 @@ * 缁熻浜ч噺宸ユ椂姹囨�诲拰杈呭姪宸ユ椂姹囨�� * @return */ - Map<String,Object> collectWorkingHours(); + Map<String,Object> collectWorkingHours(AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto); /** * 瀵煎嚭 diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java index 6b54651..2230285 100644 --- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java +++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java @@ -14,6 +14,7 @@ import com.yuanchu.mom.dto.*; import com.yuanchu.mom.mapper.*; import com.yuanchu.mom.pojo.AuxiliaryCorrectionHours; +import com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours; import com.yuanchu.mom.pojo.Power; import com.yuanchu.mom.pojo.User; import com.yuanchu.mom.service.AuxiliaryOriginalHoursService; @@ -24,6 +25,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.URLEncoder; +import java.text.DecimalFormat; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -58,7 +60,6 @@ public Map<String, Object> selectAuxiliaryOriginalHours(Page page, AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto) { Map<String, Object> map = new HashMap<>(); List<Integer> ids = new ArrayList<>(); - ; map.put("head", PrintChina.printChina(AuxiliaryCorrectionHoursDto.class)); //鍒ゆ柇缁勯暱,缁勫憳,绠$悊鍛樻潈闄� Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryOriginalHours"); @@ -102,8 +103,8 @@ ids.clear(); ids.add(userMapper.selectOne(Wrappers.<User>lambdaQuery().like(User::getName, name)).getId()); } - if (ids.size()==0){ - ids=null; + if (ids.size() == 0) { + ids = null; } IPage<AuxiliaryOriginalHoursDto> originalHoursDtoIPage = new Page<>(); originalHoursDtoIPage.setSize(page.getSize()); @@ -112,36 +113,25 @@ //浜ч噺宸ユ椂 List<Map<String, Object>> maps = auxiliaryOutputWorkingHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids); if (ObjectUtils.isNotEmpty(maps)) { - for (Map<String, Object> objectMap : maps) { - auxiliaryOriginalHoursDtos.add(getData(objectMap, "浜ч噺宸ユ椂")); - } - + auxiliaryOriginalHoursDtos.addAll(getData(maps, "浜ч噺宸ユ椂").values()); } //杈呭姪宸ユ椂 List<Map<String, Object>> maps1 = auxiliaryWorkingHoursDayMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids); if (ObjectUtils.isNotEmpty(maps1)) { - for (Map<String, Object> objectMap : maps1) { - auxiliaryOriginalHoursDtos.add(getData(objectMap, "杈呭姪宸ユ椂")); - } + auxiliaryOriginalHoursDtos.addAll(getData(maps1, "杈呭姪宸ユ椂").values()); } //鍔犵彮宸ユ椂 //鎬诲伐鏃� List<Map<String, Object>> maps2 = auxiliaryOriginalHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids); if (ObjectUtils.isNotEmpty(maps2)) { //浜ч噺宸ユ椂+杈呭姪宸ユ椂閮戒笉涓虹┖ - for (Map<String, Object> objectMap : maps2) { - auxiliaryOriginalHoursDtos.add(getData(objectMap, "鎬诲伐鏃�")); - } + auxiliaryOriginalHoursDtos.addAll(getData(maps2, "鎬诲伐鏃�").values()); } - //濡傛灉杓斿姪宸ユ椂涓嶄负绌� + //濡傛灉杈呭姪宸ユ椂涓嶄负绌� else if (ObjectUtils.isNotEmpty(maps1)) { - for (Map<String, Object> objectMap : maps1) { - auxiliaryOriginalHoursDtos.add(getData(objectMap, "鎬诲伐鏃�")); - } + auxiliaryOriginalHoursDtos.addAll(getData(maps1, "鎬诲伐鏃�").values()); } else if (ObjectUtils.isNotEmpty(maps)) { - for (Map<String, Object> objectMap : maps) { - auxiliaryOriginalHoursDtos.add(getData(objectMap, "鎬诲伐鏃�")); - } + auxiliaryOriginalHoursDtos.addAll(getData(maps, "鎬诲伐鏃�").values()); } originalHoursDtoIPage.setRecords(auxiliaryOriginalHoursDtos); map.put("body", originalHoursDtoIPage); @@ -185,266 +175,311 @@ } - private AuxiliaryOriginalHoursDto getData(Map<String, Object> objectMap, String type) { - AuxiliaryOriginalHoursDto auxiliaryOriginalHoursDto = new AuxiliaryOriginalHoursDto(); - auxiliaryOriginalHoursDto.setName(objectMap.get("name").toString());//濮撳悕 - auxiliaryOriginalHoursDto.setType(type); - auxiliaryOriginalHoursDto.setMonth(objectMap.get("month").toString().substring(0, 7));//鏈堜唤 - //鏌ヨ杩欎釜浜鸿繖涓湀鏄惁鏈変慨姝g殑浜ч噺宸ユ椂 - AuxiliaryCorrectionHours auxiliaryCorrectionHours = auxiliaryCorrectionHoursMapper.selectOne(Wrappers.<AuxiliaryCorrectionHours>lambdaQuery() - .eq(AuxiliaryCorrectionHours::getNameUser, userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getName, auxiliaryOriginalHoursDto.getName())).getId()) - .eq(AuxiliaryCorrectionHours::getType, auxiliaryOriginalHoursDto.getType()) - .eq(AuxiliaryCorrectionHours::getMonth, auxiliaryOriginalHoursDto.getMonth())); - switch (objectMap.get("month").toString().substring(8, 10)) { - case "01": - auxiliaryOriginalHoursDto.setOneHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getOneHours().compareTo(auxiliaryOriginalHoursDto.getOneHours()) != 0) { - auxiliaryOriginalHoursDto.setOne(1); + private Map<String, AuxiliaryOriginalHoursDto> getData(List<Map<String, Object>> objectMaps, String type) { + Map<String, AuxiliaryOriginalHoursDto> dtoMap = new HashMap<>(); + for (Map<String, Object> objectMap : objectMaps) { + String name = objectMap.get("name").toString(); + String month = objectMap.get("month").toString().substring(0, 7); + AuxiliaryOriginalHoursDto auxiliaryOriginalHoursDto = dtoMap.get(name); + if (auxiliaryOriginalHoursDto == null) { + auxiliaryOriginalHoursDto = new AuxiliaryOriginalHoursDto(); + auxiliaryOriginalHoursDto.setName(name); + auxiliaryOriginalHoursDto.setType(type); + auxiliaryOriginalHoursDto.setMonth(month); + // 鏌ヨ杩欎釜浜鸿繖涓湀鏄惁鏈変慨姝g殑浜ч噺宸ユ椂 + AuxiliaryCorrectionHours auxiliaryCorrectionHours = auxiliaryCorrectionHoursMapper.selectOne(Wrappers.<AuxiliaryCorrectionHours>lambdaQuery() + .eq(AuxiliaryCorrectionHours::getNameUser, userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getName, auxiliaryOriginalHoursDto.getName())).getId()) + .eq(AuxiliaryCorrectionHours::getType, auxiliaryOriginalHoursDto.getType()) + .eq(AuxiliaryCorrectionHours::getMonth, auxiliaryOriginalHoursDto.getMonth())); + auxiliaryOriginalHoursDto.setAuxiliaryCorrectionHours(auxiliaryCorrectionHours); + dtoMap.put(name, auxiliaryOriginalHoursDto); + } + AuxiliaryCorrectionHours auxiliaryCorrectionHours = auxiliaryOriginalHoursDto.getAuxiliaryCorrectionHours(); + switch (objectMap.get("month").toString().substring(8, 10)) { + case "01": + auxiliaryOriginalHoursDto.setOneHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getOneHours().compareTo(auxiliaryOriginalHoursDto.getOneHours()) != 0) { + auxiliaryOriginalHoursDto.setOne(1); + } } - } - break; - case "02": - auxiliaryOriginalHoursDto.setTwoHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getTwoHours().compareTo(auxiliaryOriginalHoursDto.getTwoHours()) != 0) { - auxiliaryOriginalHoursDto.setTwo(1); + break; + case "02": + auxiliaryOriginalHoursDto.setTwoHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getTwoHours().compareTo(auxiliaryOriginalHoursDto.getTwoHours()) != 0) { + auxiliaryOriginalHoursDto.setTwo(1); + } } - } - break; - case "03": - auxiliaryOriginalHoursDto.setThreeHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getThreeHours().compareTo(auxiliaryOriginalHoursDto.getThreeHours()) != 0) { - auxiliaryOriginalHoursDto.setThree(1); + break; + case "03": + auxiliaryOriginalHoursDto.setThreeHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getThreeHours().compareTo(auxiliaryOriginalHoursDto.getThreeHours()) != 0) { + auxiliaryOriginalHoursDto.setThree(1); + } } - } - break; - case "04": - auxiliaryOriginalHoursDto.setFourHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getFourHours().compareTo(auxiliaryOriginalHoursDto.getFourHours()) != 0) { - auxiliaryOriginalHoursDto.setFour(1); + break; + case "04": + auxiliaryOriginalHoursDto.setFourHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getFourHours().compareTo(auxiliaryOriginalHoursDto.getFourHours()) != 0) { + auxiliaryOriginalHoursDto.setFour(1); + } } - } - break; - case "05": - auxiliaryOriginalHoursDto.setFiveHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getFiveHours().compareTo(auxiliaryOriginalHoursDto.getFiveHours()) != 0) { - auxiliaryOriginalHoursDto.setFive(1); + break; + case "05": + auxiliaryOriginalHoursDto.setFiveHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getFiveHours().compareTo(auxiliaryOriginalHoursDto.getFiveHours()) != 0) { + auxiliaryOriginalHoursDto.setFive(1); + } } - } - break; - case "06": - auxiliaryOriginalHoursDto.setSixHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getSixHours().compareTo(auxiliaryOriginalHoursDto.getSixHours()) != 0) { - auxiliaryOriginalHoursDto.setSix(1); + break; + case "06": + auxiliaryOriginalHoursDto.setSixHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getSixHours().compareTo(auxiliaryOriginalHoursDto.getSixHours()) != 0) { + auxiliaryOriginalHoursDto.setSix(1); + } } - } - break; - case "07": - auxiliaryOriginalHoursDto.setSevenHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getSevenHours().compareTo(auxiliaryOriginalHoursDto.getSevenHours()) != 0) { - auxiliaryOriginalHoursDto.setSeven(1); + break; + case "07": + auxiliaryOriginalHoursDto.setSevenHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getSevenHours().compareTo(auxiliaryOriginalHoursDto.getSevenHours()) != 0) { + auxiliaryOriginalHoursDto.setSeven(1); + } } - } - break; - case "08": - auxiliaryOriginalHoursDto.setEightHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getEightHours().compareTo(auxiliaryOriginalHoursDto.getEightHours()) != 0) { - auxiliaryOriginalHoursDto.setEight(1); + break; + case "08": + auxiliaryOriginalHoursDto.setEightHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getEightHours().compareTo(auxiliaryOriginalHoursDto.getEightHours()) != 0) { + auxiliaryOriginalHoursDto.setEight(1); + } } - } - break; - case "09": - auxiliaryOriginalHoursDto.setNineHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getNineHours().compareTo(auxiliaryOriginalHoursDto.getNineHours()) != 0) { - auxiliaryOriginalHoursDto.setNine(1); + break; + case "09": + auxiliaryOriginalHoursDto.setNineHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getNineHours().compareTo(auxiliaryOriginalHoursDto.getNineHours()) != 0) { + auxiliaryOriginalHoursDto.setNine(1); + } } - } - break; - case "10": - auxiliaryOriginalHoursDto.setTenHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getTenHours().compareTo(auxiliaryOriginalHoursDto.getTenHours()) != 0) { - auxiliaryOriginalHoursDto.setTen(1); + break; + case "10": + auxiliaryOriginalHoursDto.setTenHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getTenHours().compareTo(auxiliaryOriginalHoursDto.getTenHours()) != 0) { + auxiliaryOriginalHoursDto.setTen(1); + } } - } - break; - case "11": - auxiliaryOriginalHoursDto.setElevenHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getElevenHours().compareTo(auxiliaryOriginalHoursDto.getElevenHours()) != 0) { - auxiliaryOriginalHoursDto.setEleven(1); + break; + case "11": + auxiliaryOriginalHoursDto.setElevenHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getElevenHours().compareTo(auxiliaryOriginalHoursDto.getElevenHours()) != 0) { + auxiliaryOriginalHoursDto.setEleven(1); + } } - } - break; - case "12": - auxiliaryOriginalHoursDto.setTwelveHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getTwelveHours().compareTo(auxiliaryOriginalHoursDto.getTwelveHours()) != 0) { - auxiliaryOriginalHoursDto.setTwelve(1); + break; + case "12": + auxiliaryOriginalHoursDto.setTwelveHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getTwelveHours().compareTo(auxiliaryOriginalHoursDto.getTwelveHours()) != 0) { + auxiliaryOriginalHoursDto.setTwelve(1); + } } - } - break; - case "13": - auxiliaryOriginalHoursDto.setThirteenHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getThirteenHours().compareTo(auxiliaryOriginalHoursDto.getThirteenHours()) != 0) { - auxiliaryOriginalHoursDto.setThirteen(1); + break; + case "13": + auxiliaryOriginalHoursDto.setThirteenHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getThirteenHours().compareTo(auxiliaryOriginalHoursDto.getThirteenHours()) != 0) { + auxiliaryOriginalHoursDto.setThirteen(1); + } } - } - break; - case "14": - auxiliaryOriginalHoursDto.setFourteenHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getFourteenHours().compareTo(auxiliaryOriginalHoursDto.getFourteenHours()) != 0) { - auxiliaryOriginalHoursDto.setFourteen(1); + break; + case "14": + auxiliaryOriginalHoursDto.setFourteenHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getFourteenHours().compareTo(auxiliaryOriginalHoursDto.getFourteenHours()) != 0) { + auxiliaryOriginalHoursDto.setFourteen(1); + } } - } - break; - case "15": - auxiliaryOriginalHoursDto.setFifteenHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getFifteenHours().compareTo(auxiliaryOriginalHoursDto.getFifteenHours()) != 0) { - auxiliaryOriginalHoursDto.setFifteen(1); + break; + case "15": + auxiliaryOriginalHoursDto.setFifteenHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getFifteenHours().compareTo(auxiliaryOriginalHoursDto.getFifteenHours()) != 0) { + auxiliaryOriginalHoursDto.setFifteen(1); + } } - } - break; - case "16": - auxiliaryOriginalHoursDto.setSixteenHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getSixteenHours().compareTo(auxiliaryOriginalHoursDto.getSixteenHours()) != 0) { - auxiliaryOriginalHoursDto.setSixteen(1); + break; + case "16": + auxiliaryOriginalHoursDto.setSixteenHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getSixteenHours().compareTo(auxiliaryOriginalHoursDto.getSixteenHours()) != 0) { + auxiliaryOriginalHoursDto.setSixteen(1); + } } - } - break; - case "17": - auxiliaryOriginalHoursDto.setSeventeenHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getSeventeenHours().compareTo(auxiliaryOriginalHoursDto.getSeventeenHours()) != 0) { - auxiliaryOriginalHoursDto.setSeventeen(1); + break; + case "17": + auxiliaryOriginalHoursDto.setSeventeenHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getSeventeenHours().compareTo(auxiliaryOriginalHoursDto.getSeventeenHours()) != 0) { + auxiliaryOriginalHoursDto.setSeventeen(1); + } } - } - break; - case "18": - auxiliaryOriginalHoursDto.setEighteenHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getEighteenHours().compareTo(auxiliaryOriginalHoursDto.getEighteenHours()) != 0) { - auxiliaryOriginalHoursDto.setEighteen(1); + break; + case "18": + auxiliaryOriginalHoursDto.setEighteenHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getEighteenHours().compareTo(auxiliaryOriginalHoursDto.getEighteenHours()) != 0) { + auxiliaryOriginalHoursDto.setEighteen(1); + } } - } - break; - case "19": - auxiliaryOriginalHoursDto.setNineteenHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getNineteenHours().compareTo(auxiliaryOriginalHoursDto.getNineteenHours()) != 0) { - auxiliaryOriginalHoursDto.setNineteen(1); + break; + case "19": + auxiliaryOriginalHoursDto.setNineteenHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getNineteenHours().compareTo(auxiliaryOriginalHoursDto.getNineteenHours()) != 0) { + auxiliaryOriginalHoursDto.setNineteen(1); + } } - } - break; - case "20": - auxiliaryOriginalHoursDto.setTwentyHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getTwentyHours().compareTo(auxiliaryOriginalHoursDto.getTwentyHours()) != 0) { - auxiliaryOriginalHoursDto.setTwenty(1); + break; + case "20": + auxiliaryOriginalHoursDto.setTwentyHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getTwentyHours().compareTo(auxiliaryOriginalHoursDto.getTwentyHours()) != 0) { + auxiliaryOriginalHoursDto.setTwenty(1); + } } - } - break; - case "21": - auxiliaryOriginalHoursDto.setTwentyOneHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getTwentyOneHours().compareTo(auxiliaryOriginalHoursDto.getTwentyOneHours()) != 0) { - auxiliaryOriginalHoursDto.setTwentyOne(1); + break; + case "21": + auxiliaryOriginalHoursDto.setTwentyOneHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getTwentyOneHours().compareTo(auxiliaryOriginalHoursDto.getTwentyOneHours()) != 0) { + auxiliaryOriginalHoursDto.setTwentyOne(1); + } } - } - break; - case "22": - auxiliaryOriginalHoursDto.setTwentyTwoHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getTwentyTwoHours().compareTo(auxiliaryOriginalHoursDto.getTwentyTwoHours()) != 0) { - auxiliaryOriginalHoursDto.setTwentyTwo(1); + break; + case "22": + auxiliaryOriginalHoursDto.setTwentyTwoHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getTwentyTwoHours().compareTo(auxiliaryOriginalHoursDto.getTwentyTwoHours()) != 0) { + auxiliaryOriginalHoursDto.setTwentyTwo(1); + } } - } - break; - case "23": - auxiliaryOriginalHoursDto.setTwentyThreeHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getTwentyThreeHours().compareTo(auxiliaryOriginalHoursDto.getTwentyThreeHours()) != 0) { - auxiliaryOriginalHoursDto.setTwentyThree(1); + break; + case "23": + auxiliaryOriginalHoursDto.setTwentyThreeHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getTwentyThreeHours().compareTo(auxiliaryOriginalHoursDto.getTwentyThreeHours()) != 0) { + auxiliaryOriginalHoursDto.setTwentyThree(1); + } } - } - break; - case "24": - auxiliaryOriginalHoursDto.setTwentyFourHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getTwentyFourHours().compareTo(auxiliaryOriginalHoursDto.getTwentyFourHours()) != 0) { - auxiliaryOriginalHoursDto.setTwentyFour(1); + break; + case "24": + auxiliaryOriginalHoursDto.setTwentyFourHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getTwentyFourHours().compareTo(auxiliaryOriginalHoursDto.getTwentyFourHours()) != 0) { + auxiliaryOriginalHoursDto.setTwentyFour(1); + } } - } - break; - case "25": - auxiliaryOriginalHoursDto.setTwentyFiveHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getTwentyFiveHours().compareTo(auxiliaryOriginalHoursDto.getTwentyFiveHours()) != 0) { - auxiliaryOriginalHoursDto.setTwentyFive(1); + break; + case "25": + auxiliaryOriginalHoursDto.setTwentyFiveHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getTwentyFiveHours().compareTo(auxiliaryOriginalHoursDto.getTwentyFiveHours()) != 0) { + auxiliaryOriginalHoursDto.setTwentyFive(1); + } } - } - break; - case "26": - auxiliaryOriginalHoursDto.setTwentySixHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getTwentySixHours().compareTo(auxiliaryOriginalHoursDto.getTwentySixHours()) != 0) { - auxiliaryOriginalHoursDto.setTwentySix(1); + break; + case "26": + auxiliaryOriginalHoursDto.setTwentySixHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getTwentySixHours().compareTo(auxiliaryOriginalHoursDto.getTwentySixHours()) != 0) { + auxiliaryOriginalHoursDto.setTwentySix(1); + } } - } - break; - case "27": - auxiliaryOriginalHoursDto.setTwentySevenHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getTwentySevenHours().compareTo(auxiliaryOriginalHoursDto.getTwentySevenHours()) != 0) { - auxiliaryOriginalHoursDto.setTwentySeven(1); + break; + case "27": + auxiliaryOriginalHoursDto.setTwentySevenHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getTwentySevenHours().compareTo(auxiliaryOriginalHoursDto.getTwentySevenHours()) != 0) { + auxiliaryOriginalHoursDto.setTwentySeven(1); + } } - } - break; - case "28": - auxiliaryOriginalHoursDto.setTwentyEightHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getTwentyEightHours().compareTo(auxiliaryOriginalHoursDto.getTwentyEightHours()) != 0) { - auxiliaryOriginalHoursDto.setTwentyEight(1); + break; + case "28": + auxiliaryOriginalHoursDto.setTwentyEightHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getTwentyEightHours().compareTo(auxiliaryOriginalHoursDto.getTwentyEightHours()) != 0) { + auxiliaryOriginalHoursDto.setTwentyEight(1); + } } - } - break; - case "29": - auxiliaryOriginalHoursDto.setTwentyNineHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getTwentyNineHours().compareTo(auxiliaryOriginalHoursDto.getTwentyNineHours()) != 0) { - auxiliaryOriginalHoursDto.setTwentyNine(1); + break; + case "29": + auxiliaryOriginalHoursDto.setTwentyNineHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getTwentyNineHours().compareTo(auxiliaryOriginalHoursDto.getTwentyNineHours()) != 0) { + auxiliaryOriginalHoursDto.setTwentyNine(1); + } } - } - break; - case "30": - auxiliaryOriginalHoursDto.setThirtyHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getThirtyHours().compareTo(auxiliaryOriginalHoursDto.getThirtyHours()) != 0) { - auxiliaryOriginalHoursDto.setThirty(1); + break; + case "30": + auxiliaryOriginalHoursDto.setThirtyHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getThirtyHours().compareTo(auxiliaryOriginalHoursDto.getThirtyHours()) != 0) { + auxiliaryOriginalHoursDto.setThirty(1); + } } - } - break; - case "31": - auxiliaryOriginalHoursDto.setThirtyOneHours(Double.parseDouble(objectMap.get("manHours").toString())); - if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { - if (auxiliaryCorrectionHours.getThirtyOneHours().compareTo(auxiliaryOriginalHoursDto.getThirtyOneHours()) != 0) { - auxiliaryOriginalHoursDto.setThirtyOne(1); + break; + case "31": + auxiliaryOriginalHoursDto.setThirtyOneHours(Double.parseDouble(objectMap.get("manHours").toString())); + if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) { + if (auxiliaryCorrectionHours.getThirtyOneHours().compareTo(auxiliaryOriginalHoursDto.getThirtyOneHours()) != 0) { + auxiliaryOriginalHoursDto.setThirtyOne(1); + } } - } - break; + break; + } + auxiliaryOriginalHoursDto.setTotal((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getOneHours()) ? auxiliaryOriginalHoursDto.getOneHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwoHours()) ? auxiliaryOriginalHoursDto.getTwoHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThreeHours()) ? auxiliaryOriginalHoursDto.getThreeHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourHours()) ? auxiliaryOriginalHoursDto.getFourHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFiveHours()) ? auxiliaryOriginalHoursDto.getFiveHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixHours()) ? auxiliaryOriginalHoursDto.getSixHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSevenHours()) ? auxiliaryOriginalHoursDto.getSevenHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEightHours()) ? auxiliaryOriginalHoursDto.getEightHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineHours()) ? auxiliaryOriginalHoursDto.getNineHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTenHours()) ? auxiliaryOriginalHoursDto.getTenHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getElevenHours()) ? auxiliaryOriginalHoursDto.getElevenHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirteenHours()) ? auxiliaryOriginalHoursDto.getThirteenHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourteenHours()) ? auxiliaryOriginalHoursDto.getFourteenHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFifteenHours()) ? auxiliaryOriginalHoursDto.getFifteenHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixteenHours()) ? auxiliaryOriginalHoursDto.getSixteenHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSeventeenHours()) ? auxiliaryOriginalHoursDto.getSeventeenHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEighteenHours()) ? auxiliaryOriginalHoursDto.getEighteenHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineteenHours()) ? auxiliaryOriginalHoursDto.getNineteenHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyHours()) ? auxiliaryOriginalHoursDto.getTwentyHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyOneHours()) ? auxiliaryOriginalHoursDto.getTwentyOneHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyTwoHours()) ? auxiliaryOriginalHoursDto.getTwentyTwoHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyThreeHours()) ? auxiliaryOriginalHoursDto.getTwentyThreeHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFourHours()) ? auxiliaryOriginalHoursDto.getTwentyFourHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFiveHours()) ? auxiliaryOriginalHoursDto.getTwentyFiveHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySixHours()) ? auxiliaryOriginalHoursDto.getTwentySixHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySevenHours()) ? auxiliaryOriginalHoursDto.getTwentySevenHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyEightHours()) ? auxiliaryOriginalHoursDto.getTwentyEightHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyNineHours()) ? auxiliaryOriginalHoursDto.getTwentyNineHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyHours()) ? auxiliaryOriginalHoursDto.getThirtyHours() : 0) + + (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyOneHours()) ? auxiliaryOriginalHoursDto.getThirtyOneHours() : 0) + ); + DecimalFormat df = new DecimalFormat("#.####"); // 璁惧畾鍥涗綅灏忔暟 + auxiliaryOriginalHoursDto.setTotal(Double.parseDouble(df.format(auxiliaryOriginalHoursDto.getTotal()))); } - return auxiliaryOriginalHoursDto; + return dtoMap; } } 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 577f0f3..ee1d698 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 @@ -4,6 +4,7 @@ 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.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -82,8 +83,7 @@ } else { //绠$悊鍛�(涓嶆坊鍔犻檺鍒舵潯浠舵墍鏈変汉閮藉彲浠ョ湅) } - } - else { + } else { //鏄粍闀� //鏌ヨ缁勯暱涓嬬殑缁勫憳 List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getDepartLimsId, user.getDepartLimsId())); @@ -91,27 +91,27 @@ ids.addAll(users.stream().map(User::getId).distinct().collect(Collectors.toList())); } } - if (ids.size()==0){ - ids=null; + if (ids.size() == 0) { + ids = null; } - if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)){ + if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) { String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); 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)); - }else if(ObjectUtils.isNotEmpty(dates) && ObjectUtils.isEmpty(week)){ + .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59") + .ge("week", weeks[0]).le("week", weeks[1]), ids)); + } else if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isEmpty(week)) { String[] split = dates.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"), ids)); - }else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)){ + } else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)) { String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); map.put("body", auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto) .ge("week", weeks[0]).le("week", weeks[1]), ids)); - }else { + } else { map.put("body", auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto), ids)); } return map; @@ -119,7 +119,16 @@ //缁熻浜ч噺宸ユ椂姹囨�诲拰杈呭姪宸ユ椂姹囨�� @Override - public Map<String, Object> collectWorkingHours() { + public Map<String, Object> collectWorkingHours(AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto) { + AuxiliaryOutputWorkingHours outputWorkingHours = new AuxiliaryOutputWorkingHours(); + AuxiliaryWorkingHoursDay workingHoursDay = new AuxiliaryWorkingHoursDay(); + if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getName())){ + User user = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getName, auxiliaryOutputWorkingHoursDto.getName())); + outputWorkingHours.setCheck(user.getId()); + workingHoursDay.setNameUser(user.getId()); + } + String dates = auxiliaryOutputWorkingHoursDto.getDateTime(); + auxiliaryOutputWorkingHoursDto.setDateTime(null); Map<String, Object> map = new HashMap<>(); Double sumOutputWorkTime = 0.0; Double sumApprovedWorkingHour = 0.0; @@ -145,20 +154,33 @@ ids = users.stream().map(User::getId).distinct().collect(Collectors.toList()); } } - //缁熻褰撳墠鐢ㄦ埛鐨勪骇鍝佸伐鏃� - List<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectListByIds(ids); + List<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHours = new ArrayList<>(); + List<AuxiliaryWorkingHoursDay> auxiliaryWorkingHoursDays = new ArrayList<>(); + if (ObjectUtils.isNotEmpty(dates)) { + String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); + //缁熻褰撳墠鐢ㄦ埛鐨勪骇鍝佸伐鏃� + auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectLists(QueryWrappers.queryWrappers(outputWorkingHours) + .ge("date_time", split[0]) + .le("date_time", split[1] + " 23:59:59"),ids); + //缁熻褰撳墠鐢ㄦ埛鐨勮緟鍔╁伐鏃� + auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectLists(QueryWrappers.queryWrappers(workingHoursDay) + .eq("state","宸叉壒鍑�") + .ge("date_time", split[0]) + .le("date_time", split[1] + " 23:59:59"),ids); + } else { + auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectListByIds(ids); + auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.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()); + if (!sumMap.containsKey(auxiliaryOutputWorkingHour.getManHourGroup()+auxiliaryOutputWorkingHour.getOrderNo()+auxiliaryOutputWorkingHour.getSample())) { + sumMap.put(auxiliaryOutputWorkingHour.getManHourGroup()+auxiliaryOutputWorkingHour.getOrderNo()+auxiliaryOutputWorkingHour.getSample(), 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(); diff --git a/performance-server/src/main/resources/mapper/AuxiliaryCorrectionHoursMapper.xml b/performance-server/src/main/resources/mapper/AuxiliaryCorrectionHoursMapper.xml index d898a23..6626e9f 100644 --- a/performance-server/src/main/resources/mapper/AuxiliaryCorrectionHoursMapper.xml +++ b/performance-server/src/main/resources/mapper/AuxiliaryCorrectionHoursMapper.xml @@ -46,7 +46,13 @@ <select id="selectAuxiliaryCorrectionHours" resultType="com.yuanchu.mom.dto.AuxiliaryCorrectionHoursDto"> select A.* from ( - select ach.*,name + select ach.*, + name, + sum(one_hours+two_hours+ three_hours+ four_hours+ five_hours+ six_hours+ seven_hours+ eight_hours+ nine_hours+ + ten_hours+ eleven_hours+ twelve_hours+thirteen_hours+ fourteen_hours+ fifteen_hours+ sixteen_hours+ + seventeen_hours+ eighteen_hours+ nineteen_hours+ twenty_hours+ twenty_one_hours+ twenty_two_hours+ + twenty_three_hours+ twenty_four_hours+ twenty_five_hours+ twenty_six_hours+ twenty_seven_hours+ + twenty_eight_hours+ twenty_nine_hours+ thirty_hours+ thirty_one_hours) as total FROM auxiliary_correction_hours ach left join user on user.id=ach.name_user WHERE 1=1 diff --git a/performance-server/src/main/resources/mapper/AuxiliaryOriginalHoursMapper.xml b/performance-server/src/main/resources/mapper/AuxiliaryOriginalHoursMapper.xml index 1b83759..0f7802d 100644 --- a/performance-server/src/main/resources/mapper/AuxiliaryOriginalHoursMapper.xml +++ b/performance-server/src/main/resources/mapper/AuxiliaryOriginalHoursMapper.xml @@ -6,7 +6,7 @@ from (select C.name, C.month, C.manHours + D.manHours as total from (select A.name, A.month, - FORMAT(SUM(manHour), 2) as manHours + FORMAT(SUM(manHour), 4) as manHours from ( select user.name, case @@ -35,7 +35,7 @@ from ( select user.name, date_time as month, - FORMAT(SUM(output_work_time), 2) as manHours + FORMAT(SUM(output_work_time), 4) as manHours 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 diff --git a/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml b/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml index de3994d..31958ad 100644 --- a/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml +++ b/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml @@ -4,7 +4,9 @@ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours"> <id column="id" property="id"/> - <result column="inspect_project" property="inspectProject"/> + <result column="inspection_item" property="inspectionItem"/> + <result column="inspection_item_subclass" property="inspectionItemSubclass"/> + <result column="sample" property="sample"/> <result column="overtime_order_no" property="overtimeOrderNo"/> <result column="overtime_work_time" property="overtimeWorkTime"/> <result column="overtime_amount" property="overtimeAmount"/> @@ -25,7 +27,8 @@ select * from ( select aowh.id, - inspect_project, + inspection_item, + inspection_item_subclass, overtime_order_no, overtime_work_time, overtime_amount, @@ -35,7 +38,7 @@ output_work_time, date_time, week, - SUBSTRING(week_day, 2) AS week_day, + week_day, name FROM auxiliary_output_working_hours aowh left join user on user.id=aowh.`check` @@ -56,40 +59,50 @@ FROM auxiliary_output_working_hours aowh left join user on user.id=aowh.`check` 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> + <if test="ids !=null and ids != ''"> + and `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.manHours + FORMAT(SUM(A.manHours), 4) manHours from( select user.name, date_time as month, - FORMAT(SUM(output_work_time), 2) as manHours + order_no, + sample, + man_hour_group, + output_work_time as manHours + -- FORMAT(SUM(output_work_time), 4) as manHours 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 LIKE CONCAT('%', #{month}, '%') - <!--and `check` in (#{ids})--> <if test="ids !=null and ids != ''"> and `check` in <foreach collection="ids" open="(" separator="," close=")" item="val"> #{val} </foreach> </if> - group by user.name,date_time - order by user.name,date_time + group by user.name,date_time,order_no, + sample, + man_hour_group + order by user.name,date_time,order_no, + sample, + man_hour_group )A + group by A.name, + A.month + order by A.name, + A.month </select> <select id="selectListByIds" resultType="com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours"> select * from auxiliary_output_working_hours where 1=1 - <!--and `check` in(#{ids})--> <if test="ids !=null and ids != ''"> and `check` in <foreach collection="ids" index="index" open="(" separator="," close=")" item="val"> @@ -97,4 +110,19 @@ </foreach> </if> </select> + + <select id="selectLists" resultMap="BaseResultMap"> + select * from(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> + ) A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> </mapper> diff --git a/performance-server/src/main/resources/mapper/AuxiliaryWorkingHoursDayMapper.xml b/performance-server/src/main/resources/mapper/AuxiliaryWorkingHoursDayMapper.xml index 11e513f..476beb0 100644 --- a/performance-server/src/main/resources/mapper/AuxiliaryWorkingHoursDayMapper.xml +++ b/performance-server/src/main/resources/mapper/AuxiliaryWorkingHoursDayMapper.xml @@ -57,8 +57,7 @@ </select> <select id="selectListByIds" resultType="com.yuanchu.mom.pojo.AuxiliaryWorkingHoursDay"> select * from auxiliary_working_hours_day - where 1=1 - + where state='宸插鏍�' <if test="ids !=null and ids != ''"> and name_user in <foreach collection="ids" index="index" open="(" separator="," close=")" item="val"> @@ -69,7 +68,7 @@ <select id="totalHours" resultType="java.util.Map"> select A.name, A.month, - FORMAT(SUM(manHour), 2)as manHours + FORMAT(SUM(manHour), 4)as manHours from( select user.name, case when reviewer_nonproductive_time is null then nonproductive_time @@ -91,4 +90,19 @@ group by A.name,A.month order by A.name,A.month </select> + + <select id="selectLists" resultMap="BaseResultMap"> + select * from(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> + ) A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> </mapper> -- Gitblit v1.9.3