Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
hg-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
hg-smart
Commits
52b24166
Commit
52b24166
authored
Aug 07, 2024
by
liuyang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://git.pseer.com:8800/platform/hg-smart
parents
ae670f0d
caceecc1
Hide whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
604 additions
and
254 deletions
+604
-254
DdynamicEnum.java
src/main/java/com/baosight/hggp/common/DdynamicEnum.java
+2
-0
DocRouteEnum.java
src/main/java/com/baosight/hggp/common/DocRouteEnum.java
+2
-1
ServiceHGCG003B.java
...java/com/baosight/hggp/hg/cg/service/ServiceHGCG003B.java
+1
-1
HGPZ005.xml
src/main/java/com/baosight/hggp/hg/pz/sql/HGPZ005.xml
+7
-1
HGPZTools.java
src/main/java/com/baosight/hggp/hg/pz/tools/HGPZTools.java
+29
-0
HGSC007.java
src/main/java/com/baosight/hggp/hg/sc/domain/HGSC007.java
+32
-1
HGSC008.java
src/main/java/com/baosight/hggp/hg/sc/domain/HGSC008.java
+37
-0
HGSC009A.java
src/main/java/com/baosight/hggp/hg/sc/domain/HGSC009A.java
+64
-0
ServiceHGSC006A.java
...java/com/baosight/hggp/hg/sc/service/ServiceHGSC006A.java
+9
-0
ServiceHGSC009.java
.../java/com/baosight/hggp/hg/sc/service/ServiceHGSC009.java
+9
-5
HGSC005A.xml
src/main/java/com/baosight/hggp/hg/sc/sql/HGSC005A.xml
+2
-2
HGSC006A.xml
src/main/java/com/baosight/hggp/hg/sc/sql/HGSC006A.xml
+11
-0
HGSC007.xml
src/main/java/com/baosight/hggp/hg/sc/sql/HGSC007.xml
+132
-91
HGSC008.xml
src/main/java/com/baosight/hggp/hg/sc/sql/HGSC008.xml
+100
-76
HGSCTools.java
src/main/java/com/baosight/hggp/hg/sc/tools/HGSCTools.java
+23
-30
HGZL004.java
src/main/java/com/baosight/hggp/hg/zl/domain/HGZL004.java
+31
-0
HGZL004.xml
src/main/java/com/baosight/hggp/hg/zl/sql/HGZL004.xml
+16
-4
ExcelUtils.java
src/main/java/com/baosight/hggp/util/ExcelUtils.java
+1
-1
sqlmap-config.xml
src/main/resources/resources/ibatis/sqlmap-config.xml
+2
-2
HGPZ005.js
src/main/webapp/HG/PZ/HGPZ005.js
+29
-21
HGPZ005.jsp
src/main/webapp/HG/PZ/HGPZ005.jsp
+8
-0
HGSC005A.js
src/main/webapp/HG/SC/HGSC005A.js
+2
-1
HGSC005A.jsp
src/main/webapp/HG/SC/HGSC005A.jsp
+7
-2
HGSC006A.js
src/main/webapp/HG/SC/HGSC006A.js
+2
-0
HGSC006A.jsp
src/main/webapp/HG/SC/HGSC006A.jsp
+10
-2
HGSC007.js
src/main/webapp/HG/SC/HGSC007.js
+10
-0
HGSC007.jsp
src/main/webapp/HG/SC/HGSC007.jsp
+2
-0
HGSC008.js
src/main/webapp/HG/SC/HGSC008.js
+10
-0
HGSC008.jsp
src/main/webapp/HG/SC/HGSC008.jsp
+2
-0
HGSC009.js
src/main/webapp/HG/SC/HGSC009.js
+1
-1
HGSC097.js
src/main/webapp/HG/SC/HGSC097.js
+1
-7
HGYX001.jsp
src/main/webapp/HG/YX/HGYX001.jsp
+1
-1
HGYX001A.jsp
src/main/webapp/HG/YX/HGYX001A.jsp
+1
-1
HGYX001B.jsp
src/main/webapp/HG/YX/HGYX001B.jsp
+1
-1
HGZL004.js
src/main/webapp/HG/ZL/HGZL004.js
+6
-2
HGZL004.jsp
src/main/webapp/HG/ZL/HGZL004.jsp
+1
-0
HGSC009A_材料计划.xls
src/main/webapp/common/template/SC/HGSC009A_材料计划.xls
+0
-0
No files found.
src/main/java/com/baosight/hggp/common/DdynamicEnum.java
View file @
52b24166
...
...
@@ -331,6 +331,8 @@ public enum DdynamicEnum {
*/
PLAN_PROCESS_BLOCK_ID
(
"plan_process_block_id"
,
"processName"
,
"processName"
,
"HGSC005A.queryProcessComboBox"
),
ORDER_CODE_BLOCK_ID
(
"order_code_block_id"
,
"processName"
,
"processName"
,
"HGSC006A.queryOrderCodeBox"
),
/**
* 合同
...
...
src/main/java/com/baosight/hggp/common/DocRouteEnum.java
View file @
52b24166
...
...
@@ -5,6 +5,7 @@ import com.baosight.hggp.hg.cw.domain.HGCW003;
import
com.baosight.hggp.hg.pz.domain.HGPZ005
;
import
com.baosight.hggp.hg.sc.domain.HGSC004A
;
import
com.baosight.hggp.hg.sc.domain.HGSC009
;
import
com.baosight.hggp.hg.sc.domain.HGSC009A
;
import
com.baosight.hggp.hg.sj.domain.HGSJ003
;
/**
...
...
@@ -14,7 +15,7 @@ import com.baosight.hggp.hg.sj.domain.HGSJ003;
public
enum
DocRouteEnum
{
HGSC004A
(
"route_001"
,
"HGSC004A"
,
"importData"
,
HGSC004A
.
class
),
HGSC009
(
"route_002"
,
"HGSC009"
,
"importData"
,
HGSC009
.
class
),
HGSC009
A
(
"route_002"
,
"HGSC009"
,
"importData"
,
HGSC009A
.
class
),
HGPZ005
(
"route_003"
,
"HGPZ005"
,
"importData"
,
HGPZ005
.
class
),
HGCW003
(
"route_004"
,
"HGCW003"
,
"importData"
,
HGCW003
.
class
),
HGSJ003
(
"route_005"
,
"HGSJ003"
,
"importData"
,
HGSJ003
.
class
),
...
...
src/main/java/com/baosight/hggp/hg/cg/service/ServiceHGCG003B.java
View file @
52b24166
...
...
@@ -46,7 +46,7 @@ public class ServiceHGCG003B extends ServiceBase {
CommonMethod
.
initBlock
(
inInfo
,
Arrays
.
asList
(
DdynamicEnum
.
INVENT_RECORD_BOX_BLOCK_ID
),
new
HashMap
<
String
,
Object
>(){{
put
(
HGPZ005
.
FIELD_STATUS
,
1
);
put
(
HGPZ004
.
FIELD_INVENT_TYPE_DETAILS
,
InventTypeDetailEnum
.
getProdType
Six
());
put
(
HGPZ004
.
FIELD_INVENT_TYPE_DETAILS
,
InventTypeDetailEnum
.
getProdType
Four
());
}},
false
);
EiInfoUtils
.
addBlock
(
inInfo
,
"roleCompany"
,
UserSessionUtils
.
getRoleCompany
(),
Company
.
class
);
inInfo
.
addBlock
(
EiConstant
.
resultBlock
).
addBlockMeta
(
new
HGCG003B
().
eiMetadata
);
...
...
src/main/java/com/baosight/hggp/hg/pz/sql/HGPZ005.xml
View file @
52b24166
...
...
@@ -83,7 +83,7 @@
INVENT_CODE LIKE CONCAT('%', #inventCodeLike#, '%')
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"spec"
>
SPEC
= #spec#
SPEC
LIKE CONCAT('%', #spec#, '%')
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"length"
>
LENGTH = #length#
...
...
@@ -147,6 +147,12 @@
<isNotEmpty
prepend=
" AND "
property=
"inventTypeDetails"
>
INVENT_TYPE_DETAIL IN
<iterate
close=
")"
open=
"("
conjunction=
","
property=
"inventTypeDetails"
>
#inventTypeDetails[]#
</iterate>
</isNotEmpty>
<isEqual
prepend=
" AND "
property=
"isFlowId"
compareValue=
"1"
>
FLOW_ID > 0
</isEqual>
<isEqual
prepend=
" AND "
property=
"isFlowId"
compareValue=
"0"
>
FLOW_ID = #isFlowId#
</isEqual>
</sql>
<select
id=
"query"
parameterClass=
"java.util.HashMap"
resultClass=
"HGPZ005"
>
...
...
src/main/java/com/baosight/hggp/hg/pz/tools/HGPZTools.java
View file @
52b24166
...
...
@@ -10,6 +10,8 @@ import com.baosight.hggp.hg.constant.HGConstant;
import
com.baosight.hggp.hg.pz.domain.*
;
import
com.baosight.hggp.hg.sc.domain.HGSC001A
;
import
com.baosight.hggp.hg.sc.domain.HGSC005A
;
import
com.baosight.hggp.hg.sc.domain.HGSC009
;
import
com.baosight.hggp.hg.sc.domain.HGSC009A
;
import
com.baosight.hggp.hg.sj.domain.HGSJ003
;
import
com.baosight.hggp.util.*
;
import
com.baosight.iplat4j.common.ed.domain.TEDCM01
;
...
...
@@ -628,6 +630,33 @@ public class HGPZTools {
DaoUtils
.
insert
(
HGPZ005
.
INSERT
,
hgpz005
);
}
}
public
static
HGPZ005
add
(
HGSC009A
hgsc009a
){
List
<
HGPZ004
>
hgpz004s
=
DaoBase
.
getInstance
().
query
(
HGPZ004
.
QUERY
,
new
HashMap
<
String
,
Object
>(){{
put
(
HGPZ004
.
FIELD_STATUS
,
CommonConstant
.
YesNo
.
YES_1
);
}});
Map
parmap
=
hgpz004s
.
stream
().
collect
(
Collectors
.
toMap
(
HGPZ004:
:
getInventTypeName
,
HGPZ004:
:
getInventType
,(
v1
,
v2
)
->
v1
));
String
inventType
=
com
.
baosight
.
hggp
.
util
.
MapUtils
.
getString
(
parmap
,
com
.
baosight
.
hggp
.
util
.
StringUtils
.
trimToEmpty
(
hgsc009a
.
getInventType
()));
AssertUtils
.
isEmpty
(
inventType
,
String
.
format
(
"存货类型[%s]代码不存在,添加失败!"
,
hgsc009a
.
getInventType
()));
Map
<
String
,
Object
>
objectMap
=
hgpz004s
.
stream
().
filter
(
item
->
Objects
.
equals
(
item
.
getInventType
(),
inventType
)).
distinct
().
collect
(
Collectors
.
toMap
(
HGPZ004:
:
getInventType
,
HGPZ004:
:
getInventTypeDetail
,(
v1
,
v2
)
->
v1
));
HGPZ005
pz005
=
new
HGPZ005
();
pz005
.
setInventType
(
inventType
);
pz005
.
setInventCode
(
hgsc009a
.
getInventCode
());
pz005
.
setInventName
(
hgsc009a
.
getInventName
());
pz005
.
setSpec
(
hgsc009a
.
getSpec
());
pz005
.
setInventTypeDetail
((
Integer
)
objectMap
.
get
(
inventType
));
pz005
.
setLength
(
hgsc009a
.
getLength
());
pz005
.
setWidth
(
hgsc009a
.
getWidth
());
pz005
.
setThick
(
hgsc009a
.
getThick
());
pz005
.
setMaterial
(
hgsc009a
.
getMaterial
());
pz005
.
setCoefficient
(
hgsc009a
.
getCoefficient
());
pz005
.
setUnit
(
hgsc009a
.
getUnit
());
pz005
.
setStatus
(
1
);
//默认启用
DaoUtils
.
insert
(
HGPZ005
.
INSERT
,
pz005
);
return
pz005
;
}
}
public
static
class
HgPz005A
{
...
...
src/main/java/com/baosight/hggp/hg/sc/domain/HGSC007.java
View file @
52b24166
...
...
@@ -64,6 +64,8 @@ public class HGSC007 extends DaoEPBase {
public
static
final
String
FIELD_updated_by
=
"updatedBy"
;
/* 更新人*/
public
static
final
String
FIELD_updated_name
=
"updatedName"
;
/* 修改人名称*/
public
static
final
String
FIELD_updated_time
=
"updatedTime"
;
/* 更新时间*/
public
static
final
String
FIELD_spec
=
"spec"
;
/* 规格*/
public
static
final
String
FIELD_length
=
"length"
;
/* 长*/
public
static
final
String
COL_id
=
"id"
;
...
...
@@ -161,7 +163,8 @@ public class HGSC007 extends DaoEPBase {
private
String
updatedBy
=
" "
;
/* 更新人*/
private
String
updatedName
=
" "
;
/* 修改人名称*/
private
String
updatedTime
=
" "
;
/* 更新时间*/
private
String
spec
=
" "
;
/* 规格*/
private
BigDecimal
length
=
new
BigDecimal
(
"0"
);
/* 长*/
/**
...
...
@@ -347,7 +350,16 @@ public class HGSC007 extends DaoEPBase {
eiColumn
.
setDescName
(
"更新时间"
);
eiMetadata
.
addMeta
(
eiColumn
);
eiColumn
=
new
EiColumn
(
FIELD_spec
);
eiColumn
.
setDescName
(
"规格"
);
eiMetadata
.
addMeta
(
eiColumn
);
eiColumn
=
new
EiColumn
(
FIELD_length
);
eiColumn
.
setType
(
"N"
);
eiColumn
.
setScaleLength
(
3
);
eiColumn
.
setFieldLength
(
12
);
eiColumn
.
setDescName
(
"长"
);
eiMetadata
.
addMeta
(
eiColumn
);
}
...
...
@@ -1015,6 +1027,21 @@ public class HGSC007 extends DaoEPBase {
this
.
updatedTime
=
updatedTime
;
}
public
String
getSpec
()
{
return
spec
;
}
public
void
setSpec
(
String
spec
)
{
this
.
spec
=
spec
;
}
public
BigDecimal
getLength
()
{
return
length
;
}
public
void
setLength
(
BigDecimal
length
)
{
this
.
length
=
length
;
}
/**
* get the value from Map.
...
...
@@ -1065,6 +1092,8 @@ public class HGSC007 extends DaoEPBase {
setUpdatedBy
(
StringUtils
.
defaultIfEmpty
(
StringUtils
.
toString
(
map
.
get
(
FIELD_updated_by
)),
updatedBy
));
setUpdatedName
(
StringUtils
.
defaultIfEmpty
(
StringUtils
.
toString
(
map
.
get
(
FIELD_updated_name
)),
updatedName
));
setUpdatedTime
(
StringUtils
.
defaultIfEmpty
(
StringUtils
.
toString
(
map
.
get
(
FIELD_updated_time
)),
updatedTime
));
setSpec
(
StringUtils
.
defaultIfEmpty
(
StringUtils
.
toString
(
map
.
get
(
FIELD_spec
)),
spec
));
setLength
(
NumberUtils
.
toBigDecimal
(
StringUtils
.
toString
(
map
.
get
(
FIELD_length
)),
length
));
}
...
...
@@ -1116,6 +1145,8 @@ public class HGSC007 extends DaoEPBase {
map
.
put
(
FIELD_updated_by
,
StringUtils
.
toString
(
updatedBy
,
eiMetadata
.
getMeta
(
FIELD_updated_by
)));
map
.
put
(
FIELD_updated_name
,
StringUtils
.
toString
(
updatedName
,
eiMetadata
.
getMeta
(
FIELD_updated_name
)));
map
.
put
(
FIELD_updated_time
,
StringUtils
.
toString
(
updatedTime
,
eiMetadata
.
getMeta
(
FIELD_updated_time
)));
map
.
put
(
FIELD_spec
,
StringUtils
.
toString
(
spec
,
eiMetadata
.
getMeta
(
FIELD_spec
)));
map
.
put
(
FIELD_length
,
StringUtils
.
toString
(
length
,
eiMetadata
.
getMeta
(
FIELD_length
)));
return
map
;
}
...
...
src/main/java/com/baosight/hggp/hg/sc/domain/HGSC008.java
View file @
52b24166
...
...
@@ -67,6 +67,9 @@ public class HGSC008 extends DaoEPBase {
public
static
final
String
FIELD_task_quantity
=
"taskQuantity"
;
public
static
final
String
FIELD_task_weight
=
"taskWeight"
;
public
static
final
String
FIELD_spec
=
"spec"
;
/* 规格*/
public
static
final
String
FIELD_length
=
"length"
;
/* 长*/
public
static
final
String
COL_id
=
"id"
;
public
static
final
String
COL_mat_id
=
"mat_id"
;
/* 物料清单ID*/
public
static
final
String
COL_task_id
=
"task_id"
;
/* 生产任务ID*/
...
...
@@ -148,6 +151,8 @@ public class HGSC008 extends DaoEPBase {
private
String
updatedBy
=
" "
;
/* 更新人*/
private
String
updatedName
=
" "
;
/* 修改人名称*/
private
String
updatedTime
=
" "
;
/* 更新时间*/
private
String
spec
=
" "
;
/* 规格*/
private
BigDecimal
length
=
new
BigDecimal
(
"0"
);
/* 长*/
//补充字段
...
...
@@ -396,6 +401,17 @@ public class HGSC008 extends DaoEPBase {
eiColumn
.
setDescName
(
"任务重量"
);
eiMetadata
.
addMeta
(
eiColumn
);
eiColumn
=
new
EiColumn
(
FIELD_spec
);
eiColumn
.
setDescName
(
"规格"
);
eiMetadata
.
addMeta
(
eiColumn
);
eiColumn
=
new
EiColumn
(
FIELD_length
);
eiColumn
.
setType
(
"N"
);
eiColumn
.
setScaleLength
(
3
);
eiColumn
.
setFieldLength
(
12
);
eiColumn
.
setDescName
(
"长"
);
eiMetadata
.
addMeta
(
eiColumn
);
// private Integer registeredQuantity = new Integer(0);
// private BigDecimal registeredWeight = new BigDecimal(0);
// private Integer unregisterQuantity = new Integer(0);
...
...
@@ -986,6 +1002,23 @@ public class HGSC008 extends DaoEPBase {
public
void
setUpdatedTime
(
String
updatedTime
)
{
this
.
updatedTime
=
updatedTime
;
}
public
String
getSpec
()
{
return
spec
;
}
public
void
setSpec
(
String
spec
)
{
this
.
spec
=
spec
;
}
public
BigDecimal
getLength
()
{
return
length
;
}
public
void
setLength
(
BigDecimal
length
)
{
this
.
length
=
length
;
}
/**
* get the value from Map.
*
...
...
@@ -1037,6 +1070,8 @@ public class HGSC008 extends DaoEPBase {
setUnregisterWeight
(
NumberUtils
.
toBigDecimal
(
StringUtils
.
toString
(
map
.
get
(
FIELD_unregister_weight
)),
unregisterWeight
));
setTaskQuantity
(
NumberUtils
.
toInteger
(
StringUtils
.
toString
(
map
.
get
(
FIELD_task_quantity
)),
taskQuantity
));
setTaskWeight
(
NumberUtils
.
toBigDecimal
(
StringUtils
.
toString
(
map
.
get
(
FIELD_task_weight
)),
taskWeight
));
setSpec
(
StringUtils
.
defaultIfEmpty
(
StringUtils
.
toString
(
map
.
get
(
FIELD_spec
)),
spec
));
setLength
(
NumberUtils
.
toBigDecimal
(
StringUtils
.
toString
(
map
.
get
(
FIELD_length
)),
length
));
}
/**
...
...
@@ -1088,6 +1123,8 @@ public class HGSC008 extends DaoEPBase {
map
.
put
(
FIELD_unregister_weight
,
StringUtils
.
toString
(
unregisterWeight
,
eiMetadata
.
getMeta
(
FIELD_unregister_weight
)));
map
.
put
(
FIELD_task_quantity
,
StringUtils
.
toString
(
taskQuantity
,
eiMetadata
.
getMeta
(
FIELD_task_quantity
)));
map
.
put
(
FIELD_task_weight
,
StringUtils
.
toString
(
taskWeight
,
eiMetadata
.
getMeta
(
FIELD_task_weight
)));
map
.
put
(
FIELD_spec
,
StringUtils
.
toString
(
spec
,
eiMetadata
.
getMeta
(
FIELD_spec
)));
map
.
put
(
FIELD_length
,
StringUtils
.
toString
(
length
,
eiMetadata
.
getMeta
(
FIELD_length
)));
return
map
;
}
}
src/main/java/com/baosight/hggp/hg/sc/domain/HGSC009A.java
View file @
52b24166
...
...
@@ -89,19 +89,32 @@ public class HGSC009A extends DaoEPBase {
private
String
depCode
=
" "
;
/* 部门编码*/
private
String
companyCode
=
" "
;
/* 公司编码*/
private
String
companyName
=
" "
;
/* 公司名称*/
@ExcelAnno
(
index
=
8
,
name
=
"projCode"
)
private
String
projCode
=
" "
;
/* 项目编码*/
@ExcelAnno
(
index
=
9
,
name
=
"projName"
)
private
String
projName
=
" "
;
/* 项目名称*/
@ExcelAnno
(
index
=
10
,
name
=
"planMaterialDate"
)
private
String
planMaterialDate
=
" "
;
/* 材料计划编码*/
private
String
planMaterialCode
=
" "
;
/* 材料计划编码*/
@ExcelAnno
(
index
=
11
,
name
=
"planMaterialName"
)
private
String
planMaterialName
=
" "
;
/* 材料计划名称*/
@ExcelAnno
(
index
=
0
,
name
=
"inventCode"
)
private
String
inventCode
=
" "
;
/* 存货编码*/
@ExcelAnno
(
index
=
1
,
name
=
"inventName"
)
private
String
inventName
=
" "
;
/* 存货名称*/
@ExcelAnno
(
index
=
2
,
name
=
"spec"
)
private
String
spec
=
" "
;
/* 规格*/
@ExcelAnno
(
index
=
13
,
name
=
"material"
)
private
String
material
=
" "
;
/* 材质*/
@ExcelAnno
(
index
=
3
,
name
=
"length"
)
private
BigDecimal
length
=
new
BigDecimal
(
"0"
);
/* 长*/
@ExcelAnno
(
index
=
4
,
name
=
"width"
)
private
BigDecimal
width
=
new
BigDecimal
(
"0"
);
/* 宽*/
@ExcelAnno
(
index
=
5
,
name
=
"thick"
)
private
BigDecimal
thick
=
new
BigDecimal
(
"0"
);
/* 厚*/
@ExcelAnno
(
index
=
6
,
name
=
"quantity"
)
private
BigDecimal
quantity
=
new
BigDecimal
(
"0"
);
/* 数量*/
@ExcelAnno
(
index
=
7
,
name
=
"singleWeight"
)
private
BigDecimal
singleWeight
=
new
BigDecimal
(
"0"
);
/* 单重*/
private
BigDecimal
grossAmount
=
new
BigDecimal
(
"0"
);
/* 总量*/
private
String
createdBy
=
" "
;
/* 创建人*/
...
...
@@ -111,6 +124,12 @@ public class HGSC009A extends DaoEPBase {
private
String
updatedName
=
" "
;
/* 修改人名称*/
private
String
updatedTime
=
" "
;
/* 修改时间*/
private
String
inventTypeDetail
;
/*存货类型明细 1:构建 2:零件*/
@ExcelAnno
(
index
=
12
,
name
=
"inventType"
)
private
String
inventType
=
" "
;
/* 存货类型*/
@ExcelAnno
(
index
=
14
,
name
=
"coefficient"
)
private
BigDecimal
coefficient
=
new
BigDecimal
(
"0"
);
/* 系数*/
@ExcelAnno
(
index
=
15
,
name
=
"unit"
)
private
String
unit
=
" "
;
/* 单位*/
/**
* initialize the metadata.
...
...
@@ -245,6 +264,21 @@ public class HGSC009A extends DaoEPBase {
eiColumn
.
setDescName
(
"存货类型明细"
);
eiMetadata
.
addMeta
(
eiColumn
);
eiColumn
=
new
EiColumn
(
"inventType"
);
eiColumn
.
setDescName
(
"存货类型"
);
eiMetadata
.
addMeta
(
eiColumn
);
eiColumn
=
new
EiColumn
(
"coefficient"
);
eiColumn
.
setType
(
"N"
);
eiColumn
.
setScaleLength
(
3
);
eiColumn
.
setFieldLength
(
12
);
eiColumn
.
setDescName
(
"系数"
);
eiMetadata
.
addMeta
(
eiColumn
);
eiColumn
=
new
EiColumn
(
"unit"
);
eiColumn
.
setDescName
(
"单位"
);
eiMetadata
.
addMeta
(
eiColumn
);
}
/**
...
...
@@ -671,6 +705,30 @@ public class HGSC009A extends DaoEPBase {
this
.
planMaterialDate
=
planMaterialDate
;
}
public
String
getInventType
()
{
return
inventType
;
}
public
void
setInventType
(
String
inventType
)
{
this
.
inventType
=
inventType
;
}
public
BigDecimal
getCoefficient
()
{
return
coefficient
;
}
public
void
setCoefficient
(
BigDecimal
coefficient
)
{
this
.
coefficient
=
coefficient
;
}
public
String
getUnit
()
{
return
unit
;
}
public
void
setUnit
(
String
unit
)
{
this
.
unit
=
unit
;
}
/**
* get the value from Map.
*
...
...
@@ -706,6 +764,9 @@ public class HGSC009A extends DaoEPBase {
setUpdatedName
(
StringUtils
.
defaultIfEmpty
(
StringUtils
.
toString
(
map
.
get
(
FIELD_UPDATED_NAME
)),
updatedName
));
setUpdatedTime
(
StringUtils
.
defaultIfEmpty
(
StringUtils
.
toString
(
map
.
get
(
FIELD_UPDATED_TIME
)),
updatedTime
));
setInventTypeDetail
(
StringUtils
.
defaultIfEmpty
(
StringUtils
.
toString
(
map
.
get
(
FIELD_INVENT_TYPE_DETAIL
)),
inventTypeDetail
));
setInventType
(
StringUtils
.
defaultIfEmpty
(
StringUtils
.
toString
(
map
.
get
(
"inventType"
)),
inventType
));
setCoefficient
(
NumberUtils
.
toBigDecimal
(
StringUtils
.
toString
(
map
.
get
(
"coefficient"
)),
coefficient
));
setUnit
(
StringUtils
.
defaultIfEmpty
(
StringUtils
.
toString
(
map
.
get
(
"unit"
)),
unit
));
}
/**
...
...
@@ -742,6 +803,9 @@ public class HGSC009A extends DaoEPBase {
map
.
put
(
FIELD_UPDATED_NAME
,
StringUtils
.
toString
(
updatedName
,
eiMetadata
.
getMeta
(
FIELD_UPDATED_NAME
)));
map
.
put
(
FIELD_UPDATED_TIME
,
StringUtils
.
toString
(
updatedTime
,
eiMetadata
.
getMeta
(
FIELD_UPDATED_TIME
)));
map
.
put
(
FIELD_INVENT_TYPE_DETAIL
,
StringUtils
.
toString
(
inventTypeDetail
,
eiMetadata
.
getMeta
(
FIELD_INVENT_TYPE_DETAIL
)));
map
.
put
(
"inventType"
,
StringUtils
.
toString
(
inventType
,
eiMetadata
.
getMeta
(
"inventType"
)));
map
.
put
(
"coefficient"
,
StringUtils
.
toString
(
coefficient
,
eiMetadata
.
getMeta
(
"coefficient"
)));
map
.
put
(
"unit"
,
StringUtils
.
toString
(
unit
,
eiMetadata
.
getMeta
(
"unit"
)));
return
map
;
}
...
...
src/main/java/com/baosight/hggp/hg/sc/service/ServiceHGSC006A.java
View file @
52b24166
...
...
@@ -2,14 +2,17 @@ package com.baosight.hggp.hg.sc.service;
import
com.baosight.hggp.aspect.annotation.OperationLogAnnotation
;
import
com.baosight.hggp.common.AssignStatusEnum
;
import
com.baosight.hggp.common.DdynamicEnum
;
import
com.baosight.hggp.core.dao.DaoUtils
;
import
com.baosight.hggp.hg.constant.HGConstant
;
import
com.baosight.hggp.hg.sc.domain.HGSC005A
;
import
com.baosight.hggp.hg.sc.domain.HGSC006
;
import
com.baosight.hggp.hg.sc.domain.HGSC006A
;
import
com.baosight.hggp.hg.sc.domain.HGSC007
;
import
com.baosight.hggp.hg.sc.tools.HGSCTools
;
import
com.baosight.hggp.util.AssertUtils
;
import
com.baosight.hggp.util.BeanUtils
;
import
com.baosight.hggp.util.CommonMethod
;
import
com.baosight.hggp.util.LogUtils
;
import
com.baosight.iplat4j.core.ei.EiConstant
;
import
com.baosight.iplat4j.core.ei.EiInfo
;
...
...
@@ -18,6 +21,8 @@ import com.baosight.iplat4j.core.service.impl.ServiceBase;
import
com.baosight.iplat4j.ed.util.SequenceGenerator
;
import
java.math.BigDecimal
;
import
java.util.Arrays
;
import
java.util.HashMap
;
/**
...
...
@@ -29,7 +34,11 @@ public class ServiceHGSC006A extends ServiceBase {
@OperationLogAnnotation
(
operModul
=
"生产订单详情"
,
operType
=
"查询"
,
operDesc
=
"初始化页面"
)
public
EiInfo
initLoad
(
EiInfo
inInfo
)
{
try
{
String
orderCode
=
inInfo
.
getCellStr
(
EiConstant
.
queryBlock
,
0
,
HGSC006A
.
FIELD_order_code
);
inInfo
.
addBlock
(
EiConstant
.
resultBlock
).
addBlockMeta
(
new
HGSC006A
().
eiMetadata
);
CommonMethod
.
initBlock
(
inInfo
,
Arrays
.
asList
(
DdynamicEnum
.
ORDER_CODE_BLOCK_ID
),
new
HashMap
<
String
,
Object
>(){{
put
(
HGSC006A
.
FIELD_order_code
,
orderCode
);
}},
false
);
// inInfo = super.query(inInfo, HGSC006A.QUERY, new HGSC006A());
}
catch
(
PlatException
e
)
{
LogUtils
.
setDetailMsg
(
inInfo
,
e
,
"初始化失败"
);
...
...
src/main/java/com/baosight/hggp/hg/sc/service/ServiceHGSC009.java
View file @
52b24166
...
...
@@ -181,13 +181,17 @@ public class ServiceHGSC009 extends ServiceEPBase {
}
@OperationLogAnnotation
(
operModul
=
"材料计划"
,
operType
=
"导入"
,
operDesc
=
"导入操作"
)
public
EiInfo
importDat
e
(
EiInfo
inInfo
)
{
public
EiInfo
importDat
a
(
EiInfo
inInfo
)
{
try
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>(
10
);
String
fileName
=
inInfo
.
getString
(
"fileName"
);
params
.
put
(
HGSC009A
.
FIELD_ACCOUNT_CODE
,
UserSessionUtils
.
getAccountCode
());
List
<
HGSC009A
>
dataList
=
(
List
)
inInfo
.
get
(
"dataList"
);
HGSCTools
.
THGSC009
.
add
(
dataList
);
//Map<String, Object> params = new HashMap<>(10);
//String fileName = inInfo.getString("fileName");
//params.put(HGSC009A.FIELD_ACCOUNT_CODE, UserSessionUtils.getAccountCode());
//解析文件,将文件中数据传入到inInfo中
ExcelUtils
.
importFromExcel
(
inInfo
,
fileName
,
params
,
new
HGSC009A
());
//ExcelUtils.importFromExcel(inInfo, fileName, params, new HGSC009A());
inInfo
.
setStatus
(
EiConstant
.
STATUS_DEFAULT
);
inInfo
.
setMsg
(
"导入成功"
+
dataList
.
size
()
+
"条"
);
}
catch
(
Exception
e
){
inInfo
.
setStatus
(
EiConstant
.
STATUS_FAILURE
);
LogUtils
.
setDetailMsg
(
inInfo
,
e
,
"导入失败"
);
...
...
src/main/java/com/baosight/hggp/hg/sc/sql/HGSC005A.xml
View file @
52b24166
...
...
@@ -101,10 +101,10 @@
finish_date = #finishDate#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"planStartDate"
>
plan_start_date = #planStartDate#
plan_start_date
>
= #planStartDate#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"planEndDate"
>
plan_end_date = #planEndDate#
plan_end_date
<
= #planEndDate#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"quantity"
>
quantity = #quantity#
...
...
src/main/java/com/baosight/hggp/hg/sc/sql/HGSC006A.xml
View file @
52b24166
...
...
@@ -490,5 +490,16 @@
WHERE id = #id#
</update>
<select
id=
"queryOrderCodeBox"
parameterClass=
"java.util.HashMap"
resultClass=
"java.util.HashMap"
>
SELECT DISTINCT
process_name as "processName"
FROM ${hggpSchema}.HGSC006A
WHERE order_code = #orderCode#
<isNotEmpty
prepend=
" AND "
property=
"accountCode"
>
ACCOUNT_CODE = #accountCode#
</isNotEmpty>
ORDER BY process_name
</select>
</sqlMap>
src/main/java/com/baosight/hggp/hg/sc/sql/HGSC007.xml
View file @
52b24166
...
...
@@ -47,144 +47,164 @@
-->
<sqlMap
namespace=
"HGSC007"
>
<sql
id=
"authCondition"
>
<!-- 无权限时使用 -->
<isNotEmpty
prepend=
" AND "
property=
"authDepCode"
>
A.DEP_CODE = #authDepCode#
</isNotEmpty>
<!-- 仅本人和部门组合 -->
<isEqual
prepend=
" AND "
property=
"authCombination"
compareValue=
"1"
>
(A.CREATED_BY = #authOnlyPeople# OR A.DEP_CODE IN
<iterate
close=
")"
open=
"("
conjunction=
","
property=
"authDepCodes"
>
#authDepCodes[]#
</iterate>
)
</isEqual>
<!-- 仅本人或部门 -->
<isNotEqual
prepend=
" AND "
property=
"authCombination"
compareValue=
"1"
>
<isNotEmpty
property=
"authOnlyPeople"
>
A.CREATED_BY = #authOnlyPeople#
</isNotEmpty>
<isNotEmpty
property=
"authDepCodes"
>
A.DEP_CODE IN
<iterate
close=
")"
open=
"("
conjunction=
","
property=
"authDepCodes"
>
#authDepCodes[]#
</iterate>
</isNotEmpty>
</isNotEqual>
</sql>
<sql
id=
"condition"
>
<include
refid=
"
HGXSDataAuth.
authCondition"
/>
<include
refid=
"authCondition"
/>
<isNotEmpty
prepend=
" AND "
property=
"id"
>
id = #id#
A.
id = #id#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"matId"
>
mat_id = #matId#
A.
mat_id = #matId#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"orderId"
>
order_id = #orderId#
A.
order_id = #orderId#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"orderDetailId"
>
order_detail_id = #orderDetailId#
A.
order_detail_id = #orderDetailId#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"techFlowId"
>
tech_flow_id = #techFlowId#
A.
tech_flow_id = #techFlowId#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"techFlowName"
>
tech_flow_name = #techFlowName#
A.
tech_flow_name = #techFlowName#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"inventProcessId"
>
invent_process_id = #inventProcessId#
A.
invent_process_id = #inventProcessId#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"processCode"
>
process_code = #processCode#
A.
process_code = #processCode#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"processName"
>
process_name = #processName#
A.
process_name = #processName#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"processOrder"
>
process_order = #processOrder#
A.
process_order = #processOrder#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"companyCode"
>
company_code = #companyCode#
A.
company_code = #companyCode#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"companyName"
>
company_name = #companyName#
A.
company_name = #companyName#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"depCode"
>
dep_code = #depCode#
A.
dep_code = #depCode#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"depName"
>
dep_name = #depName#
A.
dep_name = #depName#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"projCode"
>
proj_code = #projCode#
A.
proj_code = #projCode#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"projName"
>
proj_name = #projName#
A.
proj_name = #projName#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"taskCode"
>
task_code = #taskCode#
A.
task_code = #taskCode#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"productType"
>
product_type = #productType#
A.
product_type = #productType#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"productCode"
>
product_code LIKE CONCAT('%', #productCode#, '%')
A.
product_code LIKE CONCAT('%', #productCode#, '%')
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"productName"
>
product_name LIKE CONCAT('%', #productName#, '%')
A.
product_name LIKE CONCAT('%', #productName#, '%')
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"planStartDate"
>
plan_start_date = #planStartDate#
A.
plan_start_date = #planStartDate#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"planEndDate"
>
plan_end_date = #planEndDate#
A.
plan_end_date = #planEndDate#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"factoryCode"
>
factory_code = #factoryCode#
A.
factory_code = #factoryCode#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"factoryName"
>
factory_name = #factoryName#
A.
factory_name = #factoryName#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"groupCode"
>
group_code = #groupCode#
A.
group_code = #groupCode#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"groupName"
>
group_name LIKE CONCAT('%', #groupName# ,'%')
A.
group_name LIKE CONCAT('%', #groupName# ,'%')
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"completeDate"
>
complete_date = #completeDate#
A.
complete_date = #completeDate#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"quantity"
>
quantity = #quantity#
A.
quantity = #quantity#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"finishQuantity"
>
finish_quantity = #finishQuantity#
A.
finish_quantity = #finishQuantity#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"unfinishQuantity"
>
unfinish_quantity = #unfinishQuantity#
A.
unfinish_quantity = #unfinishQuantity#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"singleWeight"
>
single_weight = #singleWeight#
A.
single_weight = #singleWeight#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"totalWeight"
>
total_weight = #totalWeight#
A.
total_weight = #totalWeight#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"finishWeight"
>
finish_weight = #finishWeight#
A.
finish_weight = #finishWeight#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"unfinishWeight"
>
unfinish_weight = #unfinishWeight#
A.
unfinish_weight = #unfinishWeight#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"accountCode"
>
account_code = #accountCode#
A.
account_code = #accountCode#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"createdBy"
>
created_by = #createdBy#
A.
created_by = #createdBy#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"createdName"
>
created_name = #createdName#
A.
created_name = #createdName#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"createdTime"
>
created_time LIKE CONCAT('%', #createdTime# ,'%')
A.
created_time LIKE CONCAT('%', #createdTime# ,'%')
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"updatedBy"
>
updated_by = #updatedBy#
A.
updated_by = #updatedBy#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"updatedName"
>
updated_name = #updatedName#
A.
updated_name = #updatedName#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"updatedTime"
>
updated_time = #updatedTime#
A.
updated_time = #updatedTime#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"ids"
>
id IN
<iterate
close=
")"
open=
"("
conjunction=
","
property=
"ids"
>
#ids[]#
</iterate>
A.
id IN
<iterate
close=
")"
open=
"("
conjunction=
","
property=
"ids"
>
#ids[]#
</iterate>
</isNotEmpty>
<!-- 移动端请求参数 -->
<isEqual
prepend=
" AND "
property=
"completeStatus"
compareValue=
"0"
>
ifnull(complete_date,'') = ''
ifnull(
A.
complete_date,'') = ''
</isEqual>
<isEqual
prepend=
" AND "
property=
"completeStatus"
compareValue=
"1"
>
ifnull(complete_date,'') != ''
ifnull(
A.
complete_date,'') != ''
</isEqual>
</sql>
<sql
id=
"appCondition"
>
<!-- 无权限时使用 -->
<isNotEmpty
prepend=
" AND "
property=
"authDepCode"
>
...
...
@@ -225,48 +245,51 @@
<select
id=
"query"
parameterClass=
"java.util.HashMap"
resultClass=
"com.baosight.hggp.hg.sc.domain.HGSC007"
>
SELECT
id as "id",
mat_id as "matId",
<!-- 物料清单ID -->
order_id as "orderId",
<!-- 生产计划ID -->
order_detail_id as "orderDetailId",
<!-- 生产计划明细ID -->
tech_flow_id as "techFlowId",
<!-- 工艺流程ID -->
tech_flow_name as "techFlowName",
<!-- 工艺流程名称 -->
invent_process_id as "inventProcessId",
<!-- 存货工序ID,对应HGPZ005A.id -->
process_code as "processCode",
<!-- 工序编码 -->
process_name as "processName",
<!-- 工序名称 -->
process_order as "processOrder",
<!-- 加工顺序 -->
company_code as "companyCode",
<!-- 公司编码 -->
company_name as "companyName",
<!-- 公司名称 -->
dep_code as "depCode",
<!-- 部门编码 -->
dep_name as "depName",
<!-- 部门名称 -->
proj_code as "projCode",
<!-- 项目编码 -->
proj_name as "projName",
<!-- 项目名称 -->
task_code as "taskCode",
<!-- 任务编码 -->
product_type as "productType",
<!-- 产品类型 -->
product_code as "productCode",
<!-- 产品编号 -->
product_name as "productName",
<!-- 产品名称 -->
plan_start_date as "planStartDate",
<!-- 计划开始日期 -->
plan_end_date as "planEndDate",
<!-- 计划结束日期 -->
factory_code as "factoryCode",
<!-- 工厂编号 -->
factory_name as "factoryName",
<!-- 工厂名称 -->
group_code as "groupCode",
<!-- 工作组编号 -->
group_name as "groupName",
<!-- 工作组名称 -->
complete_date as "completeDate",
<!-- 完工日期 -->
quantity as "quantity",
<!-- 数量 -->
finish_quantity as "finishQuantity",
<!-- 完工数量 -->
unfinish_quantity as "unfinishQuantity",
<!-- 未完工数量 -->
single_weight as "singleWeight",
<!-- 单重 -->
total_weight as "totalWeight",
<!-- 总重 -->
finish_weight as "finishWeight",
<!-- 完工重量 -->
unfinish_weight as "unfinishWeight",
<!-- 未完工重量 -->
account_code as "accountCode",
<!-- 帐套 -->
created_by as "createdBy",
<!-- 创建人 -->
created_name as "createdName",
<!-- 创建人名称 -->
created_time as "createdTime",
<!-- 创建时间 -->
updated_by as "updatedBy",
<!-- 更新人 -->
updated_name as "updatedName",
<!-- 修改人名称 -->
updated_time as "updatedTime"
<!-- 更新时间 -->
FROM ${hggpSchema}.HGSC007 WHERE 1=1
A.id as "id",
A.mat_id as "matId",
<!-- 物料清单ID -->
A.order_id as "orderId",
<!-- 生产计划ID -->
A.order_detail_id as "orderDetailId",
<!-- 生产计划明细ID -->
A.tech_flow_id as "techFlowId",
<!-- 工艺流程ID -->
A.tech_flow_name as "techFlowName",
<!-- 工艺流程名称 -->
A.invent_process_id as "inventProcessId",
<!-- 存货工序ID,对应HGPZ005A.id -->
A.process_code as "processCode",
<!-- 工序编码 -->
A.process_name as "processName",
<!-- 工序名称 -->
A.process_order as "processOrder",
<!-- 加工顺序 -->
A.company_code as "companyCode",
<!-- 公司编码 -->
A.company_name as "companyName",
<!-- 公司名称 -->
A.dep_code as "depCode",
<!-- 部门编码 -->
A.dep_name as "depName",
<!-- 部门名称 -->
A.proj_code as "projCode",
<!-- 项目编码 -->
A.proj_name as "projName",
<!-- 项目名称 -->
A.task_code as "taskCode",
<!-- 任务编码 -->
A.product_type as "productType",
<!-- 产品类型 -->
A.product_code as "productCode",
<!-- 产品编号 -->
A.product_name as "productName",
<!-- 产品名称 -->
A.plan_start_date as "planStartDate",
<!-- 计划开始日期 -->
A.plan_end_date as "planEndDate",
<!-- 计划结束日期 -->
A.factory_code as "factoryCode",
<!-- 工厂编号 -->
A.factory_name as "factoryName",
<!-- 工厂名称 -->
A.group_code as "groupCode",
<!-- 工作组编号 -->
A.group_name as "groupName",
<!-- 工作组名称 -->
A.complete_date as "completeDate",
<!-- 完工日期 -->
A.quantity as "quantity",
<!-- 数量 -->
A.finish_quantity as "finishQuantity",
<!-- 完工数量 -->
A.unfinish_quantity as "unfinishQuantity",
<!-- 未完工数量 -->
A.single_weight as "singleWeight",
<!-- 单重 -->
A.total_weight as "totalWeight",
<!-- 总重 -->
A.finish_weight as "finishWeight",
<!-- 完工重量 -->
A.unfinish_weight as "unfinishWeight",
<!-- 未完工重量 -->
A.account_code as "accountCode",
<!-- 帐套 -->
A.created_by as "createdBy",
<!-- 创建人 -->
A.created_name as "createdName",
<!-- 创建人名称 -->
A.created_time as "createdTime",
<!-- 创建时间 -->
A.updated_by as "updatedBy",
<!-- 更新人 -->
A.updated_name as "updatedName",
<!-- 修改人名称 -->
A.updated_time as "updatedTime",
<!-- 更新时间 -->
B.LENGTH as "length",
<!-- 长 -->
B.SPEC as "spec"
<!-- 规格 -->
FROM ${hggpSchema}.HGSC007 A LEFT JOIN ${hggpSchema}.HGPZ005 B ON A.product_code = B.INVENT_CODE
WHERE 1=1
<include
refid=
"condition"
/>
<dynamic
prepend=
"ORDER BY"
>
...
...
@@ -274,14 +297,14 @@
$orderBy$
</isNotEmpty>
<isEmpty
property=
"orderBy"
>
id desc, product_type asc, product_name,
process_order desc
A.id desc, A.product_type asc, A.product_name, A.
process_order desc
</isEmpty>
</dynamic>
</select>
<select
id=
"count"
resultClass=
"int"
>
SELECT COUNT(*) FROM ${hggpSchema}.HGSC007 WHERE 1=1
SELECT COUNT(*) FROM ${hggpSchema}.HGSC007
A LEFT JOIN ${hggpSchema}.HGPZ005 B ON A.product_code = B.INVENT_CODE
WHERE 1=1
<include
refid=
"condition"
/>
</select>
...
...
@@ -700,7 +723,25 @@
inner join (
select proj_code, product_code from ${hggpSchema}.HGSC007
where (product_code,process_order) in (select INVENT_CODE,max(process_order) from hggp.hgpz005a group by INVENT_CODE)
<include
refid=
"HGXSDataAuth.authCondition"
/>
<!-- 无权限时使用 -->
<isNotEmpty
prepend=
" AND "
property=
"authDepCode"
>
DEP_CODE = #authDepCode#
</isNotEmpty>
<!-- 仅本人和部门组合 -->
<isEqual
prepend=
" AND "
property=
"authCombination"
compareValue=
"1"
>
(CREATED_BY = #authOnlyPeople# OR DEP_CODE IN
<iterate
close=
")"
open=
"("
conjunction=
","
property=
"authDepCodes"
>
#authDepCodes[]#
</iterate>
)
</isEqual>
<!-- 仅本人或部门 -->
<isNotEqual
prepend=
" AND "
property=
"authCombination"
compareValue=
"1"
>
<isNotEmpty
property=
"authOnlyPeople"
>
CREATED_BY = #authOnlyPeople#
</isNotEmpty>
<isNotEmpty
property=
"authDepCodes"
>
DEP_CODE IN
<iterate
close=
")"
open=
"("
conjunction=
","
property=
"authDepCodes"
>
#authDepCodes[]#
</iterate>
</isNotEmpty>
</isNotEqual>
<isNotEmpty
prepend=
" AND "
property=
"accountCode"
>
account_code = #accountCode#
</isNotEmpty>
...
...
src/main/java/com/baosight/hggp/hg/sc/sql/HGSC008.xml
View file @
52b24166
...
...
@@ -43,173 +43,197 @@
-->
<sqlMap
namespace=
"HGSC008"
>
<sql
id=
"authCondition"
>
<!-- 无权限时使用 -->
<isNotEmpty
prepend=
" AND "
property=
"authDepCode"
>
A.DEP_CODE = #authDepCode#
</isNotEmpty>
<!-- 仅本人和部门组合 -->
<isEqual
prepend=
" AND "
property=
"authCombination"
compareValue=
"1"
>
(A.CREATED_BY = #authOnlyPeople# OR A.DEP_CODE IN
<iterate
close=
")"
open=
"("
conjunction=
","
property=
"authDepCodes"
>
#authDepCodes[]#
</iterate>
)
</isEqual>
<!-- 仅本人或部门 -->
<isNotEqual
prepend=
" AND "
property=
"authCombination"
compareValue=
"1"
>
<isNotEmpty
property=
"authOnlyPeople"
>
A.CREATED_BY = #authOnlyPeople#
</isNotEmpty>
<isNotEmpty
property=
"authDepCodes"
>
A.DEP_CODE IN
<iterate
close=
")"
open=
"("
conjunction=
","
property=
"authDepCodes"
>
#authDepCodes[]#
</iterate>
</isNotEmpty>
</isNotEqual>
</sql>
<sql
id=
"condition"
>
<include
refid=
"
HGXSDataAuth.
authCondition"
/>
<include
refid=
"authCondition"
/>
<isNotEmpty
prepend=
" AND "
property=
"id"
>
id = #id#
A.
id = #id#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"matId"
>
mat_id = #matId#
A.
mat_id = #matId#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"taskId"
>
task_id = #taskId#
A.
task_id = #taskId#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"techFlowId"
>
tech_flow_id = #techFlowId#
A.
tech_flow_id = #techFlowId#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"techFlowName"
>
tech_flow_name = #techFlowName#
A.
tech_flow_name = #techFlowName#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"inventProcessId"
>
invent_process_id = #inventProcessId#
A.
invent_process_id = #inventProcessId#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"processCode"
>
process_code = #processCode#
A.
process_code = #processCode#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"processName"
>
process_name = #processName#
A.
process_name = #processName#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"processOrder"
>
process_order = #processOrder#
A.
process_order = #processOrder#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"companyCode"
>
company_code = #companyCode#
A.
company_code = #companyCode#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"companyName"
>
company_name like ('%$companyName$%')
A.
company_name like ('%$companyName$%')
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"depCode"
>
dep_code = #depCode#
A.
dep_code = #depCode#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"depName"
>
dep_name = #depName#
A.
dep_name = #depName#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"projCode"
>
proj_code = #projCode#
A.
proj_code = #projCode#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"projName"
>
proj_name = #projName#
A.
proj_name = #projName#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"workCode"
>
work_code like ('%$workCode$%')
A.
work_code like ('%$workCode$%')
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"productType"
>
product_type = #productType#
A.
product_type = #productType#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"productCode"
>
product_code = #productCode#
A.
product_code = #productCode#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"productName"
>
product_name = #productName#
A.
product_name = #productName#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"planStartDate"
>
plan_start_date = #planStartDate#
A.
plan_start_date = #planStartDate#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"planEndDate"
>
plan_end_date = #planEndDate#
A.
plan_end_date = #planEndDate#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"factoryCode"
>
factory_code = #factoryCode#
A.
factory_code = #factoryCode#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"factoryName"
>
factory_name = #factoryName#
A.
factory_name = #factoryName#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"groupCode"
>
group_code = #groupCode#
A.
group_code = #groupCode#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"groupName"
>
group_name like ('%$groupName$%')
A.
group_name like ('%$groupName$%')
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"registerDate"
>
register_date = #registerDate#
A.
register_date = #registerDate#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"quantity"
>
quantity = #quantity#
A.
quantity = #quantity#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"singleWeight"
>
single_weight = #singleWeight#
A.
single_weight = #singleWeight#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"totalWeight"
>
total_weight = #totalWeight#
A.
total_weight = #totalWeight#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"accountCode"
>
account_code = #accountCode#
A.
account_code = #accountCode#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"createdBy"
>
created_by = #createdBy#
A.
created_by = #createdBy#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"createdName"
>
created_name = #createdName#
A.
created_name = #createdName#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"createdTime"
>
created_time = #createdTime#
A.
created_time = #createdTime#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"updatedBy"
>
updated_by = #updatedBy#
A.
updated_by = #updatedBy#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"updatedName"
>
updated_name = #updatedName#
A.
updated_name = #updatedName#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"updatedTime"
>
updated_time = #updatedTime#
A.
updated_time = #updatedTime#
</isNotEmpty>
</sql>
<select
id=
"query"
parameterClass=
"java.util.HashMap"
resultClass=
"com.baosight.hggp.hg.sc.domain.HGSC008"
>
SELECT
id as "id",
mat_id as "matId",
<!-- 物料清单ID -->
task_id as "taskId",
<!-- 生产任务ID -->
tech_flow_id as "techFlowId",
<!-- 工艺流程ID -->
tech_flow_name as "techFlowName",
<!-- 工艺流程名称 -->
invent_process_id as "inventProcessId",
<!-- 存货工序ID,对应HGPZ005A.id -->
process_code as "processCode",
<!-- 工序编码 -->
process_name as "processName",
<!-- 工序名称 -->
process_order as "processOrder",
<!-- 加工顺序 -->
company_code as "companyCode",
<!-- 公司编码 -->
company_name as "companyName",
<!-- 公司名称 -->
dep_code as "depCode",
<!-- 部门编码 -->
dep_name as "depName",
<!-- 部门名称 -->
proj_code as "projCode",
<!-- 项目编码 -->
proj_name as "projName",
<!-- 项目名称 -->
work_code as "workCode",
<!-- 报工编码 -->
product_type as "productType",
<!-- 产品类型 -->
product_code as "productCode",
<!-- 产品编号 -->
product_name as "productName",
<!-- 产品名称 -->
plan_start_date as "planStartDate",
<!-- 计划开始日期 -->
plan_end_date as "planEndDate",
<!-- 计划结束日期 -->
factory_code as "factoryCode",
<!-- 工厂编号 -->
factory_name as "factoryName",
<!-- 工厂名称 -->
group_code as "groupCode",
<!-- 工作组编号 -->
group_name as "groupName",
<!-- 工作组名称 -->
register_date as "registerDate",
<!-- 报工日期 -->
quantity as "quantity",
<!-- 数量 -->
single_weight as "singleWeight",
<!-- 单重 -->
total_weight as "totalWeight",
<!-- 总重 -->
account_code as "accountCode",
<!-- 帐套 -->
created_by as "createdBy",
<!-- 创建人 -->
created_name as "createdName",
<!-- 创建人名称 -->
created_time as "createdTime",
<!-- 创建时间 -->
updated_by as "updatedBy",
<!-- 更新人 -->
updated_name as "updatedName",
<!-- 修改人名称 -->
updated_time as "updatedTime"
<!-- 更新时间 -->
FROM ${hggpSchema}.HGSC008 WHERE 1=1
A.id as "id",
A.mat_id as "matId",
<!-- 物料清单ID -->
A.task_id as "taskId",
<!-- 生产任务ID -->
A.tech_flow_id as "techFlowId",
<!-- 工艺流程ID -->
A.tech_flow_name as "techFlowName",
<!-- 工艺流程名称 -->
A.invent_process_id as "inventProcessId",
<!-- 存货工序ID,对应HGPZ005A.id -->
A.process_code as "processCode",
<!-- 工序编码 -->
A.process_name as "processName",
<!-- 工序名称 -->
A.process_order as "processOrder",
<!-- 加工顺序 -->
A.company_code as "companyCode",
<!-- 公司编码 -->
A.company_name as "companyName",
<!-- 公司名称 -->
A.dep_code as "depCode",
<!-- 部门编码 -->
A.dep_name as "depName",
<!-- 部门名称 -->
A.proj_code as "projCode",
<!-- 项目编码 -->
A.proj_name as "projName",
<!-- 项目名称 -->
A.work_code as "workCode",
<!-- 报工编码 -->
A.product_type as "productType",
<!-- 产品类型 -->
A.product_code as "productCode",
<!-- 产品编号 -->
A.product_name as "productName",
<!-- 产品名称 -->
A.plan_start_date as "planStartDate",
<!-- 计划开始日期 -->
A.plan_end_date as "planEndDate",
<!-- 计划结束日期 -->
A.factory_code as "factoryCode",
<!-- 工厂编号 -->
A.factory_name as "factoryName",
<!-- 工厂名称 -->
A.group_code as "groupCode",
<!-- 工作组编号 -->
A.group_name as "groupName",
<!-- 工作组名称 -->
A.register_date as "registerDate",
<!-- 报工日期 -->
A.quantity as "quantity",
<!-- 数量 -->
A.single_weight as "singleWeight",
<!-- 单重 -->
A.total_weight as "totalWeight",
<!-- 总重 -->
A.account_code as "accountCode",
<!-- 帐套 -->
A.created_by as "createdBy",
<!-- 创建人 -->
A.created_name as "createdName",
<!-- 创建人名称 -->
A.created_time as "createdTime",
<!-- 创建时间 -->
A.updated_by as "updatedBy",
<!-- 更新人 -->
A.updated_name as "updatedName",
<!-- 修改人名称 -->
A.updated_time as "updatedTime",
<!-- 更新时间 -->
B.LENGTH as "length",
<!-- 长 -->
B.SPEC as "spec"
<!-- 规格 -->
FROM ${hggpSchema}.HGSC008 A LEFT JOIN ${hggpSchema}.HGPZ005 B ON A.product_code = B.INVENT_CODE
WHERE 1=1
<include
refid=
"condition"
/>
<dynamic
prepend=
"ORDER BY"
>
<isNotEmpty
property=
"orderBy"
>
$orderBy$
</isNotEmpty>
<isEmpty
property=
"orderBy"
>
register_date desc ,
id desc
A.register_date desc ,A.
id desc
</isEmpty>
</dynamic>
</select>
<select
id=
"count"
resultClass=
"int"
>
SELECT COUNT(*) FROM ${hggpSchema}.HGSC008 WHERE 1=1
SELECT COUNT(*) FROM ${hggpSchema}.HGSC008
A LEFT JOIN ${hggpSchema}.HGPZ005 B ON A.product_code = B.INVENT_CODE
WHERE 1=1
<include
refid=
"condition"
/>
</select>
...
...
src/main/java/com/baosight/hggp/hg/sc/tools/HGSCTools.java
View file @
52b24166
...
...
@@ -1419,7 +1419,7 @@ public class HGSCTools {
return
results
;
}
public
static
void
add
(
List
<
Map
>
arrayList
)
{
public
static
void
add
(
List
<
HGSC009A
>
arrayList
)
{
List
<
HGSC009
>
hgsc009List
=
initHgsc009
(
arrayList
);
List
<
HGSC009A
>
hgsc009aList
=
initHgsc009a
(
arrayList
);
for
(
HGSC009
hgsc009:
hgsc009List
)
{
...
...
@@ -1435,9 +1435,12 @@ public class HGSCTools {
hgsc009
.
setPlanMaterialCode
(
SequenceGenerator
.
getNextSequence
(
HGConstant
.
SequenceId
.
PLAN_MATERIAL_CODE
));
DaoUtils
.
insert
(
HGSC009
.
INSERT
,
hgsc009
);
List
<
HGSC009A
>
hgsc009as
=
new
ArrayList
<>();
for
(
HGSC009A
hgsc009a:
hgsc009aList
)
{
HGPZ005
hgpz005
=
HGPZTools
.
HgPz005
.
getByCode
(
hgsc009a
.
getInventCode
());
AssertUtils
.
isEmpty
(
Collections
.
singleton
(
hgpz005
),
"产品编码不存在,添加失败!"
);
if
(
Objects
.
isNull
(
hgpz005
)){
hgpz005
=
HGPZTools
.
HgPz005
.
add
(
hgsc009a
);
}
hgsc009a
.
setCompanyCode
(
hgsc009
.
getCompanyCode
());
hgsc009a
.
setCompanyName
(
hgsc009
.
getCompanyName
());
//hgsc009a.setProjCode(hgsc009.getProjCode());
...
...
@@ -1455,23 +1458,25 @@ public class HGSCTools {
if
(
hgsc009a
.
getSingleWeight
().
compareTo
(
BigDecimal
.
ZERO
)
==
0
){
hgsc009a
.
setSingleWeight
(
HGPZTools
.
HgPz005
.
calcUnitWeight
(
hgpz005
));
}
AssertUtils
.
isTrue
(
hgsc009a
.
getQuantity
().
compareTo
(
BigDecimal
.
ZERO
)
==
0
,
"数量不能为0!"
);
hgsc009a
.
setGrossAmount
(
hgsc009a
.
getQuantity
().
multiply
(
hgsc009a
.
getSingleWeight
()));
DaoUtils
.
insert
(
HGSC009A
.
INSERT
,
hgsc009a
);
hgsc009as
.
add
(
hgsc009a
);
}
DaoUtils
.
insertBatch
(
HGSC009A
.
INSERT
,
hgsc009as
);
}
}
public
static
List
<
HGSC009
>
initHgsc009
(
List
<
Map
>
array
List
)
{
public
static
List
<
HGSC009
>
initHgsc009
(
List
<
HGSC009A
>
hgsc009A
List
)
{
List
<
HGSC009
>
hgsc009List
=
new
ArrayList
<>();
arrayList
.
forEach
(
array
->
{
AssertUtils
.
isEmpty
(
Collections
.
singleton
(
array
.
get
(
"projCode"
)),
"项目编码不能为空!"
);
AssertUtils
.
isEmpty
(
Collections
.
singleton
(
array
.
get
(
"planMaterialName"
)),
"材料计划名称不能为空!"
);
AssertUtils
.
isEmpty
(
Collections
.
singleton
(
array
.
get
(
"planMaterialDate"
)),
"材料计划日期不能为空!"
);
hgsc009AList
.
forEach
(
hgsc009A
->
{
AssertUtils
.
isEmpty
(
Collections
.
singleton
(
hgsc009A
.
getProjCode
(
)),
"项目编码不能为空!"
);
AssertUtils
.
isEmpty
(
Collections
.
singleton
(
hgsc009A
.
getPlanMaterialName
(
)),
"材料计划名称不能为空!"
);
AssertUtils
.
isEmpty
(
Collections
.
singleton
(
hgsc009A
.
getPlanMaterialDate
(
)),
"材料计划日期不能为空!"
);
HGSC009
hgsc009
=
new
HGSC009
();
hgsc009
.
setProjCode
(
array
.
get
(
"projCode"
).
toString
());
hgsc009
.
setProjName
(
array
.
get
(
"projName"
).
toString
());
hgsc009
.
setPlanMaterialName
(
array
.
get
(
"planMaterialName"
).
toString
());
hgsc009
.
setPlanMaterialDate
(
DateUtils
.
formatShort
(
array
.
get
(
"planMaterialDate"
).
toString
()));
hgsc009
.
setProjCode
(
hgsc009A
.
getProjCode
());
hgsc009
.
setProjName
(
hgsc009A
.
getProjName
());
hgsc009
.
setPlanMaterialName
(
hgsc009A
.
getPlanMaterialName
());
hgsc009
.
setPlanMaterialDate
(
DateUtils
.
formatShort
(
hgsc009A
.
getPlanMaterialDate
()));
hgsc009
.
setStatus
(
0
);
Map
hgsc009List1
=
hgsc009List
.
stream
().
filter
(
sc009
->
sc009
.
getProjCode
().
equals
(
hgsc009
.
getProjCode
())).
collect
(
Collectors
.
toMap
(
HGSC009:
:
getProjCode
,
hgsc0091
->
hgsc0091
));
if
(
hgsc009List1
.
isEmpty
())
{
...
...
@@ -1481,29 +1486,17 @@ public class HGSCTools {
return
hgsc009List
;
}
public
static
List
<
HGSC009A
>
initHgsc009a
(
List
<
Map
>
arrayList
)
{
public
static
List
<
HGSC009A
>
initHgsc009a
(
List
<
HGSC009A
>
arrayList
)
{
List
<
HGSC009A
>
hgsc009aList
=
new
ArrayList
<>();
arrayList
.
forEach
(
array
->
{
AssertUtils
.
isEmpty
(
Collections
.
singleton
(
array
.
get
(
"quantity"
)),
"材料计划数量不能为空!"
);
HGSC009A
hgsc009A
=
new
HGSC009A
();
hgsc009A
.
setProjCode
(
array
.
get
(
"projCode"
).
toString
());
hgsc009A
.
setProjName
(
array
.
get
(
"projName"
).
toString
());
hgsc009A
.
setPlanMaterialName
(
array
.
get
(
"planMaterialName"
).
toString
());
hgsc009A
.
setPlanMaterialDate
(
DateUtils
.
formatShort
(
array
.
get
(
"planMaterialDate"
).
toString
()));
hgsc009A
.
setInventCode
(
array
.
get
(
"inventCode"
).
toString
());
hgsc009A
.
setInventName
(
array
.
get
(
"inventName"
).
toString
());
hgsc009A
.
setSpec
(
array
.
get
(
"spec"
).
toString
());
hgsc009A
.
setMaterial
(
array
.
get
(
"material"
).
toString
());
BigDecimal
singleWeight
=
new
BigDecimal
(
array
.
get
(
"singleWeight"
).
toString
());
hgsc009A
.
setSingleWeight
(
singleWeight
);
BigDecimal
quantity
=
new
BigDecimal
(
array
.
get
(
"quantity"
).
toString
());
hgsc009A
.
setQuantity
(
quantity
);
if
(
hgsc009A
.
getSingleWeight
().
compareTo
(
BigDecimal
.
ZERO
)
==
0
||
hgsc009A
.
getQuantity
().
compareTo
(
BigDecimal
.
ZERO
)
==
0
){
AssertUtils
.
isEmpty
(
Collections
.
singleton
(
array
.
getQuantity
()),
"材料计划数量不能为空!"
);
array
.
setPlanMaterialDate
(
DateUtils
.
formatShort
(
array
.
getPlanMaterialDate
()));
if
(
array
.
getSingleWeight
().
compareTo
(
BigDecimal
.
ZERO
)
==
0
||
array
.
getQuantity
().
compareTo
(
BigDecimal
.
ZERO
)
==
0
){
AssertUtils
.
isTrue
(
false
,
"单重和数量不能为空!"
);
}
hgsc009A
.
setGrossAmount
(
hgsc009A
.
getQuantity
().
multiply
(
hgsc009A
.
getSingleWeight
()));
array
.
setGrossAmount
(
array
.
getQuantity
().
multiply
(
array
.
getSingleWeight
()));
hgsc009aList
.
add
(
hgsc009A
);
hgsc009aList
.
add
(
array
);
});
return
hgsc009aList
;
}
...
...
src/main/java/com/baosight/hggp/hg/zl/domain/HGZL004.java
View file @
52b24166
...
...
@@ -53,6 +53,8 @@ public class HGZL004 extends DaoEPBase {
public
static
final
String
FIELD_updated_by
=
"updatedBy"
;
/* 更新人*/
public
static
final
String
FIELD_updated_name
=
"updatedName"
;
/* 修改人名称*/
public
static
final
String
FIELD_updated_time
=
"updatedTime"
;
/* 更新时间*/
public
static
final
String
FIELD_process_code
=
"processCode"
;
/* 工序编码*/
public
static
final
String
FIELD_process_name
=
"processName"
;
/* 工序名称*/
public
static
final
String
COL_id
=
"id"
;
public
static
final
String
COL_check_id
=
"check_id"
;
/* 质检单ID*/
...
...
@@ -130,6 +132,8 @@ public class HGZL004 extends DaoEPBase {
private
String
updatedBy
=
" "
;
/* 更新人*/
private
String
updatedName
=
" "
;
/* 修改人名称*/
private
String
updatedTime
=
" "
;
/* 更新时间*/
private
String
processCode
=
" "
;
/* 工序编码*/
private
String
processName
=
" "
;
/* 工序名称*/
/**
* initialize the metadata.
...
...
@@ -266,7 +270,13 @@ public class HGZL004 extends DaoEPBase {
eiColumn
.
setDescName
(
"更新时间"
);
eiMetadata
.
addMeta
(
eiColumn
);
eiColumn
=
new
EiColumn
(
FIELD_process_code
);
eiColumn
.
setDescName
(
"工序编码"
);
eiMetadata
.
addMeta
(
eiColumn
);
eiColumn
=
new
EiColumn
(
FIELD_process_name
);
eiColumn
.
setDescName
(
"工序名称"
);
eiMetadata
.
addMeta
(
eiColumn
);
}
/**
...
...
@@ -788,6 +798,23 @@ public class HGZL004 extends DaoEPBase {
public
void
setUpdatedTime
(
String
updatedTime
)
{
this
.
updatedTime
=
updatedTime
;
}
public
String
getProcessCode
()
{
return
processCode
;
}
public
void
setProcessCode
(
String
processCode
)
{
this
.
processCode
=
processCode
;
}
public
String
getProcessName
()
{
return
processName
;
}
public
void
setProcessName
(
String
processName
)
{
this
.
processName
=
processName
;
}
/**
* get the value from Map.
*
...
...
@@ -828,6 +855,8 @@ public class HGZL004 extends DaoEPBase {
setUpdatedBy
(
StringUtils
.
defaultIfEmpty
(
StringUtils
.
toString
(
map
.
get
(
FIELD_updated_by
)),
updatedBy
));
setUpdatedName
(
StringUtils
.
defaultIfEmpty
(
StringUtils
.
toString
(
map
.
get
(
FIELD_updated_name
)),
updatedName
));
setUpdatedTime
(
StringUtils
.
defaultIfEmpty
(
StringUtils
.
toString
(
map
.
get
(
FIELD_updated_time
)),
updatedTime
));
setProcessCode
(
StringUtils
.
defaultIfEmpty
(
StringUtils
.
toString
(
map
.
get
(
FIELD_process_code
)),
processCode
));
setProcessName
(
StringUtils
.
defaultIfEmpty
(
StringUtils
.
toString
(
map
.
get
(
FIELD_process_name
)),
processName
));
}
/**
...
...
@@ -869,6 +898,8 @@ public class HGZL004 extends DaoEPBase {
map
.
put
(
FIELD_updated_by
,
StringUtils
.
toString
(
updatedBy
,
eiMetadata
.
getMeta
(
FIELD_updated_by
)));
map
.
put
(
FIELD_updated_name
,
StringUtils
.
toString
(
updatedName
,
eiMetadata
.
getMeta
(
FIELD_updated_name
)));
map
.
put
(
FIELD_updated_time
,
StringUtils
.
toString
(
updatedTime
,
eiMetadata
.
getMeta
(
FIELD_updated_time
)));
map
.
put
(
FIELD_process_code
,
StringUtils
.
toString
(
processCode
,
eiMetadata
.
getMeta
(
FIELD_process_code
)));
map
.
put
(
FIELD_process_name
,
StringUtils
.
toString
(
processName
,
eiMetadata
.
getMeta
(
FIELD_process_name
)));
return
map
;
}
...
...
src/main/java/com/baosight/hggp/hg/zl/sql/HGZL004.xml
View file @
52b24166
...
...
@@ -144,6 +144,12 @@
<isNotEmpty
prepend=
" AND "
property=
"ids"
>
id IN
<iterate
close=
")"
open=
"("
conjunction=
","
property=
"ids"
>
#ids[]#
</iterate>
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"processCode"
>
process_code = #processCode#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"processName"
>
process_name = #processName#
</isNotEmpty>
</sql>
<select
id=
"query"
parameterClass=
"java.util.HashMap"
...
...
@@ -180,7 +186,9 @@
created_time as "createdTime",
<!-- 创建时间 -->
updated_by as "updatedBy",
<!-- 更新人 -->
updated_name as "updatedName",
<!-- 修改人名称 -->
updated_time as "updatedTime"
<!-- 更新时间 -->
updated_time as "updatedTime",
<!-- 更新时间 -->
process_code as "processCode",
<!-- 工序编码 -->
process_name as "processName"
<!-- 工序名称 -->
FROM ${hggpSchema}.HGZL004 WHERE 1=1
<include
refid=
"condition"
/>
<dynamic
prepend=
"ORDER BY"
>
...
...
@@ -330,9 +338,11 @@
created_time,
<!-- 创建时间 -->
updated_by,
<!-- 更新人 -->
updated_name,
<!-- 修改人名称 -->
updated_time
<!-- 更新时间 -->
updated_time,
<!-- 更新时间 -->
process_code,
<!-- 工序编码 -->
process_name
<!-- 工序名称 -->
)
VALUES (#id#, #checkId#, #companyCode#, #companyName#, #depCode#, #depName#, #projCode#, #projName#, #handleStatus#, #qualityProblem#, #processSugges#, #rectificatSugges#, #checkType#, #checkCode#, #productType#, #productCode#, #productName#, #factoryCode#, #factoryName#, #groupCode#, #groupName#, #workBy#, #workName#, #checkBy#, #checkName#, #accountCode#, #createdBy#, #createdName#, #createdTime#, #updatedBy#, #updatedName#, #updatedTime#)
VALUES (#id#, #checkId#, #companyCode#, #companyName#, #depCode#, #depName#, #projCode#, #projName#, #handleStatus#, #qualityProblem#, #processSugges#, #rectificatSugges#, #checkType#, #checkCode#, #productType#, #productCode#, #productName#, #factoryCode#, #factoryName#, #groupCode#, #groupName#, #workBy#, #workName#, #checkBy#, #checkName#, #accountCode#, #createdBy#, #createdName#, #createdTime#, #updatedBy#, #updatedName#, #updatedTime#
, #processCode#, #processName#
)
</insert>
<delete
id=
"delete"
>
...
...
@@ -373,7 +383,9 @@
created_time = #createdTime#,
<!-- 创建时间 -->
updated_by = #updatedBy#,
<!-- 更新人 -->
updated_name = #updatedName#,
<!-- 修改人名称 -->
updated_time = #updatedTime#
<!-- 更新时间 -->
updated_time = #updatedTime#,
<!-- 更新时间 -->
process_code = #processCode#,
<!-- 工序编码 -->
process_name = #processName#
<!-- 工序名称 -->
WHERE
id = #id#
</update>
...
...
src/main/java/com/baosight/hggp/util/ExcelUtils.java
View file @
52b24166
...
...
@@ -248,7 +248,7 @@ public class ExcelUtils {
inInfo
.
setMsg
(
"导入成功"
+
arrayList
.
size
()
+
"条"
);
break
;
case
"HGSC009"
:
HGSCTools
.
THGSC009
.
add
(
arrayList
);
//
HGSCTools.THGSC009.add(arrayList);
inInfo
.
setStatus
(
EiConstant
.
STATUS_DEFAULT
);
inInfo
.
setMsg
(
"导入成功"
+
arrayList
.
size
()
+
"条"
);
break
;
...
...
src/main/resources/resources/ibatis/sqlmap-config.xml
View file @
52b24166
...
...
@@ -56,8 +56,8 @@
<sqlMap
resource=
"com/baosight/hggp/hg/sc/sql/HGSC005A.xml"
/>
<sqlMap
resource=
"com/baosight/hggp/hg/sc/sql/HGSC006.xml"
/>
<sqlMap
resource=
"com/baosight/hggp/hg/sc/sql/HGSC006A.xml"
/>
<sqlMap
resource=
"com/baosight/hggp/hg/sc/sql/HGSC007.xml"
/>
<sqlMap
resource=
"com/baosight/hggp/hg/sc/sql/HGSC008.xml"
/>
<
!--<
sqlMap resource="com/baosight/hggp/hg/sc/sql/HGSC007.xml"/>
<sqlMap resource="com/baosight/hggp/hg/sc/sql/HGSC008.xml"/>
-->
<sqlMap
resource=
"com/baosight/hggp/hg/sc/sql/HGSC009.xml"
/>
<!-- 財務 -->
...
...
src/main/webapp/HG/PZ/HGPZ005.js
View file @
52b24166
...
...
@@ -71,6 +71,15 @@ $(function() {
template
:
function
(
options
)
{
return
showUserName
(
options
.
updatedBy
,
options
.
updatedName
);
}
},
{
field
:
"isFlowId"
,
template
:
function
(
options
)
{
let
template
=
'未分配'
;
if
(
options
.
flowId
>
0
){
template
=
'已分配'
;
}
return
template
;
}
}],
loadComplete
:
function
(
grid
)
{
// 此 grid 对象
...
...
@@ -272,25 +281,25 @@ function showFlowDetail(id,inventCode,flowId) {
});
}
function
showFlowDetail
()
{
let
rows
=
resultGrid
.
getCheckedRows
();
let
selectIds
=
[];
//selectIds.push(rows[i]['id']);
if
(
rows
.
length
<
1
)
{
message
(
"请选择数据"
)
return
;
}
$
.
each
(
rows
,
function
(
index
,
item
)
{
selectIds
.
push
(
item
.
get
(
"id"
));
});
JSColorbox
.
open
({
href
:
"HGPZ005B?methodName=initLoad&inqu_status-0-parentIds="
+
selectIds
,
title
:
"<div style='text-align: center;'>工艺流程</div>"
,
width
:
"75%"
,
height
:
"80%"
,
callbackName
:
cllback2
});
}
//
function showFlowDetail() {
//
let rows = resultGrid.getCheckedRows();
//
let selectIds = [];
//
//selectIds.push(rows[i]['id']);
//
if (rows.length < 1) {
//
message("请选择数据")
//
return;
//
}
//
$.each(rows, function(index, item) {
//
selectIds.push(item.get("id"));
//
});
//
JSColorbox.open({
//
href: "HGPZ005B?methodName=initLoad&inqu_status-0-parentIds=" + selectIds,
//
title: "<div style='text-align: center;'>工艺流程</div>",
//
width: "75%",
//
height: "80%",
//
callbackName: cllback2
//
});
//
}
/**
* 回调
...
...
@@ -340,4 +349,4 @@ function cllback2(result) {
},
{
async
:
false
});
}
\ No newline at end of file
}
src/main/webapp/HG/PZ/HGPZ005.jsp
View file @
52b24166
...
...
@@ -21,6 +21,13 @@
<EF:EFCodeOption
codeName=
"hpjx.hpjx.status"
/>
</EF:EFSelect>
</div>
<div
class=
"row"
>
<EF:EFInput
cname=
"规格"
ename=
"spec"
blockId=
"inqu_status"
row=
"0"
colWidth=
"3"
/>
<EF:EFSelect
blockId=
"inqu_status"
row=
"0"
ename=
"isFlowId"
cname=
"是否分配"
colWidth=
"3"
filter=
"contains"
>
<EF:EFOption
label=
"全部"
value=
""
/>
<EF:EFCodeOption
codeName=
"hggp.isFlowId"
/>
</EF:EFSelect>
</div>
</EF:EFRegion>
<EF:EFRegion
id=
"result"
title=
"记录集"
>
...
...
@@ -45,6 +52,7 @@
<EF:EFComboColumn
ename=
"status"
cname=
"状态"
align=
"center"
width=
"80"
required=
"true"
defaultValue=
"1"
>
<EF:EFCodeOption
codeName=
"hpjx.hpjx.status"
/>
</EF:EFComboColumn>
<EF:EFColumn
ename=
"isFlowId"
cname=
"是否分配"
width=
"80"
align=
"center"
/>
<EF:EFColumn
cname=
"创建人"
ename=
"createdName"
enable=
"false"
align=
"center"
/>
<EF:EFColumn
cname=
"创建时间"
ename=
"createdTime"
enable=
"false"
width=
"140"
align=
"center"
editType=
"datetime"
parseFormats=
"['yyyyMMddHHmmss','yyyy-MM-dd HH:mm:ss']"
/>
...
...
src/main/webapp/HG/SC/HGSC005A.js
View file @
52b24166
$
(
function
()
{
$
(
".row"
).
children
().
attr
(
"class"
,
"col-md-3"
);
$
(
"#QUERY"
).
on
(
"click"
,
function
()
{
resultGrid
.
dataSource
.
page
(
1
);
});
IPLATUI
.
EFGrid
.
result
=
{
pageable
:
{
pageSize
:
20
,
...
...
src/main/webapp/HG/SC/HGSC005A.jsp
View file @
52b24166
...
...
@@ -19,10 +19,15 @@
<EF:EFSelect
cname=
"工序"
ename=
"inqu_status-0-processName"
colWidth=
"3"
filter=
"contains"
>
<EF:EFOptions
blockId=
"plan_process_block_id"
valueField=
"valueField"
textField=
"textField"
/>
</EF:EFSelect>
<EF:EFDateSpan
startCname=
"计划开工日期"
endCname=
"计划完工日期"
blockId=
"inqu_status"
startName=
"planStartDate"
endName=
"planEndDate"
row=
"0"
role=
"date"
format=
"yyyy-MM-dd"
satrtRatio=
"4:8"
endRatio=
"4:8"
>
</EF:EFDateSpan>
<EF:EFDatePicker
cname=
"交货日期"
ename=
"inqu_status-0-finishDate"
colWidth=
"3"
format=
"yyyy-MM-dd"
readonly=
"false"
/>
<EF:EFDatePicker
cname=
"计划完工日期"
ename=
"inqu_status-0-planEndDate"
colWidth=
"3"
format=
"yyyy-MM-dd"
readonly=
"false"
/>
<
%
--
<
EF:EFDatePicker
cname=
"计划完工日期"
ename=
"inqu_status-0-planEndDate"
colWidth=
"3"
format=
"yyyy-MM-dd"
readonly=
"false"
/>
--%>
</div>
</EF:EFRegion>
<EF:EFRegion
id=
"result"
title=
"记录集"
>
...
...
src/main/webapp/HG/SC/HGSC006A.js
View file @
52b24166
$
(
function
()
{
$
(
".row"
).
children
().
attr
(
"class"
,
"col-md-3"
);
$
(
"#QUERY"
).
on
(
"click"
,
function
()
{
resultGrid
.
dataSource
.
page
(
1
);
});
...
...
src/main/webapp/HG/SC/HGSC006A.jsp
View file @
52b24166
...
...
@@ -17,11 +17,19 @@
<EF:EFInput
ename=
"inqu_status-0-productCode"
cname=
"产品编码"
placeholder=
"模糊查询"
colWidth=
"3"
/>
<EF:EFInput
ename=
"inqu_status-0-productName"
cname=
"产品名称"
placeholder=
"模糊查询"
colWidth=
"3"
/>
<EF:EFInput
ename=
"inqu_status-0-projName"
cname=
"项目名称"
placeholder=
"模糊查询"
colWidth=
"3"
/>
<EF:EFSelect
cname=
"工序"
ename=
"inqu_status-0-processName"
colWidth=
"3"
filter=
"contains"
>
<EF:EFOption
label=
"全部"
value=
""
/>
<EF:EFOptions
blockId=
"order_code_block_id"
valueField=
"valueField"
textField=
"textField"
/>
</EF:EFSelect>
<EF:EFDateSpan
startCname=
"计划开工日期"
endCname=
"计划完工日期"
blockId=
"inqu_status"
startName=
"planStartDate"
endName=
"planEndDate"
row=
"0"
role=
"date"
format=
"yyyy-MM-dd"
satrtRatio=
"4:8"
endRatio=
"4:8"
>
</EF:EFDateSpan>
<
%
--
<
EF:EFDatePicker
cname=
"生产订单日期"
ename=
"inqu_status-0-createdTime"
colWidth=
"3"
--
%
>
<
%
--
format=
"yyyy-MM-dd"
readonly=
"false"
/>
--%>
<EF:EFDatePicker
cname=
"计划开工日期"
ename=
"inqu_status-0-planStartDate"
colWidth=
"3"
<
%
--
<
EF:EFDatePicker
cname=
"计划开工日期"
ename=
"inqu_status-0-planStartDate"
colWidth=
"3"
format=
"yyyy-MM-dd"
readonly=
"false"
/>
--%>
</div>
</EF:EFRegion>
<EF:EFRegion
id=
"result"
title=
"记录集"
>
...
...
src/main/webapp/HG/SC/HGSC007.js
View file @
52b24166
...
...
@@ -21,6 +21,16 @@ $(function () {
+
'onclick="showUploadFile('
+
item
.
matId
+
')" >附件清单</a>'
;
return
template
;
}
},
{
field
:
"spec"
,
template
:
function
(
options
)
{
return
$
.
trim
(
options
.
spec
)
==
""
?
"无规格"
:
options
.
spec
;
}
},
{
field
:
"length"
,
template
:
function
(
options
)
{
return
options
.
length
==
0
?
"-"
:
options
.
length
;
}
}
],
loadComplete
:
function
(
grid
)
{
...
...
src/main/webapp/HG/SC/HGSC007.jsp
View file @
52b24166
...
...
@@ -47,6 +47,8 @@
<EF:EFColumn ename="productName" cname="产品名称" width="100" enable="false" readonly="true" align="center"/>
<EF:EFColumn ename="processName" cname="工序" width="100" enable="false" readonly="true" align="center"/>
<EF:EFColumn ename="groupName" cname="生产班组" width="100" enable="false" readonly="true" align="center"/>
<EF:EFColumn ename="spec" cname="规格" width="100" align="right" format="{0:N2}" maxLength="10" enable="false"/>
<EF:EFColumn ename="length" cname="长(MM)" width="100" align="right" format="{0:N2}" maxLength="10" enable="false"/>
<EF:EFColumn ename="singleWeight" cname="单重(KG)" width="100" enable="false" readonly="true" align="center"/>
<EF:EFColumn ename="totalWeight" cname="任务总重(KG)" width="100" enable="false" readonly="true" align="center"/>
<EF:EFColumn ename="finishWeight" cname="完工总重(KG)" width="100" enable="false" readonly="true" align="center"/>
...
...
src/main/webapp/HG/SC/HGSC008.js
View file @
52b24166
...
...
@@ -18,6 +18,16 @@ $(function () {
+
'onclick="showUploadFile('
+
item
.
id
+
')" >附件清单</a>'
;
return
template
;
}
},
{
field
:
"spec"
,
template
:
function
(
options
)
{
return
$
.
trim
(
options
.
spec
)
==
""
?
"无规格"
:
options
.
spec
;
}
},
{
field
:
"length"
,
template
:
function
(
options
)
{
return
options
.
length
==
0
?
"-"
:
options
.
length
;
}
}],
loadComplete
:
function
(
grid
)
{
},
...
...
src/main/webapp/HG/SC/HGSC008.jsp
View file @
52b24166
...
...
@@ -37,6 +37,8 @@
<EF:EFColumn ename="productName" cname="产品名称" width="100" enable="false" readonly="true" align="center"/>
<EF:EFColumn ename="processName" cname="工序" width="100" enable="false" readonly="true" align="center"/>
<EF:EFColumn ename="groupName" cname="生产组" width="100" enable="false" readonly="true" align="center"/>
<EF:EFColumn ename="spec" cname="规格" width="100" align="right" format="{0:N2}" maxLength="10" enable="false"/>
<EF:EFColumn ename="length" cname="长(MM)" width="100" align="right" format="{0:N2}" maxLength="10" enable="false"/>
<EF:EFColumn ename="quantity" cname="数量" width="100" enable="false" readonly="true" align="center"/>
<EF:EFColumn ename="singleWeight" cname="单重(KG)" width="100" enable="false" readonly="true" align="center"/>
<EF:EFColumn ename="totalWeight" cname="任务总重(KG)" width="100" enable="false" readonly="true" align="center"/>
...
...
src/main/webapp/HG/SC/HGSC009.js
View file @
52b24166
...
...
@@ -190,7 +190,7 @@ $(function () {
});
});
grush
.
openImportBox
();
//
grush.openImportBox();
IPLATUI
.
EFUpload
=
{
fileUpload
:
{
...
...
src/main/webapp/HG/SC/HGSC097.js
View file @
52b24166
...
...
@@ -37,14 +37,8 @@ let upload = function () {
formData
.
append
(
"parentProdName"
,
parentPrdtName
);
formData
.
append
(
"materialId"
,
materialId
);
formData
.
append
(
"lv"
,
lv
);
}
if
(
id
===
'route_002'
){
}
else
{
formData
.
append
(
"id"
,
id
);
formData
.
append
(
"startRow"
,
"1"
);
// 第几行开始读取
formData
.
append
(
"productionOrderNo"
,
productionOrderNo
);
formData
.
append
(
"projCode"
,
projCode
);
formData
.
append
(
"projName"
,
projName
);
formData
.
append
(
"deliveryDate"
,
deliveryDate
);
}
formData
.
append
(
"file"
,
$
(
"#inqu_status-0-file"
)[
0
].
files
[
0
]);
$
.
ajax
({
...
...
src/main/webapp/HG/YX/HGYX001.jsp
View file @
52b24166
...
...
@@ -12,7 +12,7 @@
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<EF:EFPage title="
销售发货
">
<EF:EFPage title="
发货单
">
<EF:EFRegion id="inqu" title="查询条件">
<div class="row">
<EF:EFSelect blockId="inqu_status" row="0" ename="companyCode" cname="公司名称" colWidth="3" filter="contains">
...
...
src/main/webapp/HG/YX/HGYX001A.jsp
View file @
52b24166
...
...
@@ -12,7 +12,7 @@
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<EF:EFPage title="
销售发货
">
<EF:EFPage title="
发货单
">
<EF:EFRegion id="inqu" title="发货信息">
<div class="row">
<EF:EFInput blockId="inqu_status" row="0" ename="id" cname="ID" type="hidden" colWidth="3"/>
...
...
src/main/webapp/HG/YX/HGYX001B.jsp
View file @
52b24166
...
...
@@ -12,7 +12,7 @@
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<EF:EFPage title="
销售发货
">
<EF:EFPage title="
发货单
">
<EF:EFRegion id="inqu" title="发货信息">
<div class="row">
<EF:EFInput blockId="inqu_status" row="0" ename="id" cname="ID" type="hidden" colWidth="3"/>
...
...
src/main/webapp/HG/ZL/HGZL004.js
View file @
52b24166
...
...
@@ -122,6 +122,11 @@ function complete() {
flag
=
false
;
return
;
}
if
(
item
.
handleStatus
===
'2'
){
message2
(
"复检合格"
,
"【非处理中的数据】,无法进行复检操作!"
);
flag
=
false
;
return
;
}
});
if
(
flag
)
{
IPLAT
.
confirm
({
...
...
@@ -148,4 +153,4 @@ function complete() {
}
});
}
}
\ No newline at end of file
}
src/main/webapp/HG/ZL/HGZL004.jsp
View file @
52b24166
...
...
@@ -36,6 +36,7 @@
<EF:EFColumn
ename=
"groupName"
cname=
"责任部门"
width=
"100"
enable=
"false"
readonly=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"workName"
cname=
"姓名"
width=
"90"
enable=
"false"
readonly=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"productName"
cname=
"产品名称"
width=
"90"
enable=
"false"
readonly=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"processName"
cname=
"工序"
width=
"100"
enable=
"false"
readonly=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"qualityProblem"
cname=
"质量问题描述"
width=
"130"
align=
"center"
/>
<EF:EFColumn
ename=
"problemPic"
cname=
"问题照片"
width=
"90"
enable=
"false"
align=
"center"
/>
<EF:EFColumn
ename=
"processPic"
cname=
"处理照片"
width=
"90"
enable=
"false"
align=
"center"
/>
...
...
src/main/webapp/common/template/SC/HGSC009A_材料计划.xls
View file @
52b24166
No preview for this file type
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