| | |
| | | package com.ruoyi.home.controller; |
| | | |
| | | import com.ruoyi.approve.pojo.ApproveProcess; |
| | | import com.ruoyi.energy.vo.EnergyStatisticsVo; |
| | | import com.ruoyi.framework.aspectj.lang.annotation.Log; |
| | | import com.ruoyi.framework.aspectj.lang.enums.BusinessType; |
| | | import com.ruoyi.framework.web.controller.BaseController; |
| | | import com.ruoyi.framework.web.domain.AjaxResult; |
| | | import com.ruoyi.framework.web.domain.R; |
| | | import com.ruoyi.home.annotation.DefaultType; |
| | | import com.ruoyi.home.dto.*; |
| | | import com.ruoyi.home.service.HomeService; |
| | | import com.ruoyi.dto.MapDto; |
| | | import com.ruoyi.productionPlan.service.SalesDeliveryService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | * @date : 2025/7/25 9:15 |
| | | */ |
| | | @RestController |
| | | @Api(tags = "é¦é¡µç»è®¡") |
| | | @Api(tags = "ç»è®¡") |
| | | @RequestMapping("/home") |
| | | public class HomeController extends BaseController { |
| | | |
| | |
| | | return AjaxResult.success(list); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /*******************************************å®å¤ä¸ç建æç大å±ç»è®¡***************************************************/ |
| | | |
| | | @GetMapping("/total") |
| | | @ApiOperation("éå®ç»è®¡çæ¿---æ»æ°æ®æ±æ»") |
| | | public AjaxResult total() { |
| | | return AjaxResult.success(homeService.total()); |
| | | } |
| | | |
| | | } |
| | |
| | | QualityStatisticsDto qualityInspectionStatistics(Integer type); |
| | | |
| | | List<processDataProductionStatisticsDto> processDataProductionStatistics(Integer type, List<Long> processIds); |
| | | |
| | | Map<String,Long> total(); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | 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; |
| | | import com.ruoyi.account.mapper.AccountIncomeMapper; |
| | | import com.ruoyi.account.pojo.AccountExpense; |
| | |
| | | import com.ruoyi.production.mapper.SalesLedgerProductionAccountingMapper; |
| | | import com.ruoyi.production.pojo.ProductProcess; |
| | | import com.ruoyi.production.pojo.ProductWorkOrder; |
| | | import com.ruoyi.productionPlan.enums.AddressRegionEnum; |
| | | import com.ruoyi.productionPlan.mapper.SalesDeliveryMapper; |
| | | import com.ruoyi.productionPlan.pojo.SalesDelivery; |
| | | import com.ruoyi.project.system.domain.SysDept; |
| | | import com.ruoyi.project.system.mapper.SysDeptMapper; |
| | | import com.ruoyi.purchase.mapper.PaymentRegistrationMapper; |
| | |
| | | |
| | | @Autowired |
| | | private ProductProcessMapper productProcessMapper; |
| | | |
| | | |
| | | @Autowired |
| | | private AccountExpenseMapper accountExpenseMapper; |
| | | |
| | | @Autowired |
| | | private AccountIncomeMapper accountIncomeMapper; |
| | | |
| | | @Autowired |
| | | private SalesDeliveryMapper salesDeliveryMapper; |
| | | |
| | | @Override |
| | | public HomeBusinessDto business() { |
| | |
| | | |
| | | return productProcessMapper.calculateProductionStatistics(startDateTime, endDateTime, userId, processIds); |
| | | } |
| | | |
| | | @Override |
| | | public Map<String, Long> total() { |
| | | Map<String, Long> map = new HashMap<>(); |
| | | //æ»éå®éé¢ |
| | | List<SalesDelivery> salesDeliveries = salesDeliveryMapper.selectList(null); |
| | | long sum = salesDeliveries.stream().mapToLong(value -> Long.parseLong(value.getPrice().toString())).sum(); |
| | | map.put("price",sum/1000);//åä½w |
| | | //æ»åè´§å |
| | | map.put("delivery",salesDeliveries.stream().count()); |
| | | //æ»éå®åº? |
| | | //ç´¯è®¡å®¢æ· |
| | | Long count = customerMapper.selectCount(null); |
| | | map.put("customer",count); |
| | | return map; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.productionPlan.enums; |
| | | |
| | | import lombok.Getter; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * å°åå½å±å°æä¸¾ |
| | | * æ ¹æ®å°åå
³é®åèªå¨å¹é
ï¼é¶å·/ç³å´å±±/å´å¿ /åºå/ä¸å«/èªæ/å
èå¤/å
¶ä» |
| | | */ |
| | | @Getter |
| | | public enum AddressRegionEnum { |
| | | |
| | | /** |
| | | * é¶å·å¸ |
| | | */ |
| | | YINCHUAN("é¶å·", Arrays.asList("å
´åº", "西å¤", "éå¤", "æ°¸å®", "è´ºå
°", "çµæ¦")), |
| | | |
| | | /** |
| | | * ç³å´å±±å¸ |
| | | */ |
| | | SHIZUISHAN("ç³å´å±±", Arrays.asList("大æ¦å£", "å¹³ç½", "æ å", "å©é")), |
| | | |
| | | /** |
| | | * å´å¿ å¸ |
| | | */ |
| | | WUZHONG("å´å¿ ", Arrays.asList("çº¢å¯ºå ¡", "çæ± ", "åå¿", "éé峡")), |
| | | |
| | | /** |
| | | * åºåå¸ |
| | | */ |
| | | GUYUAN("åºå",Arrays.asList("åå·", "æ³¾æº", "å½é³", "ä¸å®", "æµ·å", "éå¾·", "西å")), |
| | | |
| | | /** |
| | | * ä¸å«å¸ |
| | | */ |
| | | ZHONGWEI("ä¸å«", Arrays.asList("æ²å¡å¤´", "ä¸å®", "æµ·å")), |
| | | |
| | | /** |
| | | * èªæ |
| | | */ |
| | | SELF_PICKUP("èªæ", Arrays.asList("èªæ")), |
| | | |
| | | /** |
| | | * å
èå¤ï¼å
å«ä½ æä¾çææåºå¿å
³é®åï¼ |
| | | */ |
| | | INNER_MONGOLIA("å
èå¤", Arrays.asList( |
| | | // å¼åæµ©ç¹ |
| | | "å¼å浩ç¹", "æ°å", "åæ°", "çæ³", "èµç½", "åé»ç¹å·¦æ", "åé»ç¹", "æå
æ", "åææ ¼å°", "æ¸
æ°´æ²³", "æ¦å·", |
| | | // å
头 |
| | | "å
头", "䏿²³", "æé½ä»", "éå±±", "ç³æ", "ç½äºéå", "ä¹å", "åé»ç¹å³æ", "åºé³", "è¾¾å°ç½èæå®èåæ", |
| | | // 乿µ· |
| | | "乿µ·", "æµ·åæ¹¾", "æµ·å", "ä¹è¾¾", |
| | | // 赤峰 |
| | | "赤峰", "红山", "å
å®å±±", "æ¾å±±", "é¿é²ç§å°æ²æ", "å·´æå·¦æ", "å·´æå³æ", "æè¥¿", "å
ä»å
è
¾æ", "ç¿çç¹æ", "ååæ²æ", "å®å", "ææ±æ", |
| | | // éè¾½ |
| | | "éè¾½", "ç§å°æ²", "éæéå", "ç§å°æ²å·¦ç¿¼ä¸æ", "ç§å°æ²å·¦ç¿¼åæ", "å¼é²", "åºä¼¦æ", "奿¼æ", "æé²ç¹æ", |
| | | // éå°å¤æ¯ï¼å«èªå®ä¹å°åï¼ |
| | | "éå°å¤æ¯", "ä¸è", "康巴ä»", "è¾¾æç¹æ", "åæ ¼å°æ", "éæå
åæ", "éæå
æ", "æé¦æ", "ä¹å®¡æ", "ä¼ééæ´æ", |
| | | // å¼ä¼¦è´å° |
| | | "å¼ä¼¦è´å°", "æµ·æå°", "æèµè¯ºå°", "满洲é", "çå
ç³", "æå
°å±¯", "é¢å°å¤çº³", "æ ¹æ²³", |
| | | "é¿è£æ", "è«åè¾¾ç¦è¾¾æ¡å°æèªæ²»æ", "é伦æ¥èªæ²»æ", "鿏©å
æèªæ²»æ", "éå·´å°èæ", "æ°å·´å°èå·¦æ", "æ°å·´å°è峿", |
| | | // 巴彦æ·å° |
| | | "巴彦æ·å°", "临河", "äºå", "磴å£", "乿ç¹åæ", "乿ç¹ä¸æ", "乿ç¹åæ", "æé¦åæ", |
| | | // ä¹å
°å¯å¸ |
| | | "ä¹å
°å¯å¸", "éå®", "丰é", "åèµ", "åå¾·", "åé½", "å
´å", "åå", |
| | | "å¯åå°å³ç¿¼åæ", "å¯åå°å³ç¿¼ä¸æ", "å¯åå°å³ç¿¼åæ", "ååçæ", |
| | | // å
´å®ç |
| | | "å
´å®ç", "ä¹å
°æµ©ç¹", "é¿å°å±±", "ç§å°æ²å³ç¿¼åæ", "ç§å°æ²å³ç¿¼ä¸æ", "æèµç¹æ", "çªæ³", |
| | | // 顿éåç |
| | | "顿éåç", "é¡ææµ©ç¹", "äºè¿æµ©ç¹", "é¿å·´åæ", "èå°¼ç¹å·¦æ", "èå°¼ç¹å³æ", |
| | | "ä¸ä¹ç ç©æ²æ", "西ä¹ç ç©æ²æ", "太ä»å¯ºæ", "é¶é»æ", "æ£é¶ç½æ", "æ£èæ", "å¤ä¼¦", |
| | | // é¿æåç |
| | | "é¿æåç", "é¿æåå·¦æ", "é¿æå峿", "颿µçº³æ", |
| | | //èªå®ä¹ |
| | | "èéæ ¼ç»æµå¼ååº", "æé¦æä¼åä¹ç´ èæ¨èåç«", "éæå
åæä¸æµ·åºé","å
è" |
| | | )), |
| | | |
| | | /** |
| | | * å
¶ä»å°åº |
| | | */ |
| | | OTHER("å
¶ä»", Arrays.asList()); |
| | | |
| | | |
| | | /** |
| | | * å½å±å°åç§° |
| | | */ |
| | | private final String regionName; |
| | | |
| | | /** |
| | | * å¹é
å
³é®åå表 |
| | | */ |
| | | private final List<String> keyWords; |
| | | |
| | | /** |
| | | * æé æ¹æ³ |
| | | */ |
| | | AddressRegionEnum(String regionName, List<String> keyWords) { |
| | | this.regionName = regionName; |
| | | this.keyWords = keyWords; |
| | | } |
| | | |
| | | // ==================== æ ¸å¿æ¹æ³ï¼æ ¹æ®å°åå符串å¹é
å½å±å° ==================== |
| | | /** |
| | | * æ ¹æ®å°åææ¬èªå¨è¯å«å½å±å° |
| | | * @param address 详ç»å°åå符串 |
| | | * @return å¹é
å°çå½å±å°æä¸¾ï¼é»è®¤è¿åOTHERï¼ |
| | | */ |
| | | public static AddressRegionEnum matchRegion(String address) { |
| | | // å°å为空/空å符串ï¼ç´æ¥è¿åå
¶ä» |
| | | if (address == null || address.trim().isEmpty()) { |
| | | return OTHER; |
| | | } |
| | | |
| | | // æä¼å
级å¹é
ï¼èªæ > å®å¤åå°å¸ > å
èå¤ > å
¶ä» |
| | | for (AddressRegionEnum region : values()) { |
| | | // è·³è¿æ å
³é®åçOTHER |
| | | if (region.keyWords.isEmpty()) { |
| | | continue; |
| | | } |
| | | // éåå
³é®åï¼å°åå
å«ä»»æå
³é®ååå¹é
æå |
| | | for (String keyword : region.keyWords) { |
| | | if (address.contains(keyword)) { |
| | | return region; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // æ å¹é
å
³é®åï¼è¿åå
¶ä» |
| | | return OTHER; |
| | | } |
| | | } |