Kaynağa Gözat

首页柱形图、饼状图、分仓保管账功能修改

fanxw 5 yıl önce
ebeveyn
işleme
a9a337bfe8

+ 5 - 0
pom.xml

@@ -118,6 +118,11 @@
118
             <groupId>org.springframework.session</groupId>
118
             <groupId>org.springframework.session</groupId>
119
             <artifactId>spring-session-data-redis</artifactId>
119
             <artifactId>spring-session-data-redis</artifactId>
120
         </dependency>
120
         </dependency>
121
+        <!-- feign -->
122
+		<dependency>
123
+			<groupId>org.springframework.cloud</groupId>
124
+			<artifactId>spring-cloud-starter-openfeign</artifactId>
125
+		</dependency>
121
 	</dependencies>
126
 	</dependencies>
122
 
127
 
123
 	<dependencyManagement>
128
 	<dependencyManagement>

+ 2 - 0
src/main/java/com/chinaitop/agile/DepotAgileApplication.java

@@ -5,11 +5,13 @@ import org.springframework.boot.SpringApplication;
5
 import org.springframework.boot.autoconfigure.SpringBootApplication;
5
 import org.springframework.boot.autoconfigure.SpringBootApplication;
6
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
6
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
7
 import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
7
 import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
8
+import org.springframework.cloud.openfeign.EnableFeignClients;
8
 
9
 
9
 
10
 
10
 @EnableEurekaClient
11
 @EnableEurekaClient
11
 @EnableDiscoveryClient
12
 @EnableDiscoveryClient
12
 @SpringBootApplication
13
 @SpringBootApplication
14
+@EnableFeignClients
13
 @MapperScan(basePackages = {"com.chinaitop.agile.mapper"})
15
 @MapperScan(basePackages = {"com.chinaitop.agile.mapper"})
