Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
yangxiujun
/
paidan_demo
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 39c7d181
authored
Nov 07, 2023
by
Ren Ping
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:自动任务优化
1 parent
83792934
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
34 additions
and
28 deletions
project-dispatch/src/main/java/com/dituhui/pea/dispatch/service/impl/BatchServiceImpl.java
project-dispatch/src/main/java/com/dituhui/pea/dispatch/service/impl/SolveServiceImpl.java
project-dispatch/src/main/resources/application.yaml
project-dispatch/src/main/java/com/dituhui/pea/dispatch/service/impl/BatchServiceImpl.java
View file @
39c7d18
...
@@ -214,6 +214,11 @@ public class BatchServiceImpl implements BatchService {
...
@@ -214,6 +214,11 @@ public class BatchServiceImpl implements BatchService {
}
else
{
}
else
{
batchNo
=
optional
.
get
().
getBatchNo
();
batchNo
=
optional
.
get
().
getBatchNo
();
batchDay
=
optional
.
get
().
getBatchDate
();
batchDay
=
optional
.
get
().
getBatchDate
();
// 执行数据库操作
String
sqlInsert
=
"update dispatch_batch set"
+
" group_id=?, engineer_num=0, order_num=0, start_time=?, end_time=null,status='RUNNING'"
+
" where team_id=? and batch_no=?"
;
jdbcTemplate
.
update
(
sqlInsert
,
groupId
,
LocalDateTime
.
now
(),
teamId
,
batchNo
);
}
}
log
.
info
(
"清理原批次数据, teamId:{}, day:{}, batchNo:{}"
,
teamId
,
batchDay
,
batchNo
);
log
.
info
(
"清理原批次数据, teamId:{}, day:{}, batchNo:{}"
,
teamId
,
batchDay
,
batchNo
);
...
@@ -225,40 +230,40 @@ public class BatchServiceImpl implements BatchService {
...
@@ -225,40 +230,40 @@ public class BatchServiceImpl implements BatchService {
//dispatchOrderRepository.deleteAllInBatch(dispatchOrderRepository.findByTeamIdAndBatchNo(teamId,batchNo));
//dispatchOrderRepository.deleteAllInBatch(dispatchOrderRepository.findByTeamIdAndBatchNo(teamId,batchNo));
log
.
info
(
"写入新批次技术员、工单数据, teamId:{}, day:{}, batchNo:{}"
,
teamId
,
batchDay
,
batchNo
);
log
.
info
(
"写入新批次技术员、工单数据, teamId:{}, day:{}, batchNo:{}"
,
teamId
,
batchDay
,
batchNo
);
String
sqlEngineer
=
"INSERT INTO dispatch_engineer (group_id, team_id, batch_no, engineer_code, engineer_name, x, y, max_num, max_minute, max_distance, vehicle_type)\n"
String
sqlEngineer
=
"INSERT INTO dispatch_engineer (group_id, team_id, batch_no, engineer_code, engineer_name, x, y, max_num, max_minute, max_distance, vehicle_type)\n"
+
"SELECT ?, o.team_id,?,o.engineer_code, a.name , b.x, b.y , max_num, max_minute, max_distance, b.vehicle FROM `org_team_engineer` o\n"
+
"SELECT ?, o.team_id,?,o.engineer_code, a.name , b.x, b.y , max_num, max_minute, max_distance, b.vehicle FROM `org_team_engineer` o\n"
+
" join engineer_info a on o.engineer_code=a.engineer_code\n"
+
" join engineer_info a on o.engineer_code=a.engineer_code\n"
+
" left join engineer_business b on a.engineer_code = b.engineer_code\n"
+
" left join engineer_business b on a.engineer_code = b.engineer_code\n"
+
" WHERE o.team_id=? AND o.`status`=1\n"
+
" WHERE o.team_id=? AND o.`status`=1\n"
//+ " AND b.x IS NOT NULL AND b.x !=''"
//+ " AND b.x IS NOT NULL AND b.x !=''"
+
" order by a.engineer_code asc"
;
+
" order by a.engineer_code asc"
;
int
engCount
=
jdbcTemplate
.
update
(
sqlEngineer
,
groupId
,
batchNo
,
teamId
);
int
engCount
=
jdbcTemplate
.
update
(
sqlEngineer
,
groupId
,
batchNo
,
teamId
);
// 未派过的工单(已派过PRE状态还可以再次派)
// 未派过的工单(已派过PRE状态还可以再次派)
String
sqlOrder
=
"INSERT INTO dispatch_order (group_id, batch_no, team_id, order_id , dt, x, y, \n"
String
sqlOrder
=
"INSERT INTO dispatch_order (group_id, batch_no, team_id, order_id , dt, x, y, \n"
+
" expect_time_begin, expect_time_end, tags, priority , skills , take_time, status )\n"
+
" expect_time_begin, expect_time_end, tags, priority , skills , take_time, status )\n"
+
" SELECT ?, ?, a.org_team_id , a.order_id, ?, a.x, a.y , \n"
+
" SELECT ?, ?, a.org_team_id , a.order_id, ?, a.x, a.y , \n"
+
" a.expect_time_begin, a.expect_time_end, a.tags, a.priority , \n"
+
" a.expect_time_begin, a.expect_time_end, a.tags, a.priority , \n"
+
" CONCAT(a.brand, '-', a.type, '-', a.skill) skills , a.take_time , a.appointment_status\n"
+
" CONCAT(a.brand, '-', a.type, '-', a.skill) skills , a.take_time , a.appointment_status\n"
+
" FROM order_info a \n"
+
" WHERE a.org_team_id=? AND a.dt = ? AND bean_status='OPEN'\n"
+
" FROM order_info a \n"
+
" WHERE a.org_team_id=? AND a.dt = ? AND bean_status='OPEN'\n"
+
" AND appointment_method LIKE 'AUTO%' AND a.appointment_status IN ('INIT', 'PRE')\n"
+
" AND appointment_method LIKE 'AUTO%' AND a.appointment_status IN ('INIT', 'PRE')\n"
+
" AND order_status ='NORMAL' AND service_status='INIT'\n"
+
" AND order_status ='NORMAL' AND service_status='INIT'\n"
+
" ORDER BY a.expect_time_begin ASC \n"
;
+
" ORDER BY a.expect_time_begin ASC \n"
;
int
orderCount
=
jdbcTemplate
.
update
(
sqlOrder
,
groupId
,
batchNo
,
batchDay
,
teamId
,
batchDay
);
int
orderCount
=
jdbcTemplate
.
update
(
sqlOrder
,
groupId
,
batchNo
,
batchDay
,
teamId
,
batchDay
);
// confirm的要做预占用,所以也加入进来
// confirm的要做预占用,所以也加入进来
String
sqlOrderConfirm
=
"INSERT INTO dispatch_order (group_id, batch_no, team_id, order_id , dt, x, y, \n"
+
String
sqlOrderConfirm
=
"INSERT INTO dispatch_order (group_id, batch_no, team_id, order_id , dt, x, y, \n"
+
" expect_time_begin, expect_time_end, tags, priority , skills , take_time, status, engineer_code, time_begin, time_end )\n"
+
" expect_time_begin, expect_time_end, tags, priority , skills , take_time, status, engineer_code, time_begin, time_end )\n"
+
" select ?, ?, a.org_team_id , a.order_id, a.dt, a.x, a.y , \n"
+
" select ?, ?, a.org_team_id , a.order_id, a.dt, a.x, a.y , \n"
+
" a.expect_time_begin, a.expect_time_end, a.tags, a.priority , \n"
+
" a.expect_time_begin, a.expect_time_end, a.tags, a.priority , \n"
+
" concat(a.brand, '-', a.type, '-', a.skill) skills , a.take_time, a.appointment_status, \n"
+
" concat(a.brand, '-', a.type, '-', a.skill) skills , a.take_time, a.appointment_status, \n"
+
" a.engineer_code, a.plan_start_time, a.plan_end_time \n"
+
" a.engineer_code, a.plan_start_time, a.plan_end_time \n"
+
" from order_info a \n"
+
" from order_info a \n"
+
" where a.org_team_id=? and a.dt = ? and bean_status='OPEN'\n"
+
" where a.org_team_id=? and a.dt = ? and bean_status='OPEN'\n"
+
" and appointment_method like 'AUTO%' and a.appointment_status in ('CONFIRM')\n"
+
" and appointment_method like 'AUTO%' and a.appointment_status in ('CONFIRM')\n"
+
" and order_status ='NORMAL' and service_status='INIT'\n"
+
" and order_status ='NORMAL' and service_status='INIT'\n"
+
" order by a.expect_time_begin asc "
;
" order by a.expect_time_begin asc "
;
int
orderConfirmCount
=
jdbcTemplate
.
update
(
sqlOrderConfirm
,
groupId
,
batchNo
,
teamId
,
batchDay
);
int
orderConfirmCount
=
jdbcTemplate
.
update
(
sqlOrderConfirm
,
groupId
,
batchNo
,
teamId
,
batchDay
);
log
.
info
(
"准备批次数据 engCount:{}, orderCount:{}, orderConfirmCount:{}"
,
engCount
,
orderCount
,
orderConfirmCount
);
log
.
info
(
"准备批次数据 engCount:{}, orderCount:{}, orderConfirmCount:{}"
,
engCount
,
orderCount
,
orderConfirmCount
);
...
...
project-dispatch/src/main/java/com/dituhui/pea/dispatch/service/impl/SolveServiceImpl.java
View file @
39c7d18
This diff is collapsed.
Click to expand it.
project-dispatch/src/main/resources/application.yaml
View file @
39c7d18
...
@@ -60,12 +60,13 @@ spring:
...
@@ -60,12 +60,13 @@ spring:
#调度实例失效的检查时间间隔
#调度实例失效的检查时间间隔
clusterCheckinInterval
:
10000
clusterCheckinInterval
:
10000
useProperties
:
false
useProperties
:
false
misfireThreshold
:
600000
threadPool
:
threadPool
:
class
:
org.quartz.simpl.SimpleThreadPool
class
:
org.quartz.simpl.SimpleThreadPool
# 指定在线程池里面创建的线程是否是守护线程
# 指定在线程池里面创建的线程是否是守护线程
makeThreadsDaemons
:
false
makeThreadsDaemons
:
false
#指定线程数,至少为1(无默认值,一般设置为1-100)
#指定线程数,至少为1(无默认值,一般设置为1-100)
threadCount
:
5
threadCount
:
10
#设置线程的优先级(最大为java.lang.Thread.MAX_PRIORITY 10,最小为Thread.MIN_PRIORITY 1,默认为5)
#设置线程的优先级(最大为java.lang.Thread.MAX_PRIORITY 10,最小为Thread.MIN_PRIORITY 1,默认为5)
threadPriority
:
5
threadPriority
:
5
threadsInheritContextClassLoaderOfInitializingThread
:
true
threadsInheritContextClassLoaderOfInitializingThread
:
true
...
...
Write
Preview
Markdown
is supported
Attach a file
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 post a comment