Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
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
项目统一框架
amos-boot-biz
Commits
4c04c25e
Commit
4c04c25e
authored
Aug 27, 2021
by
suhuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.app bug修改
2.维保设施同步新增修改,增加维保同步删除
parent
af60da62
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
89 additions
and
824 deletions
+89
-824
CheckController.java
...amos/maintenance/business/controller/CheckController.java
+21
-14
PointController.java
...amos/maintenance/business/controller/PointController.java
+2
-4
SynDataController.java
...os/maintenance/business/controller/SynDataController.java
+14
-213
PointServiceImpl.java
...s/maintenance/business/service/impl/PointServiceImpl.java
+11
-22
SynDataServiceImpl.java
...maintenance/business/service/impl/SynDataServiceImpl.java
+20
-524
IPointService.java
...mos/maintenance/business/service/intfc/IPointService.java
+2
-1
ISynDataService.java
...s/maintenance/business/service/intfc/ISynDataService.java
+7
-32
CheckController.java
...amos/supervision/business/controller/CheckController.java
+1
-3
MaintenanceApplication.java
...rc/main/java/com/yeejoin/amos/MaintenanceApplication.java
+5
-5
dbTemplate_check.xml
...tenance/src/main/resources/db/mapper/dbTemplate_check.xml
+6
-6
No files found.
amos-boot-module/amos-boot-module-biz/amos-boot-module-maintenance-biz/src/main/java/com/yeejoin/amos/maintenance/business/controller/CheckController.java
View file @
4c04c25e
...
...
@@ -3,8 +3,6 @@ package com.yeejoin.amos.maintenance.business.controller;
import
com.yeejoin.amos.boot.biz.common.bo.ReginParams
;
import
com.yeejoin.amos.maintenance.business.constants.XJConstant
;
import
com.yeejoin.amos.maintenance.business.dto.CheckDto
;
import
com.yeejoin.amos.maintenance.business.dto.CheckInputDto
;
import
com.yeejoin.amos.maintenance.business.dto.CheckShotDto
;
import
com.yeejoin.amos.maintenance.business.param.CheckInfoPageParam
;
import
com.yeejoin.amos.maintenance.business.param.CheckRecordParam
;
import
com.yeejoin.amos.maintenance.business.param.CheckStatisticalParam
;
...
...
@@ -13,6 +11,7 @@ import com.yeejoin.amos.maintenance.business.util.*;
import
com.yeejoin.amos.maintenance.business.vo.CheckAnalysisVo
;
import
com.yeejoin.amos.maintenance.business.vo.CheckInfoVo
;
import
com.yeejoin.amos.maintenance.common.enums.CheckRecordOrderByEnum
;
import
com.yeejoin.amos.maintenance.common.enums.CheckStatusEnum
;
import
com.yeejoin.amos.maintenance.core.async.AsyncTask
;
import
com.yeejoin.amos.maintenance.core.common.request.CommonPageable
;
import
com.yeejoin.amos.maintenance.core.common.request.CommonRequest
;
...
...
@@ -80,10 +79,11 @@ public class CheckController extends AbstractBaseController {
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PersonIdentify
@ApiOperation
(
value
=
"巡检记录查询"
,
notes
=
"巡检记录查询"
)
@RequestMapping
(
value
=
"/list"
,
produces
=
"application/json;charset=UTF-8"
,
method
=
RequestMethod
.
POST
)
public
CommonResponse
qryCheckInfoPage
(
@ApiParam
(
value
=
"查询条件"
,
required
=
false
)
@RequestBody
(
required
=
false
)
List
<
CommonRequest
>
queryRequests
,
@ApiParam
(
value
=
"查询条件"
)
@RequestBody
(
required
=
false
)
List
<
CommonRequest
>
queryRequests
,
@ApiParam
(
value
=
"分页参数"
,
required
=
true
)
CommonPageable
commonPageable
)
{
ReginParams
reginParams
=
getSelectedOrgInfo
();
String
orgCode
=
getOrgCode
(
reginParams
);
...
...
@@ -307,7 +307,7 @@ public class CheckController extends AbstractBaseController {
@ApiOperation
(
value
=
"维保日历-mobile"
,
notes
=
"维保日历-mobile"
)
@GetMapping
(
value
=
"/{date}/checkCalendar"
,
produces
=
"application/json;charset=UTF-8"
)
public
CommonResponse
checkCalendar
(
@ApiParam
(
value
=
"date,格式YYYY-MM-DD"
,
required
=
true
)
@PathVariable
String
date
)
{
@ApiParam
(
value
=
"date,格式YYYY-MM-DD"
,
required
=
true
)
@PathVariable
String
date
)
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
ReginParams
reginParams
=
getSelectedOrgInfo
();
String
loginOrgCode
=
getOrgCode
(
reginParams
);
...
...
@@ -480,7 +480,7 @@ public class CheckController extends AbstractBaseController {
return
CommonResponseUtil
.
success
(
checkService
.
obtainLastCheckRecord
(
relationId
));
}
@PersonIdentify
(
isNeedIdentity
=
true
)
@PersonIdentify
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
value
=
"维保记录分页查询"
,
notes
=
"维保记录分页查询"
)
@GetMapping
(
value
=
"/page"
)
...
...
@@ -492,10 +492,10 @@ public class CheckController extends AbstractBaseController {
@ApiParam
(
value
=
"开始时间"
)
@RequestParam
(
value
=
"beginTime"
,
required
=
false
)
String
beginTime
,
@ApiParam
(
value
=
"结束时间"
)
@RequestParam
(
value
=
"endTime"
,
required
=
false
)
String
endTime
,
@ApiParam
(
value
=
"维保人员"
)
@RequestParam
(
value
=
"personId"
,
required
=
false
)
String
person
,
@ApiParam
(
value
=
"业主单位"
)
@RequestParam
(
value
=
"
teamId"
,
required
=
false
)
String
team
Id
,
@ApiParam
(
value
=
"业主单位"
)
@RequestParam
(
value
=
"
companyId"
,
required
=
false
)
String
company
Id
,
@ApiParam
(
value
=
"设施Id"
)
@RequestParam
(
value
=
"equipId"
,
required
=
false
)
String
equipId
,
@ApiParam
(
value
=
"当前页"
)
@RequestParam
(
value
=
"pageNumber"
)
int
pageNumber
,
@ApiParam
(
value
=
"页大小"
)
@RequestParam
(
value
=
"pageSize"
)
int
pageSize
)
throws
Exception
{
@ApiParam
(
value
=
"页大小"
)
@RequestParam
(
value
=
"pageSize"
)
int
pageSize
)
throws
Exception
{
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
ReginParams
reginParams
=
getSelectedOrgInfo
();
String
loginOrgCode
=
getOrgCode
(
reginParams
);
...
...
@@ -510,7 +510,7 @@ public class CheckController extends AbstractBaseController {
params
.
put
(
"beginTime"
,
beginTime
);
params
.
put
(
"endTime"
,
endTime
);
params
.
put
(
"person"
,
person
);
params
.
put
(
"
teamId"
,
team
Id
);
params
.
put
(
"
companyId"
,
company
Id
);
params
.
put
(
"equipId"
,
equipId
);
params
.
put
(
"orgCode"
,
loginOrgCode
);
CommonPageable
pageable
=
new
CommonPageable
(
pageNumber
,
pageSize
);
...
...
@@ -521,7 +521,7 @@ public class CheckController extends AbstractBaseController {
@ApiOperation
(
value
=
"维保记录详情"
,
notes
=
"维保记录详情"
)
@GetMapping
(
value
=
"/detail/{id}"
)
public
CommonResponse
getCheckDetail
(
@ApiParam
(
value
=
"记录Id"
)
@PathVariable
(
value
=
"id"
)
String
id
)
throws
Exception
{
@ApiParam
(
value
=
"记录Id"
)
@PathVariable
(
value
=
"id"
)
String
id
)
throws
Exception
{
return
CommonResponseUtil
.
success
(
checkService
.
getCheckDetail
(
id
));
}
...
...
@@ -532,21 +532,28 @@ public class CheckController extends AbstractBaseController {
return
ResponseHelper
.
buildResponse
(
CheckRecordOrderByEnum
.
getEnumList
());
}
@ApiOperation
(
value
=
"/设备设施维保记录分页列表"
,
notes
=
"外部接口装备和者水源使用"
)
@ApiOperation
(
value
=
"/设备设施维保记录分页列表"
,
notes
=
"外部接口装备和者水源使用"
)
@GetMapping
(
value
=
"page/{originalId}/list"
)
public
ResponseModel
getCheckListByOriginalId
(
@PathVariable
String
originalId
,
@RequestParam
(
value
=
"current"
)
int
pageNum
,
@RequestParam
(
value
=
"size"
)
int
pageSize
)
{
CommonPageable
pageable
=
new
CommonPageable
(
pageNum
,
pageSize
);
return
ResponseHelper
.
buildResponse
(
checkService
.
getCheckListByOriginalId
(
originalId
,
pageable
));
)
{
CommonPageable
pageable
=
new
CommonPageable
(
pageNum
,
pageSize
);
return
ResponseHelper
.
buildResponse
(
checkService
.
getCheckListByOriginalId
(
originalId
,
pageable
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
value
=
"web端维保记录详情"
)
@GetMapping
(
value
=
"input/{checkId}/detail"
)
public
ResponseModel
inputDetail
(
@ApiParam
(
value
=
"记录主表id"
)
@PathVariable
String
checkId
){
public
ResponseModel
inputDetail
(
@ApiParam
(
value
=
"记录主表id"
)
@PathVariable
String
checkId
)
{
return
ResponseHelper
.
buildResponse
(
checkService
.
getInputDetail
(
checkId
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
value
=
"维保检查结果下拉列表"
)
@GetMapping
(
value
=
"/isOk-list"
)
public
ResponseModel
statusList
()
{
return
ResponseHelper
.
buildResponse
(
CheckStatusEnum
.
getEnumList
());
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-maintenance-biz/src/main/java/com/yeejoin/amos/maintenance/business/controller/PointController.java
View file @
4c04c25e
package
com
.
yeejoin
.
amos
.
maintenance
.
business
.
controller
;
import
com.yeejoin.amos.boot.biz.common.bo.ReginParams
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
com.yeejoin.amos.maintenance.business.dto.PointDto
;
import
com.yeejoin.amos.maintenance.business.param.PointImportParam
;
import
com.yeejoin.amos.maintenance.business.param.PointImportQueryParam
;
...
...
@@ -636,10 +635,9 @@ public class PointController extends AbstractBaseController {
public
CommonResponse
syncSavePoint
(
@ApiParam
(
value
=
"同步请求参数"
)
@RequestBody
()
List
<
MaintenanceResourceData
>
list
)
{
ReginParams
reginParams
=
getSelectedOrgInfo
();
AgencyUserModel
model
=
getUserInfo
();
String
orgCode
=
getOrgCode
(
reginParams
);
iPointService
.
syncSavePoint
(
list
,
orgCode
,
model
.
getUserId
());
iPointService
.
syncSavePoint
(
list
,
reginParams
);
return
CommonResponseUtil
.
success
();
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-maintenance-biz/src/main/java/com/yeejoin/amos/maintenance/business/controller/SynDataController.java
View file @
4c04c25e
package
com
.
yeejoin
.
amos
.
maintenance
.
business
.
controller
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
com.yeejoin.amos.maintenance.business.service.intfc.ISynDataService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
com.yeejoin.amos.boot.biz.common.bo.ReginParams
;
import
com.yeejoin.amos.maintenance.business.param.SynInputItemParam
;
import
com.yeejoin.amos.maintenance.business.param.SynPlanParam
;
import
com.yeejoin.amos.maintenance.business.param.SynPointParam
;
import
com.yeejoin.amos.maintenance.business.param.SynRouteParam
;
import
com.yeejoin.amos.maintenance.business.service.intfc.ISynDataService
;
import
com.yeejoin.amos.maintenance.business.util.CommonResponse
;
import
com.yeejoin.amos.maintenance.business.util.CommonResponseUtil
;
import
com.yeejoin.amos.maintenance.business.util.Toke
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
@RestController
@RequestMapping
(
value
=
"/api/syn"
)
@Api
(
tags
=
"巡检同步接口api"
)
@Api
(
tags
=
"维保同步接口api"
)
@Slf4j
public
class
SynDataController
extends
AbstractBaseController
{
private
final
Logger
logger
=
LoggerFactory
.
getLogger
(
SynDataController
.
class
);
private
static
final
String
saveOperationType
=
"save"
;
private
static
final
String
updateOperationType
=
"update"
;
private
static
final
String
deleteOperationType
=
"delete"
;
@Autowired
private
ISynDataService
iSynDataService
;
...
...
@@ -48,189 +29,9 @@ public class SynDataController extends AbstractBaseController {
* 同步巡检项
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
value
=
"同步巡检项"
,
notes
=
"同步巡检项"
)
@PostMapping
(
value
=
"/inputItem/{operationType}"
)
public
CommonResponse
inputItem
(
@ApiParam
(
value
=
"操作类型(save/update/delete)"
,
required
=
true
)
@PathVariable
String
operationType
,
@ApiParam
(
value
=
"巡检项信息"
,
required
=
true
)
@RequestBody
SynInputItemParam
synInputItemParam
)
{
try
{
ReginParams
reginParams
=
getSelectedOrgInfo
();
String
orgCode
=
getOrgCode
(
reginParams
);
String
userId
=
getUserId
();
if
(
ObjectUtils
.
isEmpty
(
reginParams
))
{
return
CommonResponseUtil
.
failure
(
"用户session过期"
);
}
if
(
operationType
.
equals
(
saveOperationType
))
{
return
iSynDataService
.
saveInputItem
(
synInputItemParam
,
userId
,
orgCode
);
}
if
(
operationType
.
equals
(
updateOperationType
))
{
return
iSynDataService
.
updateInputItem
(
synInputItemParam
);
}
if
(
operationType
.
equals
(
deleteOperationType
))
{
return
iSynDataService
.
deleteInputItem
(
synInputItemParam
);
}
return
CommonResponseUtil
.
failure
(
"操作类型有误"
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"同步巡检项异常"
,
e
);
return
CommonResponseUtil
.
failure
(
"系统繁忙,请稍后再试"
);
}
}
/**
* 同步巡检点
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
value
=
"同步巡检点"
,
notes
=
"同步巡检点"
)
@PostMapping
(
value
=
"/point/{operationType}"
)
public
CommonResponse
point
(
@ApiParam
(
value
=
"操作类型(save/update/delete)"
,
required
=
true
)
@PathVariable
String
operationType
,
@ApiParam
(
value
=
"巡检点信息"
,
required
=
true
)
@RequestBody
SynPointParam
synPointParam
)
{
try
{
if
(
operationType
.
equals
(
saveOperationType
))
{
ReginParams
reginParams
=
getSelectedOrgInfo
();
String
orgCode
=
getOrgCode
(
reginParams
);
String
userId
=
getUserId
();
if
(
ObjectUtils
.
isEmpty
(
reginParams
))
{
return
CommonResponseUtil
.
failure
(
"用户session过期"
);
}
return
iSynDataService
.
saveSinglePoint
(
synPointParam
,
userId
,
orgCode
);
}
if
(
operationType
.
equals
(
updateOperationType
))
{
return
iSynDataService
.
updateSinglePoint
(
synPointParam
);
}
if
(
operationType
.
equals
(
deleteOperationType
))
{
return
iSynDataService
.
deleteSinglePoint
(
synPointParam
);
}
return
CommonResponseUtil
.
failure
(
"操作类型有误"
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"同步巡检点异常"
,
e
);
return
CommonResponseUtil
.
failure
(
"系统繁忙,请稍后再试"
);
}
}
/**
* 同步巡检点和巡检项关系
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
value
=
"同步巡检点和巡检项关系"
,
notes
=
"同步巡检点和巡检项关系"
)
@PostMapping
(
value
=
"/pointItem/relation/{operationType}"
)
public
CommonResponse
relation
(
@ApiParam
(
value
=
"操作类型(save/update/delete)"
,
required
=
true
)
@PathVariable
String
operationType
,
@ApiParam
(
value
=
"巡检点信息"
,
required
=
true
)
@RequestBody
SynPointParam
synPointParam
)
{
try
{
/* User user = getUserInfo();
if (ObjectUtils.isEmpty(user)) {
return CommonResponseUtil.failure("用户session过期");
}*/
String
userId
=
getUserId
();
if
(
operationType
.
equals
(
saveOperationType
))
{
return
iSynDataService
.
synPointItemRelation
(
synPointParam
,
true
,
userId
);
}
if
(
operationType
.
equals
(
updateOperationType
))
{
return
iSynDataService
.
synPointItemRelation
(
synPointParam
,
false
,
userId
);
}
return
CommonResponseUtil
.
failure
(
"操作类型有误"
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"同步巡检点和巡检项关系异常"
,
e
);
return
CommonResponseUtil
.
failure
(
"系统繁忙,请稍后再试"
);
}
}
/**
* 同步巡检路线
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
value
=
"同步巡检路线"
,
notes
=
"同步巡检路线"
)
@PostMapping
(
value
=
"/route/{operationType}"
)
public
CommonResponse
route
(
@ApiParam
(
value
=
"操作类型(save/update/delete)"
,
required
=
true
)
@PathVariable
String
operationType
,
@ApiParam
(
value
=
"巡检路线信息"
)
@RequestBody
SynRouteParam
synRouteParam
)
{
try
{
ReginParams
reginParams
=
getSelectedOrgInfo
();
String
orgCode
=
getOrgCode
(
reginParams
);
String
userId
=
getUserId
();
if
(
ObjectUtils
.
isEmpty
(
reginParams
))
{
return
CommonResponseUtil
.
failure
(
"用户session过期"
);
}
// String orgCode = getLoginUserParam().getOrgCode();
if
(
operationType
.
equals
(
saveOperationType
))
{
return
iSynDataService
.
saveRoute
(
synRouteParam
,
userId
,
orgCode
);
}
if
(
operationType
.
equals
(
updateOperationType
))
{
return
iSynDataService
.
updateRoute
(
synRouteParam
,
userId
,
orgCode
);
}
return
CommonResponseUtil
.
failure
(
"操作类型有误"
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"同步巡检路线异常"
,
e
);
return
CommonResponseUtil
.
failure
(
"系统繁忙,请稍后再试"
);
}
}
/**
* 同步巡检计划
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
value
=
"同步巡检计划"
,
notes
=
"同步巡检计划"
)
@PostMapping
(
value
=
"/plan/{operationType}"
)
public
CommonResponse
plan
(
@ApiParam
(
value
=
"操作类型(save/update/delete)"
,
required
=
true
)
@PathVariable
String
operationType
,
@ApiParam
(
value
=
"巡检计划信息"
)
@RequestBody
SynPlanParam
synPlanParam
)
{
try
{
ReginParams
reginParams
=
getSelectedOrgInfo
();
String
orgCode
=
getOrgCode
(
reginParams
);
String
userId
=
getUserId
();
Toke
toke
=
new
Toke
();
toke
.
setAppKey
(
getAppKey
());
toke
.
setProduct
(
getProduct
());
toke
.
setToke
(
getToken
());
if
(
ObjectUtils
.
isEmpty
(
reginParams
))
{
return
CommonResponseUtil
.
failure
(
"用户session过期"
);
}
// String orgCode = getLoginUserParam().getOrgCode();
if
(
operationType
.
equals
(
saveOperationType
))
{
return
iSynDataService
.
savePlan
(
synPlanParam
,
userId
,
orgCode
,
toke
);
}
if
(
operationType
.
equals
(
updateOperationType
))
{
return
iSynDataService
.
updatePlan
(
synPlanParam
,
userId
,
orgCode
);
}
return
CommonResponseUtil
.
failure
(
"操作类型有误"
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"同步巡检计划异常"
,
e
);
return
CommonResponseUtil
.
failure
(
"系统繁忙,请稍后再试"
);
}
}
/**
* 停用巡检计划
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
value
=
"停用巡检计划"
,
notes
=
"停用巡检计划"
)
@PostMapping
(
value
=
"/stopPlan"
)
public
CommonResponse
stopPlan
(
@ApiParam
(
value
=
"巡检计划信息"
,
required
=
true
)
@RequestParam
String
originalId
)
{
try
{
ReginParams
reginParams
=
getSelectedOrgInfo
();
if
(
ObjectUtils
.
isEmpty
(
reginParams
))
{
return
CommonResponseUtil
.
failure
(
"用户session过期"
);
}
iSynDataService
.
stopPlan
(
originalId
);
return
CommonResponseUtil
.
success
();
}
catch
(
Exception
e
)
{
logger
.
error
(
"停用巡检计划异常"
,
e
);
return
CommonResponseUtil
.
failure
(
"系统繁忙,请稍后再试"
);
}
}
/**
* 获取巡检计划已完成次数
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
value
=
"获取巡检计划已完成次数"
,
notes
=
"获取巡检计划已完成次数"
)
@GetMapping
(
value
=
"/plan/getFinishTimes"
)
public
CommonResponse
getPlanFinishTimes
(
@ApiParam
(
value
=
"巡检计划原始编号(多个逗号隔开)"
,
required
=
true
)
@RequestParam
String
originalIds
)
{
try
{
ReginParams
reginParams
=
getSelectedOrgInfo
();
if
(
ObjectUtils
.
isEmpty
(
reginParams
))
{
return
CommonResponseUtil
.
failure
(
"用户session过期"
);
}
return
iSynDataService
.
getPlanFinishTimes
(
originalIds
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"获取巡检计划已完成次数异常"
,
e
);
return
CommonResponseUtil
.
failure
(
"系统繁忙,请稍后再试"
);
}
@ApiOperation
(
value
=
"同步删除维保点"
,
notes
=
"同步删除维保点"
)
@DeleteMapping
(
value
=
"/{ids}/point"
)
public
ResponseModel
pointDelete
(
@PathVariable
String
ids
)
{
return
ResponseHelper
.
buildResponse
(
iSynDataService
.
pointDelete
(
ids
));
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-maintenance-biz/src/main/java/com/yeejoin/amos/maintenance/business/service/impl/PointServiceImpl.java
View file @
4c04c25e
...
...
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import
com.baomidou.mybatisplus.core.toolkit.Sequence
;
import
com.google.common.base.Joiner
;
import
com.google.common.collect.Lists
;
import
com.yeejoin.amos.boot.biz.common.bo.ReginParams
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
com.yeejoin.amos.maintenance.business.constants.XJConstant
;
import
com.yeejoin.amos.maintenance.business.dao.mapper.InputItemMapper
;
...
...
@@ -35,11 +36,11 @@ import org.springframework.data.domain.*;
import
org.springframework.data.domain.Sort.Direction
;
import
org.springframework.data.domain.Sort.Order
;
import
org.springframework.data.jpa.domain.Specification
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.ObjectUtils
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.foundation.utils.Bean
;
import
javax.annotation.Resource
;
...
...
@@ -273,7 +274,7 @@ public class PointServiceImpl implements IPointService {
public
Point
updatePoint
(
PointParam
pointParam
)
{
//1.更新点
long
pointId
=
pointParam
.
getPoint
().
getId
();
Point
newPoint
=
iPointDao
.
findById
(
pointId
).
orElseThrow
(()
->
new
RuntimeException
(
"找不到原始数据"
));
Point
newPoint
=
iPointDao
.
findById
(
pointId
).
orElseThrow
(()
->
new
RuntimeException
(
"找不到原始数据"
));
Bean
.
copyExistPropertis
(
pointParam
.
getPoint
(),
newPoint
);
newPoint
.
setLastUpdateTime
(
new
Date
());
iPointDao
.
save
(
newPoint
);
...
...
@@ -1087,25 +1088,10 @@ public class PointServiceImpl implements IPointService {
@Override
@Async
public
void
syncSavePoint
(
List
<
MaintenanceResourceData
>
list
,
String
orgCode
,
String
userId
)
{
public
void
syncSavePoint
(
List
<
MaintenanceResourceData
>
list
,
ReginParams
reginParams
)
{
List
<
Point
>
points
=
new
ArrayList
<>();
List
<
PointInputItem
>
inputItems
=
new
ArrayList
<>();
List
<
Long
>
ids
=
new
ArrayList
<>();
//1.删除已有数据
for
(
MaintenanceResourceData
x
:
list
)
{
String
pointNo
=
x
.
getFireFacilityCode
();
String
originalId
=
String
.
valueOf
(
x
.
getFireFacilityId
());
Long
id
=
iPointDao
.
findPointByEquipmentIdAndFireFacilityId
(
pointNo
,
originalId
);
if
(
null
!=
id
)
{
ids
.
add
(
id
);
}
}
if
(!
ids
.
isEmpty
())
{
Long
[]
idsArray
=
ids
.
toArray
(
new
Long
[
0
]);
delPointById
(
idsArray
);
}
//2.创建
//1.创建
for
(
MaintenanceResourceData
x
:
list
)
{
Point
point
=
new
Point
();
String
pointNo
=
StringUtil
.
isNotEmpty
(
x
.
getFireFacilityCode
())
?
x
.
getFireFacilityCode
()
:
String
.
valueOf
(
sequence
.
nextId
());
...
...
@@ -1123,11 +1109,14 @@ public class PointServiceImpl implements IPointService {
point
.
setBuildingName
(
x
.
getBuildingName
());
point
.
setAddress
(
x
.
getArea
());
point
.
setLevel
(
""
);
point
.
setCreatorId
(
userId
);
point
.
setOrgCode
(
orgCode
);
point
.
setCreatorId
(
RequestContext
.
getExeUserId
());
//TODO BUG orgCode 取值 没值来源
point
.
setOrgCode
(
reginParams
.
getCompany
().
getOrgCode
());
point
.
setCompanyId
(
String
.
valueOf
(
x
.
getMaintenanceCompanyId
()));
point
.
setCompanyName
(
x
.
getMaintenanceCompanyName
());
points
.
add
(
point
);
iPointDao
.
save
(
point
);
List
<
InputItem
>
inputItemVos
=
inputItemMapper
.
getInputItemByEquipmentName
(
x
.
getClassifyName
(),
orgCode
);
List
<
InputItem
>
inputItemVos
=
inputItemMapper
.
getInputItemByEquipmentName
(
x
.
getClassifyName
(),
null
);
if
(
0
<
inputItemVos
.
size
())
{
inputItemVos
.
forEach
(
y
->
{
PointInputItem
inputItem
=
new
PointInputItem
();
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-maintenance-biz/src/main/java/com/yeejoin/amos/maintenance/business/service/impl/SynDataServiceImpl.java
View file @
4c04c25e
package
com
.
yeejoin
.
amos
.
maintenance
.
business
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.yeejoin.amos.maintenance.business.constants.XJConstant
;
import
com.yeejoin.amos.maintenance.business.dao.mapper.PlanTaskMapper
;
import
com.yeejoin.amos.maintenance.business.dao.repository.*
;
import
com.yeejoin.amos.maintenance.business.param.*
;
import
com.yeejoin.amos.maintenance.business.service.intfc.IPlanTaskService
;
import
com.yeejoin.amos.maintenance.business.dao.repository.IPointDao
;
import
com.yeejoin.amos.maintenance.business.service.intfc.IPointService
;
import
com.yeejoin.amos.maintenance.business.service.intfc.ISynDataService
;
import
com.yeejoin.amos.maintenance.business.util.CommonResponse
;
import
com.yeejoin.amos.maintenance.business.util.CommonResponseUtil
;
import
com.yeejoin.amos.maintenance.business.util.Toke
;
import
com.yeejoin.amos.maintenance.core.util.DateUtil
;
import
com.yeejoin.amos.maintenance.dao.entity.*
;
import
com.yeejoin.amos.maintenance.dao.entity.BasicEntity
;
import
com.yeejoin.amos.maintenance.dao.entity.Point
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.StringUtils
;
import
java.
math.BigInteger
;
import
java.util.
*
;
import
java.
util.Arrays
;
import
java.util.
List
;
import
java.util.stream.Collectors
;
@Service
(
"synDataService"
)
/**
* @author DELL
*/
@Service
public
class
SynDataServiceImpl
implements
ISynDataService
{
@Autowired
private
IInputItemDao
iInputItemDao
;
@Autowired
private
IPointDao
iPointDao
;
@Autowired
private
IPointInputItemDao
iPointInputItemDao
;
@Autowired
private
IRouteDao
iRouteDao
;
@Autowired
private
IRoutePointDao
iRoutePointDao
;
IPointService
iPointService
;
@Autowired
private
IRoutePointItemDao
iRoutePointItemDao
;
@Autowired
private
IPlanDao
iPlanDao
;
@Autowired
private
IPlanTaskDao
iplanTaskDao
;
@Autowired
private
PlanTaskMapper
planTaskMapper
;
@Autowired
private
IPointClassifyDao
iPointClassifyDao
;
@Autowired
private
IPlanTaskService
iPlanTaskService
;
private
static
final
String
YYMMMMDD
=
"yyyy-MM-dd"
;
@Override
public
CommonResponse
saveInputItem
(
SynInputItemParam
synInputItemParam
,
String
userId
,
String
orgCode
)
{
InputItem
inputItem
=
iInputItemDao
.
findByOriginalId
(
synInputItemParam
.
getOriginalId
());
if
(
inputItem
==
null
)
{
if
(
StringUtils
.
isEmpty
(
synInputItemParam
.
getItemType
()))
{
return
CommonResponseUtil
.
failure
(
"请选择类型"
);
}
inputItem
=
buildSaveItemByType
(
synInputItemParam
,
userId
,
orgCode
);
iInputItemDao
.
save
(
inputItem
);
}
return
CommonResponseUtil
.
success
();
}
@Override
public
CommonResponse
updateInputItem
(
SynInputItemParam
synInputItemParam
)
{
InputItem
inputItem
=
iInputItemDao
.
findByOriginalId
(
synInputItemParam
.
getOriginalId
());
if
(
inputItem
!=
null
)
{
inputItem
.
setName
(
synInputItemParam
.
getItemName
());
inputItem
.
setBasisJson
(
JSON
.
toJSONString
(
synInputItemParam
.
getBasisJson
()));
iInputItemDao
.
save
(
inputItem
);
}
return
CommonResponseUtil
.
success
();
}
@Override
public
CommonResponse
deleteInputItem
(
SynInputItemParam
synInputItemParam
)
{
InputItem
inputItem
=
iInputItemDao
.
findByOriginalId
(
synInputItemParam
.
getOriginalId
());
if
(
inputItem
!=
null
)
{
inputItem
.
setIsDelete
(
true
);
iInputItemDao
.
save
(
inputItem
);
}
return
CommonResponseUtil
.
success
();
}
@Override
public
CommonResponse
saveSinglePoint
(
SynPointParam
synPointParam
,
String
userId
,
String
orgCode
)
{
Point
point
=
iPointDao
.
findByOriginalId
(
synPointParam
.
getOriginalId
());
if
(
point
==
null
)
{
point
=
buildSavePoint
(
synPointParam
,
userId
,
orgCode
);
iPointDao
.
save
(
point
);
}
return
CommonResponseUtil
.
success
();
}
@Override
public
CommonResponse
updateSinglePoint
(
SynPointParam
synPointParam
)
{
Point
point
=
iPointDao
.
findByOriginalId
(
synPointParam
.
getOriginalId
());
if
(
point
!=
null
)
{
point
.
setName
(
synPointParam
.
getPointName
());
point
.
setCoordinates
(
synPointParam
.
getCoordinates
());
point
.
setChargeDeptId
(
synPointParam
.
getChargeDeptId
());
point
.
setChargePersonId
(
synPointParam
.
getChargePersonId
());
point
.
setLastUpdateTime
(
new
Date
());
iPointDao
.
save
(
point
);
}
return
CommonResponseUtil
.
success
();
}
@Override
public
CommonResponse
deleteSinglePoint
(
SynPointParam
synPointParam
)
{
Point
point
=
iPointDao
.
findByOriginalId
(
synPointParam
.
getOriginalId
());
if
(
point
!=
null
)
{
point
.
setIsDelete
(
true
);
iPointDao
.
save
(
point
);
}
return
CommonResponseUtil
.
success
();
}
IPointDao
iPointDao
;
@Transactional
@Override
public
CommonResponse
synPointItemRelation
(
SynPointParam
synPointParam
,
Boolean
isSave
,
String
userId
)
{
Point
point
=
iPointDao
.
findByOriginalId
(
synPointParam
.
getOriginalId
());
if
(
point
!=
null
)
{
point
.
setLevel
(
synPointParam
.
getLevel
());
point
.
setLastUpdateTime
(
new
Date
());
iPointDao
.
save
(
point
);
long
pointId
=
point
.
getId
();
List
<
SynItemInfoParam
>
itemInfoList
=
synPointParam
.
getItemInfo
();
if
(!
CollectionUtils
.
isEmpty
(
itemInfoList
))
{
if
(!
isSave
)
{
List
<
Long
>
pointIds
=
Lists
.
newArrayList
(
pointId
);
iPointClassifyDao
.
deleteByPointId
(
pointIds
);
iPointInputItemDao
.
deleteByPointId
(
pointIds
);
}
Map
<
String
,
PointClassify
>
pointClassifyMap
=
Maps
.
newHashMap
();
//保存分类
List
<
SynClassifyInfoParam
>
classifyInfoParamList
=
synPointParam
.
getClassifyInfo
();
if
(!
CollectionUtils
.
isEmpty
(
classifyInfoParamList
))
{
List
<
PointClassify
>
pointClassifyList
=
Lists
.
newArrayList
();
int
classfyOrderNo
=
0
;
for
(
SynClassifyInfoParam
synClassifyInfoParam
:
classifyInfoParamList
)
{
PointClassify
pointClassify
=
new
PointClassify
();
pointClassify
.
setPointId
(
pointId
);
pointClassify
.
setName
(
synClassifyInfoParam
.
getName
());
pointClassify
.
setOrderNo
(
classfyOrderNo
);
pointClassify
.
setCreatorId
(
userId
);
pointClassify
.
setOriginalId
(
synClassifyInfoParam
.
getClassifyOriginalId
());
pointClassifyList
.
add
(
pointClassify
);
classfyOrderNo
++;
}
iPointClassifyDao
.
saveAll
(
pointClassifyList
);
pointClassifyMap
=
Maps
.
uniqueIndex
(
pointClassifyList
,
PointClassify:
:
getOriginalId
);
}
//保存点和项的关系
List
<
InputItem
>
inputItemList
=
iInputItemDao
.
listByOriginalIds
(
Lists
.
transform
(
itemInfoList
,
SynItemInfoParam:
:
getItemOriginalId
));
Map
<
String
,
InputItem
>
inputItemVoMap
=
Maps
.
uniqueIndex
(
inputItemList
,
InputItem:
:
getOriginalId
);
List
<
PointInputItem
>
pointInputItemList
=
Lists
.
newArrayList
();
int
orderNo
=
0
;
for
(
SynItemInfoParam
itemInfo
:
itemInfoList
)
{
List
<
String
>
classifyOriginalIds
=
itemInfo
.
getClassifyOriginalIds
();
String
classifyIds
=
""
;
if
(!
CollectionUtils
.
isEmpty
(
classifyOriginalIds
))
{
StringBuilder
classifyIdsBuilder
=
new
StringBuilder
();
for
(
String
classifyOriginalId
:
classifyOriginalIds
)
{
PointClassify
classify
=
pointClassifyMap
.
get
(
classifyOriginalId
);
if
(
classify
!=
null
)
{
classifyIdsBuilder
.
append
(
classify
.
getId
()).
append
(
","
);
}
}
classifyIds
=
classifyIdsBuilder
.
substring
(
0
,
classifyIdsBuilder
.
length
()
-
1
);
}
PointInputItem
pointInputItem
=
new
PointInputItem
();
pointInputItem
.
setOrderNo
(
orderNo
);
pointInputItem
.
setPointId
(
pointId
);
pointInputItem
.
setInputItemId
(
inputItemVoMap
.
get
(
itemInfo
.
getItemOriginalId
()).
getId
());
pointInputItem
.
setClassifyIds
(
classifyIds
);
pointInputItemList
.
add
(
pointInputItem
);
orderNo
++;
}
iPointInputItemDao
.
saveAll
(
pointInputItemList
);
}
}
return
CommonResponseUtil
.
success
();
}
@Transactional
@Override
public
CommonResponse
saveRoute
(
SynRouteParam
synRouteParam
,
String
userId
,
String
orgCode
)
{
String
routeOriginalId
=
synRouteParam
.
getOriginalId
();
Route
route
=
iRouteDao
.
findByOriginalId
(
routeOriginalId
);
if
(
route
==
null
)
{
route
=
buildSaveRoute
(
synRouteParam
,
orgCode
,
userId
);
iRouteDao
.
save
(
route
);
long
routeId
=
route
.
getId
();
List
<
SynRouteInfoParam
>
routeInfoList
=
synRouteParam
.
getRouteInfo
();
synRouteRelation
(
routeInfoList
,
routeId
,
true
,
userId
,
orgCode
);
}
return
CommonResponseUtil
.
success
();
}
@Transactional
@Override
public
CommonResponse
updateRoute
(
SynRouteParam
synRouteParam
,
String
userId
,
String
orgCode
)
{
String
routeOriginalId
=
synRouteParam
.
getOriginalId
();
Route
route
=
iRouteDao
.
findByOriginalId
(
routeOriginalId
);
if
(
route
!=
null
)
{
route
.
setBoss
(
synRouteParam
.
getBoss
());
route
.
setName
(
synRouteParam
.
getRouteName
());
iRouteDao
.
save
(
route
);
long
routeId
=
route
.
getId
();
List
<
SynRouteInfoParam
>
routeInfoList
=
synRouteParam
.
getRouteInfo
();
synRouteRelation
(
routeInfoList
,
routeId
,
false
,
userId
,
orgCode
);
}
return
CommonResponseUtil
.
success
();
}
@Override
public
CommonResponse
savePlan
(
SynPlanParam
synPlanParam
,
String
userId
,
String
orgCode
,
Toke
toke
)
{
Plan
plan
=
iPlanDao
.
findByOriginalId
(
synPlanParam
.
getOriginalId
());
Route
route
=
iRouteDao
.
findByOriginalId
(
synPlanParam
.
getOriginalId
());
if
(
plan
==
null
&&
route
!=
null
)
{
boolean
tag
=
savePlanAndRedo
(
route
,
synPlanParam
,
userId
,
orgCode
,
toke
);
if
(!
tag
)
{
return
CommonResponseUtil
.
failure
(
"计划重做失败"
);
}
public
List
<
Long
>
pointDelete
(
String
ids
)
{
List
<
String
>
idList
=
Arrays
.
stream
(
ids
.
split
(
","
)).
collect
(
Collectors
.
toList
());
List
<
Point
>
points
=
iPointDao
.
listByOriginalIds
(
idList
);
List
<
Long
>
pointIds
=
points
.
stream
().
map
(
BasicEntity:
:
getId
).
collect
(
Collectors
.
toList
());
Long
[]
sds
=
pointIds
.
toArray
(
new
Long
[
0
]);
if
(
sds
.
length
>
0
)
{
return
iPointService
.
delPointById
(
sds
);
}
return
CommonResponseUtil
.
success
();
}
private
boolean
savePlanAndRedo
(
Route
route
,
SynPlanParam
synPlanParam
,
String
userId
,
String
orgCode
,
Toke
toke
)
{
Date
now
=
new
Date
();
Plan
plan
=
new
Plan
();
plan
.
setName
(
synPlanParam
.
getPlanName
());
plan
.
setOrgCode
(
orgCode
);
plan
.
setDeptId
(
synPlanParam
.
getDeptId
());
plan
.
setRouteId
(
route
.
getId
());
plan
.
setIsFixedDate
(
"0"
);
plan
.
setInOrder
(
"0"
);
plan
.
setPlanBegin
(
synPlanParam
.
getPlanBegin
());
plan
.
setPlanEnd
(
synPlanParam
.
getPlanEnd
());
plan
.
setDayRate
(
0
);
plan
.
setDayInterval
(
1
);
plan
.
setDayIntervalUnit
(
"1"
);
plan
.
setExecuteInterval
(
1
);
plan
.
setMonthType
(
"1"
);
plan
.
setWhatDay
(
"1"
);
plan
.
setWhatWeek
(
1
);
plan
.
setWeekDay
(
1
);
plan
.
setUserId
(
synPlanParam
.
getUserId
());
plan
.
setWeekBeginNum
(
1
);
plan
.
setWeekEndNum
(
7
);
plan
.
setMinSpace
(
0
);
plan
.
setIsScore
(
"1"
);
plan
.
setError
(
0
);
plan
.
setStatus
(
Byte
.
parseByte
(
XJConstant
.
PLAN_STATUS_START
));
plan
.
setNextGenDate
(
DateUtil
.
getIntervalDate
(
now
,
0
));
plan
.
setCreateBy
(
userId
.
toString
());
plan
.
setRemark1
(
synPlanParam
.
getRemark
());
plan
.
setFirstFlag
(
0
);
plan
.
setOriginalId
(
synPlanParam
.
getOriginalId
());
HashMap
<
String
,
Object
>
map
=
Maps
.
newHashMap
();
switch
(
synPlanParam
.
getPlanType
())
{
case
"1"
:
plan
.
setDayTime
(
"00:00:00"
);
plan
.
setDayBegin
(
DateUtil
.
formatStrToTime
(
"08:00:00"
));
plan
.
setDayEnd
(
DateUtil
.
formatStrToTime
(
"18:00:00"
));
plan
.
setDuration
(
1440
);
plan
.
setRemark
(
"每1天的00:00执行"
);
plan
.
setExecuteRate
(
1
);
plan
.
setPlanType
(
"1"
);
map
.
put
(
"beginDate"
,
DateUtil
.
formatDatrToStr
(
now
,
"yyyy-MM-dd"
));
map
.
put
(
"endDate"
,
DateUtil
.
formatDatrToStr
(
now
,
"yyyy-MM-dd"
));
break
;
case
"2"
:
plan
.
setDayTime
(
"08:00:00"
);
plan
.
setDayBegin
(
DateUtil
.
formatStrToTime
(
"00:00:00"
));
plan
.
setDayEnd
(
DateUtil
.
formatStrToTime
(
"23:59:59"
));
plan
.
setDuration
(
60
);
plan
.
setRemark
(
"执行区间:第1天00:00至第7天23:59结束"
);
plan
.
setExecuteRate
(
1
);
plan
.
setPlanType
(
"2"
);
map
.
put
(
"beginDate"
,
DateUtil
.
formatDatrToStr
(
DateUtil
.
getThisWeekMonday
(
now
),
YYMMMMDD
));
map
.
put
(
"endDate"
,
DateUtil
.
formatDatrToStr
(
now
,
YYMMMMDD
));
break
;
case
"3"
:
plan
.
setDayTime
(
"08:00:00"
);
plan
.
setDayBegin
(
DateUtil
.
formatStrToTime
(
"00:00:00"
));
plan
.
setDayEnd
(
DateUtil
.
formatStrToTime
(
"23:59:59"
));
plan
.
setDuration
(
60
);
plan
.
setRemark
(
"执行区间:开始日期所在月1号00:00至下月1号00:00"
);
plan
.
setExecuteRate
(
1
);
plan
.
setPlanType
(
"3"
);
map
.
put
(
"beginDate"
,
DateUtil
.
formatDatrToStr
(
DateUtil
.
getThisMonthFirstDay
(
now
),
YYMMMMDD
));
map
.
put
(
"endDate"
,
DateUtil
.
formatDatrToStr
(
now
,
YYMMMMDD
));
break
;
case
"4"
:
plan
.
setDayTime
(
"08:00:00"
);
plan
.
setDayBegin
(
DateUtil
.
formatStrToTime
(
"00:00:00"
));
plan
.
setDayEnd
(
DateUtil
.
formatStrToTime
(
"23:59:59"
));
plan
.
setDuration
(
60
);
plan
.
setRemark
(
"每1年执行,执行频率:1年1次"
);
plan
.
setExecuteRate
(
1
);
plan
.
setPlanType
(
"4"
);
map
.
put
(
"beginDate"
,
DateUtil
.
formatDatrToStr
(
DateUtil
.
getCurrYearFirst
(),
YYMMMMDD
));
map
.
put
(
"endDate"
,
DateUtil
.
formatDatrToStr
(
DateUtil
.
getCurrYearLast
(),
YYMMMMDD
));
break
;
case
"5"
:
plan
.
setDayTime
(
"08:00:00"
);
plan
.
setDayBegin
(
DateUtil
.
formatStrToTime
(
"00:00:00"
));
plan
.
setDayEnd
(
DateUtil
.
formatStrToTime
(
"23:59:59"
));
plan
.
setDuration
(
60
);
plan
.
setRemark
(
"每1年执行,执行频率:1年4次"
);
plan
.
setExecuteRate
(
4
);
plan
.
setPlanType
(
"4"
);
map
.
put
(
"beginDate"
,
DateUtil
.
formatDatrToStr
(
DateUtil
.
getCurrYearFirst
(),
YYMMMMDD
));
map
.
put
(
"endDate"
,
DateUtil
.
formatDatrToStr
(
DateUtil
.
getCurrYearLast
(),
YYMMMMDD
));
break
;
default
:
break
;
}
iPlanDao
.
save
(
plan
);
map
.
put
(
"planId"
,
plan
.
getId
());
map
.
put
(
"changeFlag"
,
"0"
);
try
{
iPlanTaskService
.
reGenPlanTask
(
map
);
}
catch
(
Exception
e
)
{
return
false
;
}
return
true
;
}
@Override
public
CommonResponse
updatePlan
(
SynPlanParam
synPlanParam
,
String
userId
,
String
orgCode
)
{
return
CommonResponseUtil
.
success
();
}
@Transactional
@Override
public
CommonResponse
stopPlan
(
String
originalId
)
{
Plan
plan
=
iPlanDao
.
findByOriginalId
(
originalId
);
if
(
plan
!=
null
)
{
plan
.
setStatus
(
Byte
.
parseByte
(
XJConstant
.
PLAN_STATUS_STOP
));
iPlanDao
.
save
(
plan
);
List
<
PlanTask
>
planTasks
=
iplanTaskDao
.
findByPlanId
(
plan
.
getId
());
if
(!
CollectionUtils
.
isEmpty
(
planTasks
))
{
planTasks
.
forEach
(
e
->
{
e
.
setStatus
(
Integer
.
parseInt
(
XJConstant
.
PLAN_STATUS_STOP
));
});
iplanTaskDao
.
saveAll
(
planTasks
);
}
}
return
CommonResponseUtil
.
success
();
}
@Override
public
CommonResponse
getPlanFinishTimes
(
String
originalIds
)
{
List
<
Map
<
String
,
Object
>>
list
=
Lists
.
newArrayList
();
List
<
String
>
originalIdList
=
Arrays
.
asList
(
originalIds
.
split
(
","
));
List
<
Plan
>
planList
=
iPlanDao
.
findByOriginalIds
(
originalIdList
);
if
(!
CollectionUtils
.
isEmpty
(
planList
))
{
Map
<
Long
,
Plan
>
planMap
=
Maps
.
uniqueIndex
(
planList
,
Plan:
:
getId
);
List
<
Long
>
planIds
=
Lists
.
transform
(
planList
,
Plan:
:
getId
);
list
=
planTaskMapper
.
countFinishByPlanIds
(
planIds
);
if
(!
CollectionUtils
.
isEmpty
(
list
))
{
list
.
forEach
(
e
->
{
e
.
put
(
"originalId"
,
planMap
.
get
(
Long
.
valueOf
(
e
.
get
(
"planId"
).
toString
())).
getOriginalId
());
});
}
}
return
CommonResponseUtil
.
success
(
list
);
}
private
void
synRouteRelation
(
List
<
SynRouteInfoParam
>
routeInfoList
,
Long
routeId
,
Boolean
isSave
,
String
userId
,
String
orgCode
)
{
if
(!
CollectionUtils
.
isEmpty
(
routeInfoList
))
{
List
<
String
>
pointOriginalIds
=
Lists
.
newArrayList
();
for
(
SynRouteInfoParam
synRouteInfoParam
:
routeInfoList
)
{
pointOriginalIds
.
add
(
synRouteInfoParam
.
getPointOriginalId
());
}
List
<
Point
>
pointVos
=
iPointDao
.
listByOriginalIds
(
pointOriginalIds
);
List
<
Long
>
pointIds
=
Lists
.
transform
(
pointVos
,
Point:
:
getId
);
if
(!
isSave
)
{
List
<
BigInteger
>
routePointIds
=
iRoutePointDao
.
queryRoutePointByPointId
(
pointIds
);
if
(!
CollectionUtils
.
isEmpty
(
routePointIds
))
{
routePointIds
.
forEach
(
id
->
iRoutePointItemDao
.
delRoutePointItem
(
id
.
longValue
()));
}
iRoutePointDao
.
delRoutePointByRouteId
(
routeId
);
}
Map
<
String
,
Point
>
pointVoMap
=
Maps
.
uniqueIndex
(
pointVos
,
Point:
:
getOriginalId
);
int
routePointOrderNo
=
0
;
for
(
SynRouteInfoParam
synRouteInfoParam
:
routeInfoList
)
{
long
pointId
=
pointVoMap
.
get
(
synRouteInfoParam
.
getPointOriginalId
()).
getId
();
RoutePoint
routePoint
=
new
RoutePoint
();
routePoint
.
setOrgCode
(
orgCode
);
routePoint
.
setRouteId
(
routeId
);
routePoint
.
setPointId
(
pointId
);
routePoint
.
setOrderNo
(
routePointOrderNo
);
routePoint
.
setCreatorId
(
userId
);
iRoutePointDao
.
save
(
routePoint
);
routePointOrderNo
++;
List
<
SynRouteItemInfoParam
>
itemInfo
=
synRouteInfoParam
.
getItemInfo
();
List
<
String
>
itemOriginalIds
=
Lists
.
transform
(
itemInfo
,
SynRouteItemInfoParam:
:
getItemOriginalId
);
List
<
InputItem
>
inputItemVos
=
iInputItemDao
.
listByOriginalIds
(
itemOriginalIds
);
List
<
Long
>
itemIds
=
Lists
.
transform
(
inputItemVos
,
InputItem:
:
getId
);
Map
<
String
,
InputItem
>
inputItemVoMap
=
Maps
.
uniqueIndex
(
inputItemVos
,
InputItem:
:
getOriginalId
);
List
<
RoutePointItem
>
routePointItems
=
Lists
.
newArrayList
();
List
<
PointInputItem
>
pointInputItems
=
iPointInputItemDao
.
findAllPointInputItemByPointIdAndItemIds
(
pointId
,
itemIds
);
Map
<
String
,
PointInputItem
>
pointInputItemMap
=
Maps
.
uniqueIndex
(
pointInputItems
,
(
PointInputItem
i
)
->
{
if
(
i
!=
null
)
{
return
buildId
(
i
.
getPointId
(),
i
.
getInputItemId
());
}
return
""
;
});
int
routePointItemOrderNo
=
0
;
for
(
SynRouteItemInfoParam
item
:
itemInfo
)
{
Long
itemId
=
inputItemVoMap
.
get
(
item
.
getItemOriginalId
()).
getId
();
PointInputItem
pointInputItem
=
pointInputItemMap
.
get
(
buildId
(
pointId
,
itemId
));
if
(
pointInputItem
!=
null
)
{
String
classifyIds
=
pointInputItem
.
getClassifyIds
();
if
(
StringUtils
.
isEmpty
(
classifyIds
))
{
RoutePointItem
routePointItem
=
buildRoutePointItem
(
pointInputItem
,
routePoint
,
routePointItemOrderNo
,
userId
,
item
.
getBasisJson
().
toJSONString
());
routePointItems
.
add
(
routePointItem
);
routePointItemOrderNo
++;
}
else
{
List
<
Long
>
classifyIdList
=
Arrays
.
stream
(
classifyIds
.
split
(
","
)).
map
(
s
->
Long
.
parseLong
(
s
.
trim
())).
collect
(
Collectors
.
toList
());
int
orderNo
=
0
;
for
(
Long
classifyId
:
classifyIdList
)
{
RoutePointItem
routePointItem
=
buildRoutePointItem
(
pointInputItem
,
routePoint
,
orderNo
,
userId
,
item
.
getBasisJson
().
toJSONString
());
routePointItem
.
setPointClassifyId
(
classifyId
);
routePointItems
.
add
(
routePointItem
);
orderNo
++;
}
}
}
}
iRoutePointItemDao
.
saveAll
(
routePointItems
);
}
}
}
private
RoutePointItem
buildRoutePointItem
(
PointInputItem
pointInputItem
,
RoutePoint
routePoint
,
Integer
orderNo
,
String
userId
,
String
json
)
{
RoutePointItem
routePointItem
=
new
RoutePointItem
();
routePointItem
.
setRoutePointId
(
routePoint
.
getId
());
routePointItem
.
setPointInputItemId
(
pointInputItem
.
getId
());
routePointItem
.
setOrderNo
(
orderNo
);
routePointItem
.
setCreatorId
(
userId
);
routePointItem
.
setBasisJson
(
json
);
return
routePointItem
;
}
private
String
buildId
(
Long
pointId
,
Long
itemId
)
{
return
pointId
+
"_"
+
itemId
;
}
private
Route
buildSaveRoute
(
SynRouteParam
synRouteParam
,
String
orgCode
,
String
userId
)
{
Route
route
=
new
Route
();
route
.
setCreatorId
(
userId
);
route
.
setOrgCode
(
orgCode
);
route
.
setName
(
synRouteParam
.
getRouteName
());
route
.
setBoss
(
synRouteParam
.
getBoss
());
route
.
setOriginalId
(
synRouteParam
.
getOriginalId
());
return
route
;
}
private
InputItem
buildSaveItemByType
(
SynInputItemParam
synInputItemParam
,
String
userId
,
String
orgCode
)
{
InputItem
inputItem
=
new
InputItem
();
if
(
"选择"
.
equals
(
synInputItemParam
.
getItemType
()))
{
inputItem
.
setOrgCode
(
orgCode
);
inputItem
.
setName
(
synInputItemParam
.
getItemName
());
inputItem
.
setOrderNo
(
0
);
inputItem
.
setItemType
(
synInputItemParam
.
getItemType
());
inputItem
.
setIsMust
(
"否"
);
inputItem
.
setIsScore
(
"否"
);
inputItem
.
setIsMultiline
(
"否"
);
inputItem
.
setCatalogId
(
0L
);
String
dataJsonStr
=
"[{\"name\":\"通过\",\"isOk\":\"是\",\"isChecked\":\"否\",\"orderNo\":0},{\"name\":\"不通过\",\"isOk\":\"否\",\"isChecked\":\"否\",\"orderNo\":1}]"
;
JSONArray
dataJson
=
JSONArray
.
parseArray
(
dataJsonStr
);
inputItem
.
setDataJson
(
dataJson
.
toJSONString
());
String
pictureJsonStr
=
"[{\"isMust\":\"是\",\"name\":\"照片\",\"orderNo\":0}]"
;
JSONArray
pictureJson
=
JSONArray
.
parseArray
(
pictureJsonStr
);
inputItem
.
setPictureJson
(
pictureJson
.
toJSONString
());
if
(
StringUtils
.
isEmpty
(
synInputItemParam
.
getItemNo
()))
{
inputItem
.
setItemNo
(
buildRandomNum
(
synInputItemParam
.
getOriginalId
()));
}
else
{
inputItem
.
setItemNo
(
synInputItemParam
.
getItemNo
());
}
inputItem
.
setOriginalId
(
synInputItemParam
.
getOriginalId
());
inputItem
.
setCreateBy
(
userId
);
inputItem
.
setBasisJson
(
synInputItemParam
.
getBasisJson
().
toJSONString
());
}
return
inputItem
;
}
private
Point
buildSavePoint
(
SynPointParam
synPointParam
,
String
userId
,
String
orgCode
)
{
Point
point
=
new
Point
();
point
.
setName
(
synPointParam
.
getPointName
());
if
(
StringUtils
.
isEmpty
(
synPointParam
.
getPointNo
()))
{
point
.
setPointNo
(
buildRandomNum
(
synPointParam
.
getOriginalId
()));
}
else
{
point
.
setPointNo
(
synPointParam
.
getPointNo
());
}
point
.
setSaveGps
(
"0"
);
point
.
setDistance
(
0
);
point
.
setShotMinNumber
(
0
);
point
.
setShotMaxNumber
(
10
);
point
.
setFixedShot
(
10
);
point
.
setOffline
(
false
);
point
.
setIsFixed
(
"1"
);
point
.
setCatalogId
(
0L
);
point
.
setIsScore
(
"0"
);
point
.
setOrgCode
(
orgCode
);
point
.
setCoordinates
(
synPointParam
.
getCoordinates
());
point
.
setChargeDeptId
(
synPointParam
.
getChargeDeptId
());
point
.
setChargePersonId
(
synPointParam
.
getChargePersonId
());
point
.
setStatus
(
"0"
);
point
.
setIsIndoor
(
false
);
point
.
setOriginalId
(
synPointParam
.
getOriginalId
());
point
.
setCreatorId
(
userId
);
return
point
;
}
private
String
buildRandomNum
(
String
originalId
)
{
return
"SPC_"
+
(
int
)
((
Math
.
random
()
*
9
+
1
)
*
100000
)
+
"_"
+
originalId
;
return
pointIds
;
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-maintenance-biz/src/main/java/com/yeejoin/amos/maintenance/business/service/intfc/IPointService.java
View file @
4c04c25e
package
com
.
yeejoin
.
amos
.
maintenance
.
business
.
service
.
intfc
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.boot.biz.common.bo.ReginParams
;
import
com.yeejoin.amos.maintenance.business.dto.PointDto
;
import
com.yeejoin.amos.maintenance.business.param.*
;
import
com.yeejoin.amos.maintenance.business.util.DaoCriteria
;
...
...
@@ -299,7 +300,6 @@ public interface IPointService {
LinkedHashMap
<
String
,
Object
>
getRegionTress
();
void
syncSavePoint
(
List
<
MaintenanceResourceData
>
list
,
String
orgCode
,
String
userId
);
/**
* 查询巡检点及点及点的项
* @param queryRequests 请求参数
...
...
@@ -309,4 +309,5 @@ public interface IPointService {
*/
Page
<
PointDto
>
queryPointInfoWithItem
(
List
<
DaoCriteria
>
queryRequests
,
CommonPageable
commonPageable
,
Long
ownerId
);
void
syncSavePoint
(
List
<
MaintenanceResourceData
>
list
,
ReginParams
reginParams
);
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-maintenance-biz/src/main/java/com/yeejoin/amos/maintenance/business/service/intfc/ISynDataService.java
View file @
4c04c25e
package
com
.
yeejoin
.
amos
.
maintenance
.
business
.
service
.
intfc
;
import
com.yeejoin.amos.maintenance.business.param.SynInputItemParam
;
import
com.yeejoin.amos.maintenance.business.util.CommonResponse
;
import
com.yeejoin.amos.maintenance.business.util.Toke
;
import
com.yeejoin.amos.maintenance.business.param.SynPlanParam
;
import
com.yeejoin.amos.maintenance.business.param.SynPointParam
;
import
com.yeejoin.amos.maintenance.business.param.SynRouteParam
;
import
java.util.List
;
public
interface
ISynDataService
{
CommonResponse
saveInputItem
(
SynInputItemParam
synInputItemParam
,
String
userId
,
String
orgCode
);
CommonResponse
updateInputItem
(
SynInputItemParam
synInputItemParam
);
CommonResponse
deleteInputItem
(
SynInputItemParam
synInputItemParam
);
CommonResponse
saveSinglePoint
(
SynPointParam
synPointParam
,
String
userId
,
String
orgCode
);
CommonResponse
updateSinglePoint
(
SynPointParam
synPointParam
);
CommonResponse
deleteSinglePoint
(
SynPointParam
synPointParam
);
CommonResponse
synPointItemRelation
(
SynPointParam
synPointParam
,
Boolean
isSave
,
String
userId
);
CommonResponse
saveRoute
(
SynRouteParam
synRouteParam
,
String
userId
,
String
orgCode
);
CommonResponse
updateRoute
(
SynRouteParam
synRouteParam
,
String
userId
,
String
orgCode
);
CommonResponse
savePlan
(
SynPlanParam
synPlanParam
,
String
userId
,
String
orgCode
,
Toke
toke
);
CommonResponse
updatePlan
(
SynPlanParam
synPlanParam
,
String
userId
,
String
orgCode
);
CommonResponse
stopPlan
(
String
originalId
);
CommonResponse
getPlanFinishTimes
(
String
originalIds
);
/**
* 删除维保项(原巡检点)
* @param ids 原ids
* @return Boolean
*/
List
<
Long
>
pointDelete
(
String
ids
);
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-supervision-biz/src/main/java/com/yeejoin/amos/supervision/business/controller/CheckController.java
View file @
4c04c25e
...
...
@@ -421,14 +421,12 @@ public class CheckController extends AbstractBaseController {
@ApiOperation
(
value
=
"获取巡检日历数据<font color='blue'>手机app</font>"
,
notes
=
"获取巡检日历数据<font color='blue'>手机app</font>"
)
@PostMapping
(
value
=
"/checkCalendar"
,
produces
=
"application/json;charset=UTF-8"
)
public
CommonResponse
checkCalendar
(
@ApiParam
(
value
=
"查询条件"
,
required
=
false
)
@RequestBody
(
required
=
false
)
List
<
CommonRequest
>
queryRequests
)
{
@ApiParam
(
value
=
"查询条件"
)
@RequestBody
(
required
=
false
)
List
<
CommonRequest
>
queryRequests
)
{
try
{
ReginParams
reginParams
=
getSelectedOrgInfo
();
String
loginOrgCode
=
getOrgCode
(
reginParams
);
String
roleTypeName
=
getRoleTypeName
(
reginParams
);
List
<
DaoCriteria
>
daoCriterias
=
buildDaoCriterias
(
queryRequests
,
true
,
loginOrgCode
,
roleTypeName
);
Map
<
String
,
Object
>
map
=
checkService
.
checkCalendar
(
CheckParamUtil
.
checkCalendar
(
daoCriterias
));
return
CommonResponseUtil
.
success
(
map
);
}
catch
(
Exception
e
)
{
...
...
amos-boot-system-maintenance/src/main/java/com/yeejoin/amos/MaintenanceApplication.java
View file @
4c04c25e
package
com
.
yeejoin
.
amos
;
import
java.io.IOException
;
import
java.net.InetAddress
;
import
java.net.URISyntaxException
;
import
java.net.UnknownHostException
;
import
org.mybatis.spring.annotation.MapperScan
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -25,6 +20,11 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
import
org.springframework.web.client.RestTemplate
;
import
org.typroject.tyboot.core.restful.exception.GlobalExceptionHandler
;
import
java.io.IOException
;
import
java.net.InetAddress
;
import
java.net.URISyntaxException
;
import
java.net.UnknownHostException
;
/**
* <pre>
* 服务启动类
...
...
amos-boot-system-maintenance/src/main/resources/db/mapper/dbTemplate_check.xml
View file @
4c04c25e
...
...
@@ -266,7 +266,7 @@
ELSE
0
END
),0) AS
"qualified"
,
),0) AS
'合格'
,
COALESCE(SUM(
CASE
WHEN is_ok = '2' THEN
...
...
@@ -274,7 +274,7 @@
ELSE
0
END
),0) AS
"unqualified"
,
),0) AS
'不合格'
,
COALESCE(SUM(
CASE
WHEN is_ok = '3' THEN
...
...
@@ -282,8 +282,7 @@
ELSE
0
END
),0) AS "omission",
COUNT(id) count
),0) AS '漏检'
FROM
p_check
<include
refid=
"calendar-where"
/>
...
...
@@ -1968,10 +1967,10 @@
<choose>
<when
test=
"identityType==1"
>
And (a.orgCode LIKE CONCAT( #{orgCode}, '-%' ) or a.orgCode= #{orgCode} )
<if
test=
"companyId != null
"
>
and a.ownerId = #{team
Id}
</if>
<if
test=
"companyId != null
and companyId != ''"
>
and a.ownerId = #{company
Id}
</if>
</when>
<when
test=
"identityType==2"
>
And a.ownerId = #{
team
Id}
And a.ownerId = #{
company
Id}
</when>
</choose>
</where>
...
...
@@ -2022,6 +2021,7 @@
<include
refid=
"mobile-check-record-where"
/>
</select>
<select
id=
"getCheckDetail"
resultType=
"Map"
>
SELECT
pc.id checkId,
...
...
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