14
 public class DepotAgileApplication {
16
 public class DepotAgileApplication {
15
 
17
 

+ 4 - 4
src/main/java/com/chinaitop/agile/controller/KcswController.java

@@ -41,12 +41,12 @@ public class KcswController {
41
 	private DataKcglFcbgzDefaultService fcbgzService;
41
 	private DataKcglFcbgzDefaultService fcbgzService;
42
 	
42
 	
43
 	/**
43
 	/**
44
-     * 根据id查询
44
+     * 首页柱形图
45
      * @param example 粮食业务
45
      * @param example 粮食业务
46
      * @return
46
      * @return
47
      */
47
      */
48
     @RequestMapping(value="/getDate", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
48
     @RequestMapping(value="/getDate", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
49
-    @ApiOperation(value="根据id查询", notes = "根据id查询")
49
+    @ApiOperation(value="首页柱形图", notes = "")
50
 	@ApiImplicitParams({
50
 	@ApiImplicitParams({
51
 		@ApiImplicitParam(name = "orgId", value = "单位ID", paramType = "query")
51
 		@ApiImplicitParam(name = "orgId", value = "单位ID", paramType = "query")
52
 	})
52
 	})
@@ -69,12 +69,12 @@ public class KcswController {
69
 	}
69
 	}
70
     
70
     
71
     /**
71
     /**
72
-     * 根据等级分组查询
72
+     * 首页饼状图
73
      * @param example 粮食业务
73
      * @param example 粮食业务
74
      * @return
74
      * @return
75
      */
75
      */
76
     @RequestMapping(value="/getDateDj", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
76
     @RequestMapping(value="/getDateDj", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
77
-    @ApiOperation(value="根据等级分组查询", notes = "等级分组查询")
77
+    @ApiOperation(value="首页饼状图", notes = "")
78
 	@ApiImplicitParams({
78
 	@ApiImplicitParams({
79
 		@ApiImplicitParam(name="orgId", value="单位ID", paramType="query")
79
 		@ApiImplicitParam(name="orgId", value="单位ID", paramType="query")
80
 	})
80
 	})

+ 1 - 0
src/main/java/com/chinaitop/agile/controller/KeepAccountController.java

@@ -172,6 +172,7 @@ public class KeepAccountController {
172
 		List<DataKcglFcbgzDefault> list = keepAccountService.queryTotalByExample(example);
172
 		List<DataKcglFcbgzDefault> list = keepAccountService.queryTotalByExample(example);
173
 		for (DataKcglFcbgzDefault fcbgz : list) {
173
 		for (DataKcglFcbgzDefault fcbgz : list) {
174
 			try {
174
 			try {
175
+				fcbgz.setUnitid(orgId);
175
 				DataKcglFcbgzDefault obj = fcbgzService.findConditionMax(fcbgz);
176
 				DataKcglFcbgzDefault obj = fcbgzService.findConditionMax(fcbgz);
176
 				fcbgz.setKcsl(obj.getKcsl());
177
 				fcbgz.setKcsl(obj.getKcsl());
177
 			} catch (Exception e) {
178
 			} catch (Exception e) {

+ 20 - 0
src/main/java/com/chinaitop/agile/feign/service/BasicEnumFeignService.java

@@ -0,0 +1,20 @@
1
+package com.chinaitop.agile.feign.service;
2
+
3
+import org.springframework.cloud.openfeign.FeignClient;
4
+import org.springframework.http.MediaType;
5
+import org.springframework.web.bind.annotation.RequestMapping;
6
+import org.springframework.web.bind.annotation.RequestMethod;
7
+import org.springframework.web.bind.annotation.RequestParam;
8
+
9
+@FeignClient(value = "depot-basic")
10
+public interface BasicEnumFeignService {
11
+
12
+	/**
13
+	 * 获取一条字典数据
14
+	 * @param username
15
+	 * @param password
16
+	 * @return
17
+	 */
18
+	@RequestMapping(value = "/Enum/findByEnum", produces = MediaType.APPLICATION_JSON_VALUE, method=RequestMethod.GET)
19
+	String getEnumData(@RequestParam("id") Integer id);
20
+}

+ 1 - 1
src/main/java/com/chinaitop/agile/mapper/DataKcglKcswDefaultMapper.xml

@@ -419,7 +419,7 @@
419
   </select>
419
   </select>
420
   
420
   
421
   <select id="countByDj" parameterType="java.util.Map" resultType="com.chinaitop.agile.model.DataKcswScedule">
421
   <select id="countByDj" parameterType="java.util.Map" resultType="com.chinaitop.agile.model.DataKcswScedule">
422
-    select dj djmc ,ROUND(sum(kcsl/1000),2) sumCksl from data_kcgl_kcsw_default where UnitID=#{orgId} 
422
+    select dj djmc ,ROUND(sum(kcsl/1000),3) sumCksl from data_kcgl_kcsw_default where UnitID=#{orgId} 
423
       group by dj
423
       group by dj
424
   </select>
424
   </select>
425
   
425
   

+ 81 - 32
src/main/java/com/chinaitop/agile/service/impl/KcswServiceImpl.java

@@ -1,6 +1,7 @@
1
 package com.chinaitop.agile.service.impl;
1
 package com.chinaitop.agile.service.impl;
2
 
2
 
3
 import com.alibaba.fastjson.JSONObject;
3
 import com.alibaba.fastjson.JSONObject;
4
+import com.chinaitop.agile.feign.service.BasicEnumFeignService;
4
 import com.chinaitop.agile.mapper.DataKcglFcbgzDefaultMapper;
5
 import com.chinaitop.agile.mapper.DataKcglFcbgzDefaultMapper;
5
 import com.chinaitop.agile.mapper.DataKcglKcswDefaultMapper;
6
 import com.chinaitop.agile.mapper.DataKcglKcswDefaultMapper;
6
 import com.chinaitop.agile.mapper.DataKcglXckcDefaultMapper;
7
 import com.chinaitop.agile.mapper.DataKcglXckcDefaultMapper;
@@ -8,6 +9,8 @@ import com.chinaitop.agile.model.*;
8
 import com.chinaitop.agile.model.DataKcglKcswDefaultExample.Criteria;
9
 import com.chinaitop.agile.model.DataKcglKcswDefaultExample.Criteria;
9
 import com.chinaitop.agile.service.KcswService;
10
 import com.chinaitop.agile.service.KcswService;
10
 import com.chinaitop.agile.utils.ParameterUtil;
11
 import com.chinaitop.agile.utils.ParameterUtil;
12
+
13
+import org.apache.commons.lang.ObjectUtils;
11
 import org.springframework.stereotype.Service;
14
 import org.springframework.stereotype.Service;
12
 
15
 
13
 import javax.annotation.Resource;
16
 import javax.annotation.Resource;
@@ -25,6 +28,8 @@ public class KcswServiceImpl implements KcswService{
25
 	private DataKcglXckcDefaultMapper dataKcglXckcDefaultMapper;
28
 	private DataKcglXckcDefaultMapper dataKcglXckcDefaultMapper;
26
 	@Resource
29
 	@Resource
27
 	private DataKcglFcbgzDefaultMapper dataKcglFcbgzDefaultMapper;
30
 	private DataKcglFcbgzDefaultMapper dataKcglFcbgzDefaultMapper;
31
+	@Resource
32
+	private BasicEnumFeignService basicEnumFeignService;
28
 
33
 
29
 	public Map<String, Object> queryByExample(Integer orgId) {
34
 	public Map<String, Object> queryByExample(Integer orgId) {
30
 		/* 返回数据对象 */
35
 		/* 返回数据对象 */
@@ -42,44 +47,85 @@ public class KcswServiceImpl implements KcswService{
42
 		year_num[4] = this_year + "";
47
 		year_num[4] = this_year + "";
43
 		modelMap.put("years", year_num);
48
 		modelMap.put("years", year_num);
44
 
49
 
45
-		Map<String, Object> map = new HashMap<String, Object>();
46
-		map.put("orgId", orgId);
47
-		List<DataKcswScedule> countByLspz = dataKcglKcswDefaultMapper.countByLspz(map);
50
+		/* 查询库存数量表数据  */
51
+		DataKcglKcswDefaultExample example = new DataKcglKcswDefaultExample();
52
+		Criteria criteria = example.createCriteria();
53
+		criteria.andUnitidEqualTo(orgId+"");
54
+		List<DataKcglKcswDefault> list = dataKcglKcswDefaultMapper.selectByExample(example);
55
+
48
 		String pz = "";
56
 		String pz = "";
49
-		String sumCksl = "";
50
-		double sumCkslDouble = 0d;
51
-		DecimalFormat obj = new DecimalFormat(".00");  // 保留2位小数
57
+		String year = "0";
58
+		DecimalFormat obj = new DecimalFormat(".0000");  // 保留4位小数
52
 		String sumCkslFormat = "";
59
 		String sumCkslFormat = "";
53
-		//BigDecimal s = new BigDecimal(1000);
54
 		BigDecimal sumCksls = null;
60
 		BigDecimal sumCksls = null;
55
-		//BigDecimal sumCkslss = null;
56
-		int year = 0;
61
+		
57
 		double []_xiaomai = new double[5];
62
 		double []_xiaomai = new double[5];
58
 		double []_yumi = new double[5];
63
 		double []_yumi = new double[5];
59
 		double []_daogu = new double[5];
64
 		double []_daogu = new double[5];
60
 		double []_dadou = new double[5];
65
 		double []_dadou = new double[5];
61
 		for (int i = 0; i < year_num.length; i++) {
66
 		for (int i = 0; i < year_num.length; i++) {
62
-			for (DataKcswScedule dataKcswScedule : countByLspz) {
63
-				pz = dataKcswScedule.getPz();
64
-				year = Integer.parseInt(dataKcswScedule.getRq().substring(0, 4) + "");
65
-				dataKcswScedule.setRq(year+"");
66
-				sumCksl = dataKcswScedule.getSumCksl();
67
-				sumCkslDouble = Double.parseDouble(sumCksl);
68
-				sumCkslFormat = obj.format(sumCkslDouble);
69
-				sumCksls = new BigDecimal(sumCkslFormat);
70
-				//sumCkslss = sumCksls.divide(s);
71
-				if (year_num[i].equals(year+"")) {
72
-					if("3164".equals(pz)){
73
-						_xiaomai[i] = Double.parseDouble(sumCksls+"");
74
-					}else if ("3165".equals(pz)) {
75
-						_yumi[i] = Double.parseDouble(sumCksls+"");
76
-					}else if ("3166".equals(pz)) {
77
-						_daogu[i] = Double.parseDouble(sumCksls+"");
78
-					}else if ("2777".equals(pz)) {
79
-						_dadou[i] = Double.parseDouble(sumCksls+"");
67
+			double sumXiaomaikcsl = 0d; //小麦
68
+			double sumYumikcsl = 0d; //玉米
69
+			double sumDadoukcsl = 0d; //大豆
70
+			double sumDaogukcsl = 0d; //稻谷
71
+			if (null != list && list.size() > 0) {
72
+				for (DataKcglKcswDefault kcsw_obj : list) {
73
+					DataKcglFcbgzDefaultExample fcbgz_example = new DataKcglFcbgzDefaultExample();
74
+					DataKcglFcbgzDefaultExample.Criteria fcbgz_criteria = fcbgz_example.createCriteria();
75
+					fcbgz_criteria.andUnitidEqualTo(kcsw_obj.getUnitid());
76
+					fcbgz_criteria.andChEqualTo(kcsw_obj.getCh());
77
+					fcbgz_criteria.andHwhEqualTo(kcsw_obj.getHwh());
78
+					fcbgz_criteria.andSrslGreaterThan(0d);//收入数量大于0
79
+					fcbgz_example.setOrderByClause(" ModifyDate DESC");
80
+					//给生产年份赋值
81
+					List<DataKcglFcbgzDefault> fcbgz_list = dataKcglFcbgzDefaultMapper.selectByExample(fcbgz_example);
82
+					Integer scnf = 0;
83
+					if (null != fcbgz_list && fcbgz_list.size() > 0) {
84
+						scnf = Integer.parseInt(ObjectUtils.toString(fcbgz_list.get(0).getScnf(), "0"));
85
+					}
86
+
87
+					pz = kcsw_obj.getPz();
88
+					if (null == scnf || "".equals(scnf)) {
89
+						scnf = 0;
90
+					}
91
+					/* 获取年份的字典值 */
92
+					String strResult = basicEnumFeignService.getEnumData(scnf);
93
+					if (null != strResult && !"".equals(strResult)) {
94
+						JSONObject enum_obj = JSONObject.parseObject(strResult);
95
+						year = enum_obj.get("enumname")+"";//年份字典
96
+					} else {
97
+						year = "0";
98
+					}
99
+					if (year.equals(year_num[i]) && "3164".equals(pz)) {//这个年份小麦的数据
100
+						sumXiaomaikcsl = sumXiaomaikcsl + kcsw_obj.getKcsl();
101
+					} else if (year.equals(year_num[i]) && "3165".equals(pz)) {//这个年份玉米的数据
102
+						sumYumikcsl = sumYumikcsl + kcsw_obj.getKcsl();
103
+					} else if (year.equals(year_num[i]) && "3166".equals(pz)) {//这个年份稻谷的数据
104
+						sumDaogukcsl = sumDaogukcsl + kcsw_obj.getKcsl();
105
+					} else if (year.equals(year_num[i]) && "2777".equals(pz)) {//这个年份大豆的数据
106
+						sumDadoukcsl = sumDadoukcsl + kcsw_obj.getKcsl();
80
 					}
107
 					}
81
 				}
108
 				}
82
 			}
109
 			}
110
+			//处理小麦
111
+			sumCkslFormat = obj.format(sumXiaomaikcsl/1000);
112
+			sumCksls = new BigDecimal(sumCkslFormat);
113
+			_xiaomai[i] = Double.parseDouble(sumCksls+"");
114
+
115
+			//处理玉米
116
+			sumCkslFormat = obj.format(sumYumikcsl/1000);
117
+			sumCksls = new BigDecimal(sumCkslFormat);
118
+			_yumi[i] = Double.parseDouble(sumCksls+"");
119
+
120
+			//处理稻谷
121
+			sumCkslFormat = obj.format(sumDaogukcsl/1000);
122
+			sumCksls = new BigDecimal(sumCkslFormat);
123
+			_daogu[i] = Double.parseDouble(sumCksls+"");
124
+
125
+			//处理大豆
126
+			sumCkslFormat = obj.format(sumDadoukcsl/1000);
127
+			sumCksls = new BigDecimal(sumCkslFormat);
128
+			_dadou[i] = Double.parseDouble(sumCksls+"");
83
 		}
129
 		}
84
 
130
 
85
 		modelMap.put("xiaomai", _xiaomai);
131
 		modelMap.put("xiaomai", _xiaomai);
@@ -111,7 +157,7 @@ public class KcswServiceImpl implements KcswService{
111
 		modelMap.put("yi", yi);
157
 		modelMap.put("yi", yi);
112
 		modelMap.put("er", er);
158
 		modelMap.put("er", er);
113
 		modelMap.put("san", san);
159
 		modelMap.put("san", san);
114
-		
160
+
115
 		return modelMap;
161
 		return modelMap;
116
 	}
162
 	}
117
 
163
 
@@ -125,10 +171,13 @@ public class KcswServiceImpl implements KcswService{
125
 			BigDecimal divide = sumCksls2.divide(effectiveCapacitys, 4, RoundingMode.CEILING);
171
 			BigDecimal divide = sumCksls2.divide(effectiveCapacitys, 4, RoundingMode.CEILING);
126
 			BigDecimal s = new BigDecimal(100);
172
 			BigDecimal s = new BigDecimal(100);
127
 			BigDecimal multiply = divide.multiply(s);
173
 			BigDecimal multiply = divide.multiply(s);
128
-			String string = multiply.toString();
129
-//			double sumCkslDouble = Double.parseDouble(string);
130
-//			DecimalFormat obj = new DecimalFormat(".00");  // 保留2位小数
131
-//			String format = obj.format(sumCkslDouble);
174
+			float a = multiply.floatValue();
175
+			String string = "";
176
+			if (a > 100) {
177
+				string = "100";
178
+			} else {
179
+				string = multiply.toString();
180
+			}
132
 			return string;
181
 			return string;
133
 		}
182
 		}
134
 		return "0";
183
 		return "0";