From 876cb78e106c227a10640e715b089678ea88690c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=98=89=E4=BC=9F?= <1724121454@qq.com> Date: Wed, 25 Aug 2021 14:31:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=BB=B4=E4=BF=AE=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../anomaly/controller/ReportController.java | 16 ++++ .../mesnac/anomaly/mapper/ReportMapper.java | 3 + .../mesnac/anomaly/service/ReportService.java | 2 + .../service/impl/ReportServiceImpl.java | 75 +++++++++++++++++++ .../main/resources/mapper/ReportMapper.xml | 50 +++++++++++++ 5 files changed, 146 insertions(+) diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java index 841ecc55..66993910 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java @@ -13,6 +13,8 @@ import com.foreverwin.modular.core.util.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.Map; + @RestController @RequestMapping("/REPORT") public class ReportController { @@ -46,4 +48,18 @@ public class ReportController { return R.failed(e.getMessage()); } } + + /** + * 设备维修记录报表 + * @param map + * @return + */ + @PostMapping("/resourceRepair") + public R resourceRepair(@RequestBody(required = false)Map map){ + try{ + return R.ok(reportService.resourceRepair(map)); + }catch (Exception e){ + return R.failed(e.getMessage()); + } + } } diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/ReportMapper.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/ReportMapper.java index 059c60ee..67fb7a77 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/ReportMapper.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/ReportMapper.java @@ -23,4 +23,7 @@ public interface ReportMapper { List> surplusReturnTable(@Param("site")String site, @Param("locale")String locale, @Param("item")String item, @Param("itemDescription")String itemDescription); + List> resourceRepair(@Param("site")String site, @Param("locale")String locale, + @Param("param")Map map); + } diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ReportService.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ReportService.java index d59d2103..021575d1 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ReportService.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ReportService.java @@ -17,4 +17,6 @@ public interface ReportService { List> partsManufacturing(PartsManufacturing partsManufacturing); List> surplusReturnTable(String item, String itemDescription); + + List> resourceRepair(Map map); } diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java index d463cc23..1e8800f6 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java @@ -4,14 +4,21 @@ import com.foreverwin.mesnac.anomaly.dto.PartsManufacturing; import com.foreverwin.mesnac.anomaly.mapper.ReportMapper; import com.foreverwin.mesnac.anomaly.service.ReportService; import com.foreverwin.mesnac.integration.model.IntegrationLog; +import com.foreverwin.mesnac.meapi.model.NcCode; +import com.foreverwin.mesnac.meapi.model.NwaUser; +import com.foreverwin.mesnac.meapi.service.NcCodeService; +import com.foreverwin.mesnac.meapi.service.NwaUserService; +import com.foreverwin.mesnac.meapi.util.StringUtils; import com.foreverwin.modular.core.util.CommonMethods; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * @Description TODO @@ -22,8 +29,12 @@ import java.util.Map; @Transactional(rollbackFor = Exception.class) public class ReportServiceImpl implements ReportService { + @Autowired + private NcCodeService ncCodeService; @Autowired private ReportMapper reportMapper; + @Autowired + private NwaUserService nwaUserService; /** * 接口日志表 @@ -55,4 +66,68 @@ public class ReportServiceImpl implements ReportService { String site = CommonMethods.getSite(); return reportMapper.surplusReturnTable(site,locale,item,itemDescription); } + + @Override + public List> resourceRepair(Map map) { + String locale = LocaleContextHolder.getLocale().getLanguage(); + String site = CommonMethods.getSite(); + + + + Map> ncCodeMap = new HashMap<>(); + NcCode ncCode = new NcCode(); + ncCode.setSite(site); + List ncCodeList = ncCodeService.selectList(ncCode); + if (ncCodeList != null && ncCodeList.size() > 0) { + ncCodeMap = ncCodeList.stream().collect(Collectors.groupingBy(NcCode::getNcCode)); + } + + Map> userMap = new HashMap<>(); + NwaUser nwaUser = new NwaUser(); + nwaUser.setSite(site); + List nwaUserList = nwaUserService.selectList(nwaUser); + if(nwaUserList != null && nwaUserList.size() > 0) { + userMap = nwaUserList.stream().collect(Collectors.groupingBy(NwaUser::getUserName)); + } + + + List> maps = reportMapper.resourceRepair(site, locale, map); + + + for (int i = 0; i < maps.size(); i++) { + Map temporaryMap = maps.get(i); + String ncCodes = (String)temporaryMap.get("NC_CODE_NO"); + if(StringUtils.isBlank(ncCodes)){ + maps.get(i).put("NC_CODE_DESCRIPTION", ""); + continue; + } + String []ncCodeArray = ncCodes.split(","); + String ncCodeDesc = ""; + for (int j = 0; j < ncCodeArray.length; j++) { + ncCodeDesc += ncCodeMap.get(ncCodeArray[j]).get(0).getDescription()+";"; + } + maps.get(i).put("NC_CODE_DESCRIPTION", ncCodeDesc); + } + + + for (int i = 0; i < maps.size(); i++) { + Map temporaryMap = maps.get(i); + String repairUser = (String)temporaryMap.get("REPAIR_USERS"); + if(StringUtils.isBlank(repairUser)){ + maps.get(i).put("REPAIR_USERS_DESCRIPTION", ""); + continue; + } + String []repairUserArray = repairUser.split(","); + String repairUserDescription = ""; + for (int j = 0; j < repairUserArray.length; j++) { + repairUserDescription += userMap.get(repairUserArray[j]).get(0).getFullName()+";"; + } + maps.get(i).put("REPAIR_USERS_DESCRIPTION", repairUserDescription); + } + + + + + return maps; + } } diff --git a/anomaly/src/main/resources/mapper/ReportMapper.xml b/anomaly/src/main/resources/mapper/ReportMapper.xml index d020e5ec..056453af 100644 --- a/anomaly/src/main/resources/mapper/ReportMapper.xml +++ b/anomaly/src/main/resources/mapper/ReportMapper.xml @@ -88,4 +88,54 @@ + + \ No newline at end of file