询价单 中右侧饼图 底部右侧饼图

This commit is contained in:
power 2024-12-28 17:05:38 +08:00
parent 517493fdab
commit e881d6b07a
2 changed files with 96 additions and 5 deletions

View File

@ -12,9 +12,9 @@ systemProp.artifactId=yem-cosmic
systemProp.version=1.0.0
systemProp.jdk.version=1.8
systemProp.developer_flag=yem
systemProp.project_dir=D:/Kingdee Coad/dbys/dbyssh/csdb/csdb
systemProp.cosmic_home=D:/Kingdee Coad/dbys/dbyssh/csdb/csdb
#systemProp.cosmic_libs_path=D:/workspace_cosmic/home/mservice-cosmic/lib
#systemProp.project_dir=D:/Kingdee Coad/dbys/dbyssh/csdb/csdb
#systemProp.cosmic_home=D:/Kingdee Coad/dbys/dbyssh/csdb/csdb
systemProp.cosmic_libs_path=D:/chanpin/canpin-server/mservice-cosmic/lib
#systemProp.cosmic_static_path=D:/workspace_cosmic/home/static-file-service
#systemProp.res_url=http://192.168.3.144:268/studio/environment/download/5
#systemProp.zk_url=http://192.168.3.144:2181

View File

@ -17,6 +17,7 @@ import kd.sdk.plugin.Plugin;
import yem.base.common.utils.DateUtil;
import yem.base.common.utils.RptUtil;
import java.math.BigDecimal;
import java.util.*;
/**
@ -44,6 +45,7 @@ public class CentreRightRrice extends AbstractBillPlugIn implements Plugin {
break;
default:
break;
}
}
public void setData(IFormView view){
@ -52,8 +54,6 @@ public class CentreRightRrice extends AbstractBillPlugIn implements Plugin {
DynamicObject yem_operator = (DynamicObject) view.getModel().getValue("yem_operator");
HashMap<String, Integer> map = new HashMap<>();
if (null!=yem_operator){
DynamicObject[] result = BusinessDataServiceHelper.load("yem_im_inquiryprice",
"yem_commcountryid.name,yem_materialentry,yem_materialentry.yem_material,",
new QFilter[]{
@ -62,6 +62,44 @@ public class CentreRightRrice extends AbstractBillPlugIn implements Plugin {
new QFilter("yem_bizdate",QCP.less_equals,yearLast),
new QFilter("yem_commcountryid",QCP.equals,yem_operator)
});
//同比%
Date lastyearFirst = DateUtil.getMonthFirstDay( getlastYear((Date)view.getModel().getValue("yem_date")));
Date lastyearLast = DateUtil.getMonthEndDay(getlastYear((Date)view.getModel().getValue("yem_date")));
DynamicObject[] lastresult = BusinessDataServiceHelper.load("yem_im_inquiryprice",
"yem_commcountryid.name,yem_materialentry,yem_materialentry.yem_material,",
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_commcountryid",QCP.equals,yem_operator)
});
int relength = (result != null) ? result.length : 0;
int lastlength = (lastresult != null) ? lastresult.length : 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"));
DynamicObject[] lastMonthresult = BusinessDataServiceHelper.load("yem_im_inquiryprice",
"yem_commcountryid.name,yem_materialentry,yem_materialentry.yem_material,",
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_commcountryid",QCP.equals,yem_operator)
});
int lastMonthlength = (lastresult != null) ? lastresult.length : 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);
// str = getRandColor(result);
// 构建饼图
PieChart pieChart = this.getControl("yem_piechartap");
@ -116,6 +154,45 @@ public class CentreRightRrice extends AbstractBillPlugIn implements Plugin {
new QFilter("yem_bizdate",QCP.less_equals,yearLast),
// new QFilter("yem_commcountryid",QCP.equals,yem_operator)
});
//同比%
Date lastyearFirst = DateUtil.getMonthFirstDay( getlastYear((Date)view.getModel().getValue("yem_date")));
Date lastyearLast = DateUtil.getMonthEndDay(getlastYear((Date)view.getModel().getValue("yem_date")));
DynamicObject[] lastresult = BusinessDataServiceHelper.load("yem_im_inquiryprice",
"yem_commcountryid.name,yem_materialentry,yem_materialentry.yem_material,",
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_commcountryid",QCP.equals,yem_operator)
});
int relength = (result != null) ? result.length : 0;
int lastlength = (lastresult != null) ? lastresult.length : 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"));
DynamicObject[] lastMonthresult = BusinessDataServiceHelper.load("yem_im_inquiryprice",
"yem_commcountryid.name,yem_materialentry,yem_materialentry.yem_material,",
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_commcountryid",QCP.equals,yem_operator)
});
int lastMonthlength = (lastMonthresult != null) ? lastMonthresult.length : 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);
// String[] str = getRandColor(result);
// // 构建饼图
@ -180,4 +257,18 @@ public class CentreRightRrice extends AbstractBillPlugIn implements Plugin {
return str;
}
/**
* 获取去年当天
*
* @param date
* @return
*/
public static Date getlastYear(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.YEAR,-1);
Date getlastYear = calendar.getTime();
return getlastYear;
}
}