询价单 中右侧饼图 底部右侧饼图
This commit is contained in:
parent
e881d6b07a
commit
a0148597f7
@ -3,6 +3,7 @@ package yem.wmc.ydn.formplugin.dynamic;
|
||||
import kd.bos.algo.DataSet;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
||||
import kd.bos.form.IFormView;
|
||||
import kd.bos.form.chart.*;
|
||||
import kd.bos.form.plugin.AbstractFormPlugin;
|
||||
@ -13,6 +14,7 @@ import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
import yem.base.common.utils.DateUtil;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
@ -40,6 +42,26 @@ public class DownRightPrice extends AbstractFormPlugin implements Plugin {
|
||||
// HistogramChart(equtypeMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void propertyChanged(PropertyChangedArgs e) {
|
||||
String name = e.getProperty().getName();
|
||||
IFormView view = this.getView();
|
||||
switch (name){
|
||||
case "yem_operator":
|
||||
case "yem_date":
|
||||
case "yem_material":
|
||||
List<DynamicObject> data = queyData(view);
|
||||
Map<String, Double> equtypeMap = new HashMap<>();
|
||||
for(DynamicObject object:data){
|
||||
equtypeMap.put(object.getString("yem_commcountryid"),
|
||||
object.getBigDecimal("yem_qty").doubleValue());
|
||||
}
|
||||
if (equtypeMap.size() > 0)HistogramChart(equtypeMap);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private List<DynamicObject> queyData(IFormView view){
|
||||
|
||||
@ -47,20 +69,137 @@ public class DownRightPrice extends AbstractFormPlugin implements Plugin {
|
||||
Date yearFirst = DateUtil.getMonthFirstDay((Date) view.getModel().getValue("yem_date"));
|
||||
Date yearLast = DateUtil.getMonthEndDay((Date) view.getModel().getValue("yem_date"));
|
||||
DynamicObject yem_operator = (DynamicObject) view.getModel().getValue("yem_operator");
|
||||
DynamicObject yem_material = (DynamicObject) view.getModel().getValue("yem_material");
|
||||
HashMap<String, Integer> map = new HashMap<>();
|
||||
|
||||
DataSet data = ORM.create().queryDataSet("yem_im_inquiryprice","yem_im_inquiryprice",
|
||||
"yem_commcountryid.name yem_commcountryid,yem_materialentry.yem_qty yem_qty",
|
||||
new QFilter[]{
|
||||
new QFilter("yem_combofield3", QCP.not_equals,"C"),
|
||||
new QFilter("yem_bizdate",QCP.large_equals,yearFirst),
|
||||
new QFilter("yem_bizdate",QCP.less_equals,yearLast),
|
||||
List<DynamicObject> result =new ArrayList<DynamicObject>();
|
||||
if (null==yem_operator){
|
||||
DataSet data = ORM.create().queryDataSet("yem_im_inquiryprice","yem_im_inquiryprice",
|
||||
"yem_commcountryid.name yem_commcountryid,yem_materialentry.yem_qty yem_qty",
|
||||
new QFilter[]{
|
||||
new QFilter("yem_combofield3", QCP.not_equals,"C"),
|
||||
new QFilter("yem_bizdate",QCP.large_equals,yearFirst),
|
||||
new QFilter("yem_bizdate",QCP.less_equals,yearLast),
|
||||
new QFilter("yem_materialentry.yem_material.masterid.id",QCP.equals,yem_material)
|
||||
// new QFilter("yem_commcountryid",QCP.equals,yem_operator)
|
||||
});
|
||||
data = data.groupBy(new String[]{"yem_commcountryid"}).sum("yem_qty").finish()
|
||||
.orderBy(new String[]{"yem_qty"});
|
||||
DynamicObjectCollection datas = ORM.create().toPlainDynamicObjectCollection(data.copy());
|
||||
List<DynamicObject> result = datas;
|
||||
});
|
||||
data = data.groupBy(new String[]{"yem_commcountryid"}).sum("yem_qty").finish()
|
||||
.orderBy(new String[]{"yem_qty"});
|
||||
DynamicObjectCollection datas = ORM.create().toPlainDynamicObjectCollection(data.copy());
|
||||
result = datas;
|
||||
|
||||
//同比%
|
||||
Date lastyearFirst = DateUtil.getMonthFirstDay( getlastYear((Date)view.getModel().getValue("yem_date")));
|
||||
Date lastyearLast = DateUtil.getMonthEndDay(getlastYear((Date)view.getModel().getValue("yem_date")));
|
||||
|
||||
DataSet lastdata = ORM.create().queryDataSet("yem_im_inquiryprice","yem_im_inquiryprice",
|
||||
"yem_commcountryid.name yem_commcountryid,yem_materialentry.yem_qty yem_qty",
|
||||
new QFilter[]{
|
||||
new QFilter("yem_combofield3", QCP.not_equals,"C"),
|
||||
new QFilter("yem_bizdate",QCP.large_equals,lastyearFirst),
|
||||
new QFilter("yem_bizdate",QCP.less_equals,lastyearLast),
|
||||
new QFilter("yem_materialentry.yem_material.masterid.id",QCP.equals,yem_material)
|
||||
// new QFilter("yem_commcountryid",QCP.equals,yem_operator)
|
||||
});
|
||||
lastdata = lastdata.groupBy(new String[]{"yem_commcountryid"}).sum("yem_qty").finish()
|
||||
.orderBy(new String[]{"yem_qty"});
|
||||
DynamicObjectCollection lastresult= ORM.create().toPlainDynamicObjectCollection(lastdata.copy());
|
||||
|
||||
int relength = (datas != null) ? datas.size() : 0;
|
||||
int lastlength = (lastresult != null) ? lastresult.size() : 0;
|
||||
BigDecimal yearRate = BigDecimal.ZERO;
|
||||
if (lastlength!=0){
|
||||
yearRate = BigDecimal.valueOf((relength - lastlength)/lastlength*100);
|
||||
}
|
||||
//环比%
|
||||
Date lastMonthFirst = DateUtil.getLastMonthFirstDay((Date)view.getModel().getValue("yem_date"));
|
||||
Date lastMonthLast = DateUtil.getLastMonthEndDay((Date)view.getModel().getValue("yem_date"));
|
||||
|
||||
DataSet lastMonthdata = ORM.create().queryDataSet("yem_im_inquiryprice","yem_im_inquiryprice",
|
||||
"yem_commcountryid.name yem_commcountryid,yem_materialentry.yem_qty yem_qty",
|
||||
new QFilter[]{
|
||||
new QFilter("yem_combofield3", QCP.not_equals,"C"),
|
||||
new QFilter("yem_bizdate",QCP.large_equals,lastMonthFirst),
|
||||
new QFilter("yem_bizdate",QCP.less_equals,lastMonthLast),
|
||||
new QFilter("yem_materialentry.yem_material.masterid.id",QCP.equals,yem_material)
|
||||
// new QFilter("yem_commcountryid",QCP.equals,yem_operator)
|
||||
});
|
||||
lastMonthdata = lastMonthdata.groupBy(new String[]{"yem_commcountryid"}).sum("yem_qty").finish()
|
||||
.orderBy(new String[]{"yem_qty"});
|
||||
DynamicObjectCollection lastMonthresult= ORM.create().toPlainDynamicObjectCollection(lastMonthdata.copy());
|
||||
int lastMonthlength = (lastMonthresult != null) ? lastMonthresult.size() : 0;
|
||||
BigDecimal yearMonthRate = BigDecimal.ZERO;
|
||||
if (lastMonthlength!=0){
|
||||
yearMonthRate = BigDecimal.valueOf((relength - lastMonthlength)/lastMonthlength*100);
|
||||
}
|
||||
view.getModel().setValue("yem_grossqty",yearRate);
|
||||
view.getModel().setValue("yem_grossqty1",yearMonthRate);
|
||||
|
||||
}
|
||||
if (null!=yem_operator){
|
||||
DataSet data = ORM.create().queryDataSet("yem_im_inquiryprice","yem_im_inquiryprice",
|
||||
"yem_commcountryid.name yem_commcountryid,yem_materialentry.yem_qty yem_qty",
|
||||
new QFilter[]{
|
||||
new QFilter("yem_combofield3", QCP.not_equals,"C"),
|
||||
new QFilter("yem_bizdate",QCP.large_equals,yearFirst),
|
||||
new QFilter("yem_bizdate",QCP.less_equals,yearLast),
|
||||
new QFilter("yem_materialentry.yem_material.masterid.id",QCP.equals,yem_material),
|
||||
new QFilter("yem_commcountryid",QCP.equals,yem_operator)
|
||||
});
|
||||
data = data.groupBy(new String[]{"yem_commcountryid"}).sum("yem_qty").finish()
|
||||
.orderBy(new String[]{"yem_qty"});
|
||||
DynamicObjectCollection datas = ORM.create().toPlainDynamicObjectCollection(data.copy());
|
||||
result = datas;
|
||||
|
||||
|
||||
//同比%
|
||||
Date lastyearFirst = DateUtil.getMonthFirstDay( getlastYear((Date)view.getModel().getValue("yem_date")));
|
||||
Date lastyearLast = DateUtil.getMonthEndDay(getlastYear((Date)view.getModel().getValue("yem_date")));
|
||||
|
||||
DataSet lastdata = ORM.create().queryDataSet("yem_im_inquiryprice","yem_im_inquiryprice",
|
||||
"yem_commcountryid.name yem_commcountryid,yem_materialentry.yem_qty yem_qty",
|
||||
new QFilter[]{
|
||||
new QFilter("yem_combofield3", QCP.not_equals,"C"),
|
||||
new QFilter("yem_bizdate",QCP.large_equals,lastyearFirst),
|
||||
new QFilter("yem_bizdate",QCP.less_equals,lastyearLast),
|
||||
new QFilter("yem_materialentry.yem_material.masterid.id",QCP.equals,yem_material),
|
||||
new QFilter("yem_commcountryid",QCP.equals,yem_operator)
|
||||
});
|
||||
lastdata = lastdata.groupBy(new String[]{"yem_commcountryid"}).sum("yem_qty").finish()
|
||||
.orderBy(new String[]{"yem_qty"});
|
||||
DynamicObjectCollection lastresult= ORM.create().toPlainDynamicObjectCollection(lastdata.copy());
|
||||
|
||||
int relength = (datas != null) ? datas.size() : 0;
|
||||
int lastlength = (lastresult != null) ? lastresult.size() : 0;
|
||||
BigDecimal yearRate = BigDecimal.ZERO;
|
||||
if (lastlength!=0){
|
||||
yearRate = BigDecimal.valueOf((relength - lastlength)/lastlength*100);
|
||||
}
|
||||
//环比%
|
||||
Date lastMonthFirst = DateUtil.getLastMonthFirstDay((Date)view.getModel().getValue("yem_date"));
|
||||
Date lastMonthLast = DateUtil.getLastMonthEndDay((Date)view.getModel().getValue("yem_date"));
|
||||
|
||||
DataSet lastMonthdata = ORM.create().queryDataSet("yem_im_inquiryprice","yem_im_inquiryprice",
|
||||
"yem_commcountryid.name yem_commcountryid,yem_materialentry.yem_qty yem_qty",
|
||||
new QFilter[]{
|
||||
new QFilter("yem_combofield3", QCP.not_equals,"C"),
|
||||
new QFilter("yem_bizdate",QCP.large_equals,lastMonthFirst),
|
||||
new QFilter("yem_bizdate",QCP.less_equals,lastMonthLast),
|
||||
new QFilter("yem_materialentry.yem_material.masterid.id",QCP.equals,yem_material),
|
||||
new QFilter("yem_commcountryid",QCP.equals,yem_operator)
|
||||
});
|
||||
lastMonthdata = lastMonthdata.groupBy(new String[]{"yem_commcountryid"}).sum("yem_qty").finish()
|
||||
.orderBy(new String[]{"yem_qty"});
|
||||
DynamicObjectCollection lastMonthresult= ORM.create().toPlainDynamicObjectCollection(lastMonthdata.copy());
|
||||
int lastMonthlength = (lastMonthresult != null) ? lastMonthresult.size() : 0;
|
||||
BigDecimal yearMonthRate = BigDecimal.ZERO;
|
||||
if (lastMonthlength!=0){
|
||||
yearMonthRate = BigDecimal.valueOf((relength - lastMonthlength)/lastMonthlength*100);
|
||||
}
|
||||
view.getModel().setValue("yem_grossqty",yearRate);
|
||||
view.getModel().setValue("yem_grossqty1",yearMonthRate);
|
||||
|
||||
|
||||
}
|
||||
// List<DynamicObject> result = datas.subList(0, 10);
|
||||
return result;
|
||||
}
|
||||
@ -169,4 +308,11 @@ public class DownRightPrice extends AbstractFormPlugin implements Plugin {
|
||||
barSeries.setData(itemValuesArray);
|
||||
|
||||
}
|
||||
public static Date getlastYear(Date date) {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(date);
|
||||
calendar.add(Calendar.YEAR,-1);
|
||||
Date getlastYear = calendar.getTime();
|
||||
return getlastYear;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user