@ -1,11 +1,16 @@
package com.ruoyi.web.controller.system.count ;
import com.alibaba.fastjson.JSONObject ;
import com.ruoyi.common.annotation.Log ;
import com.ruoyi.common.core.controller.BaseController ;
import com.ruoyi.common.core.domain.AjaxResult ;
import com.ruoyi.common.core.domain.entity.SysDictData ;
import com.ruoyi.common.core.page.TableDataInfo ;
import com.ruoyi.common.enums.BusinessType ;
import com.ruoyi.system.domain.TdPropertyInfo ;
import com.ruoyi.system.domain.TdPropertyManager ;
import com.ruoyi.system.domain.count.UserSmCountDTO ;
import com.ruoyi.system.service.ISysDictDataService ;
import com.ruoyi.system.service.ITdPropertyInfoService ;
import com.ruoyi.system.service.ITdPropertyManagerService ;
import org.apache.shiro.authz.annotation.RequiresPermissions ;
@ -14,7 +19,10 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap ;
import org.springframework.web.bind.annotation.* ;
import java.util.ArrayList ;
import java.util.List ;
import java.util.concurrent.atomic.AtomicReference ;
import java.util.stream.Collectors ;
@Controller
@RequestMapping ( "/system/propertynum" )
@ -60,4 +68,37 @@ public class SysPropertynumController extends BaseController {
mmap . put ( "sysuser" , getSysUser ( ) ) ;
return prefix + "/print" ;
}
@Autowired
private ISysDictDataService dictDataService ;
/ * *
*
* 资 产 统 计
* @return com . ruoyi . common . core . domain . AjaxResult
* /
@PostMapping ( "/countInfo" )
@ResponseBody
public AjaxResult countInfo ( ) {
SysDictData sysDictData = new SysDictData ( ) ;
sysDictData . setDictType ( "sys_sm_property" ) ;
List < SysDictData > smType = dictDataService . selectDictDataList ( sysDictData ) ;
List < String > list = smType . stream ( ) . map ( SysDictData : : getDictLabel ) . collect ( Collectors . toList ( ) ) ;
List < Long > yAxisData = new ArrayList < > ( ) ;
smType . forEach ( xAxis - > {
AtomicReference < Long > yAxis = new AtomicReference < > ( 0 L ) ;
Integer count = tdPropertyInfoService . lambdaQuery ( )
. eq ( TdPropertyInfo : : getPropertyType , xAxis . getDictValue ( ) )
. count ( ) ;
yAxis . set ( Long . valueOf ( count ) ) ;
yAxisData . add ( yAxis . get ( ) ) ;
} ) ;
JSONObject obj = new JSONObject ( ) ;
obj . put ( "xAxisData" , list . toArray ( ) ) ;
obj . put ( "yAxisData" , yAxisData ) ;
return AjaxResult . success ( obj ) ;
}
}