|
|
@@ -1,6 +1,7 @@
|
|
1
|
1
|
package com.chinaitop.agile.service.impl;
|
|
2
|
2
|
|
|
3
|
3
|
import com.alibaba.fastjson.JSONObject;
|
|
|
4
|
+import com.chinaitop.agile.feign.service.BasicEnumFeignService;
|
|
4
|
5
|
import com.chinaitop.agile.mapper.DataKcglFcbgzDefaultMapper;
|
|
5
|
6
|
import com.chinaitop.agile.mapper.DataKcglKcswDefaultMapper;
|
|
6
|
7
|
import com.chinaitop.agile.mapper.DataKcglXckcDefaultMapper;
|
|
|
@@ -8,6 +9,8 @@ import com.chinaitop.agile.model.*;
|
|
8
|
9
|
import com.chinaitop.agile.model.DataKcglKcswDefaultExample.Criteria;
|
|
9
|
10
|
import com.chinaitop.agile.service.KcswService;
|
|
10
|
11
|
import com.chinaitop.agile.utils.ParameterUtil;
|
|
|
12
|
+
|
|
|
13
|
+import org.apache.commons.lang.ObjectUtils;
|
|
11
|
14
|
import org.springframework.stereotype.Service;
|
|
12
|
15
|
|
|
13
|
16
|
import javax.annotation.Resource;
|
|
|
@@ -25,6 +28,8 @@ public class KcswServiceImpl implements KcswService{
|
|
25
|
28
|
private DataKcglXckcDefaultMapper dataKcglXckcDefaultMapper;
|
|
26
|
29
|
@Resource
|
|
27
|
30
|
private DataKcglFcbgzDefaultMapper dataKcglFcbgzDefaultMapper;
|
|
|
31
|
+ @Resource
|
|
|
32
|
+ private BasicEnumFeignService basicEnumFeignService;
|
|
28
|
33
|
|
|
29
|
34
|
public Map<String, Object> queryByExample(Integer orgId) {
|
|
30
|
35
|
/* 返回数据对象 */
|
|
|
@@ -42,44 +47,85 @@ public class KcswServiceImpl implements KcswService{
|
|
42
|
47
|
year_num[4] = this_year + "";
|
|
43
|
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
|
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
|
59
|
String sumCkslFormat = "";
|
|
53
|
|
- //BigDecimal s = new BigDecimal(1000);
|
|
54
|
60
|
BigDecimal sumCksls = null;
|
|
55
|
|
- //BigDecimal sumCkslss = null;
|
|
56
|
|
- int year = 0;
|
|
|
61
|
+
|
|
57
|
62
|
double []_xiaomai = new double[5];
|
|
58
|
63
|
double []_yumi = new double[5];
|
|
59
|
64
|
double []_daogu = new double[5];
|
|
60
|
65
|
double []_dadou = new double[5];
|
|
61
|
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
|
131
|
modelMap.put("xiaomai", _xiaomai);
|
|
|
@@ -111,7 +157,7 @@ public class KcswServiceImpl implements KcswService{
|
|
111
|
157
|
modelMap.put("yi", yi);
|
|
112
|
158
|
modelMap.put("er", er);
|
|
113
|
159
|
modelMap.put("san", san);
|
|
114
|
|
-
|
|
|
160
|
+
|
|
115
|
161
|
return modelMap;
|
|
116
|
162
|
}
|
|
117
|
163
|
|
|
|
@@ -125,10 +171,13 @@ public class KcswServiceImpl implements KcswService{
|
|
125
|
171
|
BigDecimal divide = sumCksls2.divide(effectiveCapacitys, 4, RoundingMode.CEILING);
|
|
126
|
172
|
BigDecimal s = new BigDecimal(100);
|
|
127
|
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
|
181
|
return string;
|
|
133
|
182
|
}
|
|
134
|
183
|
return "0";
|