admin/src/components/business/OperaTmsFactoryParamWindow.vue
@@ -15,7 +15,10 @@ <el-form-item label="æ»åºåéï¼ä¸æ¯ï¼" prop="num1"> <el-input v-model="form.num1" placeholder="请è¾å ¥æ»åºåéï¼ä¸æ¯ï¼" v-trim/> </el-form-item> <el-form-item label="æ»åºåºè½åï¼ä¸æ¯ï¼" prop="num2"> <el-form-item label="8å°æ¶åºåºè½åï¼ä¸æ¯ï¼" prop="num2"> <el-input v-model="form.param3" placeholder="请è¾å ¥8å°æ¶åºåºè½åï¼ä¸æ¯ï¼" v-trim/> </el-form-item> <el-form-item label="æå¤§åºåºè½åï¼ä¸æ¯ï¼" prop="num2"> <el-input v-model="form.num2" placeholder="请è¾å ¥æ»åºåºè½åï¼ä¸æ¯ï¼" v-trim/> </el-form-item> <el-form-item label="æåºç " prop="sortnum"> @@ -41,7 +44,8 @@ name: '', sortnum: '', num1: '', num2: '' num2: '', param3: '' }, // éªè¯è§å rules: { admin/src/views/business/tmsFactoryParam.vue
@@ -26,10 +26,11 @@ @selection-change="handleSelectionChange" > <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="name" label="å§å" min-width="100px"></el-table-column> <el-table-column prop="name" label="åç§°" min-width="100px"></el-table-column> <el-table-column prop="code" label="ç¼ç " min-width="100px"></el-table-column> <el-table-column prop="num1" label="æ»åºåéï¼ä¸æ¯ï¼" min-width="100px"></el-table-column> <el-table-column prop="num2" label="æ»åºåºè½åï¼ä¸æ¯ï¼" min-width="100px"></el-table-column> <el-table-column prop="param3" label="8å°æ¶åºåºè½åï¼ä¸æ¯ï¼" min-width="100px"></el-table-column> <el-table-column prop="num2" label="æå¤§åºåºè½åï¼ä¸æ¯ï¼" min-width="100px"></el-table-column> <el-table-column prop="sortnum" label="æåºç " min-width="100px"></el-table-column> <el-table-column prop="editorName" label="æä½äºº" min-width="100px"></el-table-column> <el-table-column prop="editDate" label="æ´æ°æ¶é´" min-width="100px"></el-table-column> server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -3405,4 +3405,19 @@ return dateBeforeDay.toString(); } /** * è·åXå¹´åçæ¥æ * @param date * @param beforMonths ä¸å¹´ -1 ä¸å¹´ 1 * @return */ public static String getBeforYear(Date date,Integer beforMonths){ ZonedDateTime zonedDateTime = date.toInstant().atZone(ZoneId.systemDefault()); // 转æ¢ä¸ºjava.time.LocalDate,计ç®xå¤©çæ¥æ LocalDate dateBeforeDay = zonedDateTime.toLocalDate().minusYears(beforMonths); return dateBeforeDay.toString(); } } server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TmsCloudController.java
@@ -3,9 +3,7 @@ import com.doumee.api.BaseController; import com.doumee.config.annotation.LoginNoRequired; import com.doumee.core.model.ApiResponse; import com.doumee.core.tms.model.request.TmsLockStatusQueryRequest; import com.doumee.core.tms.model.request.TmsOrderInfoRequest; import com.doumee.core.tms.model.request.TmsOrderListRequest; import com.doumee.core.tms.model.request.*; import com.doumee.core.tms.model.response.*; import com.doumee.core.utils.Constants; import com.doumee.core.wms.model.response.WmsBaseResponse; @@ -48,9 +46,29 @@ @ApiOperation("ãTMSãååå表æ¥å£") @LoginNoRequired @PostMapping("/orderList") public ApiResponse<TmsBasePageResponse<TmsOrderListResponse>> orderList(@RequestBody TmsOrderListRequest request ) { return ApiResponse.success(tmsService.orderList(request)); public ApiResponse<TmsBasePageResponse<TmsOrderListResponse>> orderList(@RequestBody TmsOrderListRequest param ) { if(param == null){ param = new TmsOrderListRequest(); } if(param.getParameters() == null){ param.setParameters( new TmsOrderListParamRequest()); } if(param.getPager() == null){ param.setPager( new TmsOrderListPagerRequest()); } if(param.getPager().getPage() == null){ param.getPager().setPage(1); } if(param.getPager().getRows() == null){ param.getPager().setRows(10); } if(StringUtils.isBlank(param.getParameters().getPhoneNumber())){ param.getParameters().setPhoneNumber("00000000000");//ææºå·å¿ å¡« } if(param.getParameters().getContractNumbers()==null || param.getParameters().getContractNumbers().size()==0){ param.getParameters().setContractNumbers(null); } return ApiResponse.success(tmsService.orderList(param)); } @ApiOperation("ãTMSãååè¯¦æ æ¥å£") @LoginNoRequired server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/WholeProvinceController.java
@@ -3,15 +3,24 @@ import com.doumee.api.BaseController; import com.doumee.config.annotation.LoginNoRequired; import com.doumee.core.model.ApiResponse; import com.doumee.core.tms.model.request.TmsOrderInfoRequest; import com.doumee.core.tms.model.request.TmsOrderListPagerRequest; import com.doumee.core.tms.model.request.TmsOrderListParamRequest; import com.doumee.core.tms.model.request.TmsOrderListRequest; import com.doumee.core.tms.model.response.TmsBasePageResponse; import com.doumee.core.tms.model.response.TmsOrderInfoResponse; import com.doumee.core.tms.model.response.TmsOrderListResponse; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DateUtil; import com.doumee.dao.business.model.TmsFactoryParam; import com.doumee.dao.web.response.platformReport.*; import com.doumee.service.business.third.BoardService; import com.doumee.service.business.third.TmsService; import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.util.ArrayList; @@ -32,7 +41,10 @@ @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/board/api/wholeProvince") public class WholeProvinceController extends BaseController { @Autowired private TmsService tmsService; @Autowired private BoardService boardService; @LoginNoRequired @ApiOperation("ä¸å¿æ°æ®") @GetMapping("/centerData") @@ -95,76 +107,88 @@ } return ApiResponse.success(list); } @LoginNoRequired @ApiOperation("è¿éåè¿è¥") @GetMapping("/salesOperationList") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "queryType", value = "æ¥è¯¢ç±»åï¼0=å¨ï¼1=æï¼2=å¹´ï¼", required = true), }) public ApiResponse<List<SalesOperationVO>> salesOperationList(@RequestParam Integer queryType) { List<SalesOperationVO> list = new ArrayList<>(); Random random = new Random(); List<String> dayList = DateUtil.getBeforDays(new Date(),7); if(Constants.equalsInteger(queryType,Constants.ONE)){ dayList = DateUtil.getBeforDays(new Date(),30); }else if(Constants.equalsInteger(queryType,Constants.TWO)){ dayList = DateUtil.getBeforMonth(new Date(),12); } for (String str:dayList) { SalesOperationVO data = new SalesOperationVO(); data.setDateStr(str); data.setStockNum(new BigDecimal(random.nextInt(1000))); data.setTotalInNum(new BigDecimal(random.nextInt(1000))); data.setTotalOutNum(new BigDecimal(random.nextInt(1000))); list.add(data); } @ApiOperation("订åå¨éè·è¸ª-累计åºåºé") @GetMapping("/totalOutQtyNum") public ApiResponse<TotalOutQtyNumVO> totalOutQtyNum() { TotalOutQtyNumVO result = boardService.totalOutQtyNum(); return ApiResponse.success(result); } @LoginNoRequired @ApiOperation("ææçåéå") @GetMapping("/factoryList") public ApiResponse<List<TmsFactoryParam>> factoryList() { List<TmsFactoryParam> list = boardService.factoryList(); return ApiResponse.success(list); } @LoginNoRequired @ApiOperation("åºåå©ç¨ç") @GetMapping("/energyDataList") public ApiResponse<List<StockRataVO>> energyDataList() { List<StockRataVO> energyDataVOList = new ArrayList<>(); Random random = new Random(); for (int i = 1; i <= 5; i++) { StockRataVO data = new StockRataVO(); data.setPlaceName("å°ç¹_"+i); data.setNowStockNum(new BigDecimal(random.nextInt(200))); data.setStockRataNum(new BigDecimal(random.nextInt(200))); data.setTotalStockNum(new BigDecimal(random.nextInt(100))); energyDataVOList.add(data); } return ApiResponse.success(energyDataVOList); @ApiOperation("ä»åºèµæºå©ç¨ç") @GetMapping("/inventoryUseRate") public ApiResponse<WholeProvinceZXTVO> inventoryUseRate( ) { WholeProvinceZXTVO list = boardService.inventoryUseRate(); return ApiResponse.success(list); } @LoginNoRequired @ApiOperation("è¿åèµæºå©ç¨ç") @GetMapping("/tranportAbilityUseRate") public ApiResponse<WholeProvinceZXTVO> tranportAbilityUseRate( ) { WholeProvinceZXTVO list = boardService.tranportAbilityUseRate(); return ApiResponse.success(list); } @LoginNoRequired @ApiOperation("åºåºè½åå©ç¨ç") @GetMapping("/outAbilityUseRate") public ApiResponse<WholeProvinceZXTVO> outAbilityUseRate( ) { WholeProvinceZXTVO list = boardService.outAbilityUseRate(); return ApiResponse.success(list); } @LoginNoRequired @ApiOperation("å°å¾æ¬ææ¬å¹´æ»åºåºéç»è®¡éåï¼æç份ï¼") @GetMapping("/mapYearAndMonthOutList") public ApiResponse<List<WholeProvinceMapVO>> mapYearAndMonthOutList( ) { List<WholeProvinceMapVO> list = boardService.mapYearAndMonthOutList(); return ApiResponse.success(list); } @ApiOperation("订åä»»å¡ååå表æ¥å£") @LoginNoRequired @ApiOperation("ä¸ææ²¹èæè¡") @GetMapping("/lastMonthOil") public ApiResponse<List<OilDataVO>> lastMonthOil() { List<OilDataVO> oilDataVOList = new ArrayList<>(); Random random = new Random(); BigDecimal maxOil = BigDecimal.ZERO; BigDecimal lastOil = BigDecimal.ZERO; for (int i = 1; i <= 7; i++) { OilDataVO oilDataVO = new OilDataVO(); oilDataVO.setCarNo("çA8" + random.nextInt(9) + random.nextInt(9) + random.nextInt(9) + random.nextInt(9)); if(i==1){ oilDataVO.setQuantity(new BigDecimal(random.nextInt(100))); maxOil = oilDataVO.getQuantity(); }else{ oilDataVO.setQuantity(new BigDecimal(random.nextInt(lastOil.intValue()))); } lastOil = oilDataVO.getQuantity(); oilDataVO.setMaxOil(maxOil); oilDataVOList.add(oilDataVO); @PostMapping("/orderList") public ApiResponse<TmsBasePageResponse<TmsOrderListResponse>> orderList(@RequestBody TmsOrderListRequest param ) { if(param == null){ param = new TmsOrderListRequest(); } return ApiResponse.success(oilDataVOList); if(param.getParameters() == null){ param.setParameters( new TmsOrderListParamRequest()); } if(param.getPager() == null){ param.setPager( new TmsOrderListPagerRequest()); } if(param.getPager().getPage() == null){ param.getPager().setPage(1); } if(param.getPager().getRows() == null){ param.getPager().setRows(10); } if(StringUtils.isBlank(param.getParameters().getPhoneNumber())){ param.getParameters().setPhoneNumber("00000000000");//ææºå·å¿ å¡« } if(param.getParameters().getContractNumbers()==null || param.getParameters().getContractNumbers().size()==0){ param.getParameters().setContractNumbers(null); } return ApiResponse.success(tmsService.orderList(param)); } @ApiOperation("ååè¯¦æ æ¥å£") @LoginNoRequired @PostMapping("/orderInfo") public ApiResponse<TmsOrderInfoResponse> ordreInfo(@RequestBody TmsOrderInfoRequest request ) { return ApiResponse.success(tmsService.orderInfo(request)); } } server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@ spring: profiles: active: dev active: pro application: name: visitsAdmin # å®å ¨é ç½® server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsTotalAndReportVehicleQtyResponse.java
@@ -19,7 +19,7 @@ @ApiModelProperty(value = "å·¥ååç§°" ) private String factoryName;// å符串 å·¥ååç§° @ApiModelProperty(value = "ææ¥è¿åæ°" ) private String reportQty;// æ°å ææ¥è¿åæ° private BigDecimal reportQty;// æ°å ææ¥è¿åæ° @ApiModelProperty(value = "æ»è¿åæ°" ) private String totalQty;// æ°å æ»è¿åæ° private BigDecimal totalQty;// æ°å æ»è¿åæ° } server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/SalesOperationVO.java
ÎļþÒÑɾ³ý server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/TotalOutQtyNumVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,31 @@ package com.doumee.dao.web.response.platformReport; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.Date; /** * è¿è¾ä»»å¡ * * @Author : Rk * @create 2024/10/25 10:59 */ @Data public class TotalOutQtyNumVO { @ApiModelProperty(value = "å½å卿åºåºé(çå )") private BigDecimal currentInNum; @ApiModelProperty(value = "å½å卿åºåºé(çå¤)") private BigDecimal currentOutNum; @ApiModelProperty(value = "ä¸é天卿åºåºéï¼çå ï¼") private BigDecimal lastInNum; @ApiModelProperty(value = "ä¸ä¸ªå¨æåºåºéï¼çå¤ï¼") private BigDecimal lastOutNum; @ApiModelProperty(value = "å»å¹´åæåºåºé(çå ï¼") private BigDecimal sameInNum; @ApiModelProperty(value = "å»å¹´åæåºåºéï¼çå¤ï¼") private BigDecimal sameOutNum; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WholeProvinceBoardVO.java
@@ -1,6 +1,5 @@ package com.doumee.dao.web.response.platformReport; import com.doumee.dao.business.model.PlatformJob; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -66,13 +65,13 @@ @ApiModelProperty(value = "è¿éåè¿è¥ - 7æ¥" , hidden = true) private List<SalesOperationVO> salesOperationWeekList; private List<WholeProvinceZxtDetailVO> salesOperationWeekList; @ApiModelProperty(value = "è¿éåè¿è¥ - æåº¦" , hidden = true) private List<SalesOperationVO> salesOperationMonthList; private List<WholeProvinceZxtDetailVO> salesOperationMonthList; @ApiModelProperty(value = "è¿éåè¿è¥ - 年度" , hidden = true) private List<SalesOperationVO> salesOperationYearList; private List<WholeProvinceZxtDetailVO> salesOperationYearList; @ApiModelProperty(value = "åºåå©ç¨ç" , hidden = true) private List<StockRataVO> stockRataVOListList; server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WholeProvinceMapVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,30 @@ package com.doumee.dao.web.response.platformReport; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.List; /** * * * @Author : Rk * @create 2024/10/25 10:59 */ @Data public class WholeProvinceMapVO { @ApiModelProperty(value = "æ¬å¹´æ»æ°é ") private BigDecimal yearNum; @ApiModelProperty(value = "æ¬ææ»æ°é 䏿¯") private BigDecimal monthNum; @ApiModelProperty(value = "ç份代ç ") private String provinceCode; @ApiModelProperty(value = "ç份åç§°") private String provinceName; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WholeProvinceZXTVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,31 @@ package com.doumee.dao.web.response.platformReport; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.List; /** * * * @Author : Rk * @create 2024/10/25 10:59 */ @Data public class WholeProvinceZXTVO { @ApiModelProperty(value = "å©ç¨ç ") private BigDecimal useRate; @ApiModelProperty(value = "æ»æ°é 䏿¯") private BigDecimal totalNum; @ApiModelProperty(value = "å½åå¼ ä¸æ¯") private BigDecimal currentNum; @ApiModelProperty(value = "å¾å½¢æç»éå") private List<WholeProvinceZxtDetailVO> detailList; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WholeProvinceZxtDetailVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,29 @@ package com.doumee.dao.web.response.platformReport; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; /** * * * @Author : Rk * @create 2024/10/25 10:59 */ @Data public class WholeProvinceZxtDetailVO { @ApiModelProperty(value = "çååç§°") private String factoryName; @ApiModelProperty(value = "å©ç¨ç ") private BigDecimal useRate; @ApiModelProperty(value = "æ»æ°é 䏿¯") private BigDecimal totalNum; @ApiModelProperty(value = "å½åå¼ ä¸æ¯") private BigDecimal currentNum; } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
@@ -12,6 +12,7 @@ import com.doumee.dao.web.response.DriverHomeVO; import com.doumee.dao.web.response.LineUpVO; import com.doumee.dao.web.response.PlatformWorkVO; import com.doumee.dao.web.response.platformReport.WholeProvinceBoardVO; import java.util.List; @@ -244,4 +245,10 @@ void timeOutWork(); PlatformJob getLastWaitJob(String uuid, LoginUserInfo loginUser); void wholeProvinceCenterData(WholeProvinceBoardVO data); void centerDataForInOut(WholeProvinceBoardVO data); void centerDataOutInRata(WholeProvinceBoardVO data); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -35,6 +35,7 @@ import com.doumee.dao.web.response.DriverHomeVO; import com.doumee.dao.web.response.LineUpVO; import com.doumee.dao.web.response.PlatformWorkVO; import com.doumee.dao.web.response.platformReport.WholeProvinceBoardVO; import com.doumee.service.business.PlatformJobService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -2202,6 +2203,164 @@ } /** * 累计åºåºéç»è®¡ - å¤§å± * @param data */ @Override public void wholeProvinceCenterData(WholeProvinceBoardVO data){ // //累计æ¬å¹´åº¦åºåºé // List<PlatformJob> platformJobList = platformJobJoinMapper.selectList(new QueryWrapper<PlatformJob>() // .lambda() // .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE // ,Constants.PlatformJobStatus.AUTHED_LEAVE // ,Constants.PlatformJobStatus.LEAVED) // .isNotNull(PlatformJob::getDoneDate) // .in(PlatformJob::getType,Constants.platformJobType.wxczh,Constants.platformJobType.zyczh) // .like( PlatformJob::getDoneDate, DateUtil.getFomartDate(new Date(),"yyyy")) // ); // data.setYearOutTotal(platformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); // data.setYearOutTimes(platformJobList.size()); // // // List<PlatformJob> platformJobsMonthList = platformJobList.stream().filter(i->DateUtil.getFomartDate(i.getDoneDate(),"yyyy-MM").equals(DateUtil.getFomartDate(new Date(),"yyyy-MM"))).collect(Collectors.toList()); // data.setMonthOutTotal(platformJobsMonthList.stream().filter(i->Objects.nonNull(i.getTotalNum())).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); // data.setMonthOutTimes(platformJobsMonthList.size()); // String beforYear = DateUtil.getBeforYear(new Date(),1); // // //累计æ¬å¹´åº¦åºåºé // List<PlatformJob> beforYearPlatformJobList = platformJobJoinMapper.selectList(new QueryWrapper<PlatformJob>() // .lambda() // .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE // ,Constants.PlatformJobStatus.AUTHED_LEAVE // ,Constants.PlatformJobStatus.LEAVED) // .isNotNull(PlatformJob::getDoneDate) // .in(PlatformJob::getType,Constants.platformJobType.wxczh,Constants.platformJobType.zyczh) // .like( PlatformJob::getDoneDate, beforYear.substring(0,4)) // ); // // List<PlatformJob> beforPlatformJobsMonthList = platformJobList.stream().filter(i->DateUtil.getFomartDate(i.getDoneDate(),"yyyy-MM").equals(beforYear.substring(0,7))).collect(Collectors.toList()); // //åæ¯æ°æ® // data.setYearOutTotalOnYear(beforYearPlatformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); // data.setMonthOutTotalOnYear(beforPlatformJobsMonthList.stream().filter(i->Objects.nonNull(i.getTotalNum())).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); // } @Override public void centerDataForInOut(WholeProvinceBoardVO data){ // //仿¥å®æçåºå ¥åºæææ°æ® // List<PlatformJob> platformJobList = platformJobJoinMapper.selectList(new QueryWrapper<PlatformJob>() // .lambda() // .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE // ,Constants.PlatformJobStatus.AUTHED_LEAVE // ,Constants.PlatformJobStatus.LEAVED) // .like( PlatformJob::getDoneDate, DateUtil.getFomartDate(new Date(),"yyyy-MM-dd")) // ); // //仿¥ä¹å æææªå®æçåºå ¥åºæ°æ® - WMSæ¨é // List<PlatformJob> wmsPlatformJobList = platformJobJoinMapper.selectList(new QueryWrapper<PlatformJob>() // .lambda() // .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE // ,Constants.PlatformJobStatus.AUTHED_LEAVE // ,Constants.PlatformJobStatus.LEAVED // ,Constants.PlatformJobStatus.CANCEL) // .eq(PlatformJob::getOrigin ,Constants.ONE) // .le(PlatformJob::getCreateDate, DateUtil.getFomartDate(new Date(),"yyyy-MM-dd") +" 23:59:59") // ); // //仿¥ä¹å æææªå®æçåºå ¥åºæ°æ® - é¢çº¦æ°æ® // List<PlatformJob> bookPlatformJobList = platformJobJoinMapper.selectList(new QueryWrapper<PlatformJob>() // .lambda() // .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE // ,Constants.PlatformJobStatus.AUTHED_LEAVE // ,Constants.PlatformJobStatus.LEAVED // ,Constants.PlatformJobStatus.CANCEL) // .eq(PlatformJob::getOrigin ,Constants.ONE) // .le(PlatformJob::getArriveDate, DateUtil.getFomartDate(new Date(),"yyyy-MM-dd") +" 23:59:59") // ); // // BigDecimal finishOutTotal = platformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.wxczh)||i.getType().equals(Constants.platformJobType.zyczh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add); // BigDecimal unFinishWmsOutTotal = wmsPlatformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.wxczh)||i.getType().equals(Constants.platformJobType.zyczh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add); // BigDecimal unFinishBookOutTotal = bookPlatformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.wxczh)||i.getType().equals(Constants.platformJobType.zyczh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add); // // BigDecimal finishInTotal = platformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.zycxh)||i.getType().equals(Constants.platformJobType.wxcxh)||i.getType().equals(Constants.platformJobType.sgscxh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add); // BigDecimal unFinishWmsInTotal = wmsPlatformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.zycxh)||i.getType().equals(Constants.platformJobType.wxcxh)||i.getType().equals(Constants.platformJobType.sgscxh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add); // BigDecimal unFinishBookInTotal = bookPlatformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.zycxh)||i.getType().equals(Constants.platformJobType.wxcxh)||i.getType().equals(Constants.platformJobType.sgscxh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add); // // data.setOutTotal(finishOutTotal); // data.setOutPlanTotal(finishOutTotal.add(unFinishWmsOutTotal).add(unFinishBookOutTotal)); // // data.setInTotal(finishInTotal); // data.setInPlanTotal(finishInTotal.add(unFinishWmsInTotal).add(unFinishBookInTotal)); } @Override public void centerDataOutInRata(WholeProvinceBoardVO data){ // //ç´¯è®¡æ¬æåº¦æææä½é // List<PlatformJob> platformJobList = platformJobJoinMapper.selectJoinList(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>() // .selectAll(PlatformJob.class) // .select(" ( select ifnull(sum(p.param3),0) from platform_log p where p.obj_id = platform_job.id ) ",PlatformJob::getWorkTime) // .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE // ,Constants.PlatformJobStatus.AUTHED_LEAVE // ,Constants.PlatformJobStatus.LEAVED) // .isNotNull(PlatformJob::getDoneDate) // .like( PlatformJob::getDoneDate, DateUtil.getFomartDate(new Date(),"yyyy-MM")) // ); // // //è·åæ¬æææåºåºé // BigDecimal monthOutTotal = platformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.wxczh)||i.getType().equals(Constants.platformJobType.zyczh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add); // Long monthOutWorkTotal = platformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.wxczh)||i.getType().equals(Constants.platformJobType.zyczh))).map(i->i.getWorkTime()).reduce(Long.valueOf(Constants.ZERO),Long::sum); // BigDecimal monthInTotal = platformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.zycxh)||i.getType().equals(Constants.platformJobType.wxcxh)||i.getType().equals(Constants.platformJobType.sgscxh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add); // Long monthInWorkTotal = platformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.zycxh)||i.getType().equals(Constants.platformJobType.wxcxh)||i.getType().equals(Constants.platformJobType.sgscxh))).map(i->i.getWorkTime()).reduce(Long.valueOf(Constants.ZERO),Long::sum); // // data.setMonthOutRata(BigDecimal.ZERO); // //æåº¦åºåºæç // if(Objects.nonNull(monthOutTotal) && Objects.nonNull(monthOutWorkTotal) && monthOutWorkTotal>0L && monthOutTotal.compareTo(BigDecimal.ZERO) > 0){ // BigDecimal workTotal = new BigDecimal(monthOutWorkTotal); // data.setMonthOutRata(monthOutTotal.multiply(new BigDecimal(3600)).divide(workTotal,2,BigDecimal.ROUND_UP)); // } // // //æåº¦å ¥åºæç // // data.setMonthInRata(BigDecimal.ZERO); // if(Objects.nonNull(monthInTotal) && Objects.nonNull(monthInWorkTotal) && monthInWorkTotal>0L && monthInTotal.compareTo(BigDecimal.ZERO) > 0){ // BigDecimal workTotal = new BigDecimal(monthInWorkTotal); // data.setMonthInRata(monthInTotal.multiply(new BigDecimal(3600)).divide(workTotal,2,BigDecimal.ROUND_UP)); // } // // // // List<PlatformJob> dayPlatformJobList = platformJobJoinMapper.selectList(new QueryWrapper<PlatformJob>() // .lambda() // .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE // ,Constants.PlatformJobStatus.AUTHED_LEAVE // ,Constants.PlatformJobStatus.LEAVED) // .isNotNull(PlatformJob::getDoneDate) // .like( PlatformJob::getDoneDate, DateUtil.getFomartDate(new Date(),"yyyy-MM-dd")) // ); // // BigDecimal dayOutTotal = dayPlatformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.wxczh)||i.getType().equals(Constants.platformJobType.zyczh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add); // Long dayOutWorkTotal = platformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.wxczh)||i.getType().equals(Constants.platformJobType.zyczh))).map(i->i.getWorkTime()).reduce(Long.valueOf(Constants.ZERO),Long::sum); // BigDecimal dayInTotal = dayPlatformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.zycxh)||i.getType().equals(Constants.platformJobType.wxcxh)||i.getType().equals(Constants.platformJobType.sgscxh))).map(i->i.getTotalNum()).reduce(BigDecimal.ZERO,BigDecimal::add); // Long dayInWorkTotal = platformJobList.stream().filter(i->Objects.nonNull(i.getTotalNum())&&(i.getType().equals(Constants.platformJobType.zycxh)||i.getType().equals(Constants.platformJobType.wxcxh)||i.getType().equals(Constants.platformJobType.sgscxh))).map(i->i.getWorkTime()).reduce(Long.valueOf(Constants.ZERO),Long::sum); // // data.setDayOutRata(BigDecimal.ZERO); // //æ¥åºåºæç // if(Objects.nonNull(dayOutTotal) && Objects.nonNull(dayOutWorkTotal) && dayOutWorkTotal>0L && dayOutTotal.compareTo(BigDecimal.ZERO) > 0){ // BigDecimal workTotal = new BigDecimal(dayOutWorkTotal); // data.setDayOutRata(dayOutTotal.multiply(new BigDecimal(3600)).divide(workTotal,2,BigDecimal.ROUND_UP)); // } // //æ¥å ¥åºæç // data.setDayInRata(BigDecimal.ZERO); // if(Objects.nonNull(dayInTotal) && Objects.nonNull(dayInWorkTotal) && dayInWorkTotal>0L && dayInTotal.compareTo(BigDecimal.ZERO) > 0){ // BigDecimal workTotal = new BigDecimal(dayInWorkTotal); // data.setMonthInRata(dayInTotal.multiply(new BigDecimal(3600)).divide(workTotal,2,BigDecimal.ROUND_UP)); // } } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -229,6 +229,7 @@ @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public Integer createFk(Visits visits,Boolean isERP,Integer source) { visits.setId(null); isValidBaseParam(visits); //æ£æ¥æ¯å¦å¿ é¡»çé¢ï¼å¹¶ä¸ç¬¦åçé¢è¦æ± ProblemLog problemLog = isValidProblemLog(visits,source); server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -14,9 +14,12 @@ import com.doumee.core.haikang.model.param.respose.*; import com.doumee.core.haikang.service.HKCarOpenService; import com.doumee.core.haikang.service.HKService; import com.doumee.core.model.ApiResponse; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.tms.model.request.TmsFacrotyCodeListRequest; import com.doumee.core.tms.model.request.TmsOutQtyAndVehicleQtyRequest; import com.doumee.core.tms.model.response.TmsDistributionOfDeliveryLocResponse; import com.doumee.core.tms.model.response.TmsInventoryListResponse; import com.doumee.core.tms.model.response.TmsOutQtyAndVehicleQtyResponse; import com.doumee.core.tms.model.response.TmsTotalAndReportVehicleQtyResponse; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; @@ -30,8 +33,8 @@ import com.doumee.dao.web.reqeust.CarsJobAndContractDTO; import com.doumee.dao.web.response.platformReport.*; import com.doumee.service.business.impl.PlatformJobServiceImpl; import com.doumee.service.business.impl.VisitsServiceImpl; import com.doumee.service.business.third.BoardService; import com.doumee.service.business.third.TmsService; import com.doumee.service.business.third.WmsService; import com.github.xiaoymin.knife4j.core.util.CollectionUtils; import com.github.yulichang.wrapper.MPJLambdaWrapper; @@ -40,9 +43,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestBody; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -66,6 +67,8 @@ @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired private TmsFactoryParamMapper tmsFactoryParamMapper; @Autowired private PlatformWarnEventJoinMapper platformWarnEventJoinMapper; @Autowired private PlatformJobMapper platformJobMapper; @@ -83,6 +86,8 @@ private RetentionMapper retentionMapper; @Autowired private PlatformGroupMapper platformGroupMapper; @Autowired private TmsService tmsService; /** * è·ååºåæ å½¢ç»ææ°æ® * @return @@ -2036,7 +2041,234 @@ return null; } } /** * åºåºè½åææ°¸å© * @return */ @Override public WholeProvinceZXTVO outAbilityUseRate(){ WholeProvinceZXTVO result = new WholeProvinceZXTVO(); result.setCurrentNum(new BigDecimal(0)); result.setTotalNum(new BigDecimal(0)); result.setUseRate(new BigDecimal(0)); result.setDetailList(new ArrayList<>()); List<TmsFactoryParam> paramList = factoryList(); List<WholeProvinceZxtDetailVO> list = new ArrayList<>(); TmsOutQtyAndVehicleQtyRequest param = new TmsOutQtyAndVehicleQtyRequest(); if(paramList!=null){ String startDate = DateUtil.formatDate(new Date(),"yyyy-MM-dd"); String endDate = DateUtil.formatDate(new Date(),"yyyy-MM-dd"); for(TmsFactoryParam p : paramList){ WholeProvinceZxtDetailVO t = new WholeProvinceZxtDetailVO(); t.setFactoryName(p.getName()); t.setCurrentNum(new BigDecimal(0)); t.setUseRate(new BigDecimal(0)); t.setTotalNum(Constants.formatBigdecimal(p.getNum2()));//æ»åºåºè½å if(StringUtils.isBlank(p.getCode())){ param.setFacrotyCodeList(new ArrayList<>()); param.setDateStart(startDate); param.setDateEnd(endDate); param.getFacrotyCodeList().add(p.getCode()); List<TmsOutQtyAndVehicleQtyResponse> response = tmsService.getOutQtyAndVehicleQty(param);//æ¥è¯¢åºåºé t.setCurrentNum(getCurrentOutQryByList(response)); if(t.getTotalNum().compareTo(new BigDecimal(0)) !=0){ t.setUseRate(t.getCurrentNum().divide(t.getTotalNum(),4,BigDecimal.ROUND_HALF_UP)); } } result.getDetailList().add(t); result.setCurrentNum(result.getCurrentNum().add(t.getCurrentNum())); result.setTotalNum(result.getTotalNum().add(t.getTotalNum())); } } if(result.getTotalNum().compareTo(new BigDecimal(0)) !=0){ result.setUseRate(result.getCurrentNum().divide(result.getTotalNum(),4,BigDecimal.ROUND_HALF_UP)); } return result; } /** * åºåºè½åææ°¸å© * @return */ @Override public TotalOutQtyNumVO totalOutQtyNum(int queryType){ TotalOutQtyNumVO data = new TotalOutQtyNumVO(); data.setCurrentInNum(new BigDecimal(0)); data.setLastInNum(new BigDecimal(0)); data.setSameInNum(new BigDecimal(0)); //---------çå¤---------------- data.setCurrentOutNum(new BigDecimal(0)); data.setLastOutNum(new BigDecimal(0)); data.setSameOutNum(new BigDecimal(0)); return data; } /** * åºåºè½åææ°¸å© * @return */ @Override public List<WholeProvinceMapVO> mapYearAndMonthOutList(){ List<WholeProvinceMapVO> result = new ArrayList<>(); List<TmsFactoryParam> paramList =factoryList(); if(paramList!=null && paramList.size()>0){ List<String> codes = new ArrayList<>(); for(TmsFactoryParam p : paramList){ if(StringUtils.isBlank(p.getCode())){ continue; } codes.add(p.getCode()); } if(codes.size()>0){ TmsFacrotyCodeListRequest param = new TmsFacrotyCodeListRequest(); param.setFacrotyCodeList(codes); List<TmsDistributionOfDeliveryLocResponse> response = tmsService.getDistributionOfDeliveryLocations(param);//æ¥è¯¢åºåºé if(response!=null &&response.size()>0){ for(TmsDistributionOfDeliveryLocResponse model : response){ WholeProvinceMapVO tt = getFromProvinceResultList(model ,result); if(tt == null){ tt =new WholeProvinceMapVO(); tt.setMonthNum( Constants.formatBigdecimal0Float(model.getMonthOutboundQuantity())); tt.setYearNum( Constants.formatBigdecimal0Float(model.getYearOutboundQuantity())); tt.setProvinceCode(model.getFromProvinceCode()); tt.setProvinceName(model.getFromProvinceName()); result.add(tt); } } } } } return result; } private WholeProvinceMapVO getFromProvinceResultList(TmsDistributionOfDeliveryLocResponse model, List<WholeProvinceMapVO> result) { for(WholeProvinceMapVO t : result){ if(StringUtils.equals(t.getProvinceCode(), model.getFromProvinceCode())){ t.setMonthNum(Constants.formatBigdecimal(t.getMonthNum()).add(Constants.formatBigdecimal0Float(model.getMonthOutboundQuantity()))); t.setYearNum(Constants.formatBigdecimal(t.getYearNum()).add(Constants.formatBigdecimal0Float(model.getYearOutboundQuantity()))); return t; } } return null; } /** * åºåºè½åææ°¸å© * @return */ @Override public List<TmsFactoryParam> factoryList(){ List<TmsFactoryParam> paramList = tmsFactoryParamMapper.selectList(new QueryWrapper<TmsFactoryParam>().lambda() .eq(TmsFactoryParam::getIsdeleted,Constants.ZERO) .orderByAsc(TmsFactoryParam::getSortnum)); return paramList; } /** * åºåºè½åææ°¸å© * @return */ @Override public WholeProvinceZXTVO tranportAbilityUseRate(){ WholeProvinceZXTVO result = new WholeProvinceZXTVO(); result.setCurrentNum(new BigDecimal(0)); result.setTotalNum(new BigDecimal(0)); result.setUseRate(new BigDecimal(0)); result.setDetailList(new ArrayList<>()); List<TmsFactoryParam> paramList =factoryList(); if(paramList!=null){ List<TmsTotalAndReportVehicleQtyResponse> response = tmsService.getTotalAndReportVehicleQty();//æ¥è¯¢åºåºé for(TmsFactoryParam p : paramList){ WholeProvinceZxtDetailVO t = new WholeProvinceZxtDetailVO(); t.setFactoryName(p.getName()); t.setCurrentNum(new BigDecimal(0)); t.setTotalNum(Constants.formatBigdecimal(p.getNum1()));//æ»åºåé getFromReportVehicleQtyList(p.getCode(),t,response);//å¤çææ¥è¿ååæ»è¿åæ°æ® t.setUseRate(new BigDecimal(0)); if(t.getTotalNum().compareTo(new BigDecimal(0)) !=0){ t.setUseRate(t.getCurrentNum().divide(t.getTotalNum(),4,BigDecimal.ROUND_HALF_UP)); } result.getDetailList().add(t); result.setCurrentNum(result.getCurrentNum().add(t.getCurrentNum())); result.setTotalNum(result.getTotalNum().add(t.getTotalNum())); } } if(result.getTotalNum().compareTo(new BigDecimal(0)) !=0){ result.setUseRate(result.getCurrentNum().divide(result.getTotalNum(),4,BigDecimal.ROUND_HALF_UP)); } return result; } private void getFromReportVehicleQtyList(String code,WholeProvinceZxtDetailVO t, List<TmsTotalAndReportVehicleQtyResponse> responses) { BigDecimal current = new BigDecimal(0); BigDecimal total= new BigDecimal(0); if(responses!=null && responses.size()>0){ for(TmsTotalAndReportVehicleQtyResponse model: responses){ if(StringUtils.equals(model.getFactoryCode(),code)){ total = total.add(Constants.formatBigdecimal(model.getTotalQty())); current = current.add(Constants.formatBigdecimal(model.getReportQty())); } } } t.setCurrentNum(current); t.setTotalNum(total); } private BigDecimal getCurrentOutQryByList(List<TmsOutQtyAndVehicleQtyResponse> response) { BigDecimal r = new BigDecimal(0); if(response!=null && response.size()>0){ for(TmsOutQtyAndVehicleQtyResponse model: response){ r = r.add(Constants.formatBigdecimal(model.getTotalOutQty())); } } return r ; } /** * ä»åºèµæºå©ç¨ç * @return */ @Override public WholeProvinceZXTVO inventoryUseRate(){ WholeProvinceZXTVO result = new WholeProvinceZXTVO(); result.setCurrentNum(new BigDecimal(0)); result.setTotalNum(new BigDecimal(0)); result.setUseRate(new BigDecimal(0)); result.setDetailList(new ArrayList<>()); List<TmsFactoryParam> paramList = factoryList(); List<TmsInventoryListResponse> responses = tmsService.getRealTimeInventory(); if(paramList!=null){ for(TmsFactoryParam p : paramList){ WholeProvinceZxtDetailVO t = new WholeProvinceZxtDetailVO(); t.setFactoryName(p.getName()); t.setCurrentNum(new BigDecimal(0)); t.setTotalNum(Constants.formatBigdecimal(p.getNum1()));//æ»åºåé t.setCurrentNum(getFromInventoryList(p.getCode(),responses)); t.setUseRate(new BigDecimal(0)); if(t.getTotalNum().compareTo(new BigDecimal(0)) !=0){ t.setUseRate(t.getCurrentNum().divide(t.getTotalNum(),4,BigDecimal.ROUND_HALF_UP)); } result.getDetailList().add(t); result.setCurrentNum(result.getCurrentNum().add(t.getCurrentNum())); result.setTotalNum(result.getTotalNum().add(t.getTotalNum())); } } if(result.getTotalNum().compareTo(new BigDecimal(0)) !=0){ result.setUseRate(result.getCurrentNum().divide(result.getTotalNum(),4,BigDecimal.ROUND_HALF_UP)); } return result; } private BigDecimal getFromInventoryList(String code, List<TmsInventoryListResponse> responses) { BigDecimal r = new BigDecimal(0); if(responses!=null && responses.size()>0){ for(TmsInventoryListResponse model: responses){ if(StringUtils.equals(model.getFactoryCode(),code)){ r = r.add(Constants.formatBigdecimal(model.getStockQty())); } } } return r ; } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
@@ -197,27 +197,6 @@ */ @Override public TmsBasePageResponse<TmsOrderListResponse> orderList(TmsOrderListRequest param){ if(param == null){ param = new TmsOrderListRequest(); } if(param.getParameters() == null){ param.setParameters( new TmsOrderListParamRequest()); } if(param.getPager() == null){ param.setPager( new TmsOrderListPagerRequest()); } if(param.getPager().getPage() == null){ param.getPager().setPage(1); } if(param.getPager().getRows() == null){ param.getPager().setRows(10); } if(StringUtils.isBlank(param.getParameters().getPhoneNumber())){ param.getParameters().setPhoneNumber("00000000000");//ææºå·å¿ å¡« } if(param.getParameters().getContractNumbers()==null || param.getParameters().getContractNumbers().size()==0){ param.getParameters().setContractNumbers(null); } String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode() +TMSContants.InterfacePath.getOrderList[0]; TmsBaseResponse<TmsBasePageResponse<TmsOrderListResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getOrderList[1],JSONObject.toJSONString(param) server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
@@ -1,9 +1,9 @@ package com.doumee.service.business.third; import com.doumee.core.haikang.model.cars.response.CarsAlarmResultListResponse; import com.doumee.core.haikang.model.param.request.RegionDataRankingTypeRequest; import com.doumee.core.haikang.model.param.respose.*; import com.doumee.dao.business.model.PlatformWarnEvent; import com.doumee.dao.business.model.TmsFactoryParam; import com.doumee.dao.web.reqeust.CarsJobAndContractDTO; import com.doumee.dao.web.response.platformReport.*; @@ -92,4 +92,14 @@ List<CarsAlarmResultListResponse> carsEventList(); List<RegionDataRankingDataResponse> getRegionDataRanking(Integer type); WholeProvinceZXTVO inventoryUseRate(); WholeProvinceZXTVO outAbilityUseRate(); WholeProvinceZXTVO tranportAbilityUseRate(); List<TmsFactoryParam> factoryList(); List<WholeProvinceMapVO> mapYearAndMonthOutList(); TotalOutQtyNumVO totalOutQtyNum(int queryType); }