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
e25e5b1d
Commit
e25e5b1d
authored
Jul 05, 2024
by
江和松
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
库存盘点单增加提交状态操作。
parent
a95def62
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
174 additions
and
408 deletions
+174
-408
HGKC005.java
src/main/java/com/baosight/hggp/hg/kc/domain/HGKC005.java
+17
-0
ServiceHGKC005.java
.../java/com/baosight/hggp/hg/kc/service/ServiceHGKC005.java
+60
-1
ServiceHGKC005A.java
...java/com/baosight/hggp/hg/kc/service/ServiceHGKC005A.java
+1
-0
HGKC005.xml
src/main/java/com/baosight/hggp/hg/kc/sql/HGKC005.xml
+22
-140
HGKC007.xml
src/main/java/com/baosight/hggp/hg/kc/sql/HGKC007.xml
+1
-164
HGKCTools.java
src/main/java/com/baosight/hggp/hg/kc/tools/HGKCTools.java
+16
-0
HGKC005.js
src/main/webapp/HG/KC/HGKC005.js
+53
-103
HGKC005.jsp
src/main/webapp/HG/KC/HGKC005.jsp
+4
-0
No files found.
src/main/java/com/baosight/hggp/hg/kc/domain/HGKC005.java
View file @
e25e5b1d
...
@@ -54,6 +54,7 @@ public class HGKC005 extends DaoEPBase {
...
@@ -54,6 +54,7 @@ public class HGKC005 extends DaoEPBase {
public
static
final
String
FIELD_UPDATED_NAME
=
"updatedName"
;
/* 更新人名称*/
public
static
final
String
FIELD_UPDATED_NAME
=
"updatedName"
;
/* 更新人名称*/
public
static
final
String
FIELD_UPDATED_TIME
=
"updatedTime"
;
/* 更新时间*/
public
static
final
String
FIELD_UPDATED_TIME
=
"updatedTime"
;
/* 更新时间*/
public
static
final
String
FIELD_DELETE_FLAG
=
"deleteFlag"
;
/* 是否删除0.否1.是*/
public
static
final
String
FIELD_DELETE_FLAG
=
"deleteFlag"
;
/* 是否删除0.否1.是*/
public
static
final
String
FIELD_SUBMIT_STATUS
=
"submitStatus"
;
/* 提交状态*/
public
static
final
String
FIELD_IS_AMOUNT
=
"isAmount"
;
public
static
final
String
FIELD_IS_AMOUNT
=
"isAmount"
;
public
static
final
String
COL_ID
=
"ID"
;
public
static
final
String
COL_ID
=
"ID"
;
...
@@ -94,6 +95,7 @@ public class HGKC005 extends DaoEPBase {
...
@@ -94,6 +95,7 @@ public class HGKC005 extends DaoEPBase {
public
static
final
String
INSERT
=
"HGKC005.insert"
;
public
static
final
String
INSERT
=
"HGKC005.insert"
;
public
static
final
String
UPDATE
=
"HGKC005.update"
;
public
static
final
String
UPDATE
=
"HGKC005.update"
;
public
static
final
String
DELETE
=
"HGKC005.delete"
;
public
static
final
String
DELETE
=
"HGKC005.delete"
;
public
static
final
String
UPDATE_SUBMIT_STATUS
=
"HGKC005.updateSubmitStatus"
;
private
Long
id
=
new
Long
(
0
);
private
Long
id
=
new
Long
(
0
);
private
String
accountCode
=
" "
;
/* 企业编码*/
private
String
accountCode
=
" "
;
/* 企业编码*/
...
@@ -127,6 +129,7 @@ public class HGKC005 extends DaoEPBase {
...
@@ -127,6 +129,7 @@ public class HGKC005 extends DaoEPBase {
private
String
updatedName
=
" "
;
/* 更新人名称*/
private
String
updatedName
=
" "
;
/* 更新人名称*/
private
String
updatedTime
=
" "
;
/* 更新时间*/
private
String
updatedTime
=
" "
;
/* 更新时间*/
private
Integer
deleteFlag
=
0
;
/* 是否删除0.否1.是*/
private
Integer
deleteFlag
=
0
;
/* 是否删除0.否1.是*/
private
Integer
submitStatus
;
/* 提交状态*/
/**
/**
* initialize the metadata.
* initialize the metadata.
...
@@ -287,6 +290,9 @@ public class HGKC005 extends DaoEPBase {
...
@@ -287,6 +290,9 @@ public class HGKC005 extends DaoEPBase {
eiColumn
.
setDescName
(
"是否删除0.否1.是"
);
eiColumn
.
setDescName
(
"是否删除0.否1.是"
);
eiMetadata
.
addMeta
(
eiColumn
);
eiMetadata
.
addMeta
(
eiColumn
);
eiColumn
=
new
EiColumn
(
FIELD_SUBMIT_STATUS
);
eiColumn
.
setDescName
(
"提交状态"
);
eiMetadata
.
addMeta
(
eiColumn
);
}
}
...
@@ -809,6 +815,15 @@ public class HGKC005 extends DaoEPBase {
...
@@ -809,6 +815,15 @@ public class HGKC005 extends DaoEPBase {
public
void
setDeleteFlag
(
Integer
deleteFlag
)
{
public
void
setDeleteFlag
(
Integer
deleteFlag
)
{
this
.
deleteFlag
=
deleteFlag
;
this
.
deleteFlag
=
deleteFlag
;
}
}
public
Integer
getSubmitStatus
()
{
return
submitStatus
;
}
public
void
setSubmitStatus
(
Integer
submitStatus
)
{
this
.
submitStatus
=
submitStatus
;
}
/**
/**
* get the value from Map.
* get the value from Map.
*
*
...
@@ -849,6 +864,7 @@ public class HGKC005 extends DaoEPBase {
...
@@ -849,6 +864,7 @@ public class HGKC005 extends DaoEPBase {
setUpdatedName
(
StringUtils
.
defaultIfEmpty
(
StringUtils
.
toString
(
map
.
get
(
FIELD_UPDATED_NAME
)),
updatedName
));
setUpdatedName
(
StringUtils
.
defaultIfEmpty
(
StringUtils
.
toString
(
map
.
get
(
FIELD_UPDATED_NAME
)),
updatedName
));
setUpdatedTime
(
StringUtils
.
defaultIfEmpty
(
StringUtils
.
toString
(
map
.
get
(
FIELD_UPDATED_TIME
)),
updatedTime
));
setUpdatedTime
(
StringUtils
.
defaultIfEmpty
(
StringUtils
.
toString
(
map
.
get
(
FIELD_UPDATED_TIME
)),
updatedTime
));
setDeleteFlag
(
NumberUtils
.
toInteger
(
StringUtils
.
toString
(
map
.
get
(
FIELD_DELETE_FLAG
)),
deleteFlag
));
setDeleteFlag
(
NumberUtils
.
toInteger
(
StringUtils
.
toString
(
map
.
get
(
FIELD_DELETE_FLAG
)),
deleteFlag
));
setSubmitStatus
(
NumberUtils
.
toInteger
(
StringUtils
.
toString
(
map
.
get
(
FIELD_SUBMIT_STATUS
)),
submitStatus
));
}
}
/**
/**
...
@@ -890,6 +906,7 @@ public class HGKC005 extends DaoEPBase {
...
@@ -890,6 +906,7 @@ public class HGKC005 extends DaoEPBase {
map
.
put
(
FIELD_UPDATED_NAME
,
StringUtils
.
toString
(
updatedName
,
eiMetadata
.
getMeta
(
FIELD_UPDATED_NAME
)));
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_UPDATED_TIME
,
StringUtils
.
toString
(
updatedTime
,
eiMetadata
.
getMeta
(
FIELD_UPDATED_TIME
)));
map
.
put
(
FIELD_DELETE_FLAG
,
StringUtils
.
toString
(
deleteFlag
,
eiMetadata
.
getMeta
(
FIELD_DELETE_FLAG
)));
map
.
put
(
FIELD_DELETE_FLAG
,
StringUtils
.
toString
(
deleteFlag
,
eiMetadata
.
getMeta
(
FIELD_DELETE_FLAG
)));
map
.
put
(
FIELD_SUBMIT_STATUS
,
StringUtils
.
toString
(
submitStatus
,
eiMetadata
.
getMeta
(
FIELD_SUBMIT_STATUS
)));
return
map
;
return
map
;
}
}
...
...
src/main/java/com/baosight/hggp/hg/kc/service/ServiceHGKC005.java
View file @
e25e5b1d
...
@@ -9,15 +9,21 @@ import com.baosight.hggp.hg.constant.HGConstant;
...
@@ -9,15 +9,21 @@ import com.baosight.hggp.hg.constant.HGConstant;
import
com.baosight.hggp.hg.constant.HGSqlConstant
;
import
com.baosight.hggp.hg.constant.HGSqlConstant
;
import
com.baosight.hggp.hg.cw.tools.HGCWTools
;
import
com.baosight.hggp.hg.cw.tools.HGCWTools
;
import
com.baosight.hggp.hg.cw.vo.UserVO
;
import
com.baosight.hggp.hg.cw.vo.UserVO
;
import
com.baosight.hggp.hg.kc.domain.HGKC003
;
import
com.baosight.hggp.hg.kc.domain.HGKC005
;
import
com.baosight.hggp.hg.kc.domain.HGKC005
;
import
com.baosight.hggp.hg.kc.domain.HGKC007
;
import
com.baosight.hggp.hg.kc.tools.HGKCTools
;
import
com.baosight.hggp.hg.kc.tools.HGKCTools
;
import
com.baosight.hggp.hg.kc.utils.HGKCUtils
;
import
com.baosight.hggp.hg.pz.tools.HGPZTools
;
import
com.baosight.hggp.hg.pz.tools.HGPZTools
;
import
com.baosight.hggp.hg.sc.tools.HGSCTools
;
import
com.baosight.hggp.hg.yx.domain.HGYX001
;
import
com.baosight.hggp.hg.yx.domain.HGYX001
;
import
com.baosight.hggp.util.*
;
import
com.baosight.hggp.util.*
;
import
com.baosight.hggp.util.contants.ACConstants
;
import
com.baosight.hggp.util.contants.ACConstants
;
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
;
import
com.baosight.iplat4j.core.exception.PlatException
;
import
com.baosight.iplat4j.core.exception.PlatException
;
import
com.baosight.iplat4j.core.resource.I18nMessages
;
import
com.baosight.iplat4j.core.service.impl.ServiceEPBase
;
import
com.baosight.iplat4j.core.service.impl.ServiceEPBase
;
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
;
...
@@ -126,7 +132,9 @@ public class ServiceHGKC005 extends ServiceEPBase {
...
@@ -126,7 +132,9 @@ public class ServiceHGKC005 extends ServiceEPBase {
if
(
fKc005
.
getId
()
==
null
||
fKc005
.
getId
()
==
0
)
{
if
(
fKc005
.
getId
()
==
null
||
fKc005
.
getId
()
==
0
)
{
this
.
addData
(
fKc005
);
this
.
addData
(
fKc005
);
}
else
{
}
else
{
// TODO 盘点不支持修改
// 设置基础信息
this
.
setBaseInfo
(
fKc005
);
DaoUtils
.
update
(
HGKC005
.
UPDATE
,
fKc005
);
}
}
}
}
}
}
...
@@ -139,6 +147,7 @@ public class ServiceHGKC005 extends ServiceEPBase {
...
@@ -139,6 +147,7 @@ public class ServiceHGKC005 extends ServiceEPBase {
private
void
addData
(
HGKC005
fKc005
)
{
private
void
addData
(
HGKC005
fKc005
)
{
// 设置基础信息
// 设置基础信息
this
.
setBaseInfo
(
fKc005
);
this
.
setBaseInfo
(
fKc005
);
fKc005
.
setSubmitStatus
(
HGConstant
.
ProductStatus
.
WTJ
);
// 生成单据号
// 生成单据号
fKc005
.
setCheckNo
(
SequenceGenerator
.
getNextSequence
(
HGConstant
.
SequenceId
.
CHECK_NO
));
fKc005
.
setCheckNo
(
SequenceGenerator
.
getNextSequence
(
HGConstant
.
SequenceId
.
CHECK_NO
));
DaoUtils
.
insert
(
HGKC005
.
INSERT
,
fKc005
);
DaoUtils
.
insert
(
HGKC005
.
INSERT
,
fKc005
);
...
@@ -163,6 +172,20 @@ public class ServiceHGKC005 extends ServiceEPBase {
...
@@ -163,6 +172,20 @@ public class ServiceHGKC005 extends ServiceEPBase {
}
}
/**
/**
* 校验保存的数据
*
* @param fKc005
*/
private
void
checkSubmitData
(
HGKC005
fKc005
)
{
AssertUtils
.
isEmpty
(
fKc005
.
getInventCode
(),
"存货类型不能为空"
);
AssertUtils
.
isEmpty
(
fKc005
.
getWhCode
(),
"仓库名称不能为空"
);
AssertUtils
.
isEmpty
(
fKc005
.
getInventCode
(),
"存货名称不能为空"
);
AssertUtils
.
isNull
(
fKc005
.
getInventRecordId
(),
"规格不能为空"
);
AssertUtils
.
isGt
(
BigDecimal
.
ZERO
,
fKc005
.
getBookAmount
(),
"账面数量必须大于0"
);
AssertUtils
.
isGt
(
BigDecimal
.
ZERO
,
fKc005
.
getEntityAmount
(),
"实物重量必须大于0"
);
}
/**
* 设置基础信息
* 设置基础信息
*
*
* @param fKc005
* @param fKc005
...
@@ -239,4 +262,40 @@ public class ServiceHGKC005 extends ServiceEPBase {
...
@@ -239,4 +262,40 @@ public class ServiceHGKC005 extends ServiceEPBase {
HGKCTools
.
updateStock
(
newKc005
);
HGKCTools
.
updateStock
(
newKc005
);
}
}
}
}
/**
* 修改提交状态
* @param inInfo
* @return
*/
public
EiInfo
updateSubmitStatus
(
EiInfo
inInfo
){
int
i
=
0
;
try
{
HGKC005
hgkc005
=
new
HGKC005
();
EiBlock
eiBlock
=
inInfo
.
getBlock
(
EiConstant
.
resultBlock
);
for
(
i
=
0
;
i
<
eiBlock
.
getRowCount
();
i
++)
{
Map
<?,
?>
map
=
eiBlock
.
getRow
(
i
);
hgkc005
.
fromMap
(
map
);
hgkc005
=
HGKCTools
.
HgKc005
.
getId
(
hgkc005
.
getId
());
hgkc005
.
setSubmitStatus
(
HGConstant
.
ProductStatus
.
YTJ
);
// 校验数据
this
.
checkSubmitData
(
hgkc005
);
DaoUtils
.
update
(
HGKC005
.
UPDATE_SUBMIT_STATUS
,
hgkc005
);
// //修改计划生产任务完工数量
// HGSCTools.complete(hgkc003.getQualityId(),hgkc003.getInvQty().intValue(),hgkc003.getRectificationId(),HGConstant.StorageType.RK);
}
inInfo
.
setStatus
(
EiConstant
.
STATUS_SUCCESS
);
inInfo
.
setMsgByKey
(
"ep.1000"
,
new
String
[]{
String
.
valueOf
(
i
),
I18nMessages
.
getText
(
"label.update"
,
"提交"
)});
}
catch
(
PlatException
e
)
{
e
.
printStackTrace
();
inInfo
.
setStatus
(
EiConstant
.
STATUS_FAILURE
);
ErrorCodeUtils
.
handleUpdateException
(
inInfo
,
i
,
e
);
logError
(
"修改失败"
,
e
.
getMessage
());
return
inInfo
;
}
return
inInfo
;
}
}
}
src/main/java/com/baosight/hggp/hg/kc/service/ServiceHGKC005A.java
View file @
e25e5b1d
...
@@ -147,6 +147,7 @@ public class ServiceHGKC005A extends ServiceEPBase {
...
@@ -147,6 +147,7 @@ public class ServiceHGKC005A extends ServiceEPBase {
newKc005
.
setRemark
(
entityRemark
);
newKc005
.
setRemark
(
entityRemark
);
newKc005
.
setInventRecordId
(
dbKc010
.
getSpecId
());
newKc005
.
setInventRecordId
(
dbKc010
.
getSpecId
());
newKc005
.
setDeleteFlag
(
CommonConstant
.
YesNo
.
NO_0
);
newKc005
.
setDeleteFlag
(
CommonConstant
.
YesNo
.
NO_0
);
newKc005
.
setSubmitStatus
(
HGConstant
.
ProductStatus
.
WTJ
);
DaoUtils
.
insert
(
HGKC005
.
INSERT
,
newKc005
);
DaoUtils
.
insert
(
HGKC005
.
INSERT
,
newKc005
);
HGKCTools
.
updateStock
(
newKc005
);
HGKCTools
.
updateStock
(
newKc005
);
...
...
src/main/java/com/baosight/hggp/hg/kc/sql/HGKC005.xml
View file @
e25e5b1d
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<!-- table information
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
Generate time : 2024-06-12 10:57:29
Version : 1.0
schema : hggp
tableName : HGKC005
ID BIGINT NOT NULL primarykey,
ACCOUNT_CODE VARCHAR,
DEP_CODE VARCHAR,
RECEIPT_DATE VARCHAR NOT NULL,
CHECK_NO VARCHAR NOT NULL,
COMPANY_CODE VARCHAR,
COMPANY_NAME VARCHAR,
WH_CODE VARCHAR NOT NULL,
WH_NAME VARCHAR NOT NULL,
INVENT_TYPE VARCHAR,
INVENT_CODE VARCHAR,
INVENT_NAME VARCHAR,
INVENT_RECORD_ID BIGINT,
BOOK_AMOUNT DECIMAL,
BOOK_UNIT_WEIGHT DECIMAL,
BOOK_WEIGHT DECIMAL,
ENTITY_AMOUNT DECIMAL,
ENTITY_UNIT_WEIGHT DECIMAL,
ENTITY_WEIGHT DECIMAL,
DIFF_AMOUNT DECIMAL,
DIFF_WEIGHT DECIMAL,
KC_ID BIGINT,
STATUS TINYINT NOT NULL,
REMARK VARCHAR,
OLD_CHECK_NO VARCHAR,
CREATED_BY VARCHAR,
CREATED_NAME VARCHAR,
CREATED_TIME VARCHAR,
UPDATED_BY VARCHAR,
UPDATED_NAME VARCHAR,
UPDATED_TIME VARCHAR,
DELETE_FLAG TINYINT
-->
<sqlMap
namespace=
"HGKC005"
>
<sqlMap
namespace=
"HGKC005"
>
<typeAlias
alias=
"HGKC005"
type=
"com.baosight.hggp.hg.kc.domain.HGKC005"
/>
<typeAlias
alias=
"HGKC005"
type=
"com.baosight.hggp.hg.kc.domain.HGKC005"
/>
...
@@ -137,6 +100,9 @@
...
@@ -137,6 +100,9 @@
<isNotEmpty
prepend=
" AND "
property=
"deleteFlag"
>
<isNotEmpty
prepend=
" AND "
property=
"deleteFlag"
>
DELETE_FLAG = #deleteFlag#
DELETE_FLAG = #deleteFlag#
</isNotEmpty>
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"submitStatus"
>
SUBMIT_STATUS = #submitStatus#
</isNotEmpty>
</sql>
</sql>
<sql
id=
"customCondition"
>
<sql
id=
"customCondition"
>
<isNotEmpty
prepend=
" AND "
property=
"checkNos"
>
<isNotEmpty
prepend=
" AND "
property=
"checkNos"
>
...
@@ -191,7 +157,8 @@
...
@@ -191,7 +157,8 @@
UPDATED_BY as "updatedBy",
<!-- 更新人 -->
UPDATED_BY as "updatedBy",
<!-- 更新人 -->
UPDATED_NAME as "updatedName",
<!-- 更新人名称 -->
UPDATED_NAME as "updatedName",
<!-- 更新人名称 -->
UPDATED_TIME as "updatedTime",
<!-- 更新时间 -->
UPDATED_TIME as "updatedTime",
<!-- 更新时间 -->
DELETE_FLAG as "deleteFlag"
<!-- 是否删除0.否1.是 -->
DELETE_FLAG as "deleteFlag",
<!-- 是否删除0.否1.是 -->
SUBMIT_STATUS as "submitStatus"
<!-- 提交状态 -->
FROM ${hggpSchema}.HGKC005 WHERE 1=1
FROM ${hggpSchema}.HGKC005 WHERE 1=1
<include
refid=
"condition"
/>
<include
refid=
"condition"
/>
<include
refid=
"customCondition"
/>
<include
refid=
"customCondition"
/>
...
@@ -226,105 +193,6 @@
...
@@ -226,105 +193,6 @@
<include
refid=
"customCondition"
/>
<include
refid=
"customCondition"
/>
</select>
</select>
<!--
<isNotEmpty prepend=" AND " property="id">
ID = #id#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="accountCode">
ACCOUNT_CODE = #accountCode#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="depCode">
DEP_CODE = #depCode#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="receiptDate">
RECEIPT_DATE = #receiptDate#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="checkNo">
CHECK_NO = #checkNo#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="companyCode">
COMPANY_CODE = #companyCode#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="companyName">
COMPANY_NAME = #companyName#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="whCode">
WH_CODE = #whCode#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="whName">
WH_NAME = #whName#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="inventType">
INVENT_TYPE = #inventType#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="inventCode">
INVENT_CODE = #inventCode#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="inventName">
INVENT_NAME = #inventName#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="inventRecordId">
INVENT_RECORD_ID = #inventRecordId#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="bookAmount">
BOOK_AMOUNT = #bookAmount#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="bookUnitWeight">
BOOK_UNIT_WEIGHT = #bookUnitWeight#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="bookWeight">
BOOK_WEIGHT = #bookWeight#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="entityAmount">
ENTITY_AMOUNT = #entityAmount#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="entityUnitWeight">
ENTITY_UNIT_WEIGHT = #entityUnitWeight#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="entityWeight">
ENTITY_WEIGHT = #entityWeight#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="diffAmount">
DIFF_AMOUNT = #diffAmount#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="diffWeight">
DIFF_WEIGHT = #diffWeight#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="kcId">
KC_ID = #kcId#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="status">
STATUS = #status#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="remark">
REMARK = #remark#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="oldCheckNo">
OLD_CHECK_NO = #oldCheckNo#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="createdBy">
CREATED_BY = #createdBy#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="createdName">
CREATED_NAME = #createdName#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="createdTime">
CREATED_TIME = #createdTime#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="updatedBy">
UPDATED_BY = #updatedBy#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="updatedName">
UPDATED_NAME = #updatedName#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="updatedTime">
UPDATED_TIME = #updatedTime#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="deleteFlag">
DELETE_FLAG = #deleteFlag#
</isNotEmpty>
-->
<insert
id=
"insert"
>
<insert
id=
"insert"
>
INSERT INTO ${hggpSchema}.HGKC005 (
INSERT INTO ${hggpSchema}.HGKC005 (
ACCOUNT_CODE,
<!-- 企业编码 -->
ACCOUNT_CODE,
<!-- 企业编码 -->
...
@@ -357,9 +225,10 @@
...
@@ -357,9 +225,10 @@
UPDATED_BY,
<!-- 更新人 -->
UPDATED_BY,
<!-- 更新人 -->
UPDATED_NAME,
<!-- 更新人名称 -->
UPDATED_NAME,
<!-- 更新人名称 -->
UPDATED_TIME,
<!-- 更新时间 -->
UPDATED_TIME,
<!-- 更新时间 -->
DELETE_FLAG
<!-- 是否删除0.否1.是 -->
DELETE_FLAG,
<!-- 是否删除0.否1.是 -->
SUBMIT_STATUS
<!-- 提交状态 -->
)
)
VALUES (#accountCode#, #depCode#, #receiptDate#, #checkNo#, #companyCode#, #companyName#, #whCode#, #whName#, #inventType#, #inventCode#, #inventName#, #inventRecordId#, #bookAmount#, #bookUnitWeight#, #bookWeight#, #entityAmount#, #entityUnitWeight#, #entityWeight#, #diffAmount#, #diffWeight#, #kcId#, #status#, #remark#, #oldCheckNo#, #createdBy#, #createdName#, #createdTime#, #updatedBy#, #updatedName#, #updatedTime#, #deleteFlag#)
VALUES (#accountCode#, #depCode#, #receiptDate#, #checkNo#, #companyCode#, #companyName#, #whCode#, #whName#, #inventType#, #inventCode#, #inventName#, #inventRecordId#, #bookAmount#, #bookUnitWeight#, #bookWeight#, #entityAmount#, #entityUnitWeight#, #entityWeight#, #diffAmount#, #diffWeight#, #kcId#, #status#, #remark#, #oldCheckNo#, #createdBy#, #createdName#, #createdTime#, #updatedBy#, #updatedName#, #updatedTime#, #deleteFlag#
, #submitStatus#
)
</insert>
</insert>
<delete
id=
"delete"
>
<delete
id=
"delete"
>
...
@@ -436,4 +305,17 @@
...
@@ -436,4 +305,17 @@
GROUP BY DEP_CODE, COMPANY_CODE, WH_CODE, INVENT_TYPE, INVENT_CODE, INVENT_RECORD_ID
GROUP BY DEP_CODE, COMPANY_CODE, WH_CODE, INVENT_TYPE, INVENT_CODE, INVENT_RECORD_ID
</select>
</select>
<update
id=
"updateSubmitStatus"
>
UPDATE ${hggpSchema}.HGKC005
SET
UPDATED_BY = #updatedBy#,
<!-- 更新人 -->
UPDATED_NAME = #updatedName#,
<!-- 更新人名称 -->
UPDATED_TIME = #updatedTime#,
<!-- 更新时间 -->
SUBMIT_STATUS = #submitStatus#
<!-- 提交状态 -->
WHERE
ID = #id#
</update>
</sqlMap>
</sqlMap>
src/main/java/com/baosight/hggp/hg/kc/sql/HGKC007.xml
View file @
e25e5b1d
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<!-- table information
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
Generate time : 2024-05-24 16:31:28
Version : 1.0
schema : hggp
tableName : HGKC007
ID BIGINT NOT NULL primarykey,
ACCOUNT_CODE VARCHAR,
DEP_CODE VARCHAR,
CREATED_BY VARCHAR NOT NULL,
CREATED_NAME VARCHAR NOT NULL,
CREATED_TIME VARCHAR NOT NULL,
UPDATED_BY VARCHAR NOT NULL,
UPDATED_NAME VARCHAR NOT NULL,
UPDATED_TIME VARCHAR NOT NULL,
DELETE_FLAG TINYINT,
COMPANY_CODE VARCHAR,
COMPANY_NAME VARCHAR,
OTHER_OUT_DATE VARCHAR,
OTHER_OUT_NO VARCHAR NOT NULL,
WH_CODE VARCHAR,
WH_NAME VARCHAR,
OTHER_OUT_NO_OLD VARCHAR,
REMARK VARCHAR,
FACTORY_CODE VARCHAR,
PROD_ORDER_NO VARCHAR,
PROD_TASK_NO VARCHAR,
PROJ_CODE VARCHAR,
PROJ_NAME VARCHAR,
PRDT_TYPE TINYINT,
PRDT_CODE VARCHAR,
PRDT_NAME VARCHAR,
PRDT_LENGTH DECIMAL,
PRDT_WIDTH DECIMAL,
PRDT_THICK DECIMAL,
PRDT_SPEC VARCHAR,
PART_TYPE TINYINT,
PART_CODE VARCHAR,
PART_NAME VARCHAR,
PART_LENGTH DECIMAL,
PART_WIDTH DECIMAL,
PART_THICK DECIMAL,
PART_SPEC VARCHAR,
SUBMIT_STATUS TINYINT,
SOURCE TINYINT
-->
<sqlMap
namespace=
"HGKC007"
>
<sqlMap
namespace=
"HGKC007"
>
<sql
id=
"condition"
>
<sql
id=
"condition"
>
...
@@ -229,125 +185,6 @@
...
@@ -229,125 +185,6 @@
<update
id=
"check"
>
<update
id=
"check"
>
UPDATE ${hggpSchema}.HGKC007 SET SUBMIT_STATUS = #submitStatus# WHERE ID = #id#
UPDATE ${hggpSchema}.HGKC007 SET SUBMIT_STATUS = #submitStatus# WHERE ID = #id#
</update>
</update>
<!--
<isNotEmpty prepend=" AND " property="id">
ID = #id#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="accountCode">
ACCOUNT_CODE = #accountCode#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="depCode">
DEP_CODE = #depCode#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="createdBy">
CREATED_BY = #createdBy#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="createdName">
CREATED_NAME = #createdName#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="createdTime">
CREATED_TIME = #createdTime#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="updatedBy">
UPDATED_BY = #updatedBy#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="updatedName">
UPDATED_NAME = #updatedName#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="updatedTime">
UPDATED_TIME = #updatedTime#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="deleteFlag">
DELETE_FLAG = #deleteFlag#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="companyCode">
COMPANY_CODE = #companyCode#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="companyName">
COMPANY_NAME = #companyName#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="otherOutDate">
OTHER_OUT_DATE = #otherOutDate#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="otherOutNo">
OTHER_OUT_NO = #otherOutNo#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="whCode">
WH_CODE = #whCode#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="whName">
WH_NAME = #whName#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="otherOutNoOld">
OTHER_OUT_NO_OLD = #otherOutNoOld#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="remark">
REMARK = #remark#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="factoryCode">
FACTORY_CODE = #factoryCode#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="prodOrderNo">
PROD_ORDER_NO = #prodOrderNo#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="prodTaskNo">
PROD_TASK_NO = #prodTaskNo#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="projCode">
PROJ_CODE = #projCode#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="projName">
PROJ_NAME = #projName#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="prdtType">
PRDT_TYPE = #prdtType#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="prdtCode">
PRDT_CODE = #prdtCode#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="prdtName">
PRDT_NAME = #prdtName#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="prdtLength">
PRDT_LENGTH = #prdtLength#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="prdtWidth">
PRDT_WIDTH = #prdtWidth#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="prdtThick">
PRDT_THICK = #prdtThick#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="prdtSpec">
PRDT_SPEC = #prdtSpec#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="partType">
PART_TYPE = #partType#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="partCode">
PART_CODE = #partCode#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="partName">
PART_NAME = #partName#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="partLength">
PART_LENGTH = #partLength#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="partWidth">
PART_WIDTH = #partWidth#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="partThick">
PART_THICK = #partThick#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="partSpec">
PART_SPEC = #partSpec#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="submitStatus">
SUBMIT_STATUS = #submitStatus#
</isNotEmpty>
<isNotEmpty prepend=" AND " property="source">
SOURCE = #source#
</isNotEmpty>
-->
<insert
id=
"insert"
>
<insert
id=
"insert"
>
INSERT INTO ${hggpSchema}.HGKC007 (ID,
INSERT INTO ${hggpSchema}.HGKC007 (ID,
...
...
src/main/java/com/baosight/hggp/hg/kc/tools/HGKCTools.java
View file @
e25e5b1d
...
@@ -517,6 +517,22 @@ public class HGKCTools {
...
@@ -517,6 +517,22 @@ public class HGKCTools {
*/
*/
public
static
class
HgKc005
{
public
static
class
HgKc005
{
/**
* 库存盘点单信息
*
* @param id
* @return
*/
public
static
HGKC005
getId
(
Long
id
)
{
AssertUtils
.
isEmpty
(
Collections
.
singleton
(
id
),
"库存盘点单id为空!"
);
Map
<
String
,
Object
>
paramMap
=
new
HashMap
();
paramMap
.
put
(
"id"
,
id
);
List
<
HGKC005
>
list
=
DaoBase
.
getInstance
().
query
(
HGKC005
.
QUERY
,
paramMap
);
AssertUtils
.
isEmpty
(
list
,
"库存盘点单为空!"
);
return
list
.
get
(
0
);
}
/**
/**
* 锁
* 锁
*
*
...
...
src/main/webapp/HG/KC/HGKC005.js
View file @
e25e5b1d
let
whNameGlobalData
=
[];
let
inventNameGlobalData
=
[];
let
specGlobalData
=
[];
$
(
function
()
{
$
(
function
()
{
whNameGlobalData
=
__eiInfo
.
getBlock
(
"wh_record_block_id"
).
getMappedRows
();
inventNameGlobalData
=
__eiInfo
.
getBlock
(
"invent_record_block_id"
).
getMappedRows
();
specGlobalData
=
__eiInfo
.
getBlock
(
"spec_record_block_id"
).
getMappedRows
();
IPLATUI
.
EFGrid
=
{
IPLATUI
.
EFGrid
=
{
pageable
:
{
pageable
:
{
pageSize
:
20
,
pageSize
:
20
,
...
@@ -21,7 +13,22 @@ $(function() {
...
@@ -21,7 +13,22 @@ $(function() {
// save: true, // 不显示保存按钮
// save: true, // 不显示保存按钮
// delete: true, // 显示删除按钮
// delete: true, // 显示删除按钮
},*/
},*/
columns
:
[{
columns
:
[
{
field
:
"operator"
,
title
:
"操作"
,
template
:
function
(
item
)
{
let
status
=
item
.
submitStatus
;
let
template
=
''
;
if
(
item
.
id
){
if
(
status
==
0
)
{
template
+=
'<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" '
+
'onclick="updateSubmitStatus('
+
item
.
id
+
')" >提交</a>'
;
}
}
return
template
;
}
},{
field
:
"receiptDate"
,
field
:
"receiptDate"
,
attributes
:
{
attributes
:
{
class
:
"i-input-readonly"
class
:
"i-input-readonly"
...
@@ -29,45 +36,6 @@ $(function() {
...
@@ -29,45 +36,6 @@ $(function() {
defaultValue
:
function
()
{
defaultValue
:
function
()
{
return
currShortDate
();
return
currShortDate
();
}
}
},
{
field
:
"whCode"
,
template
:
function
(
dataItem
)
{
for
(
let
i
=
0
;
i
<
whNameGlobalData
.
length
;
i
++
)
{
if
(
whNameGlobalData
[
i
][
'valueField'
]
===
dataItem
[
'whCode'
])
{
return
whNameGlobalData
[
i
][
'textField'
];
}
}
return
""
;
},
editor
:
function
(
container
,
options
)
{
let
inInfo
=
new
EiInfo
();
inInfo
.
set
(
"inqu_status-0-whType"
,
options
.
model
[
"inventType"
]);
inInfo
.
set
(
"inqu_status-0-isSplicingSymbol"
,
false
);
inInfo
.
set
(
"serviceName"
,
"HGPZ007"
);
inInfo
.
set
(
"methodName"
,
"queryComboBox"
);
inInfo
.
set
(
"blockId"
,
"wh_record_block_id"
);
inInfo
.
set
(
"field"
,
options
.
field
);
refreshSelect
(
container
,
inInfo
);
}
},
{
field
:
"inventRecordId"
,
template
:
function
(
dataItem
)
{
for
(
let
i
=
0
;
i
<
specGlobalData
.
length
;
i
++
)
{
if
(
specGlobalData
[
i
][
'valueField'
]
===
dataItem
[
'inventRecordId'
])
{
return
specGlobalData
[
i
][
'textField'
];
}
}
return
""
;
},
editor
:
function
(
container
,
options
)
{
let
inInfo
=
new
EiInfo
();
inInfo
.
set
(
"inqu_status-0-inventCode"
,
options
.
model
[
"inventCode"
]);
inInfo
.
set
(
"serviceName"
,
"HGPZ005"
);
inInfo
.
set
(
"methodName"
,
"queryComboBoxSpec"
);
inInfo
.
set
(
"blockId"
,
"invent_spec_block_id"
);
inInfo
.
set
(
"field"
,
options
.
field
);
refreshSelect
(
container
,
inInfo
);
}
}],
}],
loadComplete
:
function
(
grid
)
{
loadComplete
:
function
(
grid
)
{
},
},
...
@@ -96,18 +64,49 @@ $(function() {
...
@@ -96,18 +64,49 @@ $(function() {
* 页面加载时执行
* 页面加载时执行
*/
*/
$
(
window
).
load
(
function
()
{
$
(
window
).
load
(
function
()
{
// 仓库名称
//initWh()
// 存货名称
//initInvent()
// 规格
//initSpec()
// 查询
// 查询
query
();
query
();
//存货编号
//存货编号
initInventCode
();
initInventCode
();
});
});
/**
* 提交
* @param id
* @param status
*/
function
updateSubmitStatus
(
id
)
{
let
inEiInfo
=
new
EiInfo
();
inEiInfo
.
set
(
"result-0-id"
,
id
);
JSUtils
.
confirm
(
"确定提交此库存盘点单吗? "
,
{
ok
:
function
()
{
EiCommunicator
.
send
(
'HGKC005'
,
'updateSubmitStatus'
,
inEiInfo
,
{
onSuccess
:
function
(
ei
)
{
if
(
ei
.
getStatus
()
>=
0
)
{
try
{
query
();
}
catch
(
e
)
{
}
if
(
ei
.
getStatus
()
==
0
)
{
NotificationUtil
(
ei
,
'warning'
);
}
else
{
NotificationUtil
(
ei
);
}
}
else
{
NotificationUtil
(
ei
,
"error"
);
}
},
onFail
:
function
(
ei
)
{
// 发生异常
NotificationUtil
(
"操作失败,原因["
+
ei
+
"]"
,
"error"
);
}
}
);
}
});
}
/**
/**
* 存货编号
* 存货编号
...
@@ -135,56 +134,7 @@ let initInventCode = function () {
...
@@ -135,56 +134,7 @@ let initInventCode = function () {
}
}
/**
* 初始化仓库
*/
let
initWh
=
function
()
{
let
inInfo
=
new
EiInfo
();
// 1.原料,2.耗材,5.废料
inInfo
.
set
(
"inqu_status-0-inventTypes"
,
[
1
,
2
,
5
]);
inInfo
.
set
(
"inqu_status-0-isSplicingSymbol"
,
false
);
EiCommunicator
.
send
(
"HGPZ007"
,
"queryComboBox"
,
inInfo
,
{
onSuccess
:
function
(
ei
)
{
whNameGlobalData
=
ei
.
getBlock
(
"wh_record_block_id"
).
getMappedRows
();
},
onFail
:
function
(
ei
)
{
}
},
{
async
:
false
});
}
/**
* 初始化存货
*/
let
initInvent
=
function
()
{
let
inInfo
=
new
EiInfo
();
// 1.原料,2.耗材,5.废料
inInfo
.
set
(
"inqu_status-0-inventTypes"
,
[
1
,
2
,
5
]);
inInfo
.
set
(
"inqu_status-0-isSplicingSymbol"
,
false
);
EiCommunicator
.
send
(
"HGPZ005"
,
"queryComboBox"
,
inInfo
,
{
onSuccess
:
function
(
ei
)
{
inventNameGlobalData
=
ei
.
getBlock
(
"invent_name_block_id"
).
getMappedRows
();
},
onFail
:
function
(
ei
)
{
}
},
{
async
:
false
});
}
/**
* 初始化规格
*/
let
initSpec
=
function
()
{
let
inInfo
=
new
EiInfo
();
// 1.原料,2.耗材,5.废料
inInfo
.
set
(
"inqu_status-0-inventTypes"
,
[
1
,
2
,
5
]);
inInfo
.
set
(
"inqu_status-0-isSplicingSymbol"
,
false
);
EiCommunicator
.
send
(
"HGPZ005"
,
"queryComboBoxAll"
,
inInfo
,
{
onSuccess
:
function
(
ei
)
{
specGlobalData
=
ei
.
getBlock
(
"invent_all_block_id"
).
getMappedRows
();
},
onFail
:
function
(
ei
)
{
}
},
{
async
:
false
});
}
/**
/**
* 查询
* 查询
...
...
src/main/webapp/HG/KC/HGKC005.jsp
View file @
e25e5b1d
...
@@ -54,6 +54,7 @@
...
@@ -54,6 +54,7 @@
<EF:EFRegion id="result" title="明细信息">
<EF:EFRegion id="result" title="明细信息">
<EF:EFGrid blockId="result" autoDraw="override" isFloat="true" checkMode="row">
<EF:EFGrid blockId="result" autoDraw="override" isFloat="true" checkMode="row">
<EF:EFColumn ename="id" cname="内码" hidden="true"/>
<EF:EFColumn ename="id" cname="内码" hidden="true"/>
<EF:EFColumn ename="operator" cname="操作" locked="true" width="100" enable="false" readonly="false"/>
<EF:EFColumn ename="checkNo" cname="盘点单号" enable="false" width="140" align="center"/>
<EF:EFColumn ename="checkNo" cname="盘点单号" enable="false" width="140" align="center"/>
<EF:EFColumn ename="receiptDate" cname="单据日期" width="120" align="center" editType="date"
<EF:EFColumn ename="receiptDate" cname="单据日期" width="120" align="center" editType="date"
dateFormat="yyyy-MM-dd" parseFormats="['yyyyMMdd']" required="true"/>
dateFormat="yyyy-MM-dd" parseFormats="['yyyyMMdd']" required="true"/>
...
@@ -89,6 +90,9 @@
...
@@ -89,6 +90,9 @@
align="right" sumType="all" readonly="true"/>
align="right" sumType="all" readonly="true"/>
<EF:EFColumn ename="remark" cname="备注" width="150" />
<EF:EFColumn ename="remark" cname="备注" width="150" />
<EF:EFColumn ename="oldCheckNo" cname="原盘点单号" enable="false" hidden="true" width="140" align="center"/>
<EF:EFColumn ename="oldCheckNo" cname="原盘点单号" enable="false" hidden="true" width="140" align="center"/>
<EF:EFComboColumn cname="提交状态" ename="submitStatus" width="90" align="center" required="false">
<EF:EFCodeOption codeName="hggp.sc.productStatus" />
</EF:EFComboColumn>
</EF:EFGrid>
</EF:EFGrid>
<br/>
<br/>
<span style='color: red;font-size: 13px;'>说明:差异数量=实物数量-账面数量;差异重量=实物重量-账面重量</span>
<span style='color: red;font-size: 13px;'>说明:差异数量=实物数量-账面数量;差异重量=实物重量-账面重量</span>
...
...
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