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
f8296b1d
Commit
f8296b1d
authored
Jun 27, 2024
by
江和松
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
物料清单增加批量提交功能
parent
ac4c1c7c
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
311 additions
and
83 deletions
+311
-83
HGSC005A.java
src/main/java/com/baosight/hggp/hg/sc/domain/HGSC005A.java
+1
-1
ServiceHGSC004A.java
...java/com/baosight/hggp/hg/sc/service/ServiceHGSC004A.java
+191
-58
HGSC004A.xml
src/main/java/com/baosight/hggp/hg/sc/sql/HGSC004A.xml
+7
-1
HGSC004A.js
src/main/webapp/HG/SC/HGSC004A.js
+111
-22
HGSC004A.jsp
src/main/webapp/HG/SC/HGSC004A.jsp
+1
-1
No files found.
src/main/java/com/baosight/hggp/hg/sc/domain/HGSC005A.java
View file @
f8296b1d
...
@@ -103,7 +103,7 @@ public class HGSC005A extends DaoEPBase {
...
@@ -103,7 +103,7 @@ public class HGSC005A extends DaoEPBase {
public
static
final
String
INSERT
=
"HGSC005A.insert"
;
public
static
final
String
INSERT
=
"HGSC005A.insert"
;
public
static
final
String
UPDATE
=
"HGSC005A.update"
;
public
static
final
String
UPDATE
=
"HGSC005A.update"
;
public
static
final
String
DELETE
=
"HGSC005A.delete"
;
public
static
final
String
DELETE
=
"HGSC005A.delete"
;
public
static
final
String
BATCH_DELETE
=
"HGSC005.batch_delete"
;
public
static
final
String
BATCH_DELETE
=
"HGSC005
A
.batch_delete"
;
public
static
final
String
UPDATE_PLAN_DATE
=
"HGSC005A.update_plan_date"
;
public
static
final
String
UPDATE_PLAN_DATE
=
"HGSC005A.update_plan_date"
;
private
Long
id
=
new
Long
(
0
);
private
Long
id
=
new
Long
(
0
);
...
...
src/main/java/com/baosight/hggp/hg/sc/service/ServiceHGSC004A.java
View file @
f8296b1d
...
@@ -4,10 +4,12 @@ import cn.hutool.core.bean.BeanUtil;
...
@@ -4,10 +4,12 @@ import cn.hutool.core.bean.BeanUtil;
import
com.baosight.hggp.aspect.annotation.OperationLogAnnotation
;
import
com.baosight.hggp.aspect.annotation.OperationLogAnnotation
;
import
com.baosight.hggp.common.DdynamicEnum
;
import
com.baosight.hggp.common.DdynamicEnum
;
import
com.baosight.hggp.common.ProductTypeEnum
;
import
com.baosight.hggp.common.ProductTypeEnum
;
import
com.baosight.hggp.core.dao.DaoBase
;
import
com.baosight.hggp.core.dao.DaoUtils
;
import
com.baosight.hggp.core.dao.DaoUtils
;
import
com.baosight.hggp.core.security.UserSessionUtils
;
import
com.baosight.hggp.core.security.UserSessionUtils
;
import
com.baosight.hggp.hg.constant.HGConstant
;
import
com.baosight.hggp.hg.constant.HGConstant
;
import
com.baosight.hggp.hg.sb.domain.HGSB002
;
import
com.baosight.hggp.hg.pz.domain.HGPZ005
;
import
com.baosight.hggp.hg.pz.tools.HGPZTools
;
import
com.baosight.hggp.hg.sc.domain.*
;
import
com.baosight.hggp.hg.sc.domain.*
;
import
com.baosight.hggp.hg.sc.tools.HGSCTools
;
import
com.baosight.hggp.hg.sc.tools.HGSCTools
;
import
com.baosight.hggp.util.*
;
import
com.baosight.hggp.util.*
;
...
@@ -21,7 +23,9 @@ import com.baosight.iplat4j.core.service.impl.ServiceBase;
...
@@ -21,7 +23,9 @@ import com.baosight.iplat4j.core.service.impl.ServiceBase;
import
com.baosight.iplat4j.core.util.StringUtils
;
import
com.baosight.iplat4j.core.util.StringUtils
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
java.math.BigDecimal
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -62,46 +66,103 @@ public class ServiceHGSC004A extends ServiceBase {
...
@@ -62,46 +66,103 @@ public class ServiceHGSC004A extends ServiceBase {
@Override
@Override
public
EiInfo
delete
(
EiInfo
inInfo
)
{
public
EiInfo
delete
(
EiInfo
inInfo
)
{
try
{
try
{
List
<
Map
>
resultRows
=
inInfo
.
getBlock
(
EiConstant
.
resultBlock
).
getRows
();
Map
resultMap
=
EiInfoUtils
.
getFirstRow
(
inInfo
,
EiConstant
.
resultBlock
);
// 蓝图ids
HGSC004A
hgsc004A
=
new
HGSC004A
();
List
<
Long
>
ids
=
ObjectUtils
.
listKey
(
resultRows
,
HGSC004A
.
FIELD_id
);
hgsc004A
.
fromMap
(
resultMap
);
hgsc004A
=
(
HGSC004A
)
super
.
dao
.
get
(
HGSC004A
.
QUERY
,
HGSC004A
.
FIELD_id
,
hgsc004A
.
getId
());
Map
<
String
,
Object
>
mapA
=
new
HashMap
<>();
HGSC004
hgsc004
=
(
HGSC004
)
super
.
dao
.
get
(
HGSC004
.
QUERY
,
HGSC004A
.
FIELD_id
,
hgsc004A
.
getMaterialId
());
mapA
.
put
(
"ids"
,
ids
);
List
<
HGSC004A
>
hgsc004AList
=
dao
.
query
(
HGSC004A
.
QUERY_BY_MATERIAL_ID
,
mapA
,
0
,
-
999999
);
HGSC004
hgsc004
=
(
HGSC004
)
super
.
dao
.
get
(
HGSC004
.
QUERY
,
HGSC004A
.
FIELD_id
,
hgsc004AList
.
get
(
0
).
getMaterialId
());
if
(
Objects
.
nonNull
(
hgsc004
)){
if
(
Objects
.
nonNull
(
hgsc004
)){
if
(
hgsc004
.
getMaterialStatus
().
intValue
()
==
HGConstant
.
MaterialStatus
.
QBTJ
){
if
(
hgsc004
.
getMaterialStatus
().
intValue
()
==
HGConstant
.
MaterialStatus
.
QBTJ
){
DaoUtils
.
update
(
HGSC004A
.
BATCH_CHANGE_TYPE
,
new
HashMap
<
String
,
Object
>(){{
put
(
"ids"
,
ids
);
put
(
"changeType"
,
HGConstant
.
ChangeType
.
SC
);}});
if
(
hgsc004A
.
getProductStatus
().
intValue
()
==
HGConstant
.
ProductStatus
.
YTJ
){
for
(
HGSC004A
hgsc004A
:
hgsc004AList
){
allSubmitDelele
(
hgsc004
,
hgsc004A
);
//子表
}
else
{
HGSC005A
hgsc005a
=
new
HGSC005A
();
noSubmitDetele
(
hgsc004A
);
BeanUtil
.
copyProperties
(
hgsc004A
,
hgsc005a
,
"id"
,
"productType"
);
hgsc005a
.
setMatDetailId
(
hgsc004A
.
getId
());
hgsc005a
.
setMatId
(
hgsc004
.
getId
());
if
(
hgsc004A
.
getLv
().
intValue
()
==
3
){
hgsc005a
.
setProductType
(
ProductTypeEnum
.
STRUCT
.
getCode
());
}
else
{
hgsc005a
.
setProductType
(
ProductTypeEnum
.
PART
.
getCode
());
}
HGSCTools
.
THGSC005A
.
delete
(
hgsc005a
);
HGSCTools
.
THGSC004B
.
save
(
hgsc004A
,
null
);
}
}
}
else
{
}
else
{
DaoUtils
.
update
(
HGSC004A
.
BATCH_DELETE
,
new
HashMap
<
String
,
Object
>(){{
put
(
"ids"
,
ids
);}}
);
noSubmitDetele
(
hgsc004A
);
}
}
}
}
inInfo
=
this
.
query
(
inInfo
);
inInfo
=
this
.
query
(
inInfo
);
inInfo
.
setStatus
(
EiConstant
.
STATUS_DEFAULT
);
inInfo
.
setStatus
(
EiConstant
.
STATUS_DEFAULT
);
inInfo
.
setMsg
(
"
操作成功!本次对["
+
resultRows
.
size
()
+
"]条数据
删除成功!"
);
inInfo
.
setMsg
(
"删除成功!"
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LogUtils
.
setDetailMsg
(
inInfo
,
e
,
"删除失败"
);
LogUtils
.
setDetailMsg
(
inInfo
,
e
,
"删除失败"
);
}
}
return
inInfo
;
return
inInfo
;
}
}
/**
* 全部提交后的删除
* @param hgsc004
* @param hgsc004A
*/
private
void
allSubmitDelele
(
HGSC004
hgsc004
,
HGSC004A
hgsc004A
)
{
//子表
HGSC005A
hgsc005a
=
new
HGSC005A
();
BeanUtil
.
copyProperties
(
hgsc004A
,
hgsc005a
,
"id"
,
"productType"
);
hgsc005a
.
setMatDetailId
(
hgsc004A
.
getId
());
hgsc005a
.
setMatId
(
hgsc004
.
getId
());
if
(
hgsc004A
.
getLv
().
intValue
()
==
3
){
hgsc005a
.
setProductType
(
ProductTypeEnum
.
STRUCT
.
getCode
());
}
else
{
hgsc005a
.
setProductType
(
ProductTypeEnum
.
PART
.
getCode
());
}
//如果是构建需要删除构建下的明细
if
(
hgsc004A
.
getProductType
().
equals
(
ProductTypeEnum
.
STRUCT
.
getCode
().
toString
())){
Map
paramMap
=
new
HashMap
();
paramMap
.
put
(
HGSC004A
.
FIELD_material_id
,
hgsc004A
.
getMaterialId
());
paramMap
.
put
(
HGSC004A
.
FIELD_parent_prod_code
,
hgsc004A
.
getProductCode
());
List
<
HGSC004A
>
oldObjList
=
dao
.
query
(
HGSC004A
.
QUERY
,
paramMap
);
List
<
String
>
inventCodes
=
oldObjList
.
stream
().
map
(
HGSC004A:
:
getProductCode
).
collect
(
Collectors
.
toList
());
List
<
HGPZ005
>
hgpz005List
=
HGPZTools
.
HgPz005
.
listByInventCodes
(
inventCodes
);
//零件明细
List
<
HGSC005A
>
partList
=
new
LinkedList
<>();
for
(
HGSC004A
o
:
oldObjList
){
if
(
o
.
getChangeType
().
intValue
()
!=
HGConstant
.
ChangeType
.
SC
){
HGSC005A
partHgsc005a
=
new
HGSC005A
();
BeanUtil
.
copyProperties
(
o
,
partHgsc005a
,
"id"
,
"productType"
);
partHgsc005a
.
setMatDetailId
(
o
.
getId
());
partHgsc005a
.
setMatId
(
hgsc004
.
getId
());
partHgsc005a
.
setProductType
(
ProductTypeEnum
.
PART
.
getCode
());
HGPZ005
hgpz005
=
hgpz005List
.
stream
().
filter
(
p
->
p
.
getInventCode
().
equals
(
o
.
getProductCode
())).
findAny
().
orElse
(
null
);
if
(
Objects
.
nonNull
(
hgpz005
)){
partHgsc005a
.
setTechFlowId
(
hgpz005
.
getFlowId
());
}
partList
.
add
(
partHgsc005a
);
o
.
setChangeType
(
HGConstant
.
ChangeType
.
SC
);
}
}
hgsc005a
.
setPartList
(
partList
);
DaoUtils
.
updateBatch
(
HGSC004A
.
UPDATE
,
oldObjList
);
}
hgsc004A
.
setChangeType
(
HGConstant
.
ChangeType
.
SC
);
DaoUtils
.
update
(
HGSC004A
.
UPDATE
,
hgsc004A
);
Long
techFlowId
=
(
Long
)
DaoBase
.
getInstance
().
get
(
HGSC004A
.
QUERY_TECHFLOW_ID_BY_PRODUCTID
,
HGSC004A
.
FIELD_product_id
,
hgsc004A
.
getProductId
());
hgsc005a
.
setTechFlowId
(
techFlowId
);
HGSCTools
.
THGSC005A
.
delete
(
hgsc005a
);
HGSCTools
.
THGSC004B
.
save
(
hgsc004A
,
null
);
}
/**
* 未提交,需要删除的
* @param hgsc004A
*/
private
void
noSubmitDetele
(
HGSC004A
hgsc004A
)
{
//如果是构建需要删除构建下的明细
if
(
hgsc004A
.
getProductType
().
equals
(
ProductTypeEnum
.
STRUCT
.
getCode
().
toString
())){
Map
paramMap
=
new
HashMap
();
paramMap
.
put
(
HGSC004A
.
FIELD_material_id
,
hgsc004A
.
getMaterialId
());
paramMap
.
put
(
HGSC004A
.
FIELD_parent_prod_code
,
hgsc004A
.
getProductCode
());
List
<
HGSC004A
>
oldObjList
=
dao
.
query
(
HGSC004A
.
QUERY
,
paramMap
);
oldObjList
.
add
(
hgsc004A
);
//未提交的直接删除
DaoUtils
.
updateBatch
(
HGSC004A
.
DELETE
,
oldObjList
);
}
else
{
//未提交的直接删除
DaoUtils
.
update
(
HGSC004A
.
DELETE
,
hgsc004A
);
}
}
public
EiInfo
save
(
EiInfo
inInfo
){
public
EiInfo
save
(
EiInfo
inInfo
){
...
@@ -120,45 +181,22 @@ public class ServiceHGSC004A extends ServiceBase {
...
@@ -120,45 +181,22 @@ public class ServiceHGSC004A extends ServiceBase {
hgsc004a
.
setDepCode
(
hgsc004
.
getDepCode
());
hgsc004a
.
setDepCode
(
hgsc004
.
getDepCode
());
hgsc004a
.
setDepName
(
hgsc004
.
getDepName
());
hgsc004a
.
setDepName
(
hgsc004
.
getDepName
());
hgsc004a
.
setMaterialId
(
hgsc004
.
getId
());
hgsc004a
.
setMaterialId
(
hgsc004
.
getId
());
hgsc004a
.
setLv
(
hgsc004a
.
getLv
()
+
1
);
//不为4级都有叶子节点,父节点需要+1
//不为4级都有叶子节点
if
(
hgsc004a
.
getLv
().
intValue
()
<
4
){
if
(
hgsc004a
.
getLv
().
intValue
()
<
4
){
hgsc004a
.
setLv
(
hgsc004a
.
getLv
()
+
1
);
}
if
(
hgsc004a
.
getLv
().
intValue
()
==
3
){
hgsc004a
.
setLeaf
(
2
);
hgsc004a
.
setLeaf
(
2
);
}
else
{
}
else
{
hgsc004a
.
setLeaf
(
1
);
hgsc004a
.
setLeaf
(
1
);
}
}
this
.
checkSaveData
(
hgsc004a
,
hgsc004
);
this
.
checkSaveData
(
hgsc004a
,
hgsc004
);
if
(
Objects
.
nonNull
(
hgsc004a
.
getId
())&&
hgsc004a
.
getId
()!=
0
){
if
(
Objects
.
nonNull
(
hgsc004a
.
getId
())&&
hgsc004a
.
getId
()!=
0
){
if
(
hgsc004a
.
getLv
().
intValue
()
==
3
){
//替换/修改
hgsc004a
.
setProductType
(
ProductTypeEnum
.
STRUCT
.
getCode
().
toString
());
replaceEntity
(
hgsc004a
,
hgsc004
);
}
else
{
hgsc004a
.
setProductType
(
ProductTypeEnum
.
PART
.
getCode
().
toString
());
}
//主表全部提交时需要有改变状态
if
(
hgsc004
.
getMaterialStatus
().
intValue
()
==
HGConstant
.
MaterialStatus
.
QBTJ
){
hgsc004a
.
setChangeType
(
HGConstant
.
ChangeType
.
TH
);
HGSC004A
oldHGSC004A
=
(
HGSC004A
)
super
.
dao
.
get
(
HGSC004A
.
QUERY
,
HGSC004A
.
FIELD_id
,
hgsc004a
.
getId
());
HGSCTools
.
THGSC004B
.
save
(
oldHGSC004A
,
hgsc004a
);
}
DaoUtils
.
update
(
HGSC004A
.
UPDATE
,
hgsc004a
);
}
else
{
}
else
{
hgsc004a
.
setProductStatus
(
HGConstant
.
ProductStatus
.
WTJ
);
//新增/增加
if
(
hgsc004a
.
getLv
().
intValue
()
==
3
){
addEntity
(
hgsc004a
,
hgsc004
);
hgsc004a
.
setProductType
(
ProductTypeEnum
.
STRUCT
.
getCode
().
toString
());
}
else
{
hgsc004a
.
setProductType
(
ProductTypeEnum
.
PART
.
getCode
().
toString
());
}
//主表全部提交时需要有改变状态
if
(
hgsc004
.
getMaterialStatus
().
intValue
()
==
HGConstant
.
MaterialStatus
.
QBTJ
){
hgsc004a
.
setChangeType
(
HGConstant
.
ChangeType
.
ZJ
);
Long
maxId
=
(
Long
)
super
.
dao
.
get
(
HGSC004A
.
MAX_ID
,
null
,
null
);
hgsc004a
.
setId
(
maxId
+
1
);
HGSCTools
.
THGSC004B
.
save
(
null
,
hgsc004a
);
}
DaoUtils
.
insert
(
HGSC004A
.
INSERT
,
hgsc004a
);
}
}
}
}
inInfo
.
setStatus
(
EiConstant
.
STATUS_DEFAULT
);
inInfo
.
setStatus
(
EiConstant
.
STATUS_DEFAULT
);
...
@@ -169,6 +207,83 @@ public class ServiceHGSC004A extends ServiceBase {
...
@@ -169,6 +207,83 @@ public class ServiceHGSC004A extends ServiceBase {
return
inInfo
;
return
inInfo
;
}
}
private
void
addEntity
(
HGSC004A
hgsc004a
,
HGSC004
hgsc004
)
{
hgsc004a
.
setProductStatus
(
HGConstant
.
ProductStatus
.
WTJ
);
if
(
hgsc004a
.
getLv
().
intValue
()
==
3
){
hgsc004a
.
setProductType
(
ProductTypeEnum
.
STRUCT
.
getCode
().
toString
());
}
else
{
hgsc004a
.
setProductType
(
ProductTypeEnum
.
PART
.
getCode
().
toString
());
}
//主表全部提交时需要有改变状态
if
(
hgsc004
.
getMaterialStatus
().
intValue
()
==
HGConstant
.
MaterialStatus
.
QBTJ
){
hgsc004a
.
setChangeType
(
HGConstant
.
ChangeType
.
ZJ
);
Long
maxId
=
(
Long
)
super
.
dao
.
get
(
HGSC004A
.
MAX_ID
,
null
,
null
);
hgsc004a
.
setId
(
maxId
+
1
);
HGSCTools
.
THGSC004B
.
save
(
null
,
hgsc004a
);
//新增生产计划
HGSC005A
hgsc005a
=
new
HGSC005A
();
BeanUtil
.
copyProperties
(
hgsc004a
,
hgsc005a
,
"id"
,
"productType"
);
hgsc005a
.
setMatDetailId
(
hgsc004a
.
getId
());
hgsc005a
.
setMatId
(
hgsc004
.
getId
());
hgsc005a
.
setProductType
(
Integer
.
valueOf
(
hgsc004a
.
getProductType
()));
Long
techFlowId
=
(
Long
)
DaoBase
.
getInstance
().
get
(
HGSC004A
.
QUERY_TECHFLOW_ID_BY_PRODUCTID
,
HGSC004A
.
FIELD_product_id
,
hgsc004a
.
getProductId
());
hgsc005a
.
setTechFlowId
(
techFlowId
);
HGSCTools
.
THGSC005A
.
save
(
hgsc005a
);
}
DaoUtils
.
insert
(
HGSC004A
.
INSERT
,
hgsc004a
);
}
/**
* 替换,需要先删除计划里面的明细,或者修改明细数量
* @param hgsc004a
* @param hgsc004
*/
private
void
replaceEntity
(
HGSC004A
hgsc004a
,
HGSC004
hgsc004
)
{
if
(
hgsc004a
.
getLv
().
intValue
()
==
3
){
hgsc004a
.
setProductType
(
ProductTypeEnum
.
STRUCT
.
getCode
().
toString
());
//查询零件,修改零件的父级
Map
paramMap
=
new
HashMap
();
paramMap
.
put
(
HGSC004A
.
FIELD_material_id
,
hgsc004a
.
getMaterialId
());
paramMap
.
put
(
HGSC004A
.
FIELD_product_code
,
hgsc004a
.
getParentProdCode
());
List
<
HGSC004A
>
oldObjList
=
dao
.
query
(
HGSC004A
.
QUERY
,
paramMap
);
oldObjList
.
forEach
(
o
->{
o
.
setParentProdCode
(
hgsc004a
.
getProductCode
());
o
.
setParentProdName
(
hgsc004a
.
getParentProdName
());
});
DaoUtils
.
updateBatch
(
HGSC004A
.
UPDATE
,
oldObjList
);
}
else
{
hgsc004a
.
setProductType
(
ProductTypeEnum
.
PART
.
getCode
().
toString
());
}
//主表全部提交时需要有改变状态
if
(
hgsc004
.
getMaterialStatus
().
intValue
()
==
HGConstant
.
MaterialStatus
.
QBTJ
){
hgsc004a
.
setChangeType
(
HGConstant
.
ChangeType
.
TH
);
HGSC004A
oldHGSC004A
=
(
HGSC004A
)
super
.
dao
.
get
(
HGSC004A
.
QUERY
,
HGSC004A
.
FIELD_id
,
hgsc004a
.
getId
());
HGSCTools
.
THGSC004B
.
save
(
oldHGSC004A
,
hgsc004a
);
Long
techFlowId
=
(
Long
)
DaoBase
.
getInstance
().
get
(
HGSC004A
.
QUERY_TECHFLOW_ID_BY_PRODUCTID
,
HGSC004A
.
FIELD_product_id
,
hgsc004a
.
getProductId
());
//删除或修改数量生产计划
HGSC005A
delHgsc005a
=
new
HGSC005A
();
BeanUtil
.
copyProperties
(
oldHGSC004A
,
delHgsc005a
,
"id"
,
"productType"
);
delHgsc005a
.
setMatDetailId
(
oldHGSC004A
.
getId
());
delHgsc005a
.
setMatId
(
hgsc004
.
getId
());
delHgsc005a
.
setProductType
(
Integer
.
valueOf
(
oldHGSC004A
.
getProductType
()));
delHgsc005a
.
setTechFlowId
(
techFlowId
);
HGSCTools
.
THGSC005A
.
delete
(
delHgsc005a
);
//变更生产计划
HGSC005A
hgsc005a
=
new
HGSC005A
();
BeanUtil
.
copyProperties
(
hgsc004a
,
hgsc005a
,
"id"
,
"productType"
);
hgsc005a
.
setMatDetailId
(
hgsc004a
.
getId
());
hgsc005a
.
setMatId
(
hgsc004
.
getId
());
hgsc005a
.
setProductType
(
Integer
.
valueOf
(
hgsc004a
.
getProductType
()));
hgsc005a
.
setTechFlowId
(
techFlowId
);
HGSCTools
.
THGSC005A
.
update
(
hgsc005a
);
}
DaoUtils
.
update
(
HGSC004A
.
UPDATE
,
hgsc004a
);
}
/**
/**
* 校验保存的数据
* 校验保存的数据
*
*
...
@@ -194,6 +309,8 @@ public class ServiceHGSC004A extends ServiceBase {
...
@@ -194,6 +309,8 @@ public class ServiceHGSC004A extends ServiceBase {
AssertUtils
.
isEmpty
(
hgsc004a
.
getCompanyCode
(),
"请选择公司!"
);
AssertUtils
.
isEmpty
(
hgsc004a
.
getCompanyCode
(),
"请选择公司!"
);
AssertUtils
.
isEmpty
(
hgsc004a
.
getProjCode
(),
"请填写项目编号!"
);
AssertUtils
.
isEmpty
(
hgsc004a
.
getProjCode
(),
"请填写项目编号!"
);
AssertUtils
.
isEmpty
(
hgsc004a
.
getProjName
(),
"请填写项目名称!"
);
AssertUtils
.
isEmpty
(
hgsc004a
.
getProjName
(),
"请填写项目名称!"
);
AssertUtils
.
isTrue
(
hgsc004a
.
getSingleWeight
().
compareTo
(
BigDecimal
.
ZERO
)
<=
0
,
"单重不能小于等于0!"
);
}
}
...
@@ -254,11 +371,16 @@ public class ServiceHGSC004A extends ServiceBase {
...
@@ -254,11 +371,16 @@ public class ServiceHGSC004A extends ServiceBase {
//获取主表信息
//获取主表信息
HGSC004
hgsc004
=
(
HGSC004
)
super
.
dao
.
get
(
HGSC004
.
QUERY_BY_ID
,
HGSC004
.
FIELD_id
,
materialId
);
HGSC004
hgsc004
=
(
HGSC004
)
super
.
dao
.
get
(
HGSC004
.
QUERY_BY_ID
,
HGSC004
.
FIELD_id
,
materialId
);
Map
<
String
,
Object
>
queryEntityMap
=
new
HashMap
<>();
queryEntityMap
.
put
(
"materialId"
,
materialId
);
List
<
HGSC004A
>
allHgsc004AList
=
dao
.
query
(
HGSC004A
.
QUERY
,
queryEntityMap
,
0
,
-
999999
);
for
(
i
=
0
;
i
<
eiBlock
.
getRowCount
();
i
++)
{
for
(
i
=
0
;
i
<
eiBlock
.
getRowCount
();
i
++)
{
Map
<?,
?>
map
=
eiBlock
.
getRow
(
i
);
Map
<?,
?>
map
=
eiBlock
.
getRow
(
i
);
//前端传参不完成
//前端传参不完成
hgsc004a
.
fromMap
(
map
);
hgsc004a
.
fromMap
(
map
);
if
(
Objects
.
nonNull
(
hgsc004
)){
if
(
Objects
.
nonNull
(
hgsc004
)){
//全部提交后的操作,如新增的提交、替换的提交
if
(
hgsc004
.
getMaterialStatus
().
intValue
()
==
HGConstant
.
MaterialStatus
.
QBTJ
){
if
(
hgsc004
.
getMaterialStatus
().
intValue
()
==
HGConstant
.
MaterialStatus
.
QBTJ
){
hgsc004a
=
(
HGSC004A
)
super
.
dao
.
get
(
HGSC004A
.
QUERY_BY_MATERIAL_ID
,
HGSC004A
.
FIELD_id
,
hgsc004a
.
getId
());
hgsc004a
=
(
HGSC004A
)
super
.
dao
.
get
(
HGSC004A
.
QUERY_BY_MATERIAL_ID
,
HGSC004A
.
FIELD_id
,
hgsc004a
.
getId
());
//校验计划父单据是否提交,提交了不让新增
//校验计划父单据是否提交,提交了不让新增
...
@@ -275,6 +397,18 @@ public class ServiceHGSC004A extends ServiceBase {
...
@@ -275,6 +397,18 @@ public class ServiceHGSC004A extends ServiceBase {
}
}
HGSCTools
.
THGSC005A
.
save
(
hgsc005a
);
HGSCTools
.
THGSC005A
.
save
(
hgsc005a
);
}
else
{
}
else
{
//构建全部提交
if
(
hgsc004a
.
getProductType
().
equals
(
ProductTypeEnum
.
STRUCT
.
getCode
().
toString
())){
HGSC004A
finalHgsc004a
=
hgsc004a
;
List
<
HGSC004A
>
partList
=
allHgsc004AList
.
stream
().
filter
(
o
->
o
.
getParentProdCode
().
equals
(
finalHgsc004a
.
getProductCode
())
&&
o
.
getProductStatus
().
intValue
()
==
HGConstant
.
ProductStatus
.
WTJ
).
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
partList
)){
partList
.
forEach
(
o
->{
o
.
setProductStatus
(
HGConstant
.
ProductStatus
.
YTJ
);
});
DaoUtils
.
updateBatch
(
HGSC004A
.
UPDATE_PRODUCT_STATUS
,
partList
);
}
}
Map
<
String
,
Object
>
mapA
=
new
HashMap
<>();
Map
<
String
,
Object
>
mapA
=
new
HashMap
<>();
mapA
.
put
(
"materialId"
,
hgsc004a
.
getMaterialId
());
mapA
.
put
(
"materialId"
,
hgsc004a
.
getMaterialId
());
mapA
.
put
(
"productStatus"
,
HGConstant
.
ProductStatus
.
WTJ
);
mapA
.
put
(
"productStatus"
,
HGConstant
.
ProductStatus
.
WTJ
);
...
@@ -292,7 +426,6 @@ public class ServiceHGSC004A extends ServiceBase {
...
@@ -292,7 +426,6 @@ public class ServiceHGSC004A extends ServiceBase {
saveTHGSC005
(
hgsc004
,
hgsc004a
);
saveTHGSC005
(
hgsc004
,
hgsc004a
);
}
}
}
}
}
}
hgsc004a
.
setProductStatus
(
HGConstant
.
ProductStatus
.
YTJ
);
hgsc004a
.
setProductStatus
(
HGConstant
.
ProductStatus
.
YTJ
);
DaoUtils
.
update
(
HGSC004A
.
UPDATE_PRODUCT_STATUS
,
hgsc004a
);
DaoUtils
.
update
(
HGSC004A
.
UPDATE_PRODUCT_STATUS
,
hgsc004a
);
...
...
src/main/java/com/baosight/hggp/hg/sc/sql/HGSC004A.xml
View file @
f8296b1d
...
@@ -221,6 +221,9 @@
...
@@ -221,6 +221,9 @@
<isNotEmpty
prepend=
" AND "
property=
"materialId"
>
<isNotEmpty
prepend=
" AND "
property=
"materialId"
>
a.material_id = #materialId#
a.material_id = #materialId#
</isNotEmpty>
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"materialId"
>
a.material_id = #materialId#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"id"
>
<isNotEmpty
prepend=
" AND "
property=
"id"
>
a.id = #id#
a.id = #id#
</isNotEmpty>
</isNotEmpty>
...
@@ -235,7 +238,7 @@
...
@@ -235,7 +238,7 @@
</select>
</select>
<select
id=
"queryTechFlowIdByProductId"
parameterClass=
"java.util.HashMap"
<select
id=
"queryTechFlowIdByProductId"
parameterClass=
"java.util.HashMap"
resultClass=
"
com.baosight.hggp.hg.sc.domain.HGSC004A
"
>
resultClass=
"
Long
"
>
SELECT
SELECT
b.flow_id as "techFlowId"
b.flow_id as "techFlowId"
FROM ${hggpSchema}.hgpz005 b
FROM ${hggpSchema}.hgpz005 b
...
@@ -243,6 +246,9 @@
...
@@ -243,6 +246,9 @@
<isNotEmpty
prepend=
" AND "
property=
"productId"
>
<isNotEmpty
prepend=
" AND "
property=
"productId"
>
b.id = #productId#
b.id = #productId#
</isNotEmpty>
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"productIds"
>
b.id IN
<iterate
close=
")"
open=
"("
conjunction=
","
property=
"productIds"
>
#productIds[]#
</iterate>
</isNotEmpty>
<dynamic
prepend=
"ORDER BY"
>
<dynamic
prepend=
"ORDER BY"
>
<isNotEmpty
property=
"orderBy"
>
<isNotEmpty
property=
"orderBy"
>
$orderBy$
$orderBy$
...
...
src/main/webapp/HG/SC/HGSC004A.js
View file @
f8296b1d
...
@@ -8,8 +8,11 @@ $(function () {
...
@@ -8,8 +8,11 @@ $(function () {
$
(
"#QUERY"
).
on
(
"click"
,
function
()
{
$
(
"#QUERY"
).
on
(
"click"
,
function
()
{
query
();
query
();
});
});
// 批量提交
$
(
"#BATCH_SUBMIT"
).
on
(
"click"
,
batchSubmit
);
let
inventNameGlobalData
=
[];
let
inventNameGlobalData
=
[];
let
parentId
=
''
;
let
parentId
=
''
;
var
strs
;
var
strs
;
...
@@ -30,6 +33,7 @@ $(function () {
...
@@ -30,6 +33,7 @@ $(function () {
* @param options: 树的配置项
* @param options: 树的配置项
*/
*/
query
:
function
(
postEiInfo
,
model
)
{
query
:
function
(
postEiInfo
,
model
)
{
postEiInfo
.
set
(
"companyCode"
,
companyCode
?
companyCode
:
null
);
postEiInfo
.
set
(
"companyCode"
,
companyCode
?
companyCode
:
null
);
postEiInfo
.
set
(
"projCode"
,
projCode
?
projCode
:
null
);
postEiInfo
.
set
(
"projCode"
,
projCode
?
projCode
:
null
);
postEiInfo
.
set
(
"materialId"
,
$
(
"#inqu_status-0-materialId"
).
val
());
postEiInfo
.
set
(
"materialId"
,
$
(
"#inqu_status-0-materialId"
).
val
());
...
@@ -111,6 +115,8 @@ $(function () {
...
@@ -111,6 +115,8 @@ $(function () {
let
status
=
item
.
productStatus
;
let
status
=
item
.
productStatus
;
let
changeType
=
item
.
changeType
;
let
changeType
=
item
.
changeType
;
let
template
=
''
;
let
template
=
''
;
// template += '<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" '
// + 'onclick="saveDetail()" >保存</a>';
if
(
item
.
id
){
if
(
item
.
id
){
if
(
changeType
!=
0
){
if
(
changeType
!=
0
){
template
+=
'<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" '
template
+=
'<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" '
...
@@ -120,10 +126,12 @@ $(function () {
...
@@ -120,10 +126,12 @@ $(function () {
template
+=
'<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" '
template
+=
'<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" '
+
'onclick="updateProductStatus('
+
item
.
id
+
',1)" >提交</a>'
;
+
'onclick="updateProductStatus('
+
item
.
id
+
',1)" >提交</a>'
;
}
}
// else if (status == 1) {
if
(
changeType
!=
3
){
// template += '<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" ' +
template
+=
'<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" '
// 'onclick="updateProductStatus(' + item.id + ',0)" >取消提交</a>';
+
'onclick="deteleDetail('
+
item
.
id
+
')" >删除</a>'
;
// }
}
}
}
return
template
;
return
template
;
}
}
...
@@ -257,13 +265,13 @@ $(function () {
...
@@ -257,13 +265,13 @@ $(function () {
let
totalWeight
=
item
.
quantity
*
item
.
singleWeight
;
let
totalWeight
=
item
.
quantity
*
item
.
singleWeight
;
resultGrid
.
setCellValue
(
item
,
'totalWeight'
,
totalWeight
)
resultGrid
.
setCellValue
(
item
,
'totalWeight'
,
totalWeight
)
}
}
loadChange
(
grid
,
e
,
"singleWeight"
);
}
}
if
(
e
.
field
==
"singleWeight"
)
{
if
(
e
.
field
==
"singleWeight"
)
{
if
(
item
.
quantity
&&
item
.
singleWeight
){
if
(
item
.
quantity
&&
item
.
singleWeight
){
let
totalWeight
=
item
.
quantity
*
item
.
singleWeight
;
let
totalWeight
=
item
.
quantity
*
item
.
singleWeight
;
resultGrid
.
setCellValue
(
item
,
'totalWeight'
,
totalWeight
)
resultGrid
.
setCellValue
(
item
,
'totalWeight'
,
totalWeight
)
}
}
loadChange
(
grid
,
e
,
"totalWeight"
);
}
}
});
});
},
},
...
@@ -444,7 +452,7 @@ $(function () {
...
@@ -444,7 +452,7 @@ $(function () {
});
});
});
});
$
(
window
).
load
(
function
()
{
$
(
window
).
load
(
function
()
{
query
();
//
query();
});
});
/**
/**
...
@@ -636,23 +644,104 @@ function showDetail(id) {
...
@@ -636,23 +644,104 @@ function showDetail(id) {
}
}
function
updateProductStatus
(
id
,
status
)
{
function
updateProductStatus
(
id
,
status
)
{
let
inEiInfo
=
new
EiInfo
();
JSUtils
.
confirm
(
"确定是否
\"
删除
\"
操作? "
,
{
inEiInfo
.
set
(
"result-0-id"
,
id
);
ok
:
function
()
{
inEiInfo
.
set
(
"result-0-productStatus"
,
status
);
let
inEiInfo
=
new
EiInfo
();
inEiInfo
.
set
(
"result-0-materialId"
,
$
(
"#inqu_status-0-materialId"
).
val
());
inEiInfo
.
set
(
"result-0-id"
,
id
);
EiCommunicator
.
send
(
'HGSC004A'
,
'updateProductStatus'
,
inEiInfo
,
{
inEiInfo
.
set
(
"result-0-productStatus"
,
status
);
onSuccess
(
response
)
{
inEiInfo
.
set
(
"result-0-materialId"
,
$
(
"#inqu_status-0-materialId"
).
val
());
NotificationUtil
(
response
.
msg
);
EiCommunicator
.
send
(
'HGSC004A'
,
'updateProductStatus'
,
inEiInfo
,
{
query
();
onSuccess
(
response
)
{
},
NotificationUtil
(
response
.
msg
);
onFail
(
errorMessage
,
status
,
e
)
{
query
();
NotificationUtil
(
"执行失败!"
,
"error"
);
refreshTree
();
}
},
},
{
onFail
(
errorMessage
,
status
,
e
)
{
async
:
false
NotificationUtil
(
"执行失败!"
,
"error"
);
}
},
{
async
:
false
}
);
}
}
);
}
);
}
}
function
saveDetail
()
{
JSUtils
.
confirm
(
"确定是否
\"
保存
\"
操作? "
,
{
ok
:
function
()
{
var
inEiInfo
=
new
EiInfo
();
inEiInfo
.
setByNode
(
"result"
);
EiCommunicator
.
send
(
'HGSC004A'
,
'save'
,
inEiInfo
,
{
onSuccess
(
response
)
{
NotificationUtil
(
response
.
msg
);
query
();
refreshTree
();
},
onFail
(
errorMessage
,
status
,
e
)
{
NotificationUtil
(
"执行失败!"
,
"error"
);
}
},
{
async
:
false
}
);
}
});
}
function
deteleDetail
(
id
)
{
JSUtils
.
confirm
(
"确定是否
\"
删除
\"
操作? "
,
{
ok
:
function
()
{
let
inEiInfo
=
new
EiInfo
();
inEiInfo
.
set
(
"result-0-id"
,
id
);
inEiInfo
.
set
(
"result-0-materialId"
,
$
(
"#inqu_status-0-materialId"
).
val
());
EiCommunicator
.
send
(
'HGSC004A'
,
'delete'
,
inEiInfo
,
{
onSuccess
(
response
)
{
NotificationUtil
(
response
.
msg
);
query
();
refreshTree
();
},
onFail
(
errorMessage
,
status
,
e
)
{
NotificationUtil
(
"执行失败!"
,
"error"
);
}
},
{
async
:
false
}
);
}
});
}
/**
* 提交操作
*
* @param id
* @param checkNo
*/
let
batchSubmit
=
function
()
{
let
rows
=
resultGrid
.
getCheckedRows
();
if
(
rows
.
length
<
1
)
{
message
(
"请选择数据"
)
return
;
}
for
(
let
i
=
0
;
i
<
rows
.
length
;
i
++
)
{
let
singleWeight
=
rows
[
i
][
'singleWeight'
];
let
quantity
=
rows
[
i
][
'quantity'
];
if
(
!
isNumber
(
singleWeight
)
||
!
isNumber
(
quantity
))
{
message
(
"第"
+
(
i
+
1
)
+
"行单重和数量必须是大于等于0的数字"
);
return
;
}
}
JSUtils
.
confirm
(
"确定对勾选中的["
+
rows
.
length
+
"]条数据做提交操作吗? "
,
{
ok
:
function
()
{
JSUtils
.
submitGridsData
(
"result"
,
"HGSC004A"
,
"updateProductStatus"
,
true
);
}
});
}
function
loadChange
(
grid
,
e
,
field
)
{
function
loadChange
(
grid
,
e
,
field
)
{
var
cell_label
=
field
,
that
=
grid
;
var
cell_label
=
field
,
that
=
grid
;
...
...
src/main/webapp/HG/SC/HGSC004A.jsp
View file @
f8296b1d
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
<div
id=
"right-pane"
class=
"i-fit-height"
style=
"width: 80%;float: right"
>
<div
id=
"right-pane"
class=
"i-fit-height"
style=
"width: 80%;float: right"
>
<EF:EFRegion
id=
"result"
title=
"明细信息"
>
<EF:EFRegion
id=
"result"
title=
"明细信息"
>
<EF:EFGrid
blockId=
"result"
autoDraw=
"
no"
checkMode=
"single
"
>
<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=
"lv"
cname=
"层级"
hidden=
"true"
/>
<EF:EFColumn
ename=
"lv"
cname=
"层级"
hidden=
"true"
/>
<EF:EFColumn
enable=
"false"
ename=
"parentProdCode"
hidden=
"true"
cname=
"上级产品编号"
/>
<EF:EFColumn
enable=
"false"
ename=
"parentProdCode"
hidden=
"true"
cname=
"上级产品编号"
/>
...
...
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