Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
hp-smart
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
platform
hp-smart
Commits
a5571305
Commit
a5571305
authored
Mar 14, 2024
by
yukang
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
b7d8762e
c3aefbca
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
107 additions
and
22 deletions
+107
-22
ServiceHPMT001.java
.../java/com/baosight/hpjx/hp/mt/service/ServiceHPMT001.java
+79
-12
ServiceHPMT002.java
.../java/com/baosight/hpjx/hp/mt/service/ServiceHPMT002.java
+20
-2
HPKC002A.jsp
src/main/webapp/HP/KC/HPKC002A.jsp
+4
-4
HPKC004B.jsp
src/main/webapp/HP/KC/HPKC004B.jsp
+4
-4
No files found.
src/main/java/com/baosight/hpjx/hp/mt/service/ServiceHPMT001.java
View file @
a5571305
...
@@ -8,10 +8,7 @@ import com.baosight.hpjx.core.security.UserSessionUtils;
...
@@ -8,10 +8,7 @@ import com.baosight.hpjx.core.security.UserSessionUtils;
import
com.baosight.hpjx.hp.constant.HPConstant
;
import
com.baosight.hpjx.hp.constant.HPConstant
;
import
com.baosight.hpjx.hp.constant.HPSqlConstant
;
import
com.baosight.hpjx.hp.constant.HPSqlConstant
;
import
com.baosight.hpjx.hp.zl.domain.HPZL001
;
import
com.baosight.hpjx.hp.zl.domain.HPZL001
;
import
com.baosight.hpjx.util.AssertUtils
;
import
com.baosight.hpjx.util.*
;
import
com.baosight.hpjx.util.EiInfoUtils
;
import
com.baosight.hpjx.util.LogUtils
;
import
com.baosight.hpjx.util.StringUtil
;
import
com.baosight.iplat4j.core.ei.EiBlock
;
import
com.baosight.iplat4j.core.ei.EiBlock
;
import
com.baosight.iplat4j.core.ei.EiConstant
;
import
com.baosight.iplat4j.core.ei.EiConstant
;
import
com.baosight.iplat4j.core.ei.EiInfo
;
import
com.baosight.iplat4j.core.ei.EiInfo
;
...
@@ -20,10 +17,10 @@ import com.baosight.iplat4j.core.web.threadlocal.UserSession;
...
@@ -20,10 +17,10 @@ import com.baosight.iplat4j.core.web.threadlocal.UserSession;
import
com.baosight.iplat4j.ed.util.SequenceGenerator
;
import
com.baosight.iplat4j.ed.util.SequenceGenerator
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.collections.MapUtils
;
import
java.
util.ArrayList
;
import
java.
math.BigDecimal
;
import
java.
util.HashMap
;
import
java.
text.ParseException
;
import
java.
util.Lis
t
;
import
java.
text.SimpleDateForma
t
;
import
java.util.
Map
;
import
java.util.
*
;
/**
/**
* 鸿鹏机械APP移动端接口调用处
* 鸿鹏机械APP移动端接口调用处
...
@@ -56,26 +53,96 @@ public class ServiceHPMT001 extends ServiceBase {
...
@@ -56,26 +53,96 @@ public class ServiceHPMT001 extends ServiceBase {
Map
sqlMap
=
new
HashMap
();
Map
sqlMap
=
new
HashMap
();
sqlMap
.
put
(
"queryMonth"
,
queryMonth
);
sqlMap
.
put
(
"queryMonth"
,
queryMonth
);
sqlMap
.
put
(
"companyCode"
,
companyCode
);
sqlMap
.
put
(
"companyCode"
,
companyCode
);
List
<
Map
>
row1
=
this
.
dao
.
query
(
"HPMT001.pmOverview1"
,
sqlMap
);
List
<
Map
>
row1
=
this
.
dao
.
query
(
"HPMT001.pmOverview1"
,
sqlMap
);
//目标
List
<
Map
>
row2
=
this
.
dao
.
query
(
"HPMT001.pmOverview2"
,
sqlMap
);
List
<
Map
>
row2
=
this
.
dao
.
query
(
"HPMT001.pmOverview2"
,
sqlMap
);
//实际
List
<
Map
>
rows
=
new
ArrayList
<>();
List
<
Map
>
rows
=
new
ArrayList
<>();
Map
resultMap
=
new
HashMap
();
Map
resultMap
=
new
HashMap
();
if
(
BeanUtil
.
isEmpty
(
row1
.
get
(
0
)))
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyyMM"
);
try
{
Date
parse
=
sdf
.
parse
(
queryMonth
);
Calendar
instance
=
Calendar
.
getInstance
();
instance
.
setTime
(
parse
);
instance
.
add
(
Calendar
.
MONTH
,-
1
);
String
newnewDate
=
sdf
.
format
(
instance
.
getTime
());
//上月
Map
sqlMap2
=
new
HashMap
();
sqlMap2
.
put
(
"queryMonth"
,
newnewDate
);
sqlMap2
.
put
(
"companyCode"
,
companyCode
);
List
<
Map
>
row3
=
this
.
dao
.
query
(
"HPMT001.pmOverview1"
,
sqlMap2
);
//上月目标
List
<
Map
>
row4
=
this
.
dao
.
query
(
"HPMT001.pmOverview2"
,
sqlMap2
);
//上月实际
Calendar
instance2
=
Calendar
.
getInstance
();
instance2
.
setTime
(
parse
);
instance2
.
add
(
Calendar
.
YEAR
,-
1
);
String
newnewDate2
=
sdf
.
format
(
instance2
.
getTime
());
//同年
Map
sqlMap3
=
new
HashMap
();
sqlMap3
.
put
(
"queryMonth"
,
newnewDate2
);
sqlMap3
.
put
(
"companyCode"
,
companyCode
);
List
<
Map
>
row5
=
this
.
dao
.
query
(
"HPMT001.pmOverview1"
,
sqlMap3
);
//去年目标
List
<
Map
>
row6
=
this
.
dao
.
query
(
"HPMT001.pmOverview2"
,
sqlMap3
);
//去年实际
//目标本月row1-targetWt 实际本月row2-actualWt
if
(
row1
.
get
(
0
).
get
(
"targetWt"
)==
null
)
{
resultMap
.
put
(
"targetWt"
,
0
);
resultMap
.
put
(
"targetWt"
,
0
);
}
else
{
}
else
{
resultMap
.
put
(
"targetWt"
,
row1
.
get
(
0
).
get
(
"targetWt"
));
resultMap
.
put
(
"targetWt"
,
row1
.
get
(
0
).
get
(
"targetWt"
));
}
}
if
(
BeanUtil
.
isEmpty
(
row2
.
get
(
0
))
)
{
if
(
row2
.
get
(
0
).
get
(
"actualWt"
)==
null
)
{
resultMap
.
put
(
"actualWt"
,
0
);
resultMap
.
put
(
"actualWt"
,
0
);
}
else
{
}
else
{
resultMap
.
put
(
"actualWt"
,
row2
.
get
(
0
).
get
(
"actualWt"
));
resultMap
.
put
(
"actualWt"
,
row2
.
get
(
0
).
get
(
"actualWt"
));
}
}
//环比 目标上月row3-targetWt 实际上月row4-actualWt
if
(
row3
.
get
(
0
).
get
(
"targetWt"
)==
null
)
{
resultMap
.
put
(
"targetWt_s"
,
0
);
//目标环比值
resultMap
.
put
(
"target_s_qoq"
,
0
);
//目标环比
}
else
{
resultMap
.
put
(
"targetWt_s"
,
row3
.
get
(
0
).
get
(
"targetWt"
));
BigDecimal
targetWt
=
(
BigDecimal
)
row1
.
get
(
0
).
get
(
"targetWt"
);
BigDecimal
targetWt2
=
(
BigDecimal
)
row3
.
get
(
0
).
get
(
"targetWt"
);
resultMap
.
put
(
"target_s_qoq"
,
targetWt
.
subtract
(
targetWt2
).
divide
(
targetWt2
,
BigDecimal
.
ROUND_UP
).
multiply
(
new
BigDecimal
(
100
)).
doubleValue
());
}
if
(
row4
.
get
(
0
).
get
(
"actualWt"
)==
null
)
{
resultMap
.
put
(
"actualWt_s"
,
0
);
//实际环比值
resultMap
.
put
(
"actualWt_s_qoq"
,
0
);
//实际环比
}
else
{
resultMap
.
put
(
"actualWt_s"
,
row4
.
get
(
0
).
get
(
"actualWt"
));
BigDecimal
actualWt
=
(
BigDecimal
)
row2
.
get
(
0
).
get
(
"actualWt"
);
BigDecimal
actualWt2
=
(
BigDecimal
)
row4
.
get
(
0
).
get
(
"actualWt"
);
resultMap
.
put
(
"actualWt_s_qoq"
,
actualWt
.
subtract
(
actualWt2
).
divide
(
actualWt2
,
BigDecimal
.
ROUND_UP
).
multiply
(
new
BigDecimal
(
100
)).
doubleValue
());
}
//同比 目标同期row5-targetWt 实际同期row6-actualWt
if
(
row5
.
get
(
0
).
get
(
"targetWt"
)==
null
)
{
resultMap
.
put
(
"targetWt_h"
,
0
);
//目标同期值
resultMap
.
put
(
"target_h_qoq"
,
0
);
//目标同期
}
else
{
resultMap
.
put
(
"targetWt_h"
,
row5
.
get
(
0
).
get
(
"targetWt"
));
BigDecimal
targetWt
=
(
BigDecimal
)
row1
.
get
(
0
).
get
(
"targetWt"
);
BigDecimal
targetWt2
=
(
BigDecimal
)
row5
.
get
(
0
).
get
(
"targetWt"
);
resultMap
.
put
(
"target_h_qoq"
,
targetWt
.
subtract
(
targetWt2
).
divide
(
targetWt2
,
BigDecimal
.
ROUND_UP
).
multiply
(
new
BigDecimal
(
100
)).
doubleValue
());
}
if
(
row6
.
get
(
0
).
get
(
"actualWt"
)==
null
)
{
resultMap
.
put
(
"actualWt_h"
,
0
);
//实际同比值
resultMap
.
put
(
"actualWt_h_yoy"
,
0
);
//实际同比
}
else
{
resultMap
.
put
(
"actualWt_h"
,
row6
.
get
(
0
).
get
(
"actualWt"
));
BigDecimal
actualWt
=
(
BigDecimal
)
row2
.
get
(
0
).
get
(
"actualWt"
);
BigDecimal
actualWt2
=
(
BigDecimal
)
row6
.
get
(
0
).
get
(
"actualWt"
);
resultMap
.
put
(
"actualWt_h_yoy"
,
actualWt
.
subtract
(
actualWt2
).
divide
(
actualWt2
,
BigDecimal
.
ROUND_UP
).
multiply
(
new
BigDecimal
(
100
)).
doubleValue
());
}
rows
.
add
(
resultMap
);
rows
.
add
(
resultMap
);
EiInfo
outInfo
=
new
EiInfo
();
EiInfo
outInfo
=
new
EiInfo
();
EiBlock
eiBlock
=
new
EiBlock
(
EiConstant
.
resultBlock
);
EiBlock
eiBlock
=
new
EiBlock
(
EiConstant
.
resultBlock
);
eiBlock
.
setRows
(
rows
);
eiBlock
.
setRows
(
rows
);
outInfo
.
setBlock
(
eiBlock
);
outInfo
.
setBlock
(
eiBlock
);
return
outInfo
;
return
outInfo
;
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
return
inInfo
;
}
}
}
/**
/**
...
...
src/main/java/com/baosight/hpjx/hp/mt/service/ServiceHPMT002.java
View file @
a5571305
...
@@ -179,8 +179,8 @@ public class ServiceHPMT002 extends ServiceBase {
...
@@ -179,8 +179,8 @@ public class ServiceHPMT002 extends ServiceBase {
}
}
Map
Map
=
new
HashMap
();
Map
Map
=
new
HashMap
();
Map
.
put
(
"checkId"
,
id
);
Map
.
put
(
"checkId"
,
id
);
Map
.
put
(
"docType"
,
"XJ_WC"
);
Map
.
put
(
"docType"
,
CommonConstant
.
YesNo
.
NO_0
);
List
<
HPZL001A
>
docIdlist
=
this
.
dao
.
query
(
"HPZL001A.query"
,
Map
);
List
<
HPZL001A
>
docIdlist
=
this
.
dao
.
query
(
"HPZL001A.query
Dev
"
,
Map
);
List
<
String
>
imgList
=
new
ArrayList
<>();
List
<
String
>
imgList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
docIdlist
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
docIdlist
.
size
();
i
++)
{
Map
dirId
=
new
HashMap
();
Map
dirId
=
new
HashMap
();
...
@@ -193,6 +193,23 @@ public class ServiceHPMT002 extends ServiceBase {
...
@@ -193,6 +193,23 @@ public class ServiceHPMT002 extends ServiceBase {
String
imgBase64
=
UploadUtils
.
imageToBase64
(
bf
);
String
imgBase64
=
UploadUtils
.
imageToBase64
(
bf
);
imgList
.
add
(
imgBase64
);
imgList
.
add
(
imgBase64
);
}
}
//处理的文件
Map
Map2
=
new
HashMap
();
Map2
.
put
(
"checkId"
,
id
);
Map2
.
put
(
"docType"
,
CommonConstant
.
YesNo
.
NO_0
);
List
<
HPZL001A
>
docIdlist2
=
this
.
dao
.
query
(
"HPZL001A.queryDev"
,
Map
);
List
<
String
>
imgList2
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
docIdlist2
.
size
();
i
++)
{
Map
dirId
=
new
HashMap
();
HPZL001A
hpzl001A
=
docIdlist
.
get
(
i
);
String
docId
=
hpzl001A
.
getDocId
();
dirId
.
put
(
"docId"
,
docId
);
List
<
Map
>
query
=
this
.
dao
.
query
(
"HPMT002.queryFile"
,
dirId
);
File
file
=
new
File
(
UploadUtils
.
ROOT_PATH
+
"/A/"
+
query
.
get
(
0
).
get
(
"CHG_NAME"
));
BufferedImage
bf
=
ImageIO
.
read
(
file
);
String
imgBase64
=
UploadUtils
.
imageToBase64
(
bf
);
imgList2
.
add
(
imgBase64
);
}
Map
sqlMap
=
new
HashMap
();
Map
sqlMap
=
new
HashMap
();
sqlMap
.
put
(
"companyCode"
,
companyCode
);
sqlMap
.
put
(
"companyCode"
,
companyCode
);
sqlMap
.
put
(
"id"
,
id
);
sqlMap
.
put
(
"id"
,
id
);
...
@@ -201,6 +218,7 @@ public class ServiceHPMT002 extends ServiceBase {
...
@@ -201,6 +218,7 @@ public class ServiceHPMT002 extends ServiceBase {
eiBlock
.
setRows
(
rows
);
eiBlock
.
setRows
(
rows
);
outInfo
.
setBlock
(
eiBlock
);
outInfo
.
setBlock
(
eiBlock
);
outInfo
.
set
(
"img"
,
imgList
);
outInfo
.
set
(
"img"
,
imgList
);
outInfo
.
set
(
"img2"
,
imgList2
);
}
catch
(
Exception
e
){
}
catch
(
Exception
e
){
outInfo
.
setMsg
(
"账号异常"
);
outInfo
.
setMsg
(
"账号异常"
);
}
}
...
...
src/main/webapp/HP/KC/HPKC002A.jsp
View file @
a5571305
...
@@ -29,9 +29,9 @@
...
@@ -29,9 +29,9 @@
<EF:EFRegion
id=
"result"
title=
"记录集"
>
<EF:EFRegion
id=
"result"
title=
"记录集"
>
<EF:EFInput
ename=
"inqu_result-0-hpsc006Id"
type=
"hidden"
/>
<EF:EFInput
ename=
"inqu_result-0-hpsc006Id"
type=
"hidden"
/>
<EF:EFGrid
blockId=
"result"
autoDraw=
"override"
autoFit=
"true"
checkMode=
"row"
>
<EF:EFGrid
blockId=
"result"
autoDraw=
"override"
checkMode=
"row"
>
<EF:EFColumn
ename=
"id"
cname=
"库存ID"
enable=
"false"
width=
"60"
align=
"center"
hidden=
"true"
/>
<EF:EFColumn
ename=
"id"
cname=
"库存ID"
enable=
"false"
width=
"60"
align=
"center"
hidden=
"true"
/>
<EF:EFComboColumn
ename=
"inventType"
cname=
"存货类型"
enable=
"false"
width=
"10"
align=
"center"
>
<EF:EFComboColumn
ename=
"inventType"
cname=
"存货类型"
enable=
"false"
width=
"10
0
"
align=
"center"
>
<EF:EFCodeOption
codeName=
"hpjx.hpkc.inventType"
/>
<EF:EFCodeOption
codeName=
"hpjx.hpkc.inventType"
/>
</EF:EFComboColumn>
</EF:EFComboColumn>
<EF:EFComboColumn
ename=
"whCode"
cname=
"仓库名称"
enable=
"false"
width=
"100"
align=
"center"
<EF:EFComboColumn
ename=
"whCode"
cname=
"仓库名称"
enable=
"false"
width=
"100"
align=
"center"
...
@@ -42,7 +42,7 @@
...
@@ -42,7 +42,7 @@
blockName=
"invent_name_block_id"
textField=
"textField"
valueField=
"valueField"
blockName=
"invent_name_block_id"
textField=
"textField"
valueField=
"valueField"
columnTemplate=
"#=textField#"
itemTemplate=
"#=textField#"
>
columnTemplate=
"#=textField#"
itemTemplate=
"#=textField#"
>
</EF:EFComboColumn>
</EF:EFComboColumn>
<EF:EFComboColumn
ename=
"inventRecordId"
cname=
"规格"
enable=
"false"
width=
"1
0
0"
align=
"center"
<EF:EFComboColumn
ename=
"inventRecordId"
cname=
"规格"
enable=
"false"
width=
"1
5
0"
align=
"center"
blockName=
"invent_spec_block_id"
textField=
"textField"
valueField=
"valueField"
blockName=
"invent_spec_block_id"
textField=
"textField"
valueField=
"valueField"
columnTemplate=
"#=textField#"
itemTemplate=
"#=textField#"
>
columnTemplate=
"#=textField#"
itemTemplate=
"#=textField#"
>
</EF:EFComboColumn>
</EF:EFComboColumn>
...
@@ -51,7 +51,7 @@
...
@@ -51,7 +51,7 @@
<EF:EFOptions
blockId=
"proj_record_block_id"
valueField=
"valueField"
textField=
"textField"
/>
<EF:EFOptions
blockId=
"proj_record_block_id"
valueField=
"valueField"
textField=
"textField"
/>
</EF:EFComboColumn>
</EF:EFComboColumn>
<EF:EFColumn
ename=
"applyAmount"
cname=
"申请数量"
width=
"120"
align=
"right"
format=
"{0:N0}"
required=
"true"
/>
<EF:EFColumn
ename=
"applyAmount"
cname=
"申请数量"
width=
"120"
align=
"right"
format=
"{0:N0}"
required=
"true"
/>
<EF:EFColumn
ename=
"applyRemark"
cname=
"申请说明"
width=
"
3
00"
editType=
"textarea"
copy=
"true"
/>
<EF:EFColumn
ename=
"applyRemark"
cname=
"申请说明"
width=
"
2
00"
editType=
"textarea"
copy=
"true"
/>
<EF:EFColumn
ename=
"amount"
cname=
"库存数量"
enable=
"false"
width=
"120"
align=
"right"
format=
"{0:N0}"
<EF:EFColumn
ename=
"amount"
cname=
"库存数量"
enable=
"false"
width=
"120"
align=
"right"
format=
"{0:N0}"
sumType=
"all"
/>
sumType=
"all"
/>
<EF:EFColumn
ename=
"unitWeight"
cname=
"单量(KG)"
enable=
"false"
width=
"120"
align=
"right"
format=
"{0:N3}"
/>
<EF:EFColumn
ename=
"unitWeight"
cname=
"单量(KG)"
enable=
"false"
width=
"120"
align=
"right"
format=
"{0:N3}"
/>
...
...
src/main/webapp/HP/KC/HPKC004B.jsp
View file @
a5571305
...
@@ -24,9 +24,9 @@
...
@@ -24,9 +24,9 @@
</EF:EFRegion>
</EF:EFRegion>
<EF:EFRegion
id=
"result"
title=
"记录集"
>
<EF:EFRegion
id=
"result"
title=
"记录集"
>
<EF:EFGrid
blockId=
"result"
autoDraw=
"override"
autoFit=
"true"
checkMode=
"row"
>
<EF:EFGrid
blockId=
"result"
autoDraw=
"override"
checkMode=
"row"
>
<EF:EFColumn
ename=
"id"
cname=
"库存ID"
enable=
"false"
width=
"60"
align=
"center"
hidden=
"true"
/>
<EF:EFColumn
ename=
"id"
cname=
"库存ID"
enable=
"false"
width=
"60"
align=
"center"
hidden=
"true"
/>
<EF:EFComboColumn
ename=
"inventType"
cname=
"存货类型"
enable=
"false"
width=
"
6
0"
align=
"center"
>
<EF:EFComboColumn
ename=
"inventType"
cname=
"存货类型"
enable=
"false"
width=
"
10
0"
align=
"center"
>
<EF:EFCodeOption
codeName=
"hpjx.hpkc.inventType"
condition=
"ITEM_CODE IN ('2')"
/>
<EF:EFCodeOption
codeName=
"hpjx.hpkc.inventType"
condition=
"ITEM_CODE IN ('2')"
/>
</EF:EFComboColumn>
</EF:EFComboColumn>
<EF:EFComboColumn
ename=
"whCode"
cname=
"仓库名称"
enable=
"false"
width=
"120"
align=
"center"
<EF:EFComboColumn
ename=
"whCode"
cname=
"仓库名称"
enable=
"false"
width=
"120"
align=
"center"
...
@@ -37,11 +37,11 @@
...
@@ -37,11 +37,11 @@
blockName=
"invent_name_block_id"
textField=
"textField"
valueField=
"valueField"
blockName=
"invent_name_block_id"
textField=
"textField"
valueField=
"valueField"
columnTemplate=
"#=textField#"
itemTemplate=
"#=textField#"
>
columnTemplate=
"#=textField#"
itemTemplate=
"#=textField#"
>
</EF:EFComboColumn>
</EF:EFComboColumn>
<EF:EFComboColumn
ename=
"inventRecordId"
cname=
"规格"
enable=
"false"
width=
"1
2
0"
align=
"center"
<EF:EFComboColumn
ename=
"inventRecordId"
cname=
"规格"
enable=
"false"
width=
"1
5
0"
align=
"center"
blockName=
"invent_spec_block_id"
textField=
"textField"
valueField=
"valueField"
blockName=
"invent_spec_block_id"
textField=
"textField"
valueField=
"valueField"
columnTemplate=
"#=textField#"
itemTemplate=
"#=textField#"
>
columnTemplate=
"#=textField#"
itemTemplate=
"#=textField#"
>
</EF:EFComboColumn>
</EF:EFComboColumn>
<EF:EFComboColumn
ename=
"projCode"
cname=
"项目名称"
width=
"3
5
0"
align=
"center"
defaultValue=
""
required=
"true"
<EF:EFComboColumn
ename=
"projCode"
cname=
"项目名称"
width=
"3
0
0"
align=
"center"
defaultValue=
""
required=
"true"
filter=
"contains"
>
filter=
"contains"
>
<EF:EFOptions
blockId=
"proj_record_block_id"
valueField=
"valueField"
textField=
"textField"
/>
<EF:EFOptions
blockId=
"proj_record_block_id"
valueField=
"valueField"
textField=
"textField"
/>
</EF:EFComboColumn>
</EF:EFComboColumn>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment