Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
hp-smart
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
platform
hp-smart
Commits
7887ded3
Commit
7887ded3
authored
Sep 18, 2024
by
liuyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2024-08-27 生产订单添加改派功能和撤销派工功能
parent
36353c81
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
254 additions
and
8 deletions
+254
-8
ServiceHPSC005A.java
...java/com/baosight/hpjx/hp/sc/service/ServiceHPSC005A.java
+73
-5
HPSC005.xml
src/main/java/com/baosight/hpjx/hp/sc/sql/HPSC005.xml
+3
-0
HPSC005A.xml
src/main/java/com/baosight/hpjx/hp/sc/sql/HPSC005A.xml
+15
-0
HPSCTools.java
src/main/java/com/baosight/hpjx/hp/sc/tools/HPSCTools.java
+43
-2
HPZL001.xml
src/main/java/com/baosight/hpjx/hp/zl/sql/HPZL001.xml
+3
-0
HPZLTools.java
src/main/java/com/baosight/hpjx/hp/zl/tools/HPZLTools.java
+17
-0
HPSC005.js
src/main/webapp/HP/SC/HPSC005.js
+99
-0
HPSC005.jsp
src/main/webapp/HP/SC/HPSC005.jsp
+1
-1
No files found.
src/main/java/com/baosight/hpjx/hp/sc/service/ServiceHPSC005A.java
View file @
7887ded3
...
...
@@ -11,6 +11,8 @@ import com.baosight.hpjx.hp.sc.domain.HPSC005;
import
com.baosight.hpjx.hp.sc.domain.HPSC005A
;
import
com.baosight.hpjx.hp.sc.tools.HPSCTools
;
import
com.baosight.hpjx.hp.xs.tools.HPXSTools
;
import
com.baosight.hpjx.hp.zl.domain.HPZL001
;
import
com.baosight.hpjx.hp.zl.tools.HPZLTools
;
import
com.baosight.hpjx.util.AssertUtils
;
import
com.baosight.hpjx.util.CommonMethod
;
import
com.baosight.hpjx.util.EiInfoUtils
;
...
...
@@ -21,12 +23,11 @@ import com.baosight.iplat4j.core.ei.EiConstant;
import
com.baosight.iplat4j.core.ei.EiInfo
;
import
com.baosight.iplat4j.core.service.impl.ServiceBase
;
import
com.baosight.iplat4j.ed.util.SequenceGenerator
;
import
org.apache.commons.collections.CollectionUtils
;
import
java.math.BigDecimal
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* 生产任务
...
...
@@ -274,7 +275,74 @@ public class ServiceHPSC005A extends ServiceBase {
}
return
inInfo
;
}
/**
* 分派
*
* @param inInfo
* @return
*/
@OperationLogAnnotation
(
operModul
=
"拆单派工"
,
operType
=
"改派"
,
operDesc
=
"生产订单-拆单派工A-改派"
)
public
EiInfo
assignChange
(
EiInfo
inInfo
)
{
try
{
String
[]
prodOrderNos
=
inInfo
.
getString
(
"prodOrderNos"
).
split
(
","
);
//生产订单号
String
factoryCode
=
inInfo
.
getString
(
"factoryCode"
);
String
factoryName
=
inInfo
.
getString
(
"factoryName"
);
String
groupCode
=
inInfo
.
getString
(
"groupCode"
);
String
groupName
=
inInfo
.
getString
(
"groupName"
);
// 校验主订单是否已分派
List
<
HPSC005
>
hgsc005List
=
HPSCTools
.
HpSc005
.
get
(
Arrays
.
asList
(
prodOrderNos
));
AssertUtils
.
isTrue
(
CollectionUtils
.
isEmpty
(
hgsc005List
),
"未找到生产订单信息"
);
//List<String> prodOrderNos = hgsc005List.stream().map(HPSC005::getProdOrderNo).collect(Collectors.toList());
List
<
HPSC005A
>
hgsc005AList
=
HPSCTools
.
HpSc005a
.
getByProdOrderNo
(
Arrays
.
asList
(
prodOrderNos
));
List
<
HPZL001
>
hpzl001List
=
HPZLTools
.
getByprodOrderNos
(
Arrays
.
asList
(
prodOrderNos
));
AssertUtils
.
isTrue
(
CollectionUtils
.
isNotEmpty
(
hpzl001List
),
"生产订单已经进入质检环节,无法改派"
);
// 锁主单号
HPSCTools
.
HpSc005a
.
lock
(
Arrays
.
asList
(
prodOrderNos
));
for
(
HPSC005A
hgsc005A
:
hgsc005AList
)
{
hgsc005A
.
setOrgNo
(
groupCode
);
hgsc005A
.
setOrgName
(
groupName
);
hgsc005A
.
setFactoryCode
(
factoryCode
);
hgsc005A
.
setFactoryName
(
factoryName
);
DaoUtils
.
update
(
"HPSC005A.updateFactoryCode"
,
hgsc005A
);
}
inInfo
.
setStatus
(
EiConstant
.
STATUS_DEFAULT
);
inInfo
.
setMsg
(
"操作成功!本次对["
+
prodOrderNos
.
length
+
"]条数据改派成功!"
);
}
catch
(
Exception
e
)
{
LogUtils
.
setMsg
(
inInfo
,
e
,
"改派失败"
);
}
return
inInfo
;
}
@OperationLogAnnotation
(
operModul
=
"拆单派工"
,
operType
=
"撤销"
,
operDesc
=
"生产订单-拆单派工A-撤销"
)
public
EiInfo
revocation
(
EiInfo
inInfo
)
{
try
{
String
prodOrderNo
=
inInfo
.
getString
(
"prodOrderNo"
);
//生产订单号
// 校验主订单是否已分派
HPSC005
hgsc005
=
HPSCTools
.
HpSc005
.
get
(
prodOrderNo
);
AssertUtils
.
isEmpty
(
Collections
.
singleton
(
hgsc005
),
"未找到生产订单信息"
);
//List<String> prodOrderNos = hgsc005List.stream().map(HPSC005::getProdOrderNo).collect(Collectors.toList());
List
<
HPSC005A
>
hgsc005AList
=
HPSCTools
.
HpSc005a
.
getByProdOrderNo
(
prodOrderNo
);
List
<
HPZL001
>
hpzl001List
=
HPZLTools
.
getByprodOrderNos
(
Arrays
.
asList
(
prodOrderNo
));
AssertUtils
.
isTrue
(
CollectionUtils
.
isNotEmpty
(
hpzl001List
),
"生产订单已经进入质检环节,无法撤销"
);
hgsc005
.
setStatus
(
ProdOrderStatusEnum
.
NOT_ASSIGN
.
getCode
());
hgsc005
.
setAssignedNum
(
BigDecimal
.
ZERO
);
hgsc005
.
setUnassignedNum
(
hgsc005
.
getNum
());
DaoUtils
.
update
(
HPSC005
.
UPDATE
,
hgsc005
);
for
(
HPSC005A
hgsc005A:
hgsc005AList
)
{
DaoUtils
.
update
(
HPSC005A
.
DELETE
,
hgsc005A
);
}
inInfo
.
setStatus
(
EiConstant
.
STATUS_DEFAULT
);
inInfo
.
setMsg
(
"操作成功!本次对["
+
1
+
"]条数据撤销成功!"
);
}
catch
(
Exception
e
)
{
LogUtils
.
setMsg
(
inInfo
,
e
,
"撤销失败"
);
}
return
inInfo
;
}
/**
* 设置基础信息
*
...
...
src/main/java/com/baosight/hpjx/hp/sc/sql/HPSC005.xml
View file @
7887ded3
...
...
@@ -129,6 +129,9 @@
<isNotEmpty
prepend=
" AND "
property=
"matIds"
>
MAT_ID IN
<iterate
close=
")"
open=
"("
conjunction=
","
property=
"matIds"
>
#matIds[]#
</iterate>
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"prodOrderNos"
>
PROD_ORDER_NO IN
<iterate
close=
")"
open=
"("
conjunction=
","
property=
"prodOrderNos"
>
#prodOrderNos[]#
</iterate>
</isNotEmpty>
</sql>
<sql
id=
"authCondition"
>
...
...
src/main/java/com/baosight/hpjx/hp/sc/sql/HPSC005A.xml
View file @
7887ded3
...
...
@@ -92,6 +92,9 @@
<isNotEmpty
prepend=
" AND "
property=
"prodTaskNos"
>
PROD_TASK_NO IN
<iterate
close=
")"
open=
"("
conjunction=
","
property=
"prodTaskNos"
>
#prodTaskNos[]#
</iterate>
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"prodOrderNos"
>
PROD_ORDER_NO IN
<iterate
close=
")"
open=
"("
conjunction=
","
property=
"prodOrderNos"
>
#prodOrderNos[]#
</iterate>
</isNotEmpty>
</sql>
<!-- 公共修改字段 -->
...
...
@@ -179,6 +182,18 @@
WHERE ID = #id#
</update>
<!-- 工厂生产班组 -->
<update
id=
"updateFactoryCode"
>
UPDATE ${hpjxSchema}.T_HPSC005A
SET
FACTORY_CODE = #factoryCode#,
FACTORY_NAME = #factoryName#,
ORG_NO = #orgNo#,
ORG_NAME = #orgName#,
<include
refid=
"updateRevise"
/>
WHERE ID = #id#
</update>
<!-- 已完成数量 -->
<update
id=
"updateCompleteNum"
>
UPDATE ${hpjxSchema}.T_HPSC005A
...
...
src/main/java/com/baosight/hpjx/hp/sc/tools/HPSCTools.java
View file @
7887ded3
...
...
@@ -723,6 +723,20 @@ public class HPSCTools {
AssertUtils
.
isEmpty
(
results
,
String
.
format
(
"生产任务ID[%s]信息不存在"
,
id
));
return
results
.
get
(
0
);
}
/**
* 查询
*
* @param ids
* @return
*/
public
static
List
<
HPSC005
>
getById
(
List
<
String
>
ids
)
{
AssertUtils
.
isNull
(
ids
,
"生产任务ID不能为空"
);
Map
queryMap
=
new
HashMap
();
queryMap
.
put
(
"ids"
,
ids
);
List
<
HPSC005
>
results
=
DaoBase
.
getInstance
().
query
(
HPSC005
.
QUERY
,
queryMap
);
AssertUtils
.
isEmpty
(
results
,
String
.
format
(
"生产任务ID[%s]信息不存在"
,
ids
));
return
CollectionUtils
.
isEmpty
(
results
)?
null
:
results
;
}
/**
* 查询
...
...
@@ -798,6 +812,20 @@ public class HPSCTools {
}
/**
* 批量查询订单号
*
* @param prodOrderNos
* @return
*/
public
static
List
<
HPSC005
>
get
(
List
<
String
>
prodOrderNos
)
{
AssertUtils
.
isEmpty
(
prodOrderNos
,
"生产订单号不能为空"
);
Map
queryMap
=
new
HashMap
();
queryMap
.
put
(
"prodOrderNos"
,
prodOrderNos
);
List
<
HPSC005
>
results
=
DaoBase
.
getInstance
().
query
(
HPSC005
.
QUERY
,
queryMap
);
return
CollectionUtils
.
isEmpty
(
results
)?
null
:
results
;
}
/**
* 查询
*
* @param matId 物料ID
...
...
@@ -951,7 +979,7 @@ public class HPSCTools {
/**
* 查询信息
*
* @param prodTaskNo
* @param prodTaskNo
生产任务单号
* @return
*/
public
static
HPSC005A
get
(
String
prodTaskNo
)
{
...
...
@@ -966,7 +994,7 @@ public class HPSCTools {
/**
* 查询信息
*
* @param prodTaskNos
* @param prodTaskNos
生产任务单号
* @return
*/
public
static
List
<
HPSC005A
>
list
(
List
<
String
>
prodTaskNos
)
{
...
...
@@ -1004,6 +1032,19 @@ public class HPSCTools {
queryMap
.
put
(
"prodOrderNo"
,
prodOrderNo
);
return
DaoBase
.
getInstance
().
query
(
HPSC005A
.
QUERY
,
queryMap
);
}
/**
* 查询信息
*
* @param prodOrderNos 生产订单号
* @return
*/
public
static
List
<
HPSC005A
>
getByProdOrderNo
(
List
<
String
>
prodOrderNos
)
{
AssertUtils
.
isEmpty
(
prodOrderNos
,
"生产订单号不能为空"
);
Map
queryMap
=
new
HashMap
();
queryMap
.
put
(
"prodOrderNos"
,
prodOrderNos
);
return
DaoBase
.
getInstance
().
query
(
HPSC005A
.
QUERY
,
queryMap
);
}
}
...
...
src/main/java/com/baosight/hpjx/hp/zl/sql/HPZL001.xml
View file @
7887ded3
...
...
@@ -106,6 +106,9 @@
<isNotEmpty
prepend=
" AND "
property=
"status"
>
STATUS = #status#
</isNotEmpty>
<isNotEmpty
prepend=
" AND "
property=
"prodOrderNos"
>
PROD_ORDER_NO IN
<iterate
close=
")"
open=
"("
conjunction=
","
property=
"prodOrderNos"
>
#prodOrderNos[]#
</iterate>
</isNotEmpty>
</sql>
<!-- 公共修改字段 -->
...
...
src/main/java/com/baosight/hpjx/hp/zl/tools/HPZLTools.java
View file @
7887ded3
...
...
@@ -49,6 +49,23 @@ public class HPZLTools {
AssertUtils
.
isEmpty
(
results
,
String
.
format
(
"质检单号[%s]信息不存在"
,
checkNo
));
return
results
.
get
(
0
);
}
/**
* 查询质检生产订单
*
* @param prodOrderNos
* @return
*/
public
static
List
<
HPZL001
>
getByprodOrderNos
(
List
<
String
>
prodOrderNos
)
{
if
(
CollectionUtils
.
isEmpty
(
prodOrderNos
)){
return
null
;
}
Map
queryMap
=
new
HashMap
();
queryMap
.
put
(
"prodOrderNos"
,
prodOrderNos
);
queryMap
.
put
(
"deleteFlag"
,
0
);
List
<
HPZL001
>
results
=
DaoBase
.
getInstance
().
query
(
HPZL001
.
QUERY
,
queryMap
);
return
CollectionUtils
.
isEmpty
(
results
)?
null
:
results
;
}
/**
...
...
src/main/webapp/HP/SC/HPSC005.js
View file @
7887ded3
let
ids
=
[];
var
prodOrderNos
=
[];
$
(
function
()
{
// 查询
...
...
@@ -9,6 +10,8 @@ $(function () {
// 批量分派
$
(
"#ASSIGN"
).
on
(
"click"
,
assign
);
// 批量改派
$
(
"#BNT_ASSIGN_CHANGE"
).
on
(
"click"
,
assignChange
);
IPLATUI
.
EFGrid
.
result
=
{
pageable
:
{
...
...
@@ -29,6 +32,10 @@ $(function () {
}
template
+=
'<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" '
+
'onclick="showGroupDetail(
\'
'
+
prodOrderNo
+
'
\'
)" >任务详情</a>'
;
if
(
status
>
0
)
{
template
+=
'<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" '
+
'onclick="revocation(
\'
'
+
prodOrderNo
+
'
\'
)" >撤销</a>'
;
}
if
(
filePath1
)
{
template
+=
'<a style="cursor: pointer;display: inline-flex;justify-content: center;margin:auto 5px" '
+
'onclick="showUploadFile('
+
filePath1
+
')" >附件</a>'
;
...
...
@@ -167,6 +174,98 @@ function assign() {
}
}
function
assignChange
()
{
//重置全局变量
prodOrderNos
=
[];
let
rows
=
resultGrid
.
getCheckedRows
()
if
(
rows
.
length
<
1
)
{
message
(
"请至少选择一条需要改派的数据"
);
return
;
}
let
factoryCodes
=
rows
[
0
].
get
(
"factoryCode"
);
let
flag
=
true
;
$
.
each
(
rows
,
function
(
index
,
item
)
{
prodOrderNos
.
push
(
item
.
prodOrderNo
)
let
factoryCode
=
item
.
get
(
"factoryCode"
);
if
(
factoryCode
!=
factoryCodes
){
message
(
`选中第
${
index
+
1
}
选中的生产订单不上同一个工厂,无法改派!`
)
flag
=
false
;
return
false
;
}
if
(
item
.
status
==
0
){
message
(
`选中第
${
index
+
1
}
行的生产订单未派工,无法改派!`
)
flag
=
false
;
return
false
;
}
});
if
(
flag
)
{
// groupType=1:仅查询生产组
JSColorbox
.
open
({
href
:
"HPSC098?methodName=initLoad&inqu_status-0-orgType=prodGroup&inqu_status-0-factoryCode="
+
factoryCodes
,
title
:
"<div style='text-align: center;'>选择组织</div>"
,
width
:
"70%"
,
height
:
"70%"
,
callbackName
:
function
(
row
)
{
var
info
=
new
EiInfo
()
info
.
set
(
"prodOrderNos"
,
prodOrderNos
.
join
(
','
));
info
.
set
(
"factoryCode"
,
row
.
factoryCode
);
info
.
set
(
"factoryName"
,
row
.
factoryName
);
info
.
set
(
"groupCode"
,
row
.
groupCode
);
info
.
set
(
"groupName"
,
row
.
groupName
);
EiCommunicator
.
send
(
"HPSC005A"
,
"assignChange"
,
info
,
{
onSuccess
:
function
(
ei
)
{
if
(
ei
[
"status"
]
==
-
1
)
{
NotificationUtil
(
ei
,
"error"
);
}
else
{
NotificationUtil
({
msg
:
ei
.
msg
});
// 刷新列表
query
();
// 关闭弹窗
JSColorbox
.
close
();
}
},
onFail
:
function
(
ei
)
{
}
},
{
async
:
false
});
}
});
}
}
function
revocation
(
prodOrderNo
)
{
JSUtils
.
confirm
(
" 确定要撤销派工吗?"
,
{
ok
:
function
()
{
var
info
=
new
EiInfo
();
info
.
set
(
"prodOrderNo"
,
prodOrderNo
)
EiCommunicator
.
send
(
"HPSC005A"
,
"revocation"
,
info
,
{
onSuccess
:
function
(
ei
)
{
if
(
ei
.
getStatus
()
>=
0
)
{
try
{
}
catch
(
e
)
{
// TODO: handle exception
}
if
(
ei
.
getStatus
()
==
0
)
{
NotificationUtil
(
ei
,
'warning'
);
}
else
{
NotificationUtil
(
ei
);
}
query
();
}
else
{
NotificationUtil
(
ei
,
"error"
);
}
},
onFail
:
function
(
ei
)
{
// 发生异常
NotificationUtil
(
"操作失败,原因["
+
ei
+
"]"
,
"error"
);
}
});
}
});
}
/**
* 附件清单
*
...
...
src/main/webapp/HP/SC/HPSC005.jsp
View file @
7887ded3
...
...
@@ -29,7 +29,7 @@
<EF:EFRegion
id=
"result"
title=
"记录集"
>
<EF:EFGrid
blockId=
"result"
autoDraw=
"override"
checkMode=
"row"
isFloat=
"true"
>
<EF:EFColumn
ename=
"id"
cname=
"主键"
hidden=
"true"
/>
<EF:EFColumn
ename=
"operator"
cname=
"操作"
enable=
"false"
width=
"
17
0"
locked=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"operator"
cname=
"操作"
enable=
"false"
width=
"
21
0"
locked=
"true"
align=
"center"
/>
<EF:EFColumn
ename=
"prodOrderNo"
cname=
"生产订单号"
enable=
"false"
width=
"140"
align=
"center"
/>
<EF:EFComboColumn
ename=
"status"
cname=
"状态"
enable=
"false"
width=
"90"
align=
"center"
>
<EF:EFOption
label=
"未派工"
value=
"0"
/>
...
...
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