Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation
This project
Loading...
Sign in
李苗
/
Vion-DevOps
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 60d82bad
authored
Sep 14, 2024
by
HlQ
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
[chg] 使用 LocalDateTime 替换 Date
1 parent
6b3ca06f
Show whitespace changes
Inline
Side-by-side
Showing
181 changed files
with
1377 additions
and
831 deletions
README.md
src/main/java/vion/config/MyBatisPlusConfig.java
src/main/java/vion/config/RedisConfig.java
src/main/java/vion/config/RequestWrapper.java
src/main/java/vion/constant/RedisKeyEnum.java
src/main/java/vion/controller/AccountController.java
src/main/java/vion/controller/ConstructionTeamController.java
src/main/java/vion/controller/ContractController.java
src/main/java/vion/controller/FileController.java
src/main/java/vion/controller/FormController.java
src/main/java/vion/controller/InspectController.java
src/main/java/vion/controller/InvoiceController.java
src/main/java/vion/controller/PaymentController.java
src/main/java/vion/controller/PointDesignController.java
src/main/java/vion/controller/RRoleResourceController.java
src/main/java/vion/controller/RepairRecController.java
src/main/java/vion/controller/RoleController.java
src/main/java/vion/controller/SparePartController.java
src/main/java/vion/controller/TaskController.java
src/main/java/vion/cron/ContractRunner.java
src/main/java/vion/cron/LogPushRunner.java
src/main/java/vion/cron/TaskRunner.java
src/main/java/vion/dto/ContractDTO.java
src/main/java/vion/dto/ContractPaymentDTO.java
src/main/java/vion/dto/DeliverLogDTO.java
src/main/java/vion/dto/DeliveryRecordDTO.java
src/main/java/vion/dto/DeviceDTO.java
src/main/java/vion/dto/FileInfoDTO.java
src/main/java/vion/dto/FormDTO.java
src/main/java/vion/dto/InspectDTO.java
src/main/java/vion/dto/InvoiceDTO.java
src/main/java/vion/dto/PaymentDTO.java
src/main/java/vion/dto/PointInfoDTO.java
src/main/java/vion/dto/RContractTeamDTO.java
src/main/java/vion/dto/RepairRecDTO.java
src/main/java/vion/dto/RoleDTO.java
src/main/java/vion/dto/ServiceOrderDTO.java
src/main/java/vion/dto/SparePartDTO.java
src/main/java/vion/dto/StatusDTO.java
src/main/java/vion/dto/StoreDTO.java
src/main/java/vion/dto/TaskDTO.java
src/main/java/vion/dto/TaskTempDTO.java
src/main/java/vion/dto/UserDTO.java
src/main/java/vion/mapper/DictionaryMapper.java
src/main/java/vion/mapper/DictionaryTypeMapper.java
src/main/java/vion/mapper/FaultLogMapper.java
src/main/java/vion/mapper/FileMapper.java
src/main/java/vion/mapper/InspectMapper.java
src/main/java/vion/mapper/SparePartMapper.java
src/main/java/vion/mapper/StoreMapper.java
src/main/java/vion/mapper/TaskMapper.java
src/main/java/vion/mapper/TaskTempMapper.java
src/main/java/vion/mapper/UserMapper.java
src/main/java/vion/model/Account.java
src/main/java/vion/model/ConstructionTeam.java
src/main/java/vion/model/Contract.java
src/main/java/vion/model/ContractLog.java
src/main/java/vion/model/ContractPayment.java
src/main/java/vion/model/DeliverLog.java
src/main/java/vion/model/DeliveryRecord.java
src/main/java/vion/model/Dept.java
src/main/java/vion/model/Device.java
src/main/java/vion/model/DeviceLog.java
src/main/java/vion/model/Dictionary.java
src/main/java/vion/model/DictionaryType.java
src/main/java/vion/model/FaultLog.java
src/main/java/vion/model/FileInfo.java
src/main/java/vion/model/Form.java
src/main/java/vion/model/Inspect.java
src/main/java/vion/model/Invoice.java
src/main/java/vion/model/Payment.java
src/main/java/vion/model/PointInfo.java
src/main/java/vion/model/RContractProduct.java
src/main/java/vion/model/RContractStore.java
src/main/java/vion/model/RContractTeam.java
src/main/java/vion/model/RContractUser.java
src/main/java/vion/model/RPointDevice.java
src/main/java/vion/model/RPointWx.java
src/main/java/vion/model/RRepairDevice.java
src/main/java/vion/model/RRoleResource.java
src/main/java/vion/model/RStoreConfederate.java
src/main/java/vion/model/RStoreTag.java
src/main/java/vion/model/RStoreUser.java
src/main/java/vion/model/RUserRole.java
src/main/java/vion/model/RejectInfo.java
src/main/java/vion/model/RepairRec.java
src/main/java/vion/model/Resource.java
src/main/java/vion/model/Role.java
src/main/java/vion/model/ServiceOrder.java
src/main/java/vion/model/SettlementDiff.java
src/main/java/vion/model/SparePart.java
src/main/java/vion/model/Store.java
src/main/java/vion/model/StoreLog.java
src/main/java/vion/model/Tag.java
src/main/java/vion/model/Task.java
src/main/java/vion/model/TaskTemp.java
src/main/java/vion/model/User.java
src/main/java/vion/service/IDeviceLogService.java
src/main/java/vion/service/IRContractProductService.java
src/main/java/vion/service/IRContractStoreService.java
src/main/java/vion/service/IRContractTeamService.java
src/main/java/vion/service/IRContractUserService.java
src/main/java/vion/service/IRPointDeviceService.java
src/main/java/vion/service/IRPointWxService.java
src/main/java/vion/service/IRRepairDeviceService.java
src/main/java/vion/service/IRRoleResourceService.java
src/main/java/vion/service/IRStoreConfederateService.java
src/main/java/vion/service/IRStoreTagService.java
src/main/java/vion/service/IRStoreUserService.java
src/main/java/vion/service/IRUserRoleService.java
src/main/java/vion/service/IRejectInfoService.java
src/main/java/vion/service/IResourceService.java
src/main/java/vion/service/IStoreLogService.java
src/main/java/vion/service/ITagService.java
src/main/java/vion/service/ITaskService.java
src/main/java/vion/service/ITaskTempService.java
src/main/java/vion/service/impl/ConstructionTeamServiceImpl.java
src/main/java/vion/service/impl/ContractPaymentServiceImpl.java
src/main/java/vion/service/impl/ContractServiceImpl.java
src/main/java/vion/service/impl/DeliverLogServiceImpl.java
src/main/java/vion/service/impl/DeliveryRecordServiceImpl.java
src/main/java/vion/service/impl/DeviceLogServiceImpl.java
src/main/java/vion/service/impl/InvoiceServiceImpl.java
src/main/java/vion/service/impl/PaymentServiceImpl.java
src/main/java/vion/service/impl/PointInfoServiceImpl.java
src/main/java/vion/service/impl/RContractProductServiceImpl.java
src/main/java/vion/service/impl/RContractStoreServiceImpl.java
src/main/java/vion/service/impl/RContractTeamServiceImpl.java
src/main/java/vion/service/impl/RContractUserServiceImpl.java
src/main/java/vion/service/impl/RPointDeviceServiceImpl.java
src/main/java/vion/service/impl/RPointWxServiceImpl.java
src/main/java/vion/service/impl/RRepairDeviceServiceImpl.java
src/main/java/vion/service/impl/RRoleResourceServiceImpl.java
src/main/java/vion/service/impl/RStoreConfederateServiceImpl.java
src/main/java/vion/service/impl/RStoreTagServiceImpl.java
src/main/java/vion/service/impl/RStoreUserServiceImpl.java
src/main/java/vion/service/impl/RUserRoleServiceImpl.java
src/main/java/vion/service/impl/RejectInfoServiceImpl.java
src/main/java/vion/service/impl/RepairRecServiceImpl.java
src/main/java/vion/service/impl/ResourceServiceImpl.java
src/main/java/vion/service/impl/ServiceOrderServiceImpl.java
src/main/java/vion/service/impl/SettlementDiffServiceImpl.java
src/main/java/vion/service/impl/SparePartServiceImpl.java
src/main/java/vion/service/impl/StoreLogServiceImpl.java
src/main/java/vion/service/impl/StoreServiceImpl.java
src/main/java/vion/service/impl/TagServiceImpl.java
src/main/java/vion/service/impl/TaskServiceImpl.java
src/main/java/vion/service/impl/TaskTempServiceImpl.java
src/main/java/vion/service/impl/UserServiceImpl.java
src/main/java/vion/third/DingMod.java
src/main/java/vion/third/WechatMod.java
src/main/java/vion/utils/JsonUtil.java
src/main/java/vion/utils/excel/AttachmentExportUtil.java
src/main/java/vion/vo/ConstructionTeamVO.java
src/main/java/vion/vo/ContractPaymentVO.java
src/main/java/vion/vo/ContractVO.java
src/main/java/vion/vo/DeliverLogVO.java
src/main/java/vion/vo/DeliveryRecordVO.java
src/main/java/vion/vo/DeviceVO.java
src/main/java/vion/vo/FileInfoVO.java
src/main/java/vion/vo/FinancialAgeVO.java
src/main/java/vion/vo/FormVO.java
src/main/java/vion/vo/InspectVO.java
src/main/java/vion/vo/InvoiceVO.java
src/main/java/vion/vo/PaymentVO.java
src/main/java/vion/vo/PointInfoVO.java
src/main/java/vion/vo/RContractTeamVO.java
src/main/java/vion/vo/RepairRecVO.java
src/main/java/vion/vo/ResourceVO.java
src/main/java/vion/vo/RoleVO.java
src/main/java/vion/vo/ServiceOrderVO.java
src/main/java/vion/vo/SettlementDiffVO.java
src/main/java/vion/vo/SparePartVO.java
src/main/java/vion/vo/StoreVO.java
src/main/java/vion/vo/TaskTempVO.java
src/main/java/vion/vo/TaskVO.java
src/main/java/vion/vo/UserVO.java
src/main/resources/static/weChatBindSuccess.html
src/main/resources/static/weChatError.html
src/main/resources/static/weChatNeedAttention.html
src/main/resources/static/weChatSuccess.html
README.md
View file @
60d82ba
...
@@ -20,6 +20,7 @@
...
@@ -20,6 +20,7 @@
</resource>
</resource>
</resources>
</resources>
```
```
## 更新合同金额
## 更新合同金额
需要在
``Contract.class``
把 金额上面的四个注解
``@ReverseAutoMapping(targetClass = ContractDTO.class, ignore = true)``
需要在
``Contract.class``
把 金额上面的四个注解
``@ReverseAutoMapping(targetClass = ContractDTO.class, ignore = true)``
注释掉,然后调用更新接口。
注释掉,然后调用更新接口。
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/config/MyBatisPlusConfig.java
View file @
60d82ba
...
@@ -8,7 +8,7 @@ import org.apache.ibatis.reflection.MetaObject;
...
@@ -8,7 +8,7 @@ import org.apache.ibatis.reflection.MetaObject;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -19,15 +19,15 @@ public class MyBatisPlusConfig implements MetaObjectHandler {
...
@@ -19,15 +19,15 @@ public class MyBatisPlusConfig implements MetaObjectHandler {
@Override
@Override
public
void
insertFill
(
MetaObject
metaObject
)
{
public
void
insertFill
(
MetaObject
metaObject
)
{
this
.
fillHasGetter
(
metaObject
,
"createTime"
,
new
Date
());
this
.
fillHasGetter
(
metaObject
,
"createTime"
,
LocalDateTime
.
now
());
this
.
fillHasGetter
(
metaObject
,
"modifyTime"
,
new
Date
());
this
.
fillHasGetter
(
metaObject
,
"modifyTime"
,
LocalDateTime
.
now
());
this
.
fillHasGetter
(
metaObject
,
"updateTime"
,
new
Date
());
this
.
fillHasGetter
(
metaObject
,
"updateTime"
,
LocalDateTime
.
now
());
}
}
@Override
@Override
public
void
updateFill
(
MetaObject
metaObject
)
{
public
void
updateFill
(
MetaObject
metaObject
)
{
this
.
fillHasGetter
(
metaObject
,
"modifyTime"
,
new
Date
());
this
.
fillHasGetter
(
metaObject
,
"modifyTime"
,
LocalDateTime
.
now
());
this
.
fillHasGetter
(
metaObject
,
"updateTime"
,
new
Date
());
this
.
fillHasGetter
(
metaObject
,
"updateTime"
,
LocalDateTime
.
now
());
}
}
protected
void
fillHasGetter
(
MetaObject
metaObject
,
String
fieldName
,
Object
fieldVal
)
{
protected
void
fillHasGetter
(
MetaObject
metaObject
,
String
fieldName
,
Object
fieldVal
)
{
...
...
src/main/java/vion/config/RedisConfig.java
View file @
60d82ba
package
vion
.
config
;
package
vion
.
config
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
;
import
org.redisson.Redisson
;
import
org.redisson.Redisson
;
import
org.redisson.api.RedissonClient
;
import
org.redisson.api.RedissonClient
;
import
org.redisson.codec.JsonJacksonCodec
;
import
org.redisson.codec.JsonJacksonCodec
;
...
@@ -28,7 +30,9 @@ public class RedisConfig {
...
@@ -28,7 +30,9 @@ public class RedisConfig {
@Bean
(
destroyMethod
=
"shutdown"
)
@Bean
(
destroyMethod
=
"shutdown"
)
public
RedissonClient
redissonClient
()
{
public
RedissonClient
redissonClient
()
{
Config
config
=
new
Config
();
Config
config
=
new
Config
();
config
.
setCodec
(
JsonJacksonCodec
.
INSTANCE
);
ObjectMapper
objectMapper
=
new
ObjectMapper
();
objectMapper
.
registerModule
(
new
JavaTimeModule
());
config
.
setCodec
(
new
JsonJacksonCodec
(
objectMapper
));
SingleServerConfig
singleServerConfig
=
config
.
useSingleServer
();
SingleServerConfig
singleServerConfig
=
config
.
useSingleServer
();
singleServerConfig
.
setAddress
(
"redis://"
+
host
+
":"
+
port
)
singleServerConfig
.
setAddress
(
"redis://"
+
host
+
":"
+
port
)
.
setPassword
(
password
)
.
setPassword
(
password
)
...
...
src/main/java/vion/config/RequestWrapper.java
View file @
60d82ba
package
vion
.
config
;
package
vion
.
config
;
import
jakarta.servlet.http.HttpServletRequestWrapper
;
import
org.dromara.hutool.core.io.IoUtil
;
import
jakarta.servlet.ReadListener
;
import
jakarta.servlet.ReadListener
;
import
jakarta.servlet.ServletInputStream
;
import
jakarta.servlet.ServletInputStream
;
import
jakarta.servlet.http.HttpServletRequest
;
import
jakarta.servlet.http.HttpServletRequest
;
import
jakarta.servlet.http.HttpServletRequestWrapper
;
import
org.dromara.hutool.core.io.IoUtil
;
import
java.io.*
;
import
java.io.*
;
...
...
src/main/java/vion/constant/RedisKeyEnum.java
View file @
60d82ba
package
vion
.
constant
;
package
vion
.
constant
;
import
org.dromara.hutool.core.text.StrUtil
;
import
lombok.Getter
;
import
lombok.Getter
;
import
org.dromara.hutool.core.text.StrUtil
;
import
java.util.Arrays
;
import
java.util.Arrays
;
...
...
src/main/java/vion/controller/AccountController.java
View file @
60d82ba
src/main/java/vion/controller/ConstructionTeamController.java
View file @
60d82ba
...
@@ -11,8 +11,8 @@ import vion.vo.ConstructionTeamVO;
...
@@ -11,8 +11,8 @@ import vion.vo.ConstructionTeamVO;
import
vion.vo.RContractTeamVO
;
import
vion.vo.RContractTeamVO
;
/**
/**
* 施工队管理
* 施工队管理
*/
*/
@RestController
@RestController
@RequestMapping
(
"/api"
)
@RequestMapping
(
"/api"
)
@RequiredArgsConstructor
@RequiredArgsConstructor
...
...
src/main/java/vion/controller/ContractController.java
View file @
60d82ba
...
@@ -10,7 +10,7 @@ import com.github.liaochong.myexcel.utils.WatermarkUtil;
...
@@ -10,7 +10,7 @@ import com.github.liaochong.myexcel.utils.WatermarkUtil;
import
jakarta.servlet.http.HttpServletResponse
;
import
jakarta.servlet.http.HttpServletResponse
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.dromara.hutool.core.date.
Dat
eUtil
;
import
org.dromara.hutool.core.date.
Tim
eUtil
;
import
org.dromara.hutool.core.lang.Assert
;
import
org.dromara.hutool.core.lang.Assert
;
import
org.dromara.hutool.core.text.CharSequenceUtil
;
import
org.dromara.hutool.core.text.CharSequenceUtil
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.dromara.hutool.core.text.StrUtil
;
...
@@ -31,7 +31,7 @@ import vion.vo.UserVO;
...
@@ -31,7 +31,7 @@ import vion.vo.UserVO;
import
java.awt.*
;
import
java.awt.*
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -192,7 +192,7 @@ public class ContractController {
...
@@ -192,7 +192,7 @@ public class ContractController {
watermark
.
setText
(
user
.
getUsername
()
+
"-"
+
user
.
getPhone
());
watermark
.
setText
(
user
.
getUsername
()
+
"-"
+
user
.
getPhone
());
watermark
.
setFont
(
new
Font
(
"SimSun"
,
Font
.
PLAIN
,
16
));
watermark
.
setFont
(
new
Font
(
"SimSun"
,
Font
.
PLAIN
,
16
));
WatermarkUtil
.
addWatermark
(
workbook
,
watermark
);
WatermarkUtil
.
addWatermark
(
workbook
,
watermark
);
AttachmentExportUtil
.
export
(
workbook
,
StrUtil
.
format
(
"合同列表_{}"
,
DateUtil
.
formatDateTime
(
new
Date
())),
response
);
AttachmentExportUtil
.
export
(
workbook
,
StrUtil
.
format
(
"合同列表_{}"
,
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
())),
response
);
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
throw
new
RuntimeException
(
e
);
}
}
...
...
src/main/java/vion/controller/FileController.java
View file @
60d82ba
...
@@ -7,7 +7,7 @@ import io.github.linpeilie.Converter;
...
@@ -7,7 +7,7 @@ import io.github.linpeilie.Converter;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.date.
Dat
eUtil
;
import
org.dromara.hutool.core.date.
Tim
eUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.lang.Assert
;
import
org.dromara.hutool.core.lang.Assert
;
...
@@ -31,7 +31,7 @@ import vion.vo.FileInfoVO;
...
@@ -31,7 +31,7 @@ import vion.vo.FileInfoVO;
import
java.io.File
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.nio.charset.StandardCharsets
;
import
java.nio.charset.StandardCharsets
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
@RestController
@RestController
@RequestMapping
(
"/api"
)
@RequestMapping
(
"/api"
)
...
@@ -110,7 +110,7 @@ public class FileController {
...
@@ -110,7 +110,7 @@ public class FileController {
@SaCheckPermission
(
value
=
"file:form:upload"
,
orRole
=
"admin"
)
@SaCheckPermission
(
value
=
"file:form:upload"
,
orRole
=
"admin"
)
public
String
uploadFile
(
FileInfoDTO
dto
,
@RequestParam
(
name
=
"file"
)
MultipartFile
infile
)
throws
IOException
{
public
String
uploadFile
(
FileInfoDTO
dto
,
@RequestParam
(
name
=
"file"
)
MultipartFile
infile
)
throws
IOException
{
String
filename
=
FileNameUtil
.
mainName
(
infile
.
getOriginalFilename
())
+
"_"
+
String
filename
=
FileNameUtil
.
mainName
(
infile
.
getOriginalFilename
())
+
"_"
+
DateUtil
.
format
(
new
Date
(),
"yyyyMMdd_HHmmssSSS"
)
+
"."
+
TimeUtil
.
format
(
LocalDateTime
.
now
(),
"yyyyMMdd_HHmmssSSS"
)
+
"."
+
FileNameUtil
.
extName
(
infile
.
getOriginalFilename
());
FileNameUtil
.
extName
(
infile
.
getOriginalFilename
());
String
path
=
getPath
(
dto
,
filename
);
String
path
=
getPath
(
dto
,
filename
);
File
file
=
FileUtil
.
touch
(
path
);
File
file
=
FileUtil
.
touch
(
path
);
...
@@ -142,7 +142,7 @@ public class FileController {
...
@@ -142,7 +142,7 @@ public class FileController {
public
String
uploadFile1
(
FileInfo
fileInfo
,
@RequestParam
(
name
=
"files"
)
MultipartFile
[]
files
)
throws
IOException
{
public
String
uploadFile1
(
FileInfo
fileInfo
,
@RequestParam
(
name
=
"files"
)
MultipartFile
[]
files
)
throws
IOException
{
for
(
MultipartFile
infile
:
files
)
{
for
(
MultipartFile
infile
:
files
)
{
String
filename
=
FileNameUtil
.
mainName
(
infile
.
getOriginalFilename
())
+
"_"
+
String
filename
=
FileNameUtil
.
mainName
(
infile
.
getOriginalFilename
())
+
"_"
+
DateUtil
.
format
(
new
Date
(),
"yyyyMMdd_HHmmssSSS"
)
+
"."
+
TimeUtil
.
format
(
LocalDateTime
.
now
(),
"yyyyMMdd_HHmmssSSS"
)
+
"."
+
FileNameUtil
.
extName
(
infile
.
getOriginalFilename
());
FileNameUtil
.
extName
(
infile
.
getOriginalFilename
());
String
path
=
fileUrl
+
FileUtil
.
FILE_SEPARATOR
+
fileInfo
.
getStoreId
()
+
FileUtil
.
FILE_SEPARATOR
+
fileInfo
.
getSourceId
()
+
FileUtil
.
FILE_SEPARATOR
+
filename
;
String
path
=
fileUrl
+
FileUtil
.
FILE_SEPARATOR
+
fileInfo
.
getStoreId
()
+
FileUtil
.
FILE_SEPARATOR
+
fileInfo
.
getSourceId
()
+
FileUtil
.
FILE_SEPARATOR
+
filename
;
File
file
=
FileUtil
.
touch
(
path
);
File
file
=
FileUtil
.
touch
(
path
);
...
...
src/main/java/vion/controller/FormController.java
View file @
60d82ba
src/main/java/vion/controller/InspectController.java
View file @
60d82ba
...
@@ -11,7 +11,7 @@ import vion.model.Inspect;
...
@@ -11,7 +11,7 @@ import vion.model.Inspect;
import
vion.service.IInspectService
;
import
vion.service.IInspectService
;
import
vion.vo.InspectVO
;
import
vion.vo.InspectVO
;
import
java.
util.
Date
;
import
java.
time.Local
Date
;
@RestController
@RestController
@RequestMapping
(
"/api"
)
@RequestMapping
(
"/api"
)
...
@@ -47,10 +47,10 @@ public class InspectController {
...
@@ -47,10 +47,10 @@ public class InspectController {
boolean
result
=
inspectService
.
lambdaUpdate
()
boolean
result
=
inspectService
.
lambdaUpdate
()
.
eq
(
Inspect:
:
getId
,
data
.
getId
())
.
eq
(
Inspect:
:
getId
,
data
.
getId
())
.
set
(
Inspect:
:
getStatus
,
data
.
getStatus
())
.
set
(
Inspect:
:
getStatus
,
data
.
getStatus
())
.
set
(
Inspect:
:
getAuditDate
,
new
Date
())
.
set
(
Inspect:
:
getAuditDate
,
LocalDate
.
now
())
.
set
(
Inspect:
:
getReviewer
,
data
.
getReviewer
())
.
set
(
Inspect:
:
getReviewer
,
data
.
getReviewer
())
//审核状态为已完成的时候更新完成时间(0进行中、1待审核、2已完成、3、驳回)
//审核状态为已完成的时候更新完成时间(0进行中、1待审核、2已完成、3、驳回)
.
set
(
data
.
getStatus
()
==
2
,
Inspect:
:
getFinishDate
,
new
Date
())
.
set
(
data
.
getStatus
()
==
2
,
Inspect:
:
getFinishDate
,
LocalDate
.
now
())
.
update
();
.
update
();
return
result
?
"更新巡检状态成功"
:
"更新巡检状态失败"
;
return
result
?
"更新巡检状态成功"
:
"更新巡检状态失败"
;
}
}
...
...
src/main/java/vion/controller/InvoiceController.java
View file @
60d82ba
...
@@ -10,7 +10,7 @@ import io.github.linpeilie.Converter;
...
@@ -10,7 +10,7 @@ import io.github.linpeilie.Converter;
import
jakarta.servlet.http.HttpServletResponse
;
import
jakarta.servlet.http.HttpServletResponse
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.dromara.hutool.core.date.
Dat
eUtil
;
import
org.dromara.hutool.core.date.
Tim
eUtil
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
vion.dto.InvoiceDTO
;
import
vion.dto.InvoiceDTO
;
...
@@ -21,7 +21,7 @@ import vion.vo.UserVO;
...
@@ -21,7 +21,7 @@ import vion.vo.UserVO;
import
java.awt.*
;
import
java.awt.*
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -79,7 +79,7 @@ public class InvoiceController {
...
@@ -79,7 +79,7 @@ public class InvoiceController {
watermark
.
setText
(
user
.
getUsername
()
+
"-"
+
user
.
getPhone
());
watermark
.
setText
(
user
.
getUsername
()
+
"-"
+
user
.
getPhone
());
watermark
.
setFont
(
new
Font
(
"SimSun"
,
Font
.
PLAIN
,
16
));
watermark
.
setFont
(
new
Font
(
"SimSun"
,
Font
.
PLAIN
,
16
));
WatermarkUtil
.
addWatermark
(
workbook
,
watermark
);
WatermarkUtil
.
addWatermark
(
workbook
,
watermark
);
AttachmentExportUtil
.
export
(
workbook
,
StrUtil
.
format
(
"发票列表_{}"
,
DateUtil
.
formatDateTime
(
new
Date
())),
response
);
AttachmentExportUtil
.
export
(
workbook
,
StrUtil
.
format
(
"发票列表_{}"
,
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
())),
response
);
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
throw
new
RuntimeException
(
e
);
}
}
...
...
src/main/java/vion/controller/PaymentController.java
View file @
60d82ba
...
@@ -2,31 +2,31 @@ package vion.controller;
...
@@ -2,31 +2,31 @@ package vion.controller;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
cn.dev33.satoken.stp.StpUtil
;
import
cn.dev33.satoken.stp.StpUtil
;
import
org.dromara.hutool.core.date.DateUtil
;
import
org.dromara.hutool.core.text.StrUtil
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.github.liaochong.myexcel.core.DefaultExcelBuilder
;
import
com.github.liaochong.myexcel.core.DefaultExcelBuilder
;
import
com.github.liaochong.myexcel.core.watermark.Watermark
;
import
com.github.liaochong.myexcel.core.watermark.Watermark
;
import
vion.utils.excel.AttachmentExportUtil
;
import
com.github.liaochong.myexcel.utils.WatermarkUtil
;
import
com.github.liaochong.myexcel.utils.WatermarkUtil
;
import
io.github.linpeilie.Converter
;
import
io.github.linpeilie.Converter
;
import
jakarta.servlet.http.HttpServletResponse
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.dromara.hutool.core.date.TimeUtil
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
vion.dto.PaymentDTO
;
import
vion.dto.PaymentDTO
;
import
vion.service.IPaymentService
;
import
vion.service.IPaymentService
;
import
vion.utils.excel.AttachmentExportUtil
;
import
vion.vo.PaymentVO
;
import
vion.vo.PaymentVO
;
import
vion.vo.UserVO
;
import
vion.vo.UserVO
;
import
jakarta.servlet.http.HttpServletResponse
;
import
java.awt.*
;
import
java.awt.*
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
import
java.util.List
;
import
java.util.List
;
/**
/**
* 收款记录管理
* 收款记录管理
*/
*/
@RestController
@RestController
@RequestMapping
(
"/api"
)
@RequestMapping
(
"/api"
)
@RequiredArgsConstructor
@RequiredArgsConstructor
...
@@ -79,7 +79,7 @@ public class PaymentController {
...
@@ -79,7 +79,7 @@ public class PaymentController {
watermark
.
setText
(
user
.
getUsername
()
+
"-"
+
user
.
getPhone
());
watermark
.
setText
(
user
.
getUsername
()
+
"-"
+
user
.
getPhone
());
watermark
.
setFont
(
new
Font
(
"SimSun"
,
Font
.
PLAIN
,
16
));
watermark
.
setFont
(
new
Font
(
"SimSun"
,
Font
.
PLAIN
,
16
));
WatermarkUtil
.
addWatermark
(
workbook
,
watermark
);
WatermarkUtil
.
addWatermark
(
workbook
,
watermark
);
AttachmentExportUtil
.
export
(
workbook
,
StrUtil
.
format
(
"收款列表_{}"
,
DateUtil
.
formatDateTime
(
new
Date
())),
response
);
AttachmentExportUtil
.
export
(
workbook
,
StrUtil
.
format
(
"收款列表_{}"
,
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
())),
response
);
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
throw
new
RuntimeException
(
e
);
}
}
...
...
src/main/java/vion/controller/PointDesignController.java
View file @
60d82ba
...
@@ -2,28 +2,28 @@ package vion.controller;
...
@@ -2,28 +2,28 @@ package vion.controller;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
cn.dev33.satoken.stp.StpUtil
;
import
cn.dev33.satoken.stp.StpUtil
;
import
org.dromara.hutool.core.date.DateUtil
;
import
org.dromara.hutool.core.text.StrUtil
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.github.liaochong.myexcel.core.DefaultExcelBuilder
;
import
com.github.liaochong.myexcel.core.DefaultExcelBuilder
;
import
com.github.liaochong.myexcel.core.watermark.Watermark
;
import
com.github.liaochong.myexcel.core.watermark.Watermark
;
import
vion.utils.excel.AttachmentExportUtil
;
import
com.github.liaochong.myexcel.utils.WatermarkUtil
;
import
com.github.liaochong.myexcel.utils.WatermarkUtil
;
import
jakarta.servlet.http.HttpServletResponse
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.dromara.hutool.core.date.TimeUtil
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
vion.dto.PointInfoDTO
;
import
vion.dto.PointInfoDTO
;
import
vion.model.RejectInfo
;
import
vion.model.RejectInfo
;
import
vion.service.IPointInfoService
;
import
vion.service.IPointInfoService
;
import
vion.third.WechatMod
;
import
vion.third.WechatMod
;
import
vion.utils.excel.AttachmentExportUtil
;
import
vion.vo.PointInfoVO
;
import
vion.vo.PointInfoVO
;
import
vion.vo.UserVO
;
import
vion.vo.UserVO
;
import
jakarta.servlet.http.HttpServletResponse
;
import
java.awt.*
;
import
java.awt.*
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -128,7 +128,7 @@ public class PointDesignController {
...
@@ -128,7 +128,7 @@ public class PointDesignController {
watermark
.
setText
(
user
.
getUsername
()
+
"-"
+
user
.
getPhone
());
watermark
.
setText
(
user
.
getUsername
()
+
"-"
+
user
.
getPhone
());
watermark
.
setFont
(
new
Font
(
"SimSun"
,
Font
.
PLAIN
,
16
));
watermark
.
setFont
(
new
Font
(
"SimSun"
,
Font
.
PLAIN
,
16
));
WatermarkUtil
.
addWatermark
(
workbook
,
watermark
);
WatermarkUtil
.
addWatermark
(
workbook
,
watermark
);
AttachmentExportUtil
.
export
(
workbook
,
StrUtil
.
format
(
"点位设计列表_{}"
,
DateUtil
.
formatDateTime
(
new
Date
())),
response
);
AttachmentExportUtil
.
export
(
workbook
,
StrUtil
.
format
(
"点位设计列表_{}"
,
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
())),
response
);
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
throw
new
RuntimeException
(
e
);
}
}
...
...
src/main/java/vion/controller/RRoleResourceController.java
View file @
60d82ba
package
vion
.
controller
;
package
vion
.
controller
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
org.dromara.hutool.core.lang.Opt
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
src/main/java/vion/controller/RepairRecController.java
View file @
60d82ba
package
vion
.
controller
;
package
vion
.
controller
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
org.dromara.hutool.core.lang.Assert
;
import
org.dromara.hutool.core.array.ArrayUtil
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.hutool.core.array.ArrayUtil
;
import
org.dromara.hutool.core.lang.Assert
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
vion.dto.RepairRecDTO
;
import
vion.dto.RepairRecDTO
;
import
vion.service.IRepairRecService
;
import
vion.service.IRepairRecService
;
...
...
src/main/java/vion/controller/RoleController.java
View file @
60d82ba
package
vion
.
controller
;
package
vion
.
controller
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
io.github.linpeilie.Converter
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.collection.ListUtil
;
import
org.dromara.hutool.core.collection.ListUtil
;
import
org.dromara.hutool.core.lang.Assert
;
import
org.dromara.hutool.core.lang.Assert
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.dromara.hutool.core.text.StrUtil
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
io.github.linpeilie.Converter
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.hutool.core.util.ObjUtil
;
import
org.dromara.hutool.core.util.ObjUtil
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
vion.dto.RoleDTO
;
import
vion.dto.RoleDTO
;
...
...
src/main/java/vion/controller/SparePartController.java
View file @
60d82ba
...
@@ -9,7 +9,7 @@ import jakarta.servlet.http.HttpServletResponse;
...
@@ -9,7 +9,7 @@ import jakarta.servlet.http.HttpServletResponse;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.dromara.hutool.core.array.ArrayUtil
;
import
org.dromara.hutool.core.array.ArrayUtil
;
import
org.dromara.hutool.core.date.
Dat
eUtil
;
import
org.dromara.hutool.core.date.
Tim
eUtil
;
import
org.dromara.hutool.core.lang.Assert
;
import
org.dromara.hutool.core.lang.Assert
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -22,7 +22,7 @@ import vion.vo.UserVO;
...
@@ -22,7 +22,7 @@ import vion.vo.UserVO;
import
java.awt.*
;
import
java.awt.*
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -92,7 +92,7 @@ public class SparePartController {
...
@@ -92,7 +92,7 @@ public class SparePartController {
watermark
.
setText
(
user
.
getUsername
()
+
"-"
+
user
.
getPhone
());
watermark
.
setText
(
user
.
getUsername
()
+
"-"
+
user
.
getPhone
());
watermark
.
setFont
(
new
Font
(
"SimSun"
,
Font
.
PLAIN
,
16
));
watermark
.
setFont
(
new
Font
(
"SimSun"
,
Font
.
PLAIN
,
16
));
WatermarkUtil
.
addWatermark
(
workbook
,
watermark
);
WatermarkUtil
.
addWatermark
(
workbook
,
watermark
);
AttachmentExportUtil
.
export
(
workbook
,
StrUtil
.
format
(
"备件申请列表_{}"
,
DateUtil
.
formatDateTime
(
new
Date
())),
response
);
AttachmentExportUtil
.
export
(
workbook
,
StrUtil
.
format
(
"备件申请列表_{}"
,
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
())),
response
);
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
throw
new
RuntimeException
(
e
);
}
}
...
...
src/main/java/vion/controller/TaskController.java
View file @
60d82ba
...
@@ -10,7 +10,7 @@ import jakarta.servlet.http.HttpServletResponse;
...
@@ -10,7 +10,7 @@ import jakarta.servlet.http.HttpServletResponse;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.dromara.hutool.core.date.
Dat
eUtil
;
import
org.dromara.hutool.core.date.
Tim
eUtil
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -27,7 +27,8 @@ import vion.vo.UserVO;
...
@@ -27,7 +27,8 @@ import vion.vo.UserVO;
import
java.awt.*
;
import
java.awt.*
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -81,7 +82,7 @@ public class TaskController {
...
@@ -81,7 +82,7 @@ public class TaskController {
FaultLog
faultLog
=
new
FaultLog
();
FaultLog
faultLog
=
new
FaultLog
();
faultLog
.
setOperator
(
taskVO
.
getActiveUser
());
faultLog
.
setOperator
(
taskVO
.
getActiveUser
());
faultLog
.
setContent
(
"工单正在处理中"
);
faultLog
.
setContent
(
"工单正在处理中"
);
faultLog
.
setCreateTime
(
new
Date
());
faultLog
.
setCreateTime
(
LocalDateTime
.
now
());
faultLogList
.
add
(
faultLog
);
faultLogList
.
add
(
faultLog
);
}
}
return
faultLogList
;
return
faultLogList
;
...
@@ -108,7 +109,7 @@ public class TaskController {
...
@@ -108,7 +109,7 @@ public class TaskController {
watermark
.
setText
(
user
.
getUsername
()
+
"-"
+
user
.
getPhone
());
watermark
.
setText
(
user
.
getUsername
()
+
"-"
+
user
.
getPhone
());
watermark
.
setFont
(
new
Font
(
"SimSun"
,
Font
.
PLAIN
,
16
));
watermark
.
setFont
(
new
Font
(
"SimSun"
,
Font
.
PLAIN
,
16
));
WatermarkUtil
.
addWatermark
(
workbook
,
watermark
);
WatermarkUtil
.
addWatermark
(
workbook
,
watermark
);
AttachmentExportUtil
.
export
(
workbook
,
StrUtil
.
format
(
"任务列表_{}"
,
DateUtil
.
formatDateTime
(
new
Date
())),
response
);
AttachmentExportUtil
.
export
(
workbook
,
StrUtil
.
format
(
"任务列表_{}"
,
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
())),
response
);
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
throw
new
RuntimeException
(
e
);
}
}
...
@@ -147,8 +148,8 @@ public class TaskController {
...
@@ -147,8 +148,8 @@ public class TaskController {
@GetMapping
(
"/task/peopleAnal"
)
@GetMapping
(
"/task/peopleAnal"
)
@SaCheckPermission
(
value
=
"task:peopleAnal"
,
orRole
=
"admin"
)
@SaCheckPermission
(
value
=
"task:peopleAnal"
,
orRole
=
"admin"
)
public
List
<
Map
<
String
,
Object
>>
peopleAnalysis
(
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
startDate
,
public
List
<
Map
<
String
,
Object
>>
peopleAnalysis
(
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Local
Date
startDate
,
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
endDate
,
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Local
Date
endDate
,
Integer
source
,
Integer
source
,
@RequestParam
(
required
=
false
)
List
<
Long
>
userIds
)
{
@RequestParam
(
required
=
false
)
List
<
Long
>
userIds
)
{
return
taskService
.
peopleAnalysis
(
startDate
,
endDate
,
source
,
userIds
);
return
taskService
.
peopleAnalysis
(
startDate
,
endDate
,
source
,
userIds
);
...
@@ -156,8 +157,8 @@ public class TaskController {
...
@@ -156,8 +157,8 @@ public class TaskController {
@GetMapping
(
"/task/proAnal"
)
@GetMapping
(
"/task/proAnal"
)
@SaCheckPermission
(
value
=
"task:proAnal"
,
orRole
=
"admin"
)
@SaCheckPermission
(
value
=
"task:proAnal"
,
orRole
=
"admin"
)
public
List
<
Map
<
String
,
Object
>>
proAnalysis
(
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
startDate
,
public
List
<
Map
<
String
,
Object
>>
proAnalysis
(
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Local
Date
startDate
,
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
endDate
,
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Local
Date
endDate
,
Integer
source
,
Integer
source
,
@RequestParam
(
required
=
false
)
List
<
Long
>
userIds
)
{
@RequestParam
(
required
=
false
)
List
<
Long
>
userIds
)
{
return
taskService
.
proAnalysis
(
startDate
,
endDate
,
source
,
userIds
);
return
taskService
.
proAnalysis
(
startDate
,
endDate
,
source
,
userIds
);
...
@@ -165,8 +166,8 @@ public class TaskController {
...
@@ -165,8 +166,8 @@ public class TaskController {
@GetMapping
(
"/task/summaryAnal"
)
@GetMapping
(
"/task/summaryAnal"
)
@SaCheckPermission
(
value
=
"task:summaryAnal"
,
orRole
=
"admin"
)
@SaCheckPermission
(
value
=
"task:summaryAnal"
,
orRole
=
"admin"
)
public
Map
<
String
,
Map
<
String
,
List
<
Task
>>>
summaryAnalysis
(
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
startDate
,
public
Map
<
String
,
Map
<
String
,
List
<
Task
>>>
summaryAnalysis
(
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Local
Date
startDate
,
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
endDate
,
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Local
Date
endDate
,
Integer
source
)
{
Integer
source
)
{
return
taskService
.
summaryAnalysis
(
startDate
,
endDate
,
source
);
return
taskService
.
summaryAnalysis
(
startDate
,
endDate
,
source
);
}
}
...
...
src/main/java/vion/cron/ContractRunner.java
View file @
60d82ba
...
@@ -5,7 +5,7 @@ import lombok.RequiredArgsConstructor;
...
@@ -5,7 +5,7 @@ import lombok.RequiredArgsConstructor;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.collection.ListUtil
;
import
org.dromara.hutool.core.collection.ListUtil
;
import
org.dromara.hutool.core.date.
Dat
eUtil
;
import
org.dromara.hutool.core.date.
Tim
eUtil
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.math.NumberUtil
;
import
org.dromara.hutool.core.math.NumberUtil
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.dromara.hutool.core.text.StrUtil
;
...
@@ -165,9 +165,9 @@ public class ContractRunner {
...
@@ -165,9 +165,9 @@ public class ContractRunner {
contract
.
setName
(
jsonObj1
.
path
(
"text_14"
).
asText
());
contract
.
setName
(
jsonObj1
.
path
(
"text_14"
).
asText
());
contract
.
setContractNo
(
jsonObj1
.
path
(
"serialNo"
).
asText
());
contract
.
setContractNo
(
jsonObj1
.
path
(
"serialNo"
).
asText
());
contract
.
setType
(
contractTypeMap
.
getOrDefault
(
jsonObj1
.
path
(
"text_17"
).
path
(
"text"
).
asText
(),
0
));
contract
.
setType
(
contractTypeMap
.
getOrDefault
(
jsonObj1
.
path
(
"text_17"
).
path
(
"text"
).
asText
(),
0
));
contract
.
setSignDate
(
DateUtil
.
date
(
jsonObj1
.
path
(
"date_1"
).
asLong
()
*
1000
));
contract
.
setSignDate
(
TimeUtil
.
of
(
jsonObj1
.
path
(
"date_1"
).
asLong
()
*
1000
).
toLocalDate
(
));
contract
.
setMaintainSdate
(
Opt
.
ofNullable
(
jsonObj1
.
path
(
"date_4"
)).
filter
(
JsonNode:
:
isNumber
).
map
(
sec
->
DateUtil
.
date
(
sec
.
asLong
()
*
1000
)).
orElse
(
null
));
contract
.
setMaintainSdate
(
Opt
.
ofNullable
(
jsonObj1
.
path
(
"date_4"
)).
filter
(
JsonNode:
:
isNumber
).
map
(
sec
->
TimeUtil
.
of
(
sec
.
asLong
()
*
1000
).
toLocalDate
(
)).
orElse
(
null
));
contract
.
setMaintainEdate
(
Opt
.
ofNullable
(
jsonObj1
.
path
(
"date_5"
)).
filter
(
JsonNode:
:
isNumber
).
map
(
sec
->
DateUtil
.
date
(
sec
.
asLong
()
*
1000
)).
orElse
(
null
));
contract
.
setMaintainEdate
(
Opt
.
ofNullable
(
jsonObj1
.
path
(
"date_5"
)).
filter
(
JsonNode:
:
isNumber
).
map
(
sec
->
TimeUtil
.
of
(
sec
.
asLong
()
*
1000
).
toLocalDate
(
)).
orElse
(
null
));
String
warrantyPeriod
=
jsonObj1
.
path
(
"text_23"
).
path
(
"text"
).
asText
(
""
);
String
warrantyPeriod
=
jsonObj1
.
path
(
"text_23"
).
path
(
"text"
).
asText
(
""
);
// 23 质保 没有维保开始时间和结束时间 25 维保
// 23 质保 没有维保开始时间和结束时间 25 维保
if
(
StrUtil
.
isNotBlank
(
warrantyPeriod
)
&&
warrantyPeriod
.
contains
(
"个月"
))
{
if
(
StrUtil
.
isNotBlank
(
warrantyPeriod
)
&&
warrantyPeriod
.
contains
(
"个月"
))
{
...
@@ -183,7 +183,7 @@ public class ContractRunner {
...
@@ -183,7 +183,7 @@ public class ContractRunner {
if
(!
paymentForm
.
isEmpty
())
{
if
(!
paymentForm
.
isEmpty
())
{
paymentForm
.
forEach
(
pf
->
{
paymentForm
.
forEach
(
pf
->
{
var
ratio
=
NumberUtil
.
div
(
BigDecimal
.
valueOf
(
Double
.
parseDouble
(
pf
.
path
(
"text_1"
).
asText
())),
100
);
var
ratio
=
NumberUtil
.
div
(
BigDecimal
.
valueOf
(
Double
.
parseDouble
(
pf
.
path
(
"text_1"
).
asText
())),
100
);
var
date
=
DateUtil
.
date
(
pf
.
path
(
"date_1"
).
asLong
()
*
1000
);
var
date
=
TimeUtil
.
of
(
pf
.
path
(
"date_1"
).
asLong
()
*
1000
).
toLocalDate
(
);
var
stage
=
pf
.
path
(
"text_2"
).
path
(
"text"
).
asText
();
var
stage
=
pf
.
path
(
"text_2"
).
path
(
"text"
).
asText
();
if
(
StrUtil
.
equals
(
stage
,
"预付款"
))
{
if
(
StrUtil
.
equals
(
stage
,
"预付款"
))
{
contract
.
setSignRatio
(
ratio
);
contract
.
setSignRatio
(
ratio
);
...
@@ -224,8 +224,8 @@ public class ContractRunner {
...
@@ -224,8 +224,8 @@ public class ContractRunner {
contract
.
setBackInfo
(
jsonObj1
.
path
(
"text_29"
).
asText
());
contract
.
setBackInfo
(
jsonObj1
.
path
(
"text_29"
).
asText
());
contract
.
setCreateUser
(-
1L
);
contract
.
setCreateUser
(-
1L
);
contract
.
setModifyUser
(-
1L
);
contract
.
setModifyUser
(-
1L
);
contract
.
setEntryTime
(
DateUtil
.
date
(
result
.
path
(
"addTime"
).
asLong
()
*
1000
));
contract
.
setEntryTime
(
TimeUtil
.
of
(
result
.
path
(
"addTime"
).
asLong
()
*
1000
));
contract
.
setOriginalModTime
(
DateUtil
.
date
(
result
.
path
(
"updateTime"
).
asLong
()
*
1000
));
contract
.
setOriginalModTime
(
TimeUtil
.
of
(
result
.
path
(
"updateTime"
).
asLong
()
*
1000
));
insOrUpdContractList
.
add
(
contract
);
insOrUpdContractList
.
add
(
contract
);
var
productArr
=
jsonObj1
.
withArray
(
"array_4"
);
var
productArr
=
jsonObj1
.
withArray
(
"array_4"
);
...
@@ -320,8 +320,7 @@ public class ContractRunner {
...
@@ -320,8 +320,7 @@ public class ContractRunner {
contractPaymentService
.
calMoney
(
exist
,
updDto
);
contractPaymentService
.
calMoney
(
exist
,
updDto
);
contractService
.
updateById
(
updDto
);
contractService
.
updateById
(
updDto
);
});
});
redissonClient
.
getBucket
(
RedisKeyEnum
.
CONTRACT_SYNC_NEW_TIME
.
getVal
()).
set
(
insOrUpdContractList
.
getFirst
().
getOriginalModTime
().
getTime
());
redissonClient
.
getBucket
(
RedisKeyEnum
.
CONTRACT_SYNC_NEW_TIME
.
getVal
()).
set
(
TimeUtil
.
toEpochMilli
(
insOrUpdContractList
.
getFirst
().
getOriginalModTime
()));
log
.
info
(
"【结束】从crm系统同步合同信息"
);
log
.
info
(
"【结束】从crm系统同步合同信息"
);
}
}
...
...
src/main/java/vion/cron/LogPushRunner.java
View file @
60d82ba
...
@@ -2,7 +2,7 @@ package vion.cron;
...
@@ -2,7 +2,7 @@ package vion.cron;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.dromara.hutool.core.date.
Dat
eUtil
;
import
org.dromara.hutool.core.date.
Tim
eUtil
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.dromara.hutool.core.util.ObjUtil
;
import
org.dromara.hutool.core.util.ObjUtil
;
...
@@ -20,6 +20,7 @@ import vion.service.IStoreService;
...
@@ -20,6 +20,7 @@ import vion.service.IStoreService;
import
vion.third.DingMod
;
import
vion.third.DingMod
;
import
vion.utils.JsonUtil
;
import
vion.utils.JsonUtil
;
import
java.time.LocalDateTime
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -83,7 +84,7 @@ public class LogPushRunner {
...
@@ -83,7 +84,7 @@ public class LogPushRunner {
.
put
(
"text"
,
StrUtil
.
format
(
"""
.
put
(
"text"
,
StrUtil
.
format
(
"""
### 项目日志待提交提醒
### 项目日志待提交提醒
#### 项目:[{}]请及时提交日志
#### 项目:[{}]请及时提交日志
#### 发送时间:{}"""
,
storeName
,
DateUtil
.
now
(
)));
#### 发送时间:{}"""
,
storeName
,
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
()
)));
var
msg
=
JsonUtil
.
createObj
()
var
msg
=
JsonUtil
.
createObj
()
.
put
(
"msgtype"
,
"markdown"
)
.
put
(
"msgtype"
,
"markdown"
)
...
...
src/main/java/vion/cron/TaskRunner.java
View file @
60d82ba
...
@@ -3,7 +3,7 @@ package vion.cron;
...
@@ -3,7 +3,7 @@ package vion.cron;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.dromara.hutool.core.date.
Dat
eUtil
;
import
org.dromara.hutool.core.date.
Tim
eUtil
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
...
@@ -14,6 +14,7 @@ import vion.service.IUserService;
...
@@ -14,6 +14,7 @@ import vion.service.IUserService;
import
vion.third.DingMod
;
import
vion.third.DingMod
;
import
vion.utils.JsonUtil
;
import
vion.utils.JsonUtil
;
import
java.time.LocalDateTime
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -52,7 +53,7 @@ public class TaskRunner {
...
@@ -52,7 +53,7 @@ public class TaskRunner {
.
put
(
"markdown"
,
"""
.
put
(
"markdown"
,
"""
### 未完成工单提醒
### 未完成工单提醒
#### 请查看您未完成的工单
#### 请查看您未完成的工单
#### 发送时间:"""
+
DateUtil
.
now
(
))
#### 发送时间:"""
+
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
()
))
.
put
(
"btn_orientation"
,
"1"
);
.
put
(
"btn_orientation"
,
"1"
);
var
jsonArray
=
JsonUtil
.
createArr
()
var
jsonArray
=
JsonUtil
.
createArr
()
...
...
src/main/java/vion/dto/ContractDTO.java
View file @
60d82ba
...
@@ -7,7 +7,8 @@ import org.springframework.format.annotation.DateTimeFormat;
...
@@ -7,7 +7,8 @@ import org.springframework.format.annotation.DateTimeFormat;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
@Getter
@Getter
...
@@ -56,24 +57,26 @@ public class ContractDTO extends BaseDTO {
...
@@ -56,24 +57,26 @@ public class ContractDTO extends BaseDTO {
/**
/**
* 终验日期
* 终验日期
*/
*/
private
Dat
e
finalDate
;
private
LocalDateTim
e
finalDate
;
/**
/**
* 项目id
* 项目id
*/
*/
private
Long
storeId
;
private
Long
storeId
;
/** 文件来源 */
/**
* 文件来源
*/
private
Integer
sourceType
;
private
Integer
sourceType
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
nodeDate
;
private
Local
Date
nodeDate
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
signDateStart
;
private
Local
Date
signDateStart
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
signDateEnd
;
private
Local
Date
signDateEnd
;
/**
/**
* 1:查询未关联的合同
* 1:查询未关联的合同
...
@@ -81,7 +84,9 @@ public class ContractDTO extends BaseDTO {
...
@@ -81,7 +84,9 @@ public class ContractDTO extends BaseDTO {
*/
*/
private
int
switchFlag
;
private
int
switchFlag
;
/** 产品线属性 */
/**
* 产品线属性
*/
private
List
<
Integer
>
productLines
;
private
List
<
Integer
>
productLines
;
/**
/**
...
@@ -107,7 +112,9 @@ public class ContractDTO extends BaseDTO {
...
@@ -107,7 +112,9 @@ public class ContractDTO extends BaseDTO {
private
BigDecimal
amount
;
private
BigDecimal
amount
;
/** 操作符 > < = */
/**
* 操作符 > < =
*/
private
String
operator
;
private
String
operator
;
private
OrderItem
orderItem
;
private
OrderItem
orderItem
;
...
...
src/main/java/vion/dto/ContractPaymentDTO.java
View file @
60d82ba
...
@@ -5,7 +5,7 @@ import lombok.Getter;
...
@@ -5,7 +5,7 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.
util.
Date
;
import
java.
time.Local
Date
;
@Getter
@Getter
@Setter
@Setter
...
@@ -31,6 +31,6 @@ public class ContractPaymentDTO {
...
@@ -31,6 +31,6 @@ public class ContractPaymentDTO {
* 节点日期,指合同到这一阶段时的时间
* 节点日期,指合同到这一阶段时的时间
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
nodeDate
;
private
Local
Date
nodeDate
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/dto/DeliverLogDTO.java
View file @
60d82ba
...
@@ -5,7 +5,7 @@ import lombok.Getter;
...
@@ -5,7 +5,7 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.
util.
Date
;
import
java.
time.Local
Date
;
import
java.util.List
;
import
java.util.List
;
@Getter
@Getter
...
@@ -39,13 +39,13 @@ public class DeliverLogDTO extends BaseDTO {
...
@@ -39,13 +39,13 @@ public class DeliverLogDTO extends BaseDTO {
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
logDate
;
private
Local
Date
logDate
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
logDateStart
;
private
Local
Date
logDateStart
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
logDateEnd
;
private
Local
Date
logDateEnd
;
/**
/**
* 干系人
* 干系人
...
...
src/main/java/vion/dto/DeliveryRecordDTO.java
View file @
60d82ba
...
@@ -6,7 +6,7 @@ import lombok.Setter;
...
@@ -6,7 +6,7 @@ import lombok.Setter;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.
util.
Date
;
import
java.
time.Local
Date
;
@Getter
@Getter
@Setter
@Setter
...
@@ -53,14 +53,14 @@ public class DeliveryRecordDTO extends BaseDTO {
...
@@ -53,14 +53,14 @@ public class DeliveryRecordDTO extends BaseDTO {
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
shipDate
;
private
Local
Date
shipDate
;
/**
/**
* 到货签收日期
* 到货签收日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
signDate
;
private
Local
Date
signDate
;
/**
/**
* 快递公司
* 快递公司
...
...
src/main/java/vion/dto/DeviceDTO.java
View file @
60d82ba
...
@@ -4,7 +4,7 @@ import lombok.Getter;
...
@@ -4,7 +4,7 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.
util.
Date
;
import
java.
time.Local
Date
;
@Getter
@Getter
@Setter
@Setter
...
@@ -55,7 +55,7 @@ public class DeviceDTO extends BaseDTO {
...
@@ -55,7 +55,7 @@ public class DeviceDTO extends BaseDTO {
* 入库日期
* 入库日期
*/
*/
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
recDate
;
private
Local
Date
recDate
;
/**
/**
* 备注
* 备注
...
...
src/main/java/vion/dto/FileInfoDTO.java
View file @
60d82ba
...
@@ -9,31 +9,57 @@ import java.util.List;
...
@@ -9,31 +9,57 @@ import java.util.List;
@Setter
@Setter
public
class
FileInfoDTO
extends
BaseDTO
{
public
class
FileInfoDTO
extends
BaseDTO
{
private
Long
id
;
private
Long
id
;
/** 门店id */
/**
* 门店id
*/
private
Long
storeId
;
private
Long
storeId
;
/** 文件扩展名 */
/**
* 文件扩展名
*/
private
String
type
;
private
String
type
;
/** 文件来源 */
/**
* 文件来源
*/
private
Integer
sourceType
;
private
Integer
sourceType
;
private
List
<
Integer
>
sourceTypeList
;
private
List
<
Integer
>
sourceTypeList
;
/** 文件来源id */
/**
* 文件来源id
*/
private
Long
sourceId
;
private
Long
sourceId
;
/** 合同id */
/**
* 合同id
*/
private
Long
contractId
;
private
Long
contractId
;
/** 合同编号 */
/**
* 合同编号
*/
private
String
contractNo
;
private
String
contractNo
;
/** 文件名称 */
/**
* 文件名称
*/
private
String
name
;
private
String
name
;
/** 文件地址 */
/**
* 文件地址
*/
private
String
url
;
private
String
url
;
/** 备注 */
/**
* 备注
*/
private
String
remark
;
private
String
remark
;
/** sha256 */
/**
* sha256
*/
private
String
sha256
;
private
String
sha256
;
/** 上传人 */
/**
* 上传人
*/
private
String
uploader
;
private
String
uploader
;
/** 标识:storeLog,用于区分项目日志的表单文件的提交存储和其他通用表单的文件存储 */
/**
* 标识:storeLog,用于区分项目日志的表单文件的提交存储和其他通用表单的文件存储
*/
private
String
flag
;
private
String
flag
;
/** 更新标识,更新接口不传该字段,不允许更新文件:1.项目资料 */
/**
* 更新标识,更新接口不传该字段,不允许更新文件:1.项目资料
*/
private
Integer
updFlag
;
private
Integer
updFlag
;
}
}
src/main/java/vion/dto/FormDTO.java
View file @
60d82ba
...
@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
...
@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
@Getter
@Getter
...
@@ -41,7 +41,7 @@ public class FormDTO extends BaseDTO {
...
@@ -41,7 +41,7 @@ public class FormDTO extends BaseDTO {
* 签字时间
* 签字时间
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
signTime
;
private
LocalDateTim
e
signTime
;
/**
/**
* 来源,1:任务管理,2:巡检管理
* 来源,1:任务管理,2:巡检管理
...
...
src/main/java/vion/dto/InspectDTO.java
View file @
60d82ba
...
@@ -5,45 +5,68 @@ import lombok.Getter;
...
@@ -5,45 +5,68 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
@Getter
@Getter
@Setter
@Setter
public
class
InspectDTO
extends
BaseDTO
{
public
class
InspectDTO
extends
BaseDTO
{
/** 自增列 */
/**
* 自增列
*/
private
Long
id
;
private
Long
id
;
/** 门店id */
/**
* 门店id
*/
private
Long
storeId
;
private
Long
storeId
;
/** 巡检时间 */
/**
* 巡检时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
inspectDate
;
private
Local
Date
inspectDate
;
/** 巡检方式(0远程、1现场) */
/**
* 巡检方式(0远程、1现场)
*/
private
Integer
type
;
private
Integer
type
;
/** 状态(0进行中、1待审核、2已完成、3、驳回) */
/**
* 状态(0进行中、1待审核、2已完成、3、驳回)
*/
private
Integer
status
;
private
Integer
status
;
/** 巡检人 */
/**
* 巡检人
*/
private
Integer
inspectUser
;
private
Integer
inspectUser
;
/** 审核人 */
/**
* 审核人
*/
private
Integer
reviewer
;
private
Integer
reviewer
;
/** 完成时间 */
/**
* 完成时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
finishDate
;
private
Local
Date
finishDate
;
/** 审核时间 */
/**
* 审核时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
auditDate
;
private
Local
Date
auditDate
;
/** 备注 */
/**
* 备注
*/
private
String
remark
;
private
String
remark
;
/** 集团id */
/**
* 集团id
*/
private
Long
accountId
;
private
Long
accountId
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Dat
e
startdate
;
private
LocalDateTim
e
startdate
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Dat
e
enddate
;
private
LocalDateTim
e
enddate
;
}
}
src/main/java/vion/dto/InvoiceDTO.java
View file @
60d82ba
...
@@ -7,7 +7,7 @@ import lombok.Setter;
...
@@ -7,7 +7,7 @@ import lombok.Setter;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.
util.
Date
;
import
java.
time.Local
Date
;
@Getter
@Getter
...
@@ -24,7 +24,7 @@ public class InvoiceDTO extends BaseDTO {
...
@@ -24,7 +24,7 @@ public class InvoiceDTO extends BaseDTO {
* 开票时间
* 开票时间
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
invoicingTime
;
private
Local
Date
invoicingTime
;
/**
/**
* 发票金额
* 发票金额
...
@@ -47,9 +47,9 @@ public class InvoiceDTO extends BaseDTO {
...
@@ -47,9 +47,9 @@ public class InvoiceDTO extends BaseDTO {
private
String
serialNo
;
private
String
serialNo
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
invoicingTimeStart
;
private
Local
Date
invoicingTimeStart
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
invoicingTimeEnd
;
private
Local
Date
invoicingTimeEnd
;
private
OrderItem
orderItem
;
private
OrderItem
orderItem
;
...
...
src/main/java/vion/dto/PaymentDTO.java
View file @
60d82ba
...
@@ -7,7 +7,7 @@ import lombok.Setter;
...
@@ -7,7 +7,7 @@ import lombok.Setter;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.
util.
Date
;
import
java.
time.Local
Date
;
/**
/**
* 收款记录表
* 收款记录表
...
@@ -31,7 +31,7 @@ public class PaymentDTO extends BaseDTO {
...
@@ -31,7 +31,7 @@ public class PaymentDTO extends BaseDTO {
* 收款时间
* 收款时间
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
collectionTime
;
private
Local
Date
collectionTime
;
/**
/**
* 收款金额
* 收款金额
...
@@ -47,10 +47,10 @@ public class PaymentDTO extends BaseDTO {
...
@@ -47,10 +47,10 @@ public class PaymentDTO extends BaseDTO {
* 收款开始时间、结束时间
* 收款开始时间、结束时间
*/
*/
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
collectionTimeStart
;
private
Local
Date
collectionTimeStart
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
collectionTimeEnd
;
private
Local
Date
collectionTimeEnd
;
private
OrderItem
orderItem
;
private
OrderItem
orderItem
;
...
...
src/main/java/vion/dto/PointInfoDTO.java
View file @
60d82ba
...
@@ -200,14 +200,20 @@ public class PointInfoDTO extends BaseDTO {
...
@@ -200,14 +200,20 @@ public class PointInfoDTO extends BaseDTO {
private
MultipartFile
[]
files
;
private
MultipartFile
[]
files
;
/** 客户上传合同文件 */
/**
* 客户上传合同文件
*/
private
MultipartFile
contractFile
;
private
MultipartFile
contractFile
;
/** 上传的合同范本 */
/**
* 上传的合同范本
*/
private
MultipartFile
contractTemplateFile
;
private
MultipartFile
contractTemplateFile
;
/* 终版合同 */
/* 终版合同 */
private
MultipartFile
finalContractFile
;
private
MultipartFile
finalContractFile
;
/** 微信 openid 和昵称 */
/**
* 微信 openid 和昵称
*/
private
String
openid
;
private
String
openid
;
private
String
nickname
;
private
String
nickname
;
...
...
src/main/java/vion/dto/RContractTeamDTO.java
View file @
60d82ba
...
@@ -3,7 +3,7 @@ package vion.dto;
...
@@ -3,7 +3,7 @@ package vion.dto;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
@Getter
@Getter
@Setter
@Setter
...
@@ -36,12 +36,12 @@ public class RContractTeamDTO extends BaseDTO {
...
@@ -36,12 +36,12 @@ public class RContractTeamDTO extends BaseDTO {
/**
/**
* 分配日期
* 分配日期
*/
*/
private
Dat
e
assignDate
;
private
LocalDateTim
e
assignDate
;
/**
/**
* 完成日期
* 完成日期
*/
*/
private
Dat
e
finishDate
;
private
LocalDateTim
e
finishDate
;
/**
/**
* 施工状态
* 施工状态
...
...
src/main/java/vion/dto/RepairRecDTO.java
View file @
60d82ba
...
@@ -6,7 +6,8 @@ import lombok.Setter;
...
@@ -6,7 +6,8 @@ import lombok.Setter;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -87,7 +88,7 @@ public class RepairRecDTO extends BaseDTO {
...
@@ -87,7 +88,7 @@ public class RepairRecDTO extends BaseDTO {
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
shipDate
;
private
Local
Date
shipDate
;
/**
/**
* 快递公司
* 快递公司
...
@@ -119,14 +120,14 @@ public class RepairRecDTO extends BaseDTO {
...
@@ -119,14 +120,14 @@ public class RepairRecDTO extends BaseDTO {
private
MultipartFile
[]
files
;
private
MultipartFile
[]
files
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Dat
e
createTimeStart
;
private
LocalDateTim
e
createTimeStart
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Dat
e
createTimeEnd
;
private
LocalDateTim
e
createTimeEnd
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
shipDateStart
;
private
Local
Date
shipDateStart
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
shipDateEnd
;
private
Local
Date
shipDateEnd
;
private
String
deviceName
;
private
String
deviceName
;
private
String
deviceNo
;
private
String
deviceNo
;
...
...
src/main/java/vion/dto/RoleDTO.java
View file @
60d82ba
...
@@ -4,7 +4,7 @@ import lombok.Getter;
...
@@ -4,7 +4,7 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -36,8 +36,8 @@ public class RoleDTO extends BaseDTO {
...
@@ -36,8 +36,8 @@ public class RoleDTO extends BaseDTO {
private
String
remark
;
private
String
remark
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Dat
e
startDate
;
private
LocalDateTim
e
startDate
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Dat
e
endDate
;
private
LocalDateTim
e
endDate
;
}
}
src/main/java/vion/dto/ServiceOrderDTO.java
View file @
60d82ba
...
@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
...
@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -14,62 +14,100 @@ import java.util.Date;
...
@@ -14,62 +14,100 @@ import java.util.Date;
@Setter
@Setter
public
class
ServiceOrderDTO
extends
BaseDTO
{
public
class
ServiceOrderDTO
extends
BaseDTO
{
/** 项目名称 */
/**
* 项目名称
*/
private
String
projectName
;
private
String
projectName
;
/** 报修人 */
/**
* 报修人
*/
private
String
submitter
;
private
String
submitter
;
/** 报修人手机号码 */
/**
* 报修人手机号码
*/
private
String
submitPhone
;
private
String
submitPhone
;
/** 报修时间 */
/**
* 报修时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
submitTime
;
private
LocalDateTim
e
submitTime
;
/** 维修人 */
/**
* 维修人
*/
private
String
repairPeople
;
private
String
repairPeople
;
/** 维修人手机号码*/
/**
* 维修人手机号码
*/
private
String
repairPhone
;
private
String
repairPhone
;
/** 部门 */
/**
* 部门
*/
private
String
dept
;
private
String
dept
;
/** 服务方式(1.电话支持 2.远程服务 3.现场服务) */
/**
* 服务方式(1.电话支持 2.远程服务 3.现场服务)
*/
private
Integer
serviceType
;
private
Integer
serviceType
;
/** 耗时 */
/**
* 耗时
*/
private
Double
time
;
private
Double
time
;
/** 故障内容 */
/**
* 故障内容
*/
private
String
faultContent
;
private
String
faultContent
;
/** 维修结果 */
/**
* 维修结果
*/
private
String
repairRes
;
private
String
repairRes
;
/** 客户评价 */
/**
* 客户评价
*/
private
String
review
;
private
String
review
;
/** 工单id */
/**
* 工单id
*/
private
Long
taskId
;
private
Long
taskId
;
/** 服务单状态 */
/**
* 服务单状态
*/
private
Integer
state
;
private
Integer
state
;
/** 五星好评 */
/**
* 五星好评
*/
private
Integer
stars
;
private
Integer
stars
;
/** 签字图片base64 */
/**
* 签字图片base64
*/
private
String
signPic
;
private
String
signPic
;
/** 签字时间 */
/**
* 签字时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
signTime
;
private
LocalDateTim
e
signTime
;
/** 完成时间 */
/**
* 完成时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
finishTime
;
private
LocalDateTime
finishTime
;
/** 项目id */
/**
* 项目id
*/
private
Long
storeId
;
private
Long
storeId
;
}
}
src/main/java/vion/dto/SparePartDTO.java
View file @
60d82ba
...
@@ -6,7 +6,8 @@ import lombok.Setter;
...
@@ -6,7 +6,8 @@ import lombok.Setter;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -82,7 +83,7 @@ public class SparePartDTO extends BaseDTO {
...
@@ -82,7 +83,7 @@ public class SparePartDTO extends BaseDTO {
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
shipDate
;
private
Local
Date
shipDate
;
/**
/**
* 快递公司
* 快递公司
...
@@ -114,18 +115,20 @@ public class SparePartDTO extends BaseDTO {
...
@@ -114,18 +115,20 @@ public class SparePartDTO extends BaseDTO {
*/
*/
private
String
uuid
;
private
String
uuid
;
/** 微信用户id */
/**
* 微信用户id
*/
private
String
openid
;
private
String
openid
;
private
MultipartFile
[]
files
;
private
MultipartFile
[]
files
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Dat
e
createTimeStart
;
private
LocalDateTim
e
createTimeStart
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Dat
e
createTimeEnd
;
private
LocalDateTim
e
createTimeEnd
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
shipDateStart
;
private
Local
Date
shipDateStart
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
shipDateEnd
;
private
Local
Date
shipDateEnd
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/dto/StatusDTO.java
View file @
60d82ba
...
@@ -7,13 +7,21 @@ import org.springframework.web.multipart.MultipartFile;
...
@@ -7,13 +7,21 @@ import org.springframework.web.multipart.MultipartFile;
@Getter
@Getter
@Setter
@Setter
public
class
StatusDTO
{
public
class
StatusDTO
{
/** 门店id */
/**
* 门店id
*/
private
Long
storeId
;
private
Long
storeId
;
/** 阶段 */
/**
* 阶段
*/
private
Integer
projectStage
;
private
Integer
projectStage
;
/** 文件来源 */
/**
* 文件来源
*/
private
Integer
sourceType
;
private
Integer
sourceType
;
/** 来源id */
/**
* 来源id
*/
private
Long
sourceId
;
private
Long
sourceId
;
private
MultipartFile
[]
files
;
private
MultipartFile
[]
files
;
}
}
src/main/java/vion/dto/StoreDTO.java
View file @
60d82ba
...
@@ -5,7 +5,8 @@ import lombok.Getter;
...
@@ -5,7 +5,8 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -16,69 +17,121 @@ import java.util.List;
...
@@ -16,69 +17,121 @@ import java.util.List;
public
class
StoreDTO
extends
BaseDTO
{
public
class
StoreDTO
extends
BaseDTO
{
private
Long
id
;
private
Long
id
;
private
List
<
Long
>
ids
;
private
List
<
Long
>
ids
;
/** 门店名称 */
/**
private
String
name
;
* 门店名称
/** 销售人 */
*/
private
String
name
;
/**
* 销售人
*/
private
Integer
salesperson
;
private
Integer
salesperson
;
/** 客户姓名 */
/**
* 客户姓名
*/
private
String
customerName
;
private
String
customerName
;
/** 实施类型:0纯供货、1供货+安装、3续保、4维修 */
/**
* 实施类型:0纯供货、1供货+安装、3续保、4维修
*/
private
Integer
implementType
;
private
Integer
implementType
;
/** 项目状态:0待确认、1进行中、2已完成、3挂起 */
/**
* 项目状态:0待确认、1进行中、2已完成、3挂起
*/
private
Integer
projectState
;
private
Integer
projectState
;
/** 联系人(多个联系人逗号隔开) */
/**
* 联系人(多个联系人逗号隔开)
*/
private
String
contacts
;
private
String
contacts
;
/** 创建者 */
/**
* 创建者
*/
private
Long
createUser
;
private
Long
createUser
;
/** 修改者 */
/**
* 修改者
*/
private
Long
modifyUser
;
private
Long
modifyUser
;
/** 备注 */
/**
* 备注
*/
private
String
remark
;
private
String
remark
;
/** 项目阶段 */
/**
* 项目阶段
*/
private
Integer
projectStage
;
private
Integer
projectStage
;
/** 集团id */
/**
* 集团id
*/
private
Long
accountId
;
private
Long
accountId
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Dat
e
startdate
;
private
LocalDateTim
e
startdate
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
enddate
;
private
LocalDateTime
enddate
;
/** 立项日期 */
/**
* 立项日期
*/
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
estDate
;
private
Local
Date
estDate
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
estDateStart
;
private
Local
Date
estDateStart
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
estDateEnd
;
private
LocalDate
estDateEnd
;
/** 主合同id */
/**
* 主合同id
*/
private
Long
masterContract
;
private
Long
masterContract
;
/** 维保状态 */
/**
* 维保状态
*/
private
String
maintainStatus
;
private
String
maintainStatus
;
/** 产品线属性 */
/**
* 产品线属性
*/
private
Integer
productLine
;
private
Integer
productLine
;
/** 是否重点项目 0:不是 1:是 */
/**
* 是否重点项目 0:不是 1:是
*/
private
Integer
isImportant
;
private
Integer
isImportant
;
/** 任务详情 */
/**
* 任务详情
*/
private
String
taskDetail
;
private
String
taskDetail
;
/** 预计完成日期 */
/**
* 预计完成日期
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
finishDate
;
private
LocalDate
finishDate
;
/** 完成百分比 */
/**
* 完成百分比
*/
private
Double
percentage
;
private
Double
percentage
;
/** 当前卡点 */
/**
* 当前卡点
*/
private
String
stuckPoint
;
private
String
stuckPoint
;
/** 标签id */
/**
* 标签id
*/
private
Long
tagId
;
private
Long
tagId
;
/** 项目负责人 or 项目经理 */
/**
* 项目负责人 or 项目经理
*/
private
Long
mainUser
;
private
Long
mainUser
;
/** 主要产品 */
/**
* 主要产品
*/
private
Integer
mainProduct
;
private
Integer
mainProduct
;
/** 点位数量 */
/**
* 点位数量
*/
private
Integer
pointNum
;
private
Integer
pointNum
;
/** 计划完成日期 */
/**
* 计划完成日期
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
planFinishDate
;
private
LocalDate
planFinishDate
;
/** 项目规模 */
/**
* 项目规模
*/
private
Integer
projectSize
;
private
Integer
projectSize
;
/**
/**
* 巡检次数
* 巡检次数
...
...
src/main/java/vion/dto/TaskDTO.java
View file @
60d82ba
...
@@ -6,7 +6,8 @@ import lombok.Setter;
...
@@ -6,7 +6,8 @@ import lombok.Setter;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
@Getter
@Getter
...
@@ -22,7 +23,7 @@ public class TaskDTO extends BaseDTO {
...
@@ -22,7 +23,7 @@ public class TaskDTO extends BaseDTO {
*/
*/
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
repairTime
;
private
LocalDateTim
e
repairTime
;
/**
/**
* 故障类型
* 故障类型
*/
*/
...
@@ -48,7 +49,7 @@ public class TaskDTO extends BaseDTO {
...
@@ -48,7 +49,7 @@ public class TaskDTO extends BaseDTO {
*/
*/
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
solveDate
;
private
Local
Date
solveDate
;
/**
/**
* 故障原因
* 故障原因
*/
*/
...
@@ -75,7 +76,7 @@ public class TaskDTO extends BaseDTO {
...
@@ -75,7 +76,7 @@ public class TaskDTO extends BaseDTO {
*/
*/
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
expDate
;
private
Local
Date
expDate
;
/**
/**
* 备注
* 备注
...
@@ -93,11 +94,11 @@ public class TaskDTO extends BaseDTO {
...
@@ -93,11 +94,11 @@ public class TaskDTO extends BaseDTO {
private
MultipartFile
[]
files
;
private
MultipartFile
[]
files
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Dat
e
startdate
;
private
LocalDateTim
e
startdate
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Dat
e
enddate
;
private
LocalDateTim
e
enddate
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
curDate
;
private
Local
Date
curDate
;
/**
/**
* 工时
* 工时
*/
*/
...
...
src/main/java/vion/dto/TaskTempDTO.java
View file @
60d82ba
...
@@ -6,7 +6,7 @@ import lombok.Setter;
...
@@ -6,7 +6,7 @@ import lombok.Setter;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
@Getter
@Getter
@Setter
@Setter
...
@@ -22,7 +22,7 @@ public class TaskTempDTO extends BaseDTO {
...
@@ -22,7 +22,7 @@ public class TaskTempDTO extends BaseDTO {
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Dat
e
repairTime
;
private
LocalDateTim
e
repairTime
;
/**
/**
* 故障说明
* 故障说明
*/
*/
...
@@ -53,7 +53,7 @@ public class TaskTempDTO extends BaseDTO {
...
@@ -53,7 +53,7 @@ public class TaskTempDTO extends BaseDTO {
private
MultipartFile
[]
files
;
private
MultipartFile
[]
files
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Dat
e
startdate
;
private
LocalDateTim
e
startdate
;
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Dat
e
enddate
;
private
LocalDateTim
e
enddate
;
}
}
src/main/java/vion/dto/UserDTO.java
View file @
60d82ba
...
@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
...
@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* 用户信息
* 用户信息
...
@@ -18,15 +18,19 @@ public class UserDTO extends BaseDTO {
...
@@ -18,15 +18,19 @@ public class UserDTO extends BaseDTO {
private
String
phone
;
private
String
phone
;
private
Long
deptId
;
private
Long
deptId
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
modifyTime
;
private
LocalDateTim
e
modifyTime
;
private
String
remark
;
private
String
remark
;
/** 是否是预工单处理人 0:不是 1:是 */
/**
* 是否是预工单处理人 0:不是 1:是
*/
private
Integer
preWorkOrder
;
private
Integer
preWorkOrder
;
/** 员工状态 2:试用期 3:正式 5:待离职 -1:无状态 */
/**
* 员工状态 2:试用期 3:正式 5:待离职 -1:无状态
*/
private
Integer
employeeStatus
;
private
Integer
employeeStatus
;
/* 状态 0:正常 1:禁用 */
/* 状态 0:正常 1:禁用 */
...
...
src/main/java/vion/mapper/DictionaryMapper.java
View file @
60d82ba
...
@@ -2,5 +2,6 @@ package vion.mapper;
...
@@ -2,5 +2,6 @@ package vion.mapper;
import
com.github.yulichang.base.MPJBaseMapper
;
import
com.github.yulichang.base.MPJBaseMapper
;
import
vion.model.Dictionary
;
import
vion.model.Dictionary
;
public
interface
DictionaryMapper
extends
MPJBaseMapper
<
Dictionary
>
{
public
interface
DictionaryMapper
extends
MPJBaseMapper
<
Dictionary
>
{
}
}
src/main/java/vion/mapper/DictionaryTypeMapper.java
View file @
60d82ba
...
@@ -2,5 +2,6 @@ package vion.mapper;
...
@@ -2,5 +2,6 @@ package vion.mapper;
import
com.github.yulichang.base.MPJBaseMapper
;
import
com.github.yulichang.base.MPJBaseMapper
;
import
vion.model.DictionaryType
;
import
vion.model.DictionaryType
;
public
interface
DictionaryTypeMapper
extends
MPJBaseMapper
<
DictionaryType
>
{
public
interface
DictionaryTypeMapper
extends
MPJBaseMapper
<
DictionaryType
>
{
}
}
src/main/java/vion/mapper/FaultLogMapper.java
View file @
60d82ba
...
@@ -2,5 +2,6 @@ package vion.mapper;
...
@@ -2,5 +2,6 @@ package vion.mapper;
import
com.github.yulichang.base.MPJBaseMapper
;
import
com.github.yulichang.base.MPJBaseMapper
;
import
vion.model.FaultLog
;
import
vion.model.FaultLog
;
public
interface
FaultLogMapper
extends
MPJBaseMapper
<
FaultLog
>
{
public
interface
FaultLogMapper
extends
MPJBaseMapper
<
FaultLog
>
{
}
}
src/main/java/vion/mapper/FileMapper.java
View file @
60d82ba
...
@@ -2,5 +2,6 @@ package vion.mapper;
...
@@ -2,5 +2,6 @@ package vion.mapper;
import
com.github.yulichang.base.MPJBaseMapper
;
import
com.github.yulichang.base.MPJBaseMapper
;
import
vion.model.FileInfo
;
import
vion.model.FileInfo
;
public
interface
FileMapper
extends
MPJBaseMapper
<
FileInfo
>
{
public
interface
FileMapper
extends
MPJBaseMapper
<
FileInfo
>
{
}
}
src/main/java/vion/mapper/InspectMapper.java
View file @
60d82ba
...
@@ -2,5 +2,6 @@ package vion.mapper;
...
@@ -2,5 +2,6 @@ package vion.mapper;
import
com.github.yulichang.base.MPJBaseMapper
;
import
com.github.yulichang.base.MPJBaseMapper
;
import
vion.model.Inspect
;
import
vion.model.Inspect
;
public
interface
InspectMapper
extends
MPJBaseMapper
<
Inspect
>
{
public
interface
InspectMapper
extends
MPJBaseMapper
<
Inspect
>
{
}
}
src/main/java/vion/mapper/SparePartMapper.java
View file @
60d82ba
package
vion
.
mapper
;
package
vion
.
mapper
;
import
com.github.yulichang.base.MPJBaseMapper
;
import
com.github.yulichang.base.MPJBaseMapper
;
import
vion.model.SparePart
;
import
vion.model.SparePart
;
/**
/**
* @author HlQ
* @author HlQ
...
...
src/main/java/vion/mapper/StoreMapper.java
View file @
60d82ba
...
@@ -2,5 +2,6 @@ package vion.mapper;
...
@@ -2,5 +2,6 @@ package vion.mapper;
import
com.github.yulichang.base.MPJBaseMapper
;
import
com.github.yulichang.base.MPJBaseMapper
;
import
vion.model.Store
;
import
vion.model.Store
;
public
interface
StoreMapper
extends
MPJBaseMapper
<
Store
>
{
public
interface
StoreMapper
extends
MPJBaseMapper
<
Store
>
{
}
}
src/main/java/vion/mapper/TaskMapper.java
View file @
60d82ba
...
@@ -2,5 +2,6 @@ package vion.mapper;
...
@@ -2,5 +2,6 @@ package vion.mapper;
import
com.github.yulichang.base.MPJBaseMapper
;
import
com.github.yulichang.base.MPJBaseMapper
;
import
vion.model.Task
;
import
vion.model.Task
;
public
interface
TaskMapper
extends
MPJBaseMapper
<
Task
>
{
public
interface
TaskMapper
extends
MPJBaseMapper
<
Task
>
{
}
}
src/main/java/vion/mapper/TaskTempMapper.java
View file @
60d82ba
...
@@ -2,5 +2,6 @@ package vion.mapper;
...
@@ -2,5 +2,6 @@ package vion.mapper;
import
com.github.yulichang.base.MPJBaseMapper
;
import
com.github.yulichang.base.MPJBaseMapper
;
import
vion.model.TaskTemp
;
import
vion.model.TaskTemp
;
public
interface
TaskTempMapper
extends
MPJBaseMapper
<
TaskTemp
>
{
public
interface
TaskTempMapper
extends
MPJBaseMapper
<
TaskTemp
>
{
}
}
src/main/java/vion/mapper/UserMapper.java
View file @
60d82ba
...
@@ -2,5 +2,6 @@ package vion.mapper;
...
@@ -2,5 +2,6 @@ package vion.mapper;
import
com.github.yulichang.base.MPJBaseMapper
;
import
com.github.yulichang.base.MPJBaseMapper
;
import
vion.model.User
;
import
vion.model.User
;
public
interface
UserMapper
extends
MPJBaseMapper
<
User
>
{
public
interface
UserMapper
extends
MPJBaseMapper
<
User
>
{
}
}
src/main/java/vion/model/Account.java
View file @
60d82ba
...
@@ -6,7 +6,7 @@ import lombok.Getter;
...
@@ -6,7 +6,7 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
vion.dto.BaseDTO
;
import
vion.dto.BaseDTO
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
@Getter
@Getter
@Setter
@Setter
...
@@ -29,14 +29,14 @@ public class Account extends BaseDTO {
...
@@ -29,14 +29,14 @@ public class Account extends BaseDTO {
*/
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/**
/**
* 修改时间
* 修改时间
*/
*/
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
modifyTime
;
private
LocalDateTim
e
modifyTime
;
/**
/**
* 备注
* 备注
...
...
src/main/java/vion/model/ConstructionTeam.java
View file @
60d82ba
...
@@ -8,7 +8,7 @@ import lombok.Setter;
...
@@ -8,7 +8,7 @@ import lombok.Setter;
import
vion.dto.ConstructionTeamDTO
;
import
vion.dto.ConstructionTeamDTO
;
import
vion.vo.ConstructionTeamVO
;
import
vion.vo.ConstructionTeamVO
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* 施工队信息表
* 施工队信息表
...
@@ -37,8 +37,8 @@ public class ConstructionTeam {
...
@@ -37,8 +37,8 @@ public class ConstructionTeam {
private
String
city
;
private
String
city
;
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/Contract.java
View file @
60d82ba
...
@@ -10,7 +10,8 @@ import vion.dto.ContractDTO;
...
@@ -10,7 +10,8 @@ import vion.dto.ContractDTO;
import
vion.vo.ContractVO
;
import
vion.vo.ContractVO
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
/**
/**
...
@@ -49,19 +50,19 @@ public class Contract {
...
@@ -49,19 +50,19 @@ public class Contract {
* 合同签订日期
* 合同签订日期
*/
*/
@TableField
(
value
=
"sign_date"
)
@TableField
(
value
=
"sign_date"
)
private
Date
signDate
;
private
Local
Date
signDate
;
/**
/**
* 合同维保开始日期
* 合同维保开始日期
*/
*/
@TableField
(
value
=
"maintain_sdate"
)
@TableField
(
value
=
"maintain_sdate"
)
private
Date
maintainSdate
;
private
Local
Date
maintainSdate
;
/**
/**
* 合同维保结束日期
* 合同维保结束日期
*/
*/
@TableField
(
value
=
"maintain_edate"
)
@TableField
(
value
=
"maintain_edate"
)
private
Date
maintainEdate
;
private
Local
Date
maintainEdate
;
/**
/**
* 合同进度:1-签订 2-到货 3-系统验收(初验) 4-项目验收(终验) 5-质保 6-第一笔维保款 7-第二笔维保款 8-第三笔维保款 9-维保进度款 10-维保验收款
* 合同进度:1-签订 2-到货 3-系统验收(初验) 4-项目验收(终验) 5-质保 6-第一笔维保款 7-第二笔维保款 8-第三笔维保款 9-维保进度款 10-维保验收款
...
@@ -140,13 +141,13 @@ public class Contract {
...
@@ -140,13 +141,13 @@ public class Contract {
* 创建时间
* 创建时间
*/
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/**
/**
* 修改时间
* 修改时间
*/
*/
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
private
Dat
e
modifyTime
;
private
LocalDateTim
e
modifyTime
;
/**
/**
* 合同质保周期(月)
* 合同质保周期(月)
...
@@ -158,7 +159,7 @@ public class Contract {
...
@@ -158,7 +159,7 @@ public class Contract {
* 终验日期,目前取值为合同阶段为系统初验或者终验的 nodeDate
* 终验日期,目前取值为合同阶段为系统初验或者终验的 nodeDate
*/
*/
@TableField
(
value
=
"final_date"
)
@TableField
(
value
=
"final_date"
)
private
Date
finalDate
;
private
Local
Date
finalDate
;
/**
/**
* 开票金额
* 开票金额
...
@@ -170,7 +171,7 @@ public class Contract {
...
@@ -170,7 +171,7 @@ public class Contract {
* 录入时间
* 录入时间
*/
*/
@TableField
(
value
=
"entry_time"
)
@TableField
(
value
=
"entry_time"
)
private
Dat
e
entryTime
;
private
LocalDateTim
e
entryTime
;
/**
/**
* 财务状态
* 财务状态
...
@@ -185,7 +186,7 @@ public class Contract {
...
@@ -185,7 +186,7 @@ public class Contract {
private
String
backInfo
;
private
String
backInfo
;
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
Dat
e
originalModTime
;
private
LocalDateTim
e
originalModTime
;
/**
/**
* 合同签订付款比例
* 合同签订付款比例
...
@@ -197,7 +198,7 @@ public class Contract {
...
@@ -197,7 +198,7 @@ public class Contract {
* 合同签订付款日期
* 合同签订付款日期
*/
*/
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
Date
signDate1
;
private
Local
Date
signDate1
;
/**
/**
* 合同到货付款比例
* 合同到货付款比例
...
@@ -209,7 +210,7 @@ public class Contract {
...
@@ -209,7 +210,7 @@ public class Contract {
* 合同到货付款日期
* 合同到货付款日期
*/
*/
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
Date
arriveDate
;
private
Local
Date
arriveDate
;
/**
/**
* 合同系统验收付款比例
* 合同系统验收付款比例
...
@@ -221,7 +222,7 @@ public class Contract {
...
@@ -221,7 +222,7 @@ public class Contract {
* 合同系统验收付款日期
* 合同系统验收付款日期
*/
*/
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
Date
systemCheckDate
;
private
Local
Date
systemCheckDate
;
/**
/**
* 合同项目验收付款比例
* 合同项目验收付款比例
...
@@ -233,7 +234,7 @@ public class Contract {
...
@@ -233,7 +234,7 @@ public class Contract {
* 合同项目验收付款日期
* 合同项目验收付款日期
*/
*/
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
Date
projectCheckDate
;
private
Local
Date
projectCheckDate
;
/**
/**
* 合同质保付款比例
* 合同质保付款比例
...
@@ -245,7 +246,7 @@ public class Contract {
...
@@ -245,7 +246,7 @@ public class Contract {
* 合同质保付款日期
* 合同质保付款日期
*/
*/
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
Date
warrantyDate
;
private
Local
Date
warrantyDate
;
/**
/**
* 合同维保付款比例1
* 合同维保付款比例1
...
@@ -257,7 +258,7 @@ public class Contract {
...
@@ -257,7 +258,7 @@ public class Contract {
* 合同维保付款日期1
* 合同维保付款日期1
*/
*/
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
Date
maintainDate1
;
private
Local
Date
maintainDate1
;
/**
/**
* 合同维保付款比例2
* 合同维保付款比例2
...
@@ -269,7 +270,7 @@ public class Contract {
...
@@ -269,7 +270,7 @@ public class Contract {
* 合同维保付款日期2
* 合同维保付款日期2
*/
*/
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
Date
maintainDate2
;
private
Local
Date
maintainDate2
;
/**
/**
* 合同维保付款比例3
* 合同维保付款比例3
...
@@ -281,7 +282,7 @@ public class Contract {
...
@@ -281,7 +282,7 @@ public class Contract {
* 合同维保付款日期3
* 合同维保付款日期3
*/
*/
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
Date
maintainDate3
;
private
Local
Date
maintainDate3
;
/**
/**
* 维保进度款
* 维保进度款
...
@@ -293,7 +294,7 @@ public class Contract {
...
@@ -293,7 +294,7 @@ public class Contract {
* 维保进度款付款日期
* 维保进度款付款日期
*/
*/
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
Date
maintainProgressDate
;
private
Local
Date
maintainProgressDate
;
/**
/**
* 维保验收款
* 维保验收款
...
@@ -305,5 +306,5 @@ public class Contract {
...
@@ -305,5 +306,5 @@ public class Contract {
* 维保验收款付款日期
* 维保验收款付款日期
*/
*/
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
Date
maintainAcceptanceDate
;
private
Local
Date
maintainAcceptanceDate
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/ContractLog.java
View file @
60d82ba
...
@@ -5,7 +5,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
...
@@ -5,7 +5,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -47,9 +48,9 @@ public class ContractLog {
...
@@ -47,9 +48,9 @@ public class ContractLog {
*/
*/
@TableField
(
value
=
"rec_time"
)
@TableField
(
value
=
"rec_time"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
recTime
;
private
Local
Date
recTime
;
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/ContractPayment.java
View file @
60d82ba
...
@@ -9,7 +9,8 @@ import vion.dto.ContractPaymentDTO;
...
@@ -9,7 +9,8 @@ import vion.dto.ContractPaymentDTO;
import
vion.vo.ContractPaymentVO
;
import
vion.vo.ContractPaymentVO
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
/**
/**
* 合同收款方式
* 合同收款方式
...
@@ -47,13 +48,13 @@ public class ContractPayment {
...
@@ -47,13 +48,13 @@ public class ContractPayment {
* 收款日期
* 收款日期
*/
*/
@TableField
(
value
=
"payment_date"
)
@TableField
(
value
=
"payment_date"
)
private
Date
paymentDate
;
private
Local
Date
paymentDate
;
/**
/**
* 节点日期,指合同到这一阶段时的时间
* 节点日期,指合同到这一阶段时的时间
*/
*/
@TableField
(
value
=
"node_date"
)
@TableField
(
value
=
"node_date"
)
private
Date
nodeDate
;
private
Local
Date
nodeDate
;
/**
/**
* 创建者
* 创建者
...
@@ -71,11 +72,11 @@ public class ContractPayment {
...
@@ -71,11 +72,11 @@ public class ContractPayment {
* 创建时间
* 创建时间
*/
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/**
/**
* 修改时间
* 修改时间
*/
*/
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
private
Dat
e
modifyTime
;
private
LocalDateTim
e
modifyTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/DeliverLog.java
View file @
60d82ba
...
@@ -8,7 +8,8 @@ import lombok.Setter;
...
@@ -8,7 +8,8 @@ import lombok.Setter;
import
vion.dto.DeliverLogDTO
;
import
vion.dto.DeliverLogDTO
;
import
vion.vo.DeliverLogVO
;
import
vion.vo.DeliverLogVO
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
/**
/**
* 项目交付人员日志
* 项目交付人员日志
...
@@ -52,7 +53,7 @@ public class DeliverLog {
...
@@ -52,7 +53,7 @@ public class DeliverLog {
* 日志日期
* 日志日期
*/
*/
@TableField
(
value
=
"log_date"
)
@TableField
(
value
=
"log_date"
)
private
Date
logDate
;
private
Local
Date
logDate
;
/**
/**
* 干系人
* 干系人
...
@@ -82,11 +83,11 @@ public class DeliverLog {
...
@@ -82,11 +83,11 @@ public class DeliverLog {
* 创建时间
* 创建时间
*/
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/**
/**
* 修改时间
* 修改时间
*/
*/
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/DeliveryRecord.java
View file @
60d82ba
...
@@ -8,7 +8,8 @@ import lombok.Setter;
...
@@ -8,7 +8,8 @@ import lombok.Setter;
import
vion.dto.DeliveryRecordDTO
;
import
vion.dto.DeliveryRecordDTO
;
import
vion.vo.DeliveryRecordVO
;
import
vion.vo.DeliveryRecordVO
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
/**
/**
* 发货记录表
* 发货记录表
...
@@ -36,15 +37,21 @@ public class DeliveryRecord {
...
@@ -36,15 +37,21 @@ public class DeliveryRecord {
@TableField
(
value
=
"contract_id"
)
@TableField
(
value
=
"contract_id"
)
private
Long
contractId
;
private
Long
contractId
;
/** 收货人 */
/**
* 收货人
*/
@TableField
(
value
=
"consignee"
)
@TableField
(
value
=
"consignee"
)
private
String
consignee
;
private
String
consignee
;
/** 收货地址 */
/**
* 收货地址
*/
@TableField
(
value
=
"address"
)
@TableField
(
value
=
"address"
)
private
String
address
;
private
String
address
;
/** 收货电话 */
/**
* 收货电话
*/
@TableField
(
value
=
"phone"
)
@TableField
(
value
=
"phone"
)
private
String
phone
;
private
String
phone
;
...
@@ -52,13 +59,13 @@ public class DeliveryRecord {
...
@@ -52,13 +59,13 @@ public class DeliveryRecord {
* 发货日期
* 发货日期
*/
*/
@TableField
(
value
=
"ship_date"
)
@TableField
(
value
=
"ship_date"
)
private
Date
shipDate
;
private
Local
Date
shipDate
;
/**
/**
* 到货签收日期
* 到货签收日期
*/
*/
@TableField
(
value
=
"sign_date"
)
@TableField
(
value
=
"sign_date"
)
private
Date
signDate
;
private
Local
Date
signDate
;
/**
/**
* 快递公司
* 快递公司
...
@@ -87,11 +94,11 @@ public class DeliveryRecord {
...
@@ -87,11 +94,11 @@ public class DeliveryRecord {
* 创建时间
* 创建时间
*/
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/**
/**
* 修改时间
* 修改时间
*/
*/
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/Dept.java
View file @
60d82ba
...
@@ -5,11 +5,11 @@ import com.fasterxml.jackson.annotation.JsonFormat;
...
@@ -5,11 +5,11 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
@Getter
@Getter
@Setter
@Setter
@TableName
(
value
=
"tbl_dept_info"
)
@TableName
(
value
=
"tbl_dept_info"
)
public
class
Dept
{
public
class
Dept
{
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
private
Long
id
;
...
@@ -18,9 +18,9 @@ public class Dept {
...
@@ -18,9 +18,9 @@ public class Dept {
private
Long
parentId
;
private
Long
parentId
;
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
modifyTime
;
private
LocalDateTim
e
modifyTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/Device.java
View file @
60d82ba
...
@@ -7,7 +7,8 @@ import lombok.Data;
...
@@ -7,7 +7,8 @@ import lombok.Data;
import
vion.dto.DeviceDTO
;
import
vion.dto.DeviceDTO
;
import
vion.vo.DeviceVO
;
import
vion.vo.DeviceVO
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
/**
/**
* 设备表
* 设备表
...
@@ -68,7 +69,7 @@ public class Device {
...
@@ -68,7 +69,7 @@ public class Device {
* 入库日期
* 入库日期
*/
*/
@TableField
(
value
=
"rec_date"
)
@TableField
(
value
=
"rec_date"
)
private
Date
recDate
;
private
Local
Date
recDate
;
/**
/**
* 备注
* 备注
...
@@ -77,8 +78,8 @@ public class Device {
...
@@ -77,8 +78,8 @@ public class Device {
private
String
remark
;
private
String
remark
;
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/DeviceLog.java
View file @
60d82ba
...
@@ -4,12 +4,13 @@ import com.baomidou.mybatisplus.annotation.*;
...
@@ -4,12 +4,13 @@ import com.baomidou.mybatisplus.annotation.*;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
lombok.Data
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2024/8/12
* @date 2024/8/12
*/
*/
/**
/**
* 设备变更日志表
* 设备变更日志表
*/
*/
...
@@ -39,5 +40,5 @@ public class DeviceLog {
...
@@ -39,5 +40,5 @@ public class DeviceLog {
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/Dictionary.java
View file @
60d82ba
...
@@ -8,11 +8,11 @@ import lombok.Getter;
...
@@ -8,11 +8,11 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
vion.dto.DictionaryDTO
;
import
vion.dto.DictionaryDTO
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
@Getter
@Getter
@Setter
@Setter
@TableName
(
value
=
"tbl_dictionary_info"
)
@TableName
(
value
=
"tbl_dictionary_info"
)
@AutoMappers
({
@AutoMappers
({
@AutoMapper
(
target
=
DictionaryDTO
.
class
),
@AutoMapper
(
target
=
DictionaryDTO
.
class
),
})
})
...
@@ -24,13 +24,17 @@ public class Dictionary {
...
@@ -24,13 +24,17 @@ public class Dictionary {
private
Integer
key
;
private
Integer
key
;
private
String
value
;
private
String
value
;
private
String
remark
;
private
String
remark
;
/** 创建时间 */
/**
* 创建时间
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/** 更新时间 */
/**
* 更新时间
*/
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
src/main/java/vion/model/DictionaryType.java
View file @
60d82ba
...
@@ -8,11 +8,11 @@ import lombok.Getter;
...
@@ -8,11 +8,11 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
vion.dto.DictionaryTypeDTO
;
import
vion.dto.DictionaryTypeDTO
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
@Getter
@Getter
@Setter
@Setter
@TableName
(
value
=
"tbl_dictionary_type"
)
@TableName
(
value
=
"tbl_dictionary_type"
)
@AutoMappers
({
@AutoMappers
({
@AutoMapper
(
target
=
DictionaryTypeDTO
.
class
),
@AutoMapper
(
target
=
DictionaryTypeDTO
.
class
),
})
})
...
@@ -24,13 +24,17 @@ public class DictionaryType {
...
@@ -24,13 +24,17 @@ public class DictionaryType {
private
String
type
;
private
String
type
;
private
String
remark
;
private
String
remark
;
/** 创建时间 */
/**
* 创建时间
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/** 更新时间 */
/**
* 更新时间
*/
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
src/main/java/vion/model/FaultLog.java
View file @
60d82ba
...
@@ -5,33 +5,49 @@ import com.fasterxml.jackson.annotation.JsonFormat;
...
@@ -5,33 +5,49 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* 工单操作记录
* 工单操作记录
*/
*/
@Getter
@Getter
@Setter
@Setter
@TableName
(
value
=
"tbl_fault_log"
)
@TableName
(
value
=
"tbl_fault_log"
)
public
class
FaultLog
{
public
class
FaultLog
{
/** 自增列 */
/**
* 自增列
*/
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
private
Long
id
;
/** 门店id */
/**
* 门店id
*/
private
Long
storeId
;
private
Long
storeId
;
/** 工单id */
/**
* 工单id
*/
private
Long
taskId
;
private
Long
taskId
;
/** 操作者 */
/**
* 操作者
*/
private
Long
operator
;
private
Long
operator
;
/** 操作内容 */
/**
* 操作内容
*/
private
String
content
;
private
String
content
;
/** 创建时间 */
/**
* 创建时间
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
createTime
;
private
LocalDateTime
createTime
;
/** 备注 */
/**
* 备注
*/
private
String
remark
;
private
String
remark
;
/** 工时 */
/**
* 工时
*/
private
Double
manHour
;
private
Double
manHour
;
}
}
src/main/java/vion/model/FileInfo.java
View file @
60d82ba
...
@@ -8,14 +8,14 @@ import lombok.Setter;
...
@@ -8,14 +8,14 @@ import lombok.Setter;
import
vion.dto.FileInfoDTO
;
import
vion.dto.FileInfoDTO
;
import
vion.vo.FileInfoVO
;
import
vion.vo.FileInfoVO
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* 文件信息
* 文件信息
*/
*/
@Getter
@Getter
@Setter
@Setter
@TableName
(
value
=
"tbl_file_info"
)
@TableName
(
value
=
"tbl_file_info"
)
@AutoMappers
({
@AutoMappers
({
@AutoMapper
(
target
=
FileInfoDTO
.
class
),
@AutoMapper
(
target
=
FileInfoDTO
.
class
),
@AutoMapper
(
target
=
FileInfoVO
.
class
),
@AutoMapper
(
target
=
FileInfoVO
.
class
),
...
@@ -23,9 +23,13 @@ import java.util.Date;
...
@@ -23,9 +23,13 @@ import java.util.Date;
public
class
FileInfo
{
public
class
FileInfo
{
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
private
Long
id
;
/** 项目id */
/**
* 项目id
*/
private
Long
storeId
;
private
Long
storeId
;
/** 文件扩展名 */
/**
* 文件扩展名
*/
private
String
type
;
private
String
type
;
/**
/**
* 文件来源
* 文件来源
...
@@ -38,22 +42,38 @@ public class FileInfo {
...
@@ -38,22 +42,38 @@ public class FileInfo {
* <br>24验收报告,25竣工图纸,26点位表,27项目总结,28前期勘察,29巡检报告,30结算资料,31启动会</br>
* <br>24验收报告,25竣工图纸,26点位表,27项目总结,28前期勘察,29巡检报告,30结算资料,31启动会</br>
*/
*/
private
Integer
sourceType
;
private
Integer
sourceType
;
/** 文件来源id */
/**
* 文件来源id
*/
private
Long
sourceId
;
private
Long
sourceId
;
/** 合同id */
/**
* 合同id
*/
private
Long
contractId
;
private
Long
contractId
;
/** 文件名称 */
/**
* 文件名称
*/
@TableField
(
condition
=
SqlCondition
.
LIKE
)
@TableField
(
condition
=
SqlCondition
.
LIKE
)
private
String
name
;
private
String
name
;
/** 文件地址 */
/**
* 文件地址
*/
private
String
url
;
private
String
url
;
/** 创建时间 */
/**
* 创建时间
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
private
Date
createTime
;
private
LocalDateTime
createTime
;
/** 备注 */
/**
* 备注
*/
private
String
remark
;
private
String
remark
;
/** sha256 */
/**
* sha256
*/
private
String
sha256
;
private
String
sha256
;
/** 上传人 */
/**
* 上传人
*/
private
String
uploader
;
private
String
uploader
;
}
}
src/main/java/vion/model/Form.java
View file @
60d82ba
...
@@ -9,7 +9,7 @@ import vion.config.JsonbTypeHandler;
...
@@ -9,7 +9,7 @@ import vion.config.JsonbTypeHandler;
import
vion.dto.FormDTO
;
import
vion.dto.FormDTO
;
import
vion.vo.FormVO
;
import
vion.vo.FormVO
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
...
@@ -60,7 +60,7 @@ public class Form {
...
@@ -60,7 +60,7 @@ public class Form {
* 签字时间
* 签字时间
*/
*/
@TableField
(
value
=
"sign_time"
)
@TableField
(
value
=
"sign_time"
)
private
Dat
e
signTime
;
private
LocalDateTim
e
signTime
;
/**
/**
* 唯一uuid
* 唯一uuid
...
@@ -87,8 +87,8 @@ public class Form {
...
@@ -87,8 +87,8 @@ public class Form {
private
Long
updateUser
;
private
Long
updateUser
;
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/Inspect.java
View file @
60d82ba
...
@@ -8,7 +8,8 @@ import lombok.Setter;
...
@@ -8,7 +8,8 @@ import lombok.Setter;
import
vion.dto.InspectDTO
;
import
vion.dto.InspectDTO
;
import
vion.vo.InspectVO
;
import
vion.vo.InspectVO
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
/**
/**
* 巡检信息
* 巡检信息
...
@@ -21,40 +22,66 @@ import java.util.Date;
...
@@ -21,40 +22,66 @@ import java.util.Date;
@AutoMapper
(
target
=
InspectDTO
.
class
),
@AutoMapper
(
target
=
InspectDTO
.
class
),
})
})
public
class
Inspect
{
public
class
Inspect
{
/** 自增列 */
/**
* 自增列
*/
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
private
Long
id
;
/** 门店id */
/**
* 门店id
*/
private
Long
storeId
;
private
Long
storeId
;
/** 巡检时间 */
/**
* 巡检时间
*/
@OrderBy
@OrderBy
private
Date
inspectDate
;
private
Local
Date
inspectDate
;
/** 巡检方式(0远程、1现场) */
/**
* 巡检方式(0远程、1现场)
*/
private
Integer
type
;
private
Integer
type
;
/** 状态(0进行中、1待审核、2已完成、3、驳回) */
/**
* 状态(0进行中、1待审核、2已完成、3、驳回)
*/
private
Integer
status
;
private
Integer
status
;
/** 巡检人 */
/**
* 巡检人
*/
private
Integer
inspectUser
;
private
Integer
inspectUser
;
/** 审核人 */
/**
* 审核人
*/
private
Integer
reviewer
;
private
Integer
reviewer
;
/** 巡检时间 */
/**
private
Date
finishDate
;
* 巡检时间
*/
private
LocalDate
finishDate
;
/** 审核时间 */
/**
private
Date
auditDate
;
* 审核时间
*/
private
LocalDate
auditDate
;
/** 创建时间 */
/**
* 创建时间
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/** 修改时间 */
/**
* 修改时间
*/
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
private
Date
modifyTime
;
private
LocalDateTime
modifyTime
;
/** 备注 */
/**
* 备注
*/
private
String
remark
;
private
String
remark
;
/** 集团id */
/**
* 集团id
*/
private
Long
accountId
;
private
Long
accountId
;
}
}
src/main/java/vion/model/Invoice.java
View file @
60d82ba
...
@@ -9,7 +9,8 @@ import vion.dto.InvoiceDTO;
...
@@ -9,7 +9,8 @@ import vion.dto.InvoiceDTO;
import
vion.vo.InvoiceVO
;
import
vion.vo.InvoiceVO
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
/**
/**
...
@@ -36,7 +37,7 @@ public class Invoice {
...
@@ -36,7 +37,7 @@ public class Invoice {
* 开票时间
* 开票时间
*/
*/
@TableField
(
value
=
"invoicing_time"
)
@TableField
(
value
=
"invoicing_time"
)
private
Date
invoicingTime
;
private
Local
Date
invoicingTime
;
/**
/**
* 发票金额
* 发票金额
...
@@ -63,8 +64,8 @@ public class Invoice {
...
@@ -63,8 +64,8 @@ public class Invoice {
private
String
serialNo
;
private
String
serialNo
;
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/Payment.java
View file @
60d82ba
...
@@ -9,7 +9,8 @@ import vion.dto.PaymentDTO;
...
@@ -9,7 +9,8 @@ import vion.dto.PaymentDTO;
import
vion.vo.PaymentVO
;
import
vion.vo.PaymentVO
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
/**
/**
* 收款记录表
* 收款记录表
...
@@ -41,7 +42,7 @@ public class Payment {
...
@@ -41,7 +42,7 @@ public class Payment {
* 收款时间
* 收款时间
*/
*/
@TableField
(
value
=
"collection_time"
)
@TableField
(
value
=
"collection_time"
)
private
Date
collectionTime
;
private
Local
Date
collectionTime
;
/**
/**
* 收款金额
* 收款金额
...
@@ -56,8 +57,8 @@ public class Payment {
...
@@ -56,8 +57,8 @@ public class Payment {
private
String
remark
;
private
String
remark
;
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/PointInfo.java
View file @
60d82ba
...
@@ -8,7 +8,7 @@ import lombok.Setter;
...
@@ -8,7 +8,7 @@ import lombok.Setter;
import
vion.dto.PointInfoDTO
;
import
vion.dto.PointInfoDTO
;
import
vion.vo.PointInfoVO
;
import
vion.vo.PointInfoVO
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -236,8 +236,8 @@ public class PointInfo {
...
@@ -236,8 +236,8 @@ public class PointInfo {
private
String
uuid
;
private
String
uuid
;
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/RContractProduct.java
View file @
60d82ba
...
@@ -6,7 +6,7 @@ import lombok.Getter;
...
@@ -6,7 +6,7 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -93,9 +93,9 @@ public class RContractProduct {
...
@@ -93,9 +93,9 @@ public class RContractProduct {
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/RContractStore.java
View file @
60d82ba
...
@@ -8,7 +8,7 @@ import lombok.Getter;
...
@@ -8,7 +8,7 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
vion.dto.RContractStoreDTO
;
import
vion.dto.RContractStoreDTO
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
...
@@ -53,12 +53,12 @@ public class RContractStore {
...
@@ -53,12 +53,12 @@ public class RContractStore {
*/
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/**
/**
* 修改时间
* 修改时间
*/
*/
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
modifyTime
;
private
LocalDateTim
e
modifyTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/RContractTeam.java
View file @
60d82ba
...
@@ -11,11 +11,12 @@ import lombok.Setter;
...
@@ -11,11 +11,12 @@ import lombok.Setter;
import
vion.dto.RContractTeamDTO
;
import
vion.dto.RContractTeamDTO
;
import
vion.vo.RContractTeamVO
;
import
vion.vo.RContractTeamVO
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
/**
/**
* 合同与施工队关联表
* 合同与施工队关联表
*/
*/
@Getter
@Getter
@Setter
@Setter
@TableName
(
value
=
"r_contract_team"
)
@TableName
(
value
=
"r_contract_team"
)
...
@@ -55,13 +56,13 @@ public class RContractTeam {
...
@@ -55,13 +56,13 @@ public class RContractTeam {
* 分配日期
* 分配日期
*/
*/
@TableField
(
value
=
"assign_date"
)
@TableField
(
value
=
"assign_date"
)
private
Date
assignDate
;
private
Local
Date
assignDate
;
/**
/**
* 完成日期
* 完成日期
*/
*/
@TableField
(
value
=
"finish_date"
)
@TableField
(
value
=
"finish_date"
)
private
Date
finishDate
;
private
Local
Date
finishDate
;
/**
/**
* 施工状态
* 施工状态
...
@@ -88,8 +89,8 @@ public class RContractTeam {
...
@@ -88,8 +89,8 @@ public class RContractTeam {
private
String
remark
;
private
String
remark
;
@TableField
(
value
=
"create_time"
)
@TableField
(
value
=
"create_time"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"update_time"
)
@TableField
(
value
=
"update_time"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/RContractUser.java
View file @
60d82ba
...
@@ -6,7 +6,8 @@ import lombok.Getter;
...
@@ -6,7 +6,8 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
vion.dto.BaseDTO
;
import
vion.dto.BaseDTO
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -54,9 +55,9 @@ public class RContractUser extends BaseDTO {
...
@@ -54,9 +55,9 @@ public class RContractUser extends BaseDTO {
*/
*/
@TableField
(
value
=
"enter_date"
)
@TableField
(
value
=
"enter_date"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
enterDate
;
private
Local
Date
enterDate
;
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/RPointDevice.java
View file @
60d82ba
...
@@ -5,7 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
...
@@ -5,7 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -32,9 +32,9 @@ public class RPointDevice {
...
@@ -32,9 +32,9 @@ public class RPointDevice {
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/RPointWx.java
View file @
60d82ba
...
@@ -5,7 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
...
@@ -5,7 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -38,9 +38,9 @@ public class RPointWx {
...
@@ -38,9 +38,9 @@ public class RPointWx {
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/RRepairDevice.java
View file @
60d82ba
...
@@ -10,7 +10,7 @@ import lombok.Getter;
...
@@ -10,7 +10,7 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
vion.dto.BaseDTO
;
import
vion.dto.BaseDTO
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -136,9 +136,9 @@ public class RRepairDevice extends BaseDTO {
...
@@ -136,9 +136,9 @@ public class RRepairDevice extends BaseDTO {
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/RRoleResource.java
View file @
60d82ba
...
@@ -8,7 +8,7 @@ import lombok.Getter;
...
@@ -8,7 +8,7 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
vion.dto.RRoleResourceDTO
;
import
vion.dto.RRoleResourceDTO
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -36,13 +36,17 @@ public class RRoleResource {
...
@@ -36,13 +36,17 @@ public class RRoleResource {
@TableField
(
value
=
"resource_id"
)
@TableField
(
value
=
"resource_id"
)
private
Long
resourceId
;
private
Long
resourceId
;
/** 创建时间 */
/**
* 创建时间
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/** 更新时间 */
/**
* 更新时间
*/
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/RStoreConfederate.java
View file @
60d82ba
...
@@ -6,7 +6,7 @@ import lombok.Getter;
...
@@ -6,7 +6,7 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
vion.dto.BaseDTO
;
import
vion.dto.BaseDTO
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* 项目干系人
* 项目干系人
...
@@ -47,12 +47,12 @@ public class RStoreConfederate extends BaseDTO {
...
@@ -47,12 +47,12 @@ public class RStoreConfederate extends BaseDTO {
*/
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/**
/**
* 修改时间
* 修改时间
*/
*/
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/RStoreTag.java
View file @
60d82ba
...
@@ -5,7 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
...
@@ -5,7 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -32,9 +32,9 @@ public class RStoreTag {
...
@@ -32,9 +32,9 @@ public class RStoreTag {
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/RStoreUser.java
View file @
60d82ba
...
@@ -5,12 +5,13 @@ import com.fasterxml.jackson.annotation.JsonFormat;
...
@@ -5,12 +5,13 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2023/12/27
* @date 2023/12/27
*/
*/
/**
/**
* 项目与用户关联表
* 项目与用户关联表
*/
*/
...
@@ -43,11 +44,11 @@ public class RStoreUser {
...
@@ -43,11 +44,11 @@ public class RStoreUser {
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@OrderBy
@OrderBy
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
RStoreUser
[]
storeUsers
;
private
RStoreUser
[]
storeUsers
;
...
...
src/main/java/vion/model/RUserRole.java
View file @
60d82ba
...
@@ -8,7 +8,7 @@ import lombok.Getter;
...
@@ -8,7 +8,7 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
vion.dto.RUserRoleDTO
;
import
vion.dto.RUserRoleDTO
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -41,12 +41,12 @@ public class RUserRole {
...
@@ -41,12 +41,12 @@ public class RUserRole {
*/
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/**
/**
* 更新时间
* 更新时间
*/
*/
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/RejectInfo.java
View file @
60d82ba
...
@@ -6,7 +6,7 @@ import lombok.Getter;
...
@@ -6,7 +6,7 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
vion.dto.BaseDTO
;
import
vion.dto.BaseDTO
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -39,9 +39,9 @@ public class RejectInfo extends BaseDTO {
...
@@ -39,9 +39,9 @@ public class RejectInfo extends BaseDTO {
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/RepairRec.java
View file @
60d82ba
...
@@ -8,7 +8,8 @@ import lombok.Setter;
...
@@ -8,7 +8,8 @@ import lombok.Setter;
import
vion.dto.RepairRecDTO
;
import
vion.dto.RepairRecDTO
;
import
vion.vo.RepairRecVO
;
import
vion.vo.RepairRecVO
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -108,7 +109,7 @@ public class RepairRec {
...
@@ -108,7 +109,7 @@ public class RepairRec {
* 发货日期
* 发货日期
*/
*/
@TableField
(
value
=
"ship_date"
)
@TableField
(
value
=
"ship_date"
)
private
Date
shipDate
;
private
Local
Date
shipDate
;
/**
/**
* 快递公司
* 快递公司
...
@@ -144,8 +145,8 @@ public class RepairRec {
...
@@ -144,8 +145,8 @@ public class RepairRec {
private
String
remark
;
private
String
remark
;
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/Resource.java
View file @
60d82ba
...
@@ -9,7 +9,7 @@ import lombok.Setter;
...
@@ -9,7 +9,7 @@ import lombok.Setter;
import
vion.dto.ResourceDTO
;
import
vion.dto.ResourceDTO
;
import
vion.vo.ResourceVO
;
import
vion.vo.ResourceVO
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -74,14 +74,18 @@ public class Resource {
...
@@ -74,14 +74,18 @@ public class Resource {
@TableField
(
value
=
"remark"
)
@TableField
(
value
=
"remark"
)
private
String
remark
;
private
String
remark
;
/** 创建时间 */
/**
* 创建时间
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/** 更新时间 */
/**
* 更新时间
*/
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/Role.java
View file @
60d82ba
...
@@ -9,7 +9,7 @@ import lombok.Setter;
...
@@ -9,7 +9,7 @@ import lombok.Setter;
import
vion.dto.RoleDTO
;
import
vion.dto.RoleDTO
;
import
vion.vo.RoleVO
;
import
vion.vo.RoleVO
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* 角色表
* 角色表
...
@@ -49,14 +49,18 @@ public class Role {
...
@@ -49,14 +49,18 @@ public class Role {
@TableField
(
value
=
"remark"
)
@TableField
(
value
=
"remark"
)
private
String
remark
;
private
String
remark
;
/** 创建时间 */
/**
* 创建时间
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/** 更新时间 */
/**
* 更新时间
*/
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/ServiceOrder.java
View file @
60d82ba
...
@@ -9,7 +9,7 @@ import lombok.Setter;
...
@@ -9,7 +9,7 @@ import lombok.Setter;
import
vion.dto.ServiceOrderDTO
;
import
vion.dto.ServiceOrderDTO
;
import
vion.vo.ServiceOrderVO
;
import
vion.vo.ServiceOrderVO
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
@Getter
@Getter
@Setter
@Setter
...
@@ -22,74 +22,116 @@ public class ServiceOrder {
...
@@ -22,74 +22,116 @@ public class ServiceOrder {
@TableId
(
type
=
IdType
.
AUTO
)
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
id
;
private
Long
id
;
/** 项目名称 */
/**
* 项目名称
*/
private
String
projectName
;
private
String
projectName
;
/** 报修人 */
/**
* 报修人
*/
private
String
submitter
;
private
String
submitter
;
/** 报修人手机号码 */
/**
* 报修人手机号码
*/
private
String
submitPhone
;
private
String
submitPhone
;
/** 报修时间 */
/**
* 报修时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
submitTime
;
private
LocalDateTim
e
submitTime
;
/** 维修人 */
/**
* 维修人
*/
private
String
repairPeople
;
private
String
repairPeople
;
/** 维修人手机号码*/
/**
* 维修人手机号码
*/
private
String
repairPhone
;
private
String
repairPhone
;
/** 部门 */
/**
* 部门
*/
private
String
dept
;
private
String
dept
;
/** 服务方式(1.电话支持 2.远程服务 3.现场服务) */
/**
* 服务方式(1.电话支持 2.远程服务 3.现场服务)
*/
private
Integer
serviceType
;
private
Integer
serviceType
;
/** 耗时 */
/**
* 耗时
*/
private
Double
time
;
private
Double
time
;
/** 故障内容 */
/**
* 故障内容
*/
private
String
faultContent
;
private
String
faultContent
;
/** 维修结果 */
/**
* 维修结果
*/
private
String
repairRes
;
private
String
repairRes
;
/** 客户评价 */
/**
* 客户评价
*/
private
String
review
;
private
String
review
;
/** 工单id */
/**
* 工单id
*/
private
Long
taskId
;
private
Long
taskId
;
/** 服务单状态 */
/**
* 服务单状态
*/
private
Integer
state
;
private
Integer
state
;
/** 创建时间 */
/**
* 创建时间
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/** 更新时间 */
/**
* 更新时间
*/
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
/** 五星好评 */
/**
* 五星好评
*/
private
Integer
stars
;
private
Integer
stars
;
/** 签字图片base64 */
/**
* 签字图片base64
*/
private
String
signPic
;
private
String
signPic
;
/** 签字时间 */
/**
* 签字时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
signTime
;
private
LocalDateTim
e
signTime
;
/** 完成时间 */
/**
* 完成时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
finishTime
;
private
LocalDateTim
e
finishTime
;
/** 唯一id */
/**
* 唯一id
*/
private
String
unid
;
private
String
unid
;
}
}
src/main/java/vion/model/SettlementDiff.java
View file @
60d82ba
...
@@ -9,7 +9,7 @@ import vion.dto.SettlementDiffDTO;
...
@@ -9,7 +9,7 @@ import vion.dto.SettlementDiffDTO;
import
vion.vo.SettlementDiffVO
;
import
vion.vo.SettlementDiffVO
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -72,5 +72,5 @@ public class SettlementDiff {
...
@@ -72,5 +72,5 @@ public class SettlementDiff {
* 创建时间
* 创建时间
*/
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/SparePart.java
View file @
60d82ba
...
@@ -8,7 +8,8 @@ import lombok.Setter;
...
@@ -8,7 +8,8 @@ import lombok.Setter;
import
vion.dto.SparePartDTO
;
import
vion.dto.SparePartDTO
;
import
vion.vo.SparePartVO
;
import
vion.vo.SparePartVO
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -101,7 +102,7 @@ public class SparePart {
...
@@ -101,7 +102,7 @@ public class SparePart {
* 发货日期
* 发货日期
*/
*/
@TableField
(
value
=
"ship_date"
)
@TableField
(
value
=
"ship_date"
)
private
Date
shipDate
;
private
Local
Date
shipDate
;
/**
/**
* 快递公司
* 快递公司
...
@@ -139,13 +140,15 @@ public class SparePart {
...
@@ -139,13 +140,15 @@ public class SparePart {
@TableField
(
value
=
"uuid"
)
@TableField
(
value
=
"uuid"
)
private
String
uuid
;
private
String
uuid
;
/** 微信用户id */
/**
* 微信用户id
*/
@TableField
(
value
=
"openid"
)
@TableField
(
value
=
"openid"
)
private
String
openid
;
private
String
openid
;
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/Store.java
View file @
60d82ba
...
@@ -9,7 +9,8 @@ import lombok.Setter;
...
@@ -9,7 +9,8 @@ import lombok.Setter;
import
vion.dto.StoreDTO
;
import
vion.dto.StoreDTO
;
import
vion.vo.StoreVO
;
import
vion.vo.StoreVO
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
/**
/**
* 门店信息
* 门店信息
...
@@ -59,14 +60,14 @@ public class Store {
...
@@ -59,14 +60,14 @@ public class Store {
*/
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/**
/**
* 修改时间
* 修改时间
*/
*/
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
modifyTime
;
private
LocalDateTim
e
modifyTime
;
/**
/**
* 备注
* 备注
...
@@ -87,7 +88,7 @@ public class Store {
...
@@ -87,7 +88,7 @@ public class Store {
* 立项日期
* 立项日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
estDate
;
private
Local
Date
estDate
;
/**
/**
* 主合同id
* 主合同id
...
@@ -117,7 +118,7 @@ public class Store {
...
@@ -117,7 +118,7 @@ public class Store {
/**
/**
* 实际完成日期
* 实际完成日期
*/
*/
private
Date
finishDate
;
private
Local
Date
finishDate
;
/**
/**
* 完成百分比
* 完成百分比
...
@@ -142,7 +143,7 @@ public class Store {
...
@@ -142,7 +143,7 @@ public class Store {
/**
/**
* 计划完成日期
* 计划完成日期
*/
*/
private
Date
planFinishDate
;
private
Local
Date
planFinishDate
;
/**
/**
* 项目规模
* 项目规模
...
...
src/main/java/vion/model/StoreLog.java
View file @
60d82ba
...
@@ -7,11 +7,12 @@ import lombok.Setter;
...
@@ -7,11 +7,12 @@ import lombok.Setter;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
vion.dto.BaseDTO
;
import
vion.dto.BaseDTO
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
/**
/**
* 项目日志表
* 项目日志表
*/
*/
@Getter
@Getter
@Setter
@Setter
@TableName
(
value
=
"tbl_store_log"
)
@TableName
(
value
=
"tbl_store_log"
)
...
@@ -31,7 +32,7 @@ public class StoreLog extends BaseDTO {
...
@@ -31,7 +32,7 @@ public class StoreLog extends BaseDTO {
@TableField
(
value
=
"log_date"
)
@TableField
(
value
=
"log_date"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
logDate
;
private
Local
Date
logDate
;
/**
/**
* 记录人
* 记录人
...
@@ -48,9 +49,9 @@ public class StoreLog extends BaseDTO {
...
@@ -48,9 +49,9 @@ public class StoreLog extends BaseDTO {
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@OrderBy
@OrderBy
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/Tag.java
View file @
60d82ba
...
@@ -6,7 +6,7 @@ import lombok.Getter;
...
@@ -6,7 +6,7 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
vion.dto.BaseDTO
;
import
vion.dto.BaseDTO
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -33,9 +33,9 @@ public class Tag extends BaseDTO {
...
@@ -33,9 +33,9 @@ public class Tag extends BaseDTO {
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/model/Task.java
View file @
60d82ba
...
@@ -10,7 +10,8 @@ import org.springframework.format.annotation.DateTimeFormat;
...
@@ -10,7 +10,8 @@ import org.springframework.format.annotation.DateTimeFormat;
import
vion.dto.TaskDTO
;
import
vion.dto.TaskDTO
;
import
vion.vo.TaskVO
;
import
vion.vo.TaskVO
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
@Getter
@Getter
@Setter
@Setter
...
@@ -35,7 +36,7 @@ public class Task {
...
@@ -35,7 +36,7 @@ public class Task {
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@OrderBy
(
sort
=
2
)
@OrderBy
(
sort
=
2
)
private
Dat
e
repairTime
;
private
LocalDateTim
e
repairTime
;
/**
/**
* 故障类型
* 故障类型
*/
*/
...
@@ -64,7 +65,7 @@ public class Task {
...
@@ -64,7 +65,7 @@ public class Task {
*/
*/
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
solveDate
;
private
Local
Date
solveDate
;
/**
/**
* 故障原因
* 故障原因
*/
*/
...
@@ -90,21 +91,21 @@ public class Task {
...
@@ -90,21 +91,21 @@ public class Task {
*/
*/
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
expDate
;
private
Local
Date
expDate
;
/**
/**
* 创建时间
* 创建时间
*/
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/**
/**
* 修改时间
* 修改时间
*/
*/
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
modifyTime
;
private
LocalDateTim
e
modifyTime
;
/**
/**
* 备注
* 备注
...
...
src/main/java/vion/model/TaskTemp.java
View file @
60d82ba
...
@@ -10,54 +10,76 @@ import org.springframework.format.annotation.DateTimeFormat;
...
@@ -10,54 +10,76 @@ import org.springframework.format.annotation.DateTimeFormat;
import
vion.dto.TaskTempDTO
;
import
vion.dto.TaskTempDTO
;
import
vion.vo.TaskTempVO
;
import
vion.vo.TaskTempVO
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
@Getter
@Getter
@Setter
@Setter
@TableName
(
value
=
"tbl_task_temp"
)
@TableName
(
value
=
"tbl_task_temp"
)
@AutoMappers
({
@AutoMappers
({
@AutoMapper
(
target
=
TaskTempVO
.
class
),
@AutoMapper
(
target
=
TaskTempVO
.
class
),
@AutoMapper
(
target
=
TaskTempDTO
.
class
),
@AutoMapper
(
target
=
TaskTempDTO
.
class
),
})
})
public
class
TaskTemp
{
public
class
TaskTemp
{
@TableId
(
type
=
IdType
.
AUTO
)
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
id
;
private
Long
id
;
/** 项目id */
/**
* 项目id
*/
private
Long
storeId
;
private
Long
storeId
;
/** 项目名称(用户提交的名称) */
/**
* 项目名称(用户提交的名称)
*/
@TableField
(
condition
=
SqlCondition
.
LIKE
)
@TableField
(
condition
=
SqlCondition
.
LIKE
)
private
String
storeName
;
private
String
storeName
;
/** 报修时间 */
/**
* 报修时间
*/
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@OrderBy
(
sort
=
2
)
@OrderBy
(
sort
=
2
)
private
Dat
e
repairTime
;
private
LocalDateTim
e
repairTime
;
/** 故障说明 */
/**
* 故障说明
*/
private
String
faultDescription
;
private
String
faultDescription
;
/** 报修人 */
/**
* 报修人
*/
@TableField
(
condition
=
SqlCondition
.
LIKE
)
@TableField
(
condition
=
SqlCondition
.
LIKE
)
private
String
repairPeople
;
private
String
repairPeople
;
/** 联系方式 */
/**
* 联系方式
*/
@TableField
(
condition
=
SqlCondition
.
LIKE
)
@TableField
(
condition
=
SqlCondition
.
LIKE
)
private
String
repairPhone
;
private
String
repairPhone
;
/** 状态(1待确认、2进行中、3已确认) */
/**
* 状态(1待确认、2进行中、3已确认)
*/
@OrderBy
(
asc
=
true
,
sort
=
1
)
@OrderBy
(
asc
=
true
,
sort
=
1
)
private
Integer
status
;
private
Integer
status
;
/** 操作人 */
/**
* 操作人
*/
private
Long
operator
;
private
Long
operator
;
/** 创建时间 */
/**
* 创建时间
*/
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/** 修改时间 */
/**
* 修改时间
*/
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
modifyTime
;
private
LocalDateTim
e
modifyTime
;
/** 备注 */
/**
* 备注
*/
private
String
remark
;
private
String
remark
;
/**
/**
...
@@ -70,7 +92,9 @@ public class TaskTemp {
...
@@ -70,7 +92,9 @@ public class TaskTemp {
*/
*/
private
String
email
;
private
String
email
;
/** 微信用户id */
/**
* 微信用户id
*/
private
String
openid
;
private
String
openid
;
}
}
src/main/java/vion/model/User.java
View file @
60d82ba
...
@@ -9,14 +9,14 @@ import lombok.Setter;
...
@@ -9,14 +9,14 @@ import lombok.Setter;
import
vion.dto.UserDTO
;
import
vion.dto.UserDTO
;
import
vion.vo.UserVO
;
import
vion.vo.UserVO
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* 用户信息
* 用户信息
*/
*/
@Getter
@Getter
@Setter
@Setter
@TableName
(
value
=
"tbl_user_info"
)
@TableName
(
value
=
"tbl_user_info"
)
@AutoMappers
({
@AutoMappers
({
@AutoMapper
(
target
=
UserDTO
.
class
),
@AutoMapper
(
target
=
UserDTO
.
class
),
@AutoMapper
(
target
=
UserVO
.
class
),
@AutoMapper
(
target
=
UserVO
.
class
),
...
@@ -31,16 +31,20 @@ public class User {
...
@@ -31,16 +31,20 @@ public class User {
private
Long
deptId
;
private
Long
deptId
;
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@TableField
(
value
=
"modify_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
modifyTime
;
private
LocalDateTim
e
modifyTime
;
private
String
remark
;
private
String
remark
;
/** 是否是预工单处理人 0:不是 1:是 */
/**
* 是否是预工单处理人 0:不是 1:是
*/
private
Integer
preWorkOrder
;
private
Integer
preWorkOrder
;
/** 员工状态 2:试用期 3:正式 5:待离职 -1:无状态 */
/**
* 员工状态 2:试用期 3:正式 5:待离职 -1:无状态
*/
private
Integer
employeeStatus
;
private
Integer
employeeStatus
;
/* 状态 0:正常 1:禁用 */
/* 状态 0:正常 1:禁用 */
...
...
src/main/java/vion/service/IDeviceLogService.java
View file @
60d82ba
...
@@ -2,11 +2,12 @@ package vion.service;
...
@@ -2,11 +2,12 @@ package vion.service;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
vion.model.DeviceLog
;
import
vion.model.DeviceLog
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2024/8/12
* @date 2024/8/12
*/
*/
public
interface
IDeviceLogService
extends
IService
<
DeviceLog
>{
public
interface
IDeviceLogService
extends
IService
<
DeviceLog
>
{
}
}
src/main/java/vion/service/IRContractProductService.java
View file @
60d82ba
package
vion
.
service
;
package
vion
.
service
;
import
vion.model.RContractProduct
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
import
vion.model.RContractProduct
;
/**
* @author HlQ
* @author HlQ
* @date 2024/3/26
* @date 2024/3/26
*/
*/
public
interface
IRContractProductService
extends
IService
<
RContractProduct
>{
public
interface
IRContractProductService
extends
IService
<
RContractProduct
>
{
}
}
src/main/java/vion/service/IRContractStoreService.java
View file @
60d82ba
package
vion
.
service
;
package
vion
.
service
;
import
vion.model.RContractStore
;
import
com.github.yulichang.base.MPJBaseService
;
import
com.github.yulichang.base.MPJBaseService
;
/**
import
vion.model.RContractStore
;
/**
* @author HlQ
* @author HlQ
* @date 2023/11/29
* @date 2023/11/29
*/
*/
public
interface
IRContractStoreService
extends
MPJBaseService
<
RContractStore
>{
public
interface
IRContractStoreService
extends
MPJBaseService
<
RContractStore
>
{
}
}
src/main/java/vion/service/IRContractTeamService.java
View file @
60d82ba
...
@@ -2,7 +2,8 @@ package vion.service;
...
@@ -2,7 +2,8 @@ package vion.service;
import
com.github.yulichang.base.MPJBaseService
;
import
com.github.yulichang.base.MPJBaseService
;
import
vion.model.RContractTeam
;
import
vion.model.RContractTeam
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2023/12/26
* @date 2023/12/26
*/
*/
...
...
src/main/java/vion/service/IRContractUserService.java
View file @
60d82ba
...
@@ -2,7 +2,8 @@ package vion.service;
...
@@ -2,7 +2,8 @@ package vion.service;
import
com.github.yulichang.base.MPJBaseService
;
import
com.github.yulichang.base.MPJBaseService
;
import
vion.model.RContractUser
;
import
vion.model.RContractUser
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2023/12/28
* @date 2023/12/28
*/
*/
...
...
src/main/java/vion/service/IRPointDeviceService.java
View file @
60d82ba
...
@@ -2,7 +2,8 @@ package vion.service;
...
@@ -2,7 +2,8 @@ package vion.service;
import
com.github.yulichang.base.MPJBaseService
;
import
com.github.yulichang.base.MPJBaseService
;
import
vion.model.RPointDevice
;
import
vion.model.RPointDevice
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2024/1/12
* @date 2024/1/12
*/
*/
...
...
src/main/java/vion/service/IRPointWxService.java
View file @
60d82ba
...
@@ -2,7 +2,8 @@ package vion.service;
...
@@ -2,7 +2,8 @@ package vion.service;
import
com.github.yulichang.base.MPJBaseService
;
import
com.github.yulichang.base.MPJBaseService
;
import
vion.model.RPointWx
;
import
vion.model.RPointWx
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2024/1/12
* @date 2024/1/12
*/
*/
...
...
src/main/java/vion/service/IRRepairDeviceService.java
View file @
60d82ba
...
@@ -2,7 +2,8 @@ package vion.service;
...
@@ -2,7 +2,8 @@ package vion.service;
import
com.github.yulichang.base.MPJBaseService
;
import
com.github.yulichang.base.MPJBaseService
;
import
vion.model.RRepairDevice
;
import
vion.model.RRepairDevice
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2024/1/25
* @date 2024/1/25
*/
*/
...
...
src/main/java/vion/service/IRRoleResourceService.java
View file @
60d82ba
package
vion
.
service
;
package
vion
.
service
;
import
vion.model.RRoleResource
;
import
com.github.yulichang.base.MPJBaseService
;
import
com.github.yulichang.base.MPJBaseService
;
/**
import
vion.model.RRoleResource
;
/**
* @author HlQ
* @author HlQ
* @date 2023/11/28
* @date 2023/11/28
*/
*/
public
interface
IRRoleResourceService
extends
MPJBaseService
<
RRoleResource
>{
public
interface
IRRoleResourceService
extends
MPJBaseService
<
RRoleResource
>
{
}
}
src/main/java/vion/service/IRStoreConfederateService.java
View file @
60d82ba
package
vion
.
service
;
package
vion
.
service
;
import
vion.model.RStoreConfederate
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
vion.model.RStoreConfederate
;
public
interface
IRStoreConfederateService
extends
IService
<
RStoreConfederate
>
{
public
interface
IRStoreConfederateService
extends
IService
<
RStoreConfederate
>
{
...
...
src/main/java/vion/service/IRStoreTagService.java
View file @
60d82ba
...
@@ -2,7 +2,8 @@ package vion.service;
...
@@ -2,7 +2,8 @@ package vion.service;
import
com.github.yulichang.base.MPJBaseService
;
import
com.github.yulichang.base.MPJBaseService
;
import
vion.model.RStoreTag
;
import
vion.model.RStoreTag
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2024/1/30
* @date 2024/1/30
*/
*/
...
...
src/main/java/vion/service/IRStoreUserService.java
View file @
60d82ba
...
@@ -2,7 +2,8 @@ package vion.service;
...
@@ -2,7 +2,8 @@ package vion.service;
import
com.github.yulichang.base.MPJBaseService
;
import
com.github.yulichang.base.MPJBaseService
;
import
vion.model.RStoreUser
;
import
vion.model.RStoreUser
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2023/12/27
* @date 2023/12/27
*/
*/
...
...
src/main/java/vion/service/IRUserRoleService.java
View file @
60d82ba
package
vion
.
service
;
package
vion
.
service
;
import
vion.model.RUserRole
;
import
com.github.yulichang.base.MPJBaseService
;
import
com.github.yulichang.base.MPJBaseService
;
/**
import
vion.model.RUserRole
;
/**
* @author HlQ
* @author HlQ
* @date 2023/11/28
* @date 2023/11/28
*/
*/
public
interface
IRUserRoleService
extends
MPJBaseService
<
RUserRole
>{
public
interface
IRUserRoleService
extends
MPJBaseService
<
RUserRole
>
{
}
}
src/main/java/vion/service/IRejectInfoService.java
View file @
60d82ba
...
@@ -2,7 +2,8 @@ package vion.service;
...
@@ -2,7 +2,8 @@ package vion.service;
import
com.github.yulichang.base.MPJBaseService
;
import
com.github.yulichang.base.MPJBaseService
;
import
vion.model.RejectInfo
;
import
vion.model.RejectInfo
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2024/1/8
* @date 2024/1/8
*/
*/
...
...
src/main/java/vion/service/IResourceService.java
View file @
60d82ba
...
@@ -13,7 +13,7 @@ import java.util.List;
...
@@ -13,7 +13,7 @@ import java.util.List;
* @author HlQ
* @author HlQ
* @date 2023/11/28
* @date 2023/11/28
*/
*/
public
interface
IResourceService
extends
MPJBaseService
<
Resource
>{
public
interface
IResourceService
extends
MPJBaseService
<
Resource
>
{
Page
<
ResourceVO
>
list
(
ResourceDTO
dto
);
Page
<
ResourceVO
>
list
(
ResourceDTO
dto
);
...
...
src/main/java/vion/service/IStoreLogService.java
View file @
60d82ba
...
@@ -2,7 +2,8 @@ package vion.service;
...
@@ -2,7 +2,8 @@ package vion.service;
import
com.github.yulichang.base.MPJBaseService
;
import
com.github.yulichang.base.MPJBaseService
;
import
vion.model.StoreLog
;
import
vion.model.StoreLog
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2023/12/27
* @date 2023/12/27
*/
*/
...
...
src/main/java/vion/service/ITagService.java
View file @
60d82ba
...
@@ -2,7 +2,8 @@ package vion.service;
...
@@ -2,7 +2,8 @@ package vion.service;
import
com.github.yulichang.base.MPJBaseService
;
import
com.github.yulichang.base.MPJBaseService
;
import
vion.model.Tag
;
import
vion.model.Tag
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2024/1/30
* @date 2024/1/30
*/
*/
...
...
src/main/java/vion/service/ITaskService.java
View file @
60d82ba
...
@@ -6,7 +6,7 @@ import vion.dto.TaskDTO;
...
@@ -6,7 +6,7 @@ import vion.dto.TaskDTO;
import
vion.model.Task
;
import
vion.model.Task
;
import
vion.vo.TaskVO
;
import
vion.vo.TaskVO
;
import
java.
util.
Date
;
import
java.
time.Local
Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -28,9 +28,10 @@ public interface ITaskService extends MPJBaseService<Task> {
...
@@ -28,9 +28,10 @@ public interface ITaskService extends MPJBaseService<Task> {
String
urgeTask
(
Long
taskId
,
String
remark
);
String
urgeTask
(
Long
taskId
,
String
remark
);
List
<
Map
<
String
,
Object
>>
peopleAnalysis
(
Date
startDate
,
Date
endDate
,
Integer
source
,
List
<
Long
>
userIds
);
List
<
Map
<
String
,
Object
>>
peopleAnalysis
(
LocalDate
startDate
,
LocalDate
endDate
,
Integer
source
,
List
<
Long
>
userIds
);
List
<
Map
<
String
,
Object
>>
proAnalysis
(
Date
startDate
,
Date
endDate
,
Integer
source
,
List
<
Long
>
userIds
);
List
<
Map
<
String
,
Object
>>
proAnalysis
(
LocalDate
startDate
,
Local
Date
endDate
,
Integer
source
,
List
<
Long
>
userIds
);
Map
<
String
,
Map
<
String
,
List
<
Task
>>>
summaryAnalysis
(
Date
startDate
,
Date
endDate
,
Integer
source
);
Map
<
String
,
Map
<
String
,
List
<
Task
>>>
summaryAnalysis
(
LocalDate
startDate
,
Local
Date
endDate
,
Integer
source
);
}
}
src/main/java/vion/service/ITaskTempService.java
View file @
60d82ba
...
@@ -11,6 +11,7 @@ import java.util.Map;
...
@@ -11,6 +11,7 @@ import java.util.Map;
public
interface
ITaskTempService
extends
MPJBaseService
<
TaskTemp
>
{
public
interface
ITaskTempService
extends
MPJBaseService
<
TaskTemp
>
{
Page
<
TaskTempVO
>
getTaskTempList
(
TaskTempDTO
data
);
Page
<
TaskTempVO
>
getTaskTempList
(
TaskTempDTO
data
);
TaskTempVO
getTaskTempById
(
Long
id
);
TaskTempVO
getTaskTempById
(
Long
id
);
Object
saveTaskTemp
(
TaskTempDTO
data
);
Object
saveTaskTemp
(
TaskTempDTO
data
);
...
...
src/main/java/vion/service/impl/ConstructionTeamServiceImpl.java
View file @
60d82ba
package
vion
.
service
.
impl
;
package
vion
.
service
.
impl
;
import
org.dromara.hutool.core.text.StrUtil
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.github.yulichang.base.MPJBaseServiceImpl
;
import
com.github.yulichang.base.MPJBaseServiceImpl
;
import
com.github.yulichang.wrapper.MPJLambdaWrapper
;
import
com.github.yulichang.wrapper.MPJLambdaWrapper
;
import
io.github.linpeilie.Converter
;
import
io.github.linpeilie.Converter
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
vion.dto.ConstructionTeamDTO
;
import
vion.dto.ConstructionTeamDTO
;
import
vion.dto.RContractTeamDTO
;
import
vion.dto.RContractTeamDTO
;
...
...
src/main/java/vion/service/impl/ContractPaymentServiceImpl.java
View file @
60d82ba
src/main/java/vion/service/impl/ContractServiceImpl.java
View file @
60d82ba
...
@@ -19,8 +19,7 @@ import org.dromara.hutool.core.collection.CollUtil;
...
@@ -19,8 +19,7 @@ import org.dromara.hutool.core.collection.CollUtil;
import
org.dromara.hutool.core.collection.ListUtil
;
import
org.dromara.hutool.core.collection.ListUtil
;
import
org.dromara.hutool.core.collection.set.SetUtil
;
import
org.dromara.hutool.core.collection.set.SetUtil
;
import
org.dromara.hutool.core.comparator.CompareUtil
;
import
org.dromara.hutool.core.comparator.CompareUtil
;
import
org.dromara.hutool.core.date.DateUnit
;
import
org.dromara.hutool.core.date.TimeUtil
;
import
org.dromara.hutool.core.date.DateUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.lang.Assert
;
import
org.dromara.hutool.core.lang.Assert
;
...
@@ -31,7 +30,6 @@ import org.dromara.hutool.core.text.StrUtil;
...
@@ -31,7 +30,6 @@ import org.dromara.hutool.core.text.StrUtil;
import
org.dromara.hutool.core.util.ObjUtil
;
import
org.dromara.hutool.core.util.ObjUtil
;
import
org.dromara.hutool.crypto.SecureUtil
;
import
org.dromara.hutool.crypto.SecureUtil
;
import
org.dromara.hutool.http.client.HttpDownloader
;
import
org.dromara.hutool.http.client.HttpDownloader
;
import
org.dromara.hutool.json.JSONObject
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.MediaType
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.scheduling.annotation.Scheduled
;
...
@@ -52,6 +50,9 @@ import vion.vo.*;
...
@@ -52,6 +50,9 @@ import vion.vo.*;
import
java.io.File
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.temporal.ChronoUnit
;
import
java.util.*
;
import
java.util.*
;
import
java.util.function.Function
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -360,7 +361,7 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
...
@@ -360,7 +361,7 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
String
orgName
=
infile
.
getOriginalFilename
();
String
orgName
=
infile
.
getOriginalFilename
();
String
mainName
=
FileNameUtil
.
mainName
(
orgName
);
String
mainName
=
FileNameUtil
.
mainName
(
orgName
);
String
fileExt
=
FileNameUtil
.
extName
(
orgName
);
String
fileExt
=
FileNameUtil
.
extName
(
orgName
);
String
filename
=
StrUtil
.
format
(
"{}_{}.{}"
,
mainName
,
DateUtil
.
format
(
new
Date
(),
"yyyyMMdd_HHmmssSSS"
),
fileExt
);
String
filename
=
StrUtil
.
format
(
"{}_{}.{}"
,
mainName
,
TimeUtil
.
format
(
LocalDateTime
.
now
(),
"yyyyMMdd_HHmmssSSS"
),
fileExt
);
String
path
=
fileUrl
+
FileUtil
.
FILE_SEPARATOR
+
"contract"
+
FileUtil
.
FILE_SEPARATOR
+
contract
.
getId
()
+
FileUtil
.
FILE_SEPARATOR
+
filename
;
String
path
=
fileUrl
+
FileUtil
.
FILE_SEPARATOR
+
"contract"
+
FileUtil
.
FILE_SEPARATOR
+
contract
.
getId
()
+
FileUtil
.
FILE_SEPARATOR
+
filename
;
File
file
=
FileUtil
.
touch
(
path
);
File
file
=
FileUtil
.
touch
(
path
);
try
{
try
{
...
@@ -432,7 +433,7 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
...
@@ -432,7 +433,7 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
.
between
(
ArrayUtil
.
isAllNotNull
(
dto
.
getSignDateStart
(),
dto
.
getSignDateEnd
()),
Contract:
:
getSignDate
,
dto
.
getSignDateStart
(),
dto
.
getSignDateEnd
())
.
between
(
ArrayUtil
.
isAllNotNull
(
dto
.
getSignDateStart
(),
dto
.
getSignDateEnd
()),
Contract:
:
getSignDate
,
dto
.
getSignDateStart
(),
dto
.
getSignDateEnd
())
.
list
();
.
list
();
if
(
CollUtil
.
isEmpty
(
contractList
))
{
if
(
CollUtil
.
isEmpty
(
contractList
))
{
return
new
JSONObject
();
return
Map
.
of
();
}
}
Map
<
Long
,
List
<
ContractPayment
>>
id2PaymentMap
=
Opt
.
ofEmptyAble
(
contractPaymentService
Map
<
Long
,
List
<
ContractPayment
>>
id2PaymentMap
=
Opt
.
ofEmptyAble
(
contractPaymentService
...
@@ -441,7 +442,7 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
...
@@ -441,7 +442,7 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
.
map
(
list
->
list
.
stream
().
collect
(
Collectors
.
groupingBy
(
ContractPayment:
:
getContractId
)))
.
map
(
list
->
list
.
stream
().
collect
(
Collectors
.
groupingBy
(
ContractPayment:
:
getContractId
)))
.
orElse
(
MapUtil
.
empty
());
.
orElse
(
MapUtil
.
empty
());
if
(
MapUtil
.
isEmpty
(
id2PaymentMap
))
{
if
(
MapUtil
.
isEmpty
(
id2PaymentMap
))
{
return
new
JSONObject
();
return
Map
.
of
();
}
}
List
<
FinancialAgeVO
>
financialAgeVOList
=
new
ArrayList
<>();
List
<
FinancialAgeVO
>
financialAgeVOList
=
new
ArrayList
<>();
...
@@ -452,7 +453,8 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
...
@@ -452,7 +453,8 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
}
}
BigDecimal
totalAmount
=
c
.
getTotalAmount
();
BigDecimal
totalAmount
=
c
.
getTotalAmount
();
BigDecimal
paidAmount
=
c
.
getPaidAmount
();
BigDecimal
paidAmount
=
c
.
getPaidAmount
();
Map
<
Integer
,
Date
>
type2DateMap
=
contractPaymentList
.
stream
().
filter
(
cp
->
cp
.
getPaymentType
()
<=
c
.
getStatus
()).
collect
(
HashMap:
:
new
,
(
m
,
v
)
->
m
.
put
(
v
.
getPaymentType
(),
v
.
getPaymentDate
()),
HashMap:
:
putAll
);
Map
<
Integer
,
LocalDate
>
type2DateMap
=
contractPaymentList
.
stream
().
filter
(
cp
->
cp
.
getPaymentType
()
<=
c
.
getStatus
()).
collect
(
HashMap:
:
new
,
(
m
,
v
)
->
m
.
put
(
v
.
getPaymentType
(),
v
.
getPaymentDate
()),
HashMap:
:
putAll
);
Map
<
Integer
,
BigDecimal
>
type2AmountMap
=
contractPaymentList
.
stream
().
filter
(
cp
->
cp
.
getPaymentType
()
<=
c
.
getStatus
()).
collect
(
Collectors
.
toMap
(
ContractPayment:
:
getPaymentType
,
v
->
NumberUtil
.
mul
(
v
.
getPaymentRatio
(),
totalAmount
)));
Map
<
Integer
,
BigDecimal
>
type2AmountMap
=
contractPaymentList
.
stream
().
filter
(
cp
->
cp
.
getPaymentType
()
<=
c
.
getStatus
()).
collect
(
Collectors
.
toMap
(
ContractPayment:
:
getPaymentType
,
v
->
NumberUtil
.
mul
(
v
.
getPaymentRatio
(),
totalAmount
)));
TreeMap
<
Integer
,
BigDecimal
>
sortMap
=
MapUtil
.
sort
(
type2AmountMap
,
Comparator
.
comparingInt
(
Integer:
:
intValue
));
TreeMap
<
Integer
,
BigDecimal
>
sortMap
=
MapUtil
.
sort
(
type2AmountMap
,
Comparator
.
comparingInt
(
Integer:
:
intValue
));
...
@@ -475,7 +477,7 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
...
@@ -475,7 +477,7 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
Opt
.
ofNullable
(
type2DateMap
.
get
(
type
)).
ifPresent
(
Opt
.
ofNullable
(
type2DateMap
.
get
(
type
)).
ifPresent
(
date
->
{
date
->
{
financialAgeVO
.
setPayableDate
(
date
);
financialAgeVO
.
setPayableDate
(
date
);
long
age
=
DateUtil
.
between
(
date
,
new
Date
(),
DateUnit
.
DAY
,
true
);
long
age
=
Math
.
abs
(
date
.
until
(
LocalDate
.
now
(),
ChronoUnit
.
DAYS
)
);
financialAgeVO
.
setAge
(((
int
)
age
));
financialAgeVO
.
setAge
(((
int
)
age
));
}
}
);
);
...
@@ -626,7 +628,7 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
...
@@ -626,7 +628,7 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
ArrayNode
jsonArray
=
jobO
.
path
(
"result"
).
withArray
(
"list"
);
ArrayNode
jsonArray
=
jobO
.
path
(
"result"
).
withArray
(
"list"
);
var
fileList
=
StreamSupport
.
stream
(
jsonArray
.
spliterator
(),
false
)
var
fileList
=
StreamSupport
.
stream
(
jsonArray
.
spliterator
(),
false
)
.
map
(
v
->
{
.
map
(
v
->
{
var
fileArr
=
v
.
path
(
"data"
).
withArray
(
"file_1"
);
var
fileArr
=
JsonUtil
.
parseTree
(
v
.
path
(
"data"
).
path
(
"file_1"
).
asText
()
);
var
contractNo
=
v
.
path
(
"data"
).
path
(
"serialNo"
).
asText
();
var
contractNo
=
v
.
path
(
"data"
).
path
(
"serialNo"
).
asText
();
return
(
JsonNode
)
JsonUtil
.
createObj
().
put
(
"contractNo"
,
contractNo
).
set
(
"fileArr"
,
fileArr
);
return
(
JsonNode
)
JsonUtil
.
createObj
().
put
(
"contractNo"
,
contractNo
).
set
(
"fileArr"
,
fileArr
);
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
...
@@ -839,7 +841,7 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
...
@@ -839,7 +841,7 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
#### 发送时间:{}
#### 发送时间:{}
"""
;
"""
;
String
markdown
=
StrUtil
.
format
(
template
,
String
markdown
=
StrUtil
.
format
(
template
,
contract
.
getContractNo
(),
contract
.
getName
(),
applicantName
,
DateUtil
.
now
(
));
contract
.
getContractNo
(),
contract
.
getName
(),
applicantName
,
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
()
));
content
.
put
(
"markdown"
,
markdown
);
content
.
put
(
"markdown"
,
markdown
);
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"action_card"
).
set
(
"action_card"
,
content
);
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"action_card"
).
set
(
"action_card"
,
content
);
...
@@ -862,7 +864,7 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
...
@@ -862,7 +864,7 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
#### 发送时间:{}
#### 发送时间:{}
"""
;
"""
;
String
markdown
=
StrUtil
.
format
(
template
,
String
markdown
=
StrUtil
.
format
(
template
,
contract
.
getContractNo
(),
contract
.
getName
(),
statusStr
,
DateUtil
.
formatDate
(
dto
.
getNodeDate
()),
DateUtil
.
now
(
));
contract
.
getContractNo
(),
contract
.
getName
(),
statusStr
,
dto
.
getNodeDate
(),
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
()
));
content
.
put
(
"text"
,
markdown
);
content
.
put
(
"text"
,
markdown
);
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"markdown"
).
set
(
"markdown"
,
content
);
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"markdown"
).
set
(
"markdown"
,
content
);
...
@@ -1048,8 +1050,7 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
...
@@ -1048,8 +1050,7 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
var
result
=
jobj1
.
path
(
"result"
);
var
result
=
jobj1
.
path
(
"result"
);
var
jsonObj1
=
result
.
path
(
"data"
);
var
jsonObj1
=
result
.
path
(
"data"
);
Map
<
String
,
Integer
>
contractTypeMap
=
Db
.
list
(
Wrappers
.
lambdaQuery
(
Dictionary
.
class
).
eq
(
Dictionary:
:
getType
,
Map
<
String
,
Integer
>
contractTypeMap
=
Db
.
list
(
Wrappers
.
lambdaQuery
(
Dictionary
.
class
).
eq
(
Dictionary:
:
getType
,
"contract_type"
))
"contract_type"
))
.
stream
()
.
stream
()
.
collect
(
Collectors
.
toMap
(
Dictionary:
:
getValue
,
Dictionary:
:
getKey
));
.
collect
(
Collectors
.
toMap
(
Dictionary:
:
getValue
,
Dictionary:
:
getKey
));
...
@@ -1057,9 +1058,9 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
...
@@ -1057,9 +1058,9 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
xbongContract
.
setName
(
jsonObj1
.
path
(
"text_14"
).
asText
());
xbongContract
.
setName
(
jsonObj1
.
path
(
"text_14"
).
asText
());
xbongContract
.
setContractNo
(
jsonObj1
.
path
(
"serialNo"
).
asText
());
xbongContract
.
setContractNo
(
jsonObj1
.
path
(
"serialNo"
).
asText
());
xbongContract
.
setType
(
contractTypeMap
.
getOrDefault
(
jsonObj1
.
path
(
"text_17"
).
path
(
"text"
).
asText
(),
0
));
xbongContract
.
setType
(
contractTypeMap
.
getOrDefault
(
jsonObj1
.
path
(
"text_17"
).
path
(
"text"
).
asText
(),
0
));
xbongContract
.
setSignDate
(
DateUtil
.
date
(
jsonObj1
.
path
(
"date_1"
).
asLong
()
*
1000
).
toJdk
Date
());
xbongContract
.
setSignDate
(
TimeUtil
.
of
(
jsonObj1
.
path
(
"date_1"
).
asLong
()
*
1000
).
toLocal
Date
());
xbongContract
.
setMaintainSdate
(
Opt
.
ofNullable
(
jsonObj1
.
path
(
"date_4"
)).
filter
(
JsonNode:
:
isNumber
).
map
(
sec
->
DateUtil
.
date
(
sec
.
asLong
()
*
1000
).
toJdk
Date
()).
orElse
(
null
));
xbongContract
.
setMaintainSdate
(
Opt
.
ofNullable
(
jsonObj1
.
path
(
"date_4"
)).
filter
(
JsonNode:
:
isNumber
).
map
(
sec
->
TimeUtil
.
of
(
sec
.
asLong
()
*
1000
).
toLocal
Date
()).
orElse
(
null
));
xbongContract
.
setMaintainEdate
(
Opt
.
ofNullable
(
jsonObj1
.
path
(
"date_5"
)).
filter
(
JsonNode:
:
isNumber
).
map
(
sec
->
DateUtil
.
date
(
sec
.
asLong
()
*
1000
).
toJdk
Date
()).
orElse
(
null
));
xbongContract
.
setMaintainEdate
(
Opt
.
ofNullable
(
jsonObj1
.
path
(
"date_5"
)).
filter
(
JsonNode:
:
isNumber
).
map
(
sec
->
TimeUtil
.
of
(
sec
.
asLong
()
*
1000
).
toLocal
Date
()).
orElse
(
null
));
String
warrantyPeriod
=
jsonObj1
.
path
(
"text_23"
).
path
(
"text"
).
asText
(
""
);
String
warrantyPeriod
=
jsonObj1
.
path
(
"text_23"
).
path
(
"text"
).
asText
(
""
);
if
(
StrUtil
.
isNotBlank
(
warrantyPeriod
)
&&
warrantyPeriod
.
contains
(
"个月"
))
{
if
(
StrUtil
.
isNotBlank
(
warrantyPeriod
)
&&
warrantyPeriod
.
contains
(
"个月"
))
{
String
substring
=
warrantyPeriod
.
substring
(
0
,
(
warrantyPeriod
.
length
()
-
2
));
String
substring
=
warrantyPeriod
.
substring
(
0
,
(
warrantyPeriod
.
length
()
-
2
));
...
@@ -1074,7 +1075,7 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
...
@@ -1074,7 +1075,7 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
if
(!
paymentForm
.
isEmpty
())
{
if
(!
paymentForm
.
isEmpty
())
{
paymentForm
.
forEach
(
pf
->
{
paymentForm
.
forEach
(
pf
->
{
var
ratio
=
NumberUtil
.
div
(
BigDecimal
.
valueOf
(
Double
.
parseDouble
(
pf
.
path
(
"text_1"
).
asText
())),
100
);
var
ratio
=
NumberUtil
.
div
(
BigDecimal
.
valueOf
(
Double
.
parseDouble
(
pf
.
path
(
"text_1"
).
asText
())),
100
);
var
date
=
DateUtil
.
date
(
pf
.
path
(
"date_1"
).
asLong
()
*
1000
);
var
date
=
TimeUtil
.
of
(
pf
.
path
(
"date_1"
).
asLong
()
*
1000
).
toLocalDate
(
);
var
stage
=
pf
.
path
(
"text_2"
).
path
(
"text"
).
asText
();
var
stage
=
pf
.
path
(
"text_2"
).
path
(
"text"
).
asText
();
if
(
StrUtil
.
equals
(
stage
,
"预付款"
))
{
if
(
StrUtil
.
equals
(
stage
,
"预付款"
))
{
xbongContract
.
setSignRatio
(
ratio
);
xbongContract
.
setSignRatio
(
ratio
);
...
@@ -1114,8 +1115,8 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
...
@@ -1114,8 +1115,8 @@ public class ContractServiceImpl extends MPJBaseServiceImpl<ContractMapper, Cont
xbongContract
.
setSaleName
(
jsonObj1
.
path
(
"text_8"
).
path
(
"name"
).
asText
());
xbongContract
.
setSaleName
(
jsonObj1
.
path
(
"text_8"
).
path
(
"name"
).
asText
());
xbongContract
.
setCreateUser
(-
1L
);
xbongContract
.
setCreateUser
(-
1L
);
xbongContract
.
setModifyUser
(-
1L
);
xbongContract
.
setModifyUser
(-
1L
);
xbongContract
.
setEntryTime
(
DateUtil
.
date
(
result
.
path
(
"addTime"
).
asLong
()
*
1000
).
toJdkDate
(
));
xbongContract
.
setEntryTime
(
TimeUtil
.
of
(
result
.
path
(
"addTime"
).
asLong
()
*
1000
));
xbongContract
.
setOriginalModTime
(
DateUtil
.
date
(
result
.
path
(
"updateTime"
).
asLong
()
*
1000
).
toJdkDate
(
));
xbongContract
.
setOriginalModTime
(
TimeUtil
.
of
(
result
.
path
(
"updateTime"
).
asLong
()
*
1000
));
var
bongMap
=
BeanUtil
.
beanToMap
(
xbongContract
,
new
HashMap
<>(),
copyOptions
);
var
bongMap
=
BeanUtil
.
beanToMap
(
xbongContract
,
new
HashMap
<>(),
copyOptions
);
if
(!
mapEqual
(
platMap
,
bongMap
))
{
if
(!
mapEqual
(
platMap
,
bongMap
))
{
...
...
src/main/java/vion/service/impl/DeliverLogServiceImpl.java
View file @
60d82ba
...
@@ -5,7 +5,7 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper;
...
@@ -5,7 +5,7 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper;
import
io.github.linpeilie.Converter
;
import
io.github.linpeilie.Converter
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.hutool.core.array.ArrayUtil
;
import
org.dromara.hutool.core.array.ArrayUtil
;
import
org.dromara.hutool.core.date.
Dat
eUtil
;
import
org.dromara.hutool.core.date.
Tim
eUtil
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.redisson.api.RedissonClient
;
import
org.redisson.api.RedissonClient
;
...
@@ -21,6 +21,7 @@ import vion.third.DingMod;
...
@@ -21,6 +21,7 @@ import vion.third.DingMod;
import
vion.utils.JsonUtil
;
import
vion.utils.JsonUtil
;
import
vion.vo.DeliverLogVO
;
import
vion.vo.DeliverLogVO
;
import
java.time.LocalDateTime
;
import
java.util.Comparator
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -59,7 +60,7 @@ public class DeliverLogServiceImpl extends MPJBaseServiceImpl<DeliverLogMapper,
...
@@ -59,7 +60,7 @@ public class DeliverLogServiceImpl extends MPJBaseServiceImpl<DeliverLogMapper,
.
ifPresent
(
rContractUser
->
log
.
setContractSaleName
(
rContractUser
.
getUsername
()))
.
ifPresent
(
rContractUser
->
log
.
setContractSaleName
(
rContractUser
.
getUsername
()))
);
);
return
deliverLogList
.
stream
().
collect
(
Collectors
.
groupingBy
(
DeliverLogVO:
:
getUsername
,
return
deliverLogList
.
stream
().
collect
(
Collectors
.
groupingBy
(
DeliverLogVO:
:
getUsername
,
Collectors
.
groupingBy
(
v
->
DateUtil
.
formatDate
(
v
.
getLogDate
()
),
()
->
new
TreeMap
<
String
,
Collectors
.
groupingBy
(
v
->
v
.
getLogDate
().
toString
(
),
()
->
new
TreeMap
<
String
,
List
<
DeliverLogVO
>>(
Comparator
.
reverseOrder
()),
Collectors
.
toList
())));
List
<
DeliverLogVO
>>(
Comparator
.
reverseOrder
()),
Collectors
.
toList
())));
}
}
...
@@ -146,7 +147,7 @@ public class DeliverLogServiceImpl extends MPJBaseServiceImpl<DeliverLogMapper,
...
@@ -146,7 +147,7 @@ public class DeliverLogServiceImpl extends MPJBaseServiceImpl<DeliverLogMapper,
confederateName
,
confederateName
,
deliverLog
.
getLogHour
(),
deliverLog
.
getLogHour
(),
deliverLog
.
getContent
(),
deliverLog
.
getContent
(),
DateUtil
.
now
(
)));
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
()
)));
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"markdown"
).
set
(
"markdown"
,
content
);
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"markdown"
).
set
(
"markdown"
,
content
);
jsonObj
.
set
(
"msg"
,
msg
);
jsonObj
.
set
(
"msg"
,
msg
);
...
@@ -164,7 +165,7 @@ public class DeliverLogServiceImpl extends MPJBaseServiceImpl<DeliverLogMapper,
...
@@ -164,7 +165,7 @@ public class DeliverLogServiceImpl extends MPJBaseServiceImpl<DeliverLogMapper,
### 项目交付日志提醒
### 项目交付日志提醒
#### 您的日志还未提交,请尽快提交!
#### 您的日志还未提交,请尽快提交!
#### 未提交日志日期:{}
#### 未提交日志日期:{}
#### 发送时间:{}"""
,
dateStr
,
DateUtil
.
now
(
)));
#### 发送时间:{}"""
,
dateStr
,
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
()
)));
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"markdown"
).
set
(
"markdown"
,
content
);
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"markdown"
).
set
(
"markdown"
,
content
);
jsonObj
.
set
(
"msg"
,
msg
);
jsonObj
.
set
(
"msg"
,
msg
);
...
...
src/main/java/vion/service/impl/DeliveryRecordServiceImpl.java
View file @
60d82ba
...
@@ -8,7 +8,7 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper;
...
@@ -8,7 +8,7 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper;
import
io.github.linpeilie.Converter
;
import
io.github.linpeilie.Converter
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.dromara.hutool.core.date.
Dat
eUtil
;
import
org.dromara.hutool.core.date.
Tim
eUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.lang.Opt
;
...
@@ -30,8 +30,8 @@ import vion.vo.UserVO;
...
@@ -30,8 +30,8 @@ import vion.vo.UserVO;
import
java.io.File
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.time.LocalDateTime
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -167,7 +167,7 @@ public class DeliveryRecordServiceImpl extends MPJBaseServiceImpl<DeliveryRecord
...
@@ -167,7 +167,7 @@ public class DeliveryRecordServiceImpl extends MPJBaseServiceImpl<DeliveryRecord
#### 发送时间:{}
#### 发送时间:{}
"""
;
"""
;
String
markdown
=
StrUtil
.
format
(
template
,
String
markdown
=
StrUtil
.
format
(
template
,
contract
.
getName
(),
contract
.
getContractNo
(),
rec
.
getCourierCompany
(),
rec
.
getTrackingNumber
(),
rec
.
getConsignee
(),
DateUtil
.
formatDate
(
rec
.
getShipDate
()),
DateUtil
.
now
(
));
contract
.
getName
(),
contract
.
getContractNo
(),
rec
.
getCourierCompany
(),
rec
.
getTrackingNumber
(),
rec
.
getConsignee
(),
rec
.
getShipDate
(),
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
()
));
content
.
put
(
"markdown"
,
markdown
).
put
(
"btn_orientation"
,
"1"
);
content
.
put
(
"markdown"
,
markdown
).
put
(
"btn_orientation"
,
"1"
);
var
jsonArray
=
JsonUtil
.
createArr
()
var
jsonArray
=
JsonUtil
.
createArr
()
...
@@ -191,7 +191,8 @@ public class DeliveryRecordServiceImpl extends MPJBaseServiceImpl<DeliveryRecord
...
@@ -191,7 +191,8 @@ public class DeliveryRecordServiceImpl extends MPJBaseServiceImpl<DeliveryRecord
String
orgName
=
infile
.
getOriginalFilename
();
String
orgName
=
infile
.
getOriginalFilename
();
String
mainName
=
FileNameUtil
.
mainName
(
orgName
);
String
mainName
=
FileNameUtil
.
mainName
(
orgName
);
String
fileExt
=
FileNameUtil
.
extName
(
orgName
);
String
fileExt
=
FileNameUtil
.
extName
(
orgName
);
String
filename
=
StrUtil
.
format
(
"{}_{}.{}"
,
mainName
,
DateUtil
.
format
(
new
Date
(),
"yyyyMMdd_HHmmssSSS"
),
fileExt
);
String
filename
=
StrUtil
.
format
(
"{}_{}.{}"
,
mainName
,
TimeUtil
.
format
(
LocalDateTime
.
now
(),
"yyyyMMdd_HHmmssSSS"
),
fileExt
);
String
path
=
fileUrl
+
FileUtil
.
FILE_SEPARATOR
+
"delivery"
+
FileUtil
.
FILE_SEPARATOR
+
deliveryRecord
.
getId
()
+
FileUtil
.
FILE_SEPARATOR
+
filename
;
String
path
=
fileUrl
+
FileUtil
.
FILE_SEPARATOR
+
"delivery"
+
FileUtil
.
FILE_SEPARATOR
+
deliveryRecord
.
getId
()
+
FileUtil
.
FILE_SEPARATOR
+
filename
;
File
file
=
FileUtil
.
touch
(
path
);
File
file
=
FileUtil
.
touch
(
path
);
try
{
try
{
...
...
src/main/java/vion/service/impl/DeviceLogServiceImpl.java
View file @
60d82ba
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
import
vion.mapper.DeviceLogMapper
;
import
vion.mapper.DeviceLogMapper
;
import
vion.model.DeviceLog
;
import
vion.model.DeviceLog
;
import
vion.service.IDeviceLogService
;
import
vion.service.IDeviceLogService
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2024/8/12
* @date 2024/8/12
...
...
src/main/java/vion/service/impl/InvoiceServiceImpl.java
View file @
60d82ba
...
@@ -8,7 +8,7 @@ import io.github.linpeilie.Converter;
...
@@ -8,7 +8,7 @@ import io.github.linpeilie.Converter;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.hutool.core.array.ArrayUtil
;
import
org.dromara.hutool.core.array.ArrayUtil
;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.date.
Dat
eUtil
;
import
org.dromara.hutool.core.date.
Tim
eUtil
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.map.MapUtil
;
import
org.dromara.hutool.core.map.MapUtil
;
import
org.dromara.hutool.core.math.NumberUtil
;
import
org.dromara.hutool.core.math.NumberUtil
;
...
@@ -31,6 +31,7 @@ import vion.vo.RoleVO;
...
@@ -31,6 +31,7 @@ import vion.vo.RoleVO;
import
vion.vo.UserVO
;
import
vion.vo.UserVO
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -187,7 +188,7 @@ public class InvoiceServiceImpl extends MPJBaseServiceImpl<InvoiceMapper, Invoic
...
@@ -187,7 +188,7 @@ public class InvoiceServiceImpl extends MPJBaseServiceImpl<InvoiceMapper, Invoic
#### 发送时间:{}
#### 发送时间:{}
"""
;
"""
;
String
markdown
=
StrUtil
.
format
(
template
,
String
markdown
=
StrUtil
.
format
(
template
,
contract
.
getContractNo
(),
contract
.
getName
(),
invoice
.
getInvoiceNo
(),
invoice
.
getInvoiceAmount
(),
DateUtil
.
formatDate
(
invoice
.
getInvoicingTime
()),
invoice
.
getRemark
(),
DateUtil
.
now
(
));
contract
.
getContractNo
(),
contract
.
getName
(),
invoice
.
getInvoiceNo
(),
invoice
.
getInvoiceAmount
(),
invoice
.
getInvoicingTime
(),
invoice
.
getRemark
(),
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
()
));
content
.
put
(
"text"
,
markdown
);
content
.
put
(
"text"
,
markdown
);
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"markdown"
).
set
(
"markdown"
,
content
);
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"markdown"
).
set
(
"markdown"
,
content
);
...
...
src/main/java/vion/service/impl/PaymentServiceImpl.java
View file @
60d82ba
...
@@ -8,7 +8,7 @@ import io.github.linpeilie.Converter;
...
@@ -8,7 +8,7 @@ import io.github.linpeilie.Converter;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.hutool.core.array.ArrayUtil
;
import
org.dromara.hutool.core.array.ArrayUtil
;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.date.
Dat
eUtil
;
import
org.dromara.hutool.core.date.
Tim
eUtil
;
import
org.dromara.hutool.core.lang.Assert
;
import
org.dromara.hutool.core.lang.Assert
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.map.MapUtil
;
import
org.dromara.hutool.core.map.MapUtil
;
...
@@ -32,6 +32,7 @@ import vion.vo.RoleVO;
...
@@ -32,6 +32,7 @@ import vion.vo.RoleVO;
import
vion.vo.UserVO
;
import
vion.vo.UserVO
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -196,7 +197,7 @@ public class PaymentServiceImpl extends MPJBaseServiceImpl<PaymentMapper, Paymen
...
@@ -196,7 +197,7 @@ public class PaymentServiceImpl extends MPJBaseServiceImpl<PaymentMapper, Paymen
#### 发送时间:{}
#### 发送时间:{}
"""
;
"""
;
String
markdown
=
StrUtil
.
format
(
template
,
String
markdown
=
StrUtil
.
format
(
template
,
contract
.
getContractNo
(),
contract
.
getName
(),
payment
.
getPaymentAmount
(),
DateUtil
.
formatDate
(
payment
.
getCollectionTime
()),
payment
.
getRemark
(),
DateUtil
.
now
(
));
contract
.
getContractNo
(),
contract
.
getName
(),
payment
.
getPaymentAmount
(),
payment
.
getCollectionTime
(),
payment
.
getRemark
(),
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
()
));
content
.
put
(
"text"
,
markdown
);
content
.
put
(
"text"
,
markdown
);
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"markdown"
).
set
(
"markdown"
,
content
);
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"markdown"
).
set
(
"markdown"
,
content
);
...
...
src/main/java/vion/service/impl/PointInfoServiceImpl.java
View file @
60d82ba
...
@@ -18,7 +18,7 @@ import org.dromara.hutool.core.array.ArrayUtil;
...
@@ -18,7 +18,7 @@ import org.dromara.hutool.core.array.ArrayUtil;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.collection.ListUtil
;
import
org.dromara.hutool.core.collection.ListUtil
;
import
org.dromara.hutool.core.data.id.IdUtil
;
import
org.dromara.hutool.core.data.id.IdUtil
;
import
org.dromara.hutool.core.date.
Dat
eUtil
;
import
org.dromara.hutool.core.date.
Tim
eUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.lang.Opt
;
...
@@ -44,6 +44,7 @@ import vion.vo.UserVO;
...
@@ -44,6 +44,7 @@ import vion.vo.UserVO;
import
java.io.File
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.time.LocalDateTime
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -73,15 +74,14 @@ public class PointInfoServiceImpl extends MPJBaseServiceImpl<PointInfoMapper, Po
...
@@ -73,15 +74,14 @@ public class PointInfoServiceImpl extends MPJBaseServiceImpl<PointInfoMapper, Po
@Override
@Override
public
Object
frontSubmit
(
PointInfoDTO
dto
)
{
public
Object
frontSubmit
(
PointInfoDTO
dto
)
{
Object
obj
=
insRec
(
dto
);
Object
obj
=
insRec
(
dto
);
if
(
obj
instanceof
Map
)
{
if
(
obj
instanceof
Map
map
)
{
Map
<
String
,
Long
>
map
=
(
Map
<
String
,
Long
>)
obj
;
Opt
.
ofNullable
(
new
String
[]{
dto
.
getOpenid
(),
dto
.
getNickname
()})
Opt
.
ofNullable
(
new
String
[]{
dto
.
getOpenid
(),
dto
.
getNickname
()})
.
filter
(
ArrayUtil:
:
isAllNotNull
)
.
filter
(
ArrayUtil:
:
isAllNotNull
)
.
ifPresent
(
l
->
{
.
ifPresent
(
l
->
{
String
openid
=
l
[
0
];
String
openid
=
l
[
0
];
String
nickname
=
l
[
1
];
String
nickname
=
l
[
1
];
RPointWx
pointWx
=
new
RPointWx
();
RPointWx
pointWx
=
new
RPointWx
();
pointWx
.
setPointId
(
map
.
get
(
"id"
));
pointWx
.
setPointId
(
(
Long
)
map
.
get
(
"id"
));
pointWx
.
setOpenid
(
openid
);
pointWx
.
setOpenid
(
openid
);
pointWx
.
setWxName
(
nickname
);
pointWx
.
setWxName
(
nickname
);
pointWxService
.
save
(
pointWx
);
pointWxService
.
save
(
pointWx
);
...
@@ -227,7 +227,7 @@ public class PointInfoServiceImpl extends MPJBaseServiceImpl<PointInfoMapper, Po
...
@@ -227,7 +227,7 @@ public class PointInfoServiceImpl extends MPJBaseServiceImpl<PointInfoMapper, Po
String
orgName
=
infile
.
getOriginalFilename
();
String
orgName
=
infile
.
getOriginalFilename
();
String
mainName
=
FileNameUtil
.
mainName
(
orgName
);
String
mainName
=
FileNameUtil
.
mainName
(
orgName
);
String
fileExt
=
FileNameUtil
.
extName
(
orgName
);
String
fileExt
=
FileNameUtil
.
extName
(
orgName
);
String
filename
=
StrUtil
.
format
(
"{}_{}.{}"
,
mainName
,
DateUtil
.
format
(
new
Date
(),
"yyyyMMdd_HHmmssSSS"
),
fileExt
);
String
filename
=
StrUtil
.
format
(
"{}_{}.{}"
,
mainName
,
TimeUtil
.
format
(
LocalDateTime
.
now
(),
"yyyyMMdd_HHmmssSSS"
),
fileExt
);
String
path
=
getPath
(
id
,
dto
,
filename
);
String
path
=
getPath
(
id
,
dto
,
filename
);
File
file
=
FileUtil
.
touch
(
path
);
File
file
=
FileUtil
.
touch
(
path
);
try
{
try
{
...
@@ -484,7 +484,7 @@ public class PointInfoServiceImpl extends MPJBaseServiceImpl<PointInfoMapper, Po
...
@@ -484,7 +484,7 @@ public class PointInfoServiceImpl extends MPJBaseServiceImpl<PointInfoMapper, Po
List
<
WxMpTemplateData
>
wxMpTemplateDataList
=
ListUtil
.
of
(
List
<
WxMpTemplateData
>
wxMpTemplateDataList
=
ListUtil
.
of
(
new
WxMpTemplateData
(
"thing4"
,
pointInfo
.
getProjectName
()),
new
WxMpTemplateData
(
"thing4"
,
pointInfo
.
getProjectName
()),
new
WxMpTemplateData
(
"phrase11"
,
statusMap
.
get
(
pointInfo
.
getStatus
())),
new
WxMpTemplateData
(
"phrase11"
,
statusMap
.
get
(
pointInfo
.
getStatus
())),
new
WxMpTemplateData
(
"time3"
,
DateUtil
.
formatDateTime
(
new
Date
())),
new
WxMpTemplateData
(
"time3"
,
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
())),
new
WxMpTemplateData
(
"thing18"
,
content
));
new
WxMpTemplateData
(
"thing18"
,
content
));
return
wechatMod
.
sendMsg
(
"IzPvAwx4zgXZmm4bwMc8Pka6piBK2sUf4zf9xA4hkNk"
,
openid
,
wxMpTemplateDataList
,
StrUtil
.
format
(
"{}?uuid={}"
,
url
,
pointInfo
.
getUuid
()));
return
wechatMod
.
sendMsg
(
"IzPvAwx4zgXZmm4bwMc8Pka6piBK2sUf4zf9xA4hkNk"
,
openid
,
wxMpTemplateDataList
,
StrUtil
.
format
(
"{}?uuid={}"
,
url
,
pointInfo
.
getUuid
()));
}
}
...
...
src/main/java/vion/service/impl/RContractProductServiceImpl.java
View file @
60d82ba
package
vion
.
service
.
impl
;
package
vion
.
service
.
impl
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
vion.model.RContractProduct
;
import
org.springframework.stereotype.Service
;
import
vion.mapper.RContractProductMapper
;
import
vion.mapper.RContractProductMapper
;
import
vion.model.RContractProduct
;
import
vion.service.IRContractProductService
;
import
vion.service.IRContractProductService
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2024/3/26
* @date 2024/3/26
...
...
src/main/java/vion/service/impl/RContractStoreServiceImpl.java
View file @
60d82ba
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
import
vion.mapper.RContractStoreMapper
;
import
vion.mapper.RContractStoreMapper
;
import
vion.model.RContractStore
;
import
vion.model.RContractStore
;
import
vion.service.IRContractStoreService
;
import
vion.service.IRContractStoreService
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2023/11/29
* @date 2023/11/29
...
...
src/main/java/vion/service/impl/RContractTeamServiceImpl.java
View file @
60d82ba
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
import
vion.mapper.RContractTeamMapper
;
import
vion.mapper.RContractTeamMapper
;
import
vion.model.RContractTeam
;
import
vion.model.RContractTeam
;
import
vion.service.IRContractTeamService
;
import
vion.service.IRContractTeamService
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2023/12/26
* @date 2023/12/26
...
...
src/main/java/vion/service/impl/RContractUserServiceImpl.java
View file @
60d82ba
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
import
vion.mapper.RContractUserMapper
;
import
vion.mapper.RContractUserMapper
;
import
vion.model.RContractUser
;
import
vion.model.RContractUser
;
import
vion.service.IRContractUserService
;
import
vion.service.IRContractUserService
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2023/12/28
* @date 2023/12/28
...
...
src/main/java/vion/service/impl/RPointDeviceServiceImpl.java
View file @
60d82ba
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
import
vion.mapper.RPointDeviceMapper
;
import
vion.mapper.RPointDeviceMapper
;
import
vion.model.RPointDevice
;
import
vion.model.RPointDevice
;
import
vion.service.IRPointDeviceService
;
import
vion.service.IRPointDeviceService
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2024/1/12
* @date 2024/1/12
...
...
src/main/java/vion/service/impl/RPointWxServiceImpl.java
View file @
60d82ba
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
import
vion.mapper.RPointWxMapper
;
import
vion.mapper.RPointWxMapper
;
import
vion.model.RPointWx
;
import
vion.model.RPointWx
;
import
vion.service.IRPointWxService
;
import
vion.service.IRPointWxService
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2024/1/12
* @date 2024/1/12
...
...
src/main/java/vion/service/impl/RRepairDeviceServiceImpl.java
View file @
60d82ba
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
import
vion.mapper.RRepairDeviceMapper
;
import
vion.mapper.RRepairDeviceMapper
;
import
vion.model.RRepairDevice
;
import
vion.model.RRepairDevice
;
import
vion.service.IRRepairDeviceService
;
import
vion.service.IRRepairDeviceService
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2024/1/25
* @date 2024/1/25
...
...
src/main/java/vion/service/impl/RRoleResourceServiceImpl.java
View file @
60d82ba
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
import
vion.mapper.RRoleResourceMapper
;
import
vion.mapper.RRoleResourceMapper
;
import
vion.model.RRoleResource
;
import
vion.model.RRoleResource
;
import
vion.service.IRRoleResourceService
;
import
vion.service.IRRoleResourceService
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2023/11/28
* @date 2023/11/28
...
...
src/main/java/vion/service/impl/RStoreConfederateServiceImpl.java
View file @
60d82ba
package
vion
.
service
.
impl
;
package
vion
.
service
.
impl
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
vion.model.RStoreConfederat
e
;
import
org.springframework.stereotype.Servic
e
;
import
vion.mapper.RStoreConfederateMapper
;
import
vion.mapper.RStoreConfederateMapper
;
import
vion.model.RStoreConfederate
;
import
vion.service.IRStoreConfederateService
;
import
vion.service.IRStoreConfederateService
;
@Service
@Service
...
...
src/main/java/vion/service/impl/RStoreTagServiceImpl.java
View file @
60d82ba
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
import
vion.mapper.RStoreTagMapper
;
import
vion.mapper.RStoreTagMapper
;
import
vion.model.RStoreTag
;
import
vion.model.RStoreTag
;
import
vion.service.IRStoreTagService
;
import
vion.service.IRStoreTagService
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2024/1/30
* @date 2024/1/30
...
...
src/main/java/vion/service/impl/RStoreUserServiceImpl.java
View file @
60d82ba
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
import
vion.mapper.RStoreUserMapper
;
import
vion.mapper.RStoreUserMapper
;
import
vion.model.RStoreUser
;
import
vion.model.RStoreUser
;
import
vion.service.IRStoreUserService
;
import
vion.service.IRStoreUserService
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2023/12/27
* @date 2023/12/27
...
...
src/main/java/vion/service/impl/RUserRoleServiceImpl.java
View file @
60d82ba
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
import
vion.mapper.RUserRoleMapper
;
import
vion.mapper.RUserRoleMapper
;
import
vion.model.RUserRole
;
import
vion.model.RUserRole
;
import
vion.service.IRUserRoleService
;
import
vion.service.IRUserRoleService
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2023/11/28
* @date 2023/11/28
...
...
src/main/java/vion/service/impl/RejectInfoServiceImpl.java
View file @
60d82ba
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
import
vion.mapper.RejectInfoMapper
;
import
vion.mapper.RejectInfoMapper
;
import
vion.model.RejectInfo
;
import
vion.model.RejectInfo
;
import
vion.service.IRejectInfoService
;
import
vion.service.IRejectInfoService
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2024/1/8
* @date 2024/1/8
...
...
src/main/java/vion/service/impl/RepairRecServiceImpl.java
View file @
60d82ba
...
@@ -7,7 +7,7 @@ import io.github.linpeilie.Converter;
...
@@ -7,7 +7,7 @@ import io.github.linpeilie.Converter;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.hutool.core.array.ArrayUtil
;
import
org.dromara.hutool.core.array.ArrayUtil
;
import
org.dromara.hutool.core.data.id.IdUtil
;
import
org.dromara.hutool.core.data.id.IdUtil
;
import
org.dromara.hutool.core.date.
Dat
eUtil
;
import
org.dromara.hutool.core.date.
Tim
eUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.lang.Opt
;
...
@@ -29,8 +29,8 @@ import vion.vo.UserVO;
...
@@ -29,8 +29,8 @@ import vion.vo.UserVO;
import
java.io.File
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.time.LocalDateTime
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -99,7 +99,8 @@ public class RepairRecServiceImpl extends MPJBaseServiceImpl<RepairRecMapper, Re
...
@@ -99,7 +99,8 @@ public class RepairRecServiceImpl extends MPJBaseServiceImpl<RepairRecMapper, Re
String
orgName
=
infile
.
getOriginalFilename
();
String
orgName
=
infile
.
getOriginalFilename
();
String
mainName
=
FileNameUtil
.
mainName
(
orgName
);
String
mainName
=
FileNameUtil
.
mainName
(
orgName
);
String
fileExt
=
FileNameUtil
.
extName
(
orgName
);
String
fileExt
=
FileNameUtil
.
extName
(
orgName
);
String
filename
=
StrUtil
.
format
(
"{}_{}.{}"
,
mainName
,
DateUtil
.
format
(
new
Date
(),
"yyyyMMdd_HHmmssSSS"
),
fileExt
);
String
filename
=
StrUtil
.
format
(
"{}_{}.{}"
,
mainName
,
TimeUtil
.
format
(
LocalDateTime
.
now
(),
"yyyyMMdd_HHmmssSSS"
),
fileExt
);
String
path
=
String
path
=
fileUrl
+
FileUtil
.
FILE_SEPARATOR
+
"repairRec"
+
FileUtil
.
FILE_SEPARATOR
+
id
+
FileUtil
.
FILE_SEPARATOR
+
filename
;
fileUrl
+
FileUtil
.
FILE_SEPARATOR
+
"repairRec"
+
FileUtil
.
FILE_SEPARATOR
+
id
+
FileUtil
.
FILE_SEPARATOR
+
filename
;
File
file
=
FileUtil
.
touch
(
path
);
File
file
=
FileUtil
.
touch
(
path
);
...
@@ -152,7 +153,7 @@ public class RepairRecServiceImpl extends MPJBaseServiceImpl<RepairRecMapper, Re
...
@@ -152,7 +153,7 @@ public class RepairRecServiceImpl extends MPJBaseServiceImpl<RepairRecMapper, Re
### 发送时间:{}
### 发送时间:{}
"""
,
repairRecVO
.
getProjectName
(),
Opt
.
ofBlankAble
(
repairRecVO
.
getTrackingNumber
()).
orElse
(
"暂无"
),
"""
,
repairRecVO
.
getProjectName
(),
Opt
.
ofBlankAble
(
repairRecVO
.
getTrackingNumber
()).
orElse
(
"暂无"
),
deviceNoStr
,
deviceNoStr
,
Opt
.
ofBlankAble
(
DateUtil
.
formatDate
(
repairRecVO
.
getShipDate
())).
orElse
(
"暂无"
),
DateUtil
.
now
(
));
Opt
.
ofBlankAble
(
repairRecVO
.
getShipDate
().
toString
()).
orElse
(
"暂无"
),
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
()
));
content
.
put
(
"text"
,
text
);
content
.
put
(
"text"
,
text
);
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"markdown"
).
set
(
"markdown"
,
content
);
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"markdown"
).
set
(
"markdown"
,
content
);
...
...
src/main/java/vion/service/impl/ResourceServiceImpl.java
View file @
60d82ba
...
@@ -5,7 +5,7 @@ import com.github.yulichang.base.MPJBaseServiceImpl;
...
@@ -5,7 +5,7 @@ import com.github.yulichang.base.MPJBaseServiceImpl;
import
io.github.linpeilie.Converter
;
import
io.github.linpeilie.Converter
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.hutool.core.collection.ListUtil
;
import
org.dromara.hutool.core.collection.ListUtil
;
import
org.dromara.hutool.core.date.
Dat
eUtil
;
import
org.dromara.hutool.core.date.
Tim
eUtil
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.map.MapUtil
;
import
org.dromara.hutool.core.map.MapUtil
;
import
org.dromara.hutool.core.tree.MapTree
;
import
org.dromara.hutool.core.tree.MapTree
;
...
@@ -57,8 +57,8 @@ public class ResourceServiceImpl extends MPJBaseServiceImpl<ResourceMapper, Reso
...
@@ -57,8 +57,8 @@ public class ResourceServiceImpl extends MPJBaseServiceImpl<ResourceMapper, Reso
.
put
(
"sortCode"
,
v
.
getSortCode
())
.
put
(
"sortCode"
,
v
.
getSortCode
())
.
put
(
"type"
,
v
.
getType
())
.
put
(
"type"
,
v
.
getType
())
.
put
(
"remark"
,
v
.
getRemark
())
.
put
(
"remark"
,
v
.
getRemark
())
.
put
(
"createTime"
,
DateUtil
.
formatDateTime
(
v
.
getCreateTime
()))
.
put
(
"createTime"
,
TimeUtil
.
formatNormal
(
v
.
getCreateTime
()))
.
put
(
"updateTime"
,
DateUtil
.
formatDateTime
(
v
.
getUpdateTime
()))
.
put
(
"updateTime"
,
TimeUtil
.
formatNormal
(
v
.
getUpdateTime
()))
.
build
();
.
build
();
node
.
setExtra
(
map
);
node
.
setExtra
(
map
);
nodeList
.
add
(
node
);
nodeList
.
add
(
node
);
...
...
src/main/java/vion/service/impl/ServiceOrderServiceImpl.java
View file @
60d82ba
package
vion
.
service
.
impl
;
package
vion
.
service
.
impl
;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.collection.ListUtil
;
import
org.dromara.hutool.core.lang.Opt
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.toolkit.Db
;
import
com.baomidou.mybatisplus.extension.toolkit.Db
;
...
@@ -10,6 +7,9 @@ import com.github.yulichang.base.MPJBaseServiceImpl;
...
@@ -10,6 +7,9 @@ import com.github.yulichang.base.MPJBaseServiceImpl;
import
io.github.linpeilie.Converter
;
import
io.github.linpeilie.Converter
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
me.chanjar.weixin.mp.bean.template.WxMpTemplateData
;
import
me.chanjar.weixin.mp.bean.template.WxMpTemplateData
;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.collection.ListUtil
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
vion.dto.ServiceOrderDTO
;
import
vion.dto.ServiceOrderDTO
;
import
vion.mapper.ServiceOrderMapper
;
import
vion.mapper.ServiceOrderMapper
;
...
...
src/main/java/vion/service/impl/SettlementDiffServiceImpl.java
View file @
60d82ba
package
vion
.
service
.
impl
;
package
vion
.
service
.
impl
;
import
cn.dev33.satoken.stp.StpUtil
;
import
cn.dev33.satoken.stp.StpUtil
;
import
org.dromara.hutool.core.date.DateUtil
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.github.yulichang.base.MPJBaseServiceImpl
;
import
io.github.linpeilie.Converter
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.hutool.core.date.TimeUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.dromara.hutool.crypto.SecureUtil
;
import
org.dromara.hutool.crypto.SecureUtil
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.github.yulichang.base.MPJBaseServiceImpl
;
import
io.github.linpeilie.Converter
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
...
@@ -28,8 +28,8 @@ import vion.vo.UserVO;
...
@@ -28,8 +28,8 @@ import vion.vo.UserVO;
import
java.io.File
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.time.LocalDateTime
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -125,7 +125,7 @@ public class SettlementDiffServiceImpl extends MPJBaseServiceImpl<SettlementDiff
...
@@ -125,7 +125,7 @@ public class SettlementDiffServiceImpl extends MPJBaseServiceImpl<SettlementDiff
String
orgName
=
infile
.
getOriginalFilename
();
String
orgName
=
infile
.
getOriginalFilename
();
String
mainName
=
FileNameUtil
.
mainName
(
orgName
);
String
mainName
=
FileNameUtil
.
mainName
(
orgName
);
String
fileExt
=
FileNameUtil
.
extName
(
orgName
);
String
fileExt
=
FileNameUtil
.
extName
(
orgName
);
String
filename
=
StrUtil
.
format
(
"{}_{}.{}"
,
mainName
,
DateUtil
.
format
(
new
Date
(),
"yyyyMMdd_HHmmssSSS"
),
fileExt
);
String
filename
=
StrUtil
.
format
(
"{}_{}.{}"
,
mainName
,
TimeUtil
.
format
(
LocalDateTime
.
now
(),
"yyyyMMdd_HHmmssSSS"
),
fileExt
);
String
path
=
fileUrl
+
FileUtil
.
FILE_SEPARATOR
+
"settlementDiff"
+
FileUtil
.
FILE_SEPARATOR
+
dto
.
getContractNo
()
+
FileUtil
.
FILE_SEPARATOR
+
filename
;
String
path
=
fileUrl
+
FileUtil
.
FILE_SEPARATOR
+
"settlementDiff"
+
FileUtil
.
FILE_SEPARATOR
+
dto
.
getContractNo
()
+
FileUtil
.
FILE_SEPARATOR
+
filename
;
File
file
=
FileUtil
.
touch
(
path
);
File
file
=
FileUtil
.
touch
(
path
);
try
{
try
{
...
...
src/main/java/vion/service/impl/SparePartServiceImpl.java
View file @
60d82ba
...
@@ -7,7 +7,7 @@ import io.github.linpeilie.Converter;
...
@@ -7,7 +7,7 @@ import io.github.linpeilie.Converter;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.hutool.core.array.ArrayUtil
;
import
org.dromara.hutool.core.array.ArrayUtil
;
import
org.dromara.hutool.core.data.id.IdUtil
;
import
org.dromara.hutool.core.data.id.IdUtil
;
import
org.dromara.hutool.core.date.
Dat
eUtil
;
import
org.dromara.hutool.core.date.
Tim
eUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.lang.Opt
;
...
@@ -29,8 +29,8 @@ import vion.vo.UserVO;
...
@@ -29,8 +29,8 @@ import vion.vo.UserVO;
import
java.io.File
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.time.LocalDateTime
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -94,7 +94,8 @@ public class SparePartServiceImpl extends MPJBaseServiceImpl<SparePartMapper, Sp
...
@@ -94,7 +94,8 @@ public class SparePartServiceImpl extends MPJBaseServiceImpl<SparePartMapper, Sp
String
orgName
=
infile
.
getOriginalFilename
();
String
orgName
=
infile
.
getOriginalFilename
();
String
mainName
=
FileNameUtil
.
mainName
(
orgName
);
String
mainName
=
FileNameUtil
.
mainName
(
orgName
);
String
fileExt
=
FileNameUtil
.
extName
(
orgName
);
String
fileExt
=
FileNameUtil
.
extName
(
orgName
);
String
filename
=
StrUtil
.
format
(
"{}_{}.{}"
,
mainName
,
DateUtil
.
format
(
new
Date
(),
"yyyyMMdd_HHmmssSSS"
),
fileExt
);
String
filename
=
StrUtil
.
format
(
"{}_{}.{}"
,
mainName
,
TimeUtil
.
format
(
LocalDateTime
.
now
(),
"yyyyMMdd_HHmmssSSS"
),
fileExt
);
String
path
=
fileUrl
+
FileUtil
.
FILE_SEPARATOR
+
"sparePart"
+
FileUtil
.
FILE_SEPARATOR
+
id
+
FileUtil
.
FILE_SEPARATOR
+
filename
;
String
path
=
fileUrl
+
FileUtil
.
FILE_SEPARATOR
+
"sparePart"
+
FileUtil
.
FILE_SEPARATOR
+
id
+
FileUtil
.
FILE_SEPARATOR
+
filename
;
File
file
=
FileUtil
.
touch
(
path
);
File
file
=
FileUtil
.
touch
(
path
);
try
{
try
{
...
@@ -146,7 +147,7 @@ public class SparePartServiceImpl extends MPJBaseServiceImpl<SparePartMapper, Sp
...
@@ -146,7 +147,7 @@ public class SparePartServiceImpl extends MPJBaseServiceImpl<SparePartMapper, Sp
### 发送时间:{}
### 发送时间:{}
"""
,
sparePartVO
.
getProjectName
(),
Opt
.
ofBlankAble
(
sparePartVO
.
getTrackingNumber
()).
orElse
(
"暂无"
),
"""
,
sparePartVO
.
getProjectName
(),
Opt
.
ofBlankAble
(
sparePartVO
.
getTrackingNumber
()).
orElse
(
"暂无"
),
deviceNoStr
,
deviceNoStr
,
Opt
.
ofBlankAble
(
DateUtil
.
formatDate
(
sparePartVO
.
getShipDate
())).
orElse
(
"暂无"
),
DateUtil
.
now
(
));
Opt
.
ofBlankAble
(
sparePartVO
.
getShipDate
().
toString
()).
orElse
(
"暂无"
),
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
()
));
content
.
put
(
"text"
,
text
);
content
.
put
(
"text"
,
text
);
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"markdown"
).
set
(
"markdown"
,
content
);
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"markdown"
).
set
(
"markdown"
,
content
);
...
...
src/main/java/vion/service/impl/StoreLogServiceImpl.java
View file @
60d82ba
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
import
vion.mapper.StoreLogMapper
;
import
vion.mapper.StoreLogMapper
;
import
vion.model.StoreLog
;
import
vion.model.StoreLog
;
import
vion.service.IStoreLogService
;
import
vion.service.IStoreLogService
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2023/12/27
* @date 2023/12/27
...
...
src/main/java/vion/service/impl/StoreServiceImpl.java
View file @
60d82ba
...
@@ -18,7 +18,7 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -18,7 +18,7 @@ import lombok.extern.slf4j.Slf4j;
import
org.dromara.hutool.core.array.ArrayUtil
;
import
org.dromara.hutool.core.array.ArrayUtil
;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.collection.ListUtil
;
import
org.dromara.hutool.core.collection.ListUtil
;
import
org.dromara.hutool.core.date.
Dat
eUtil
;
import
org.dromara.hutool.core.date.
Tim
eUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.lang.Opt
;
...
@@ -52,6 +52,8 @@ import vion.vo.UserVO;
...
@@ -52,6 +52,8 @@ import vion.vo.UserVO;
import
java.awt.*
;
import
java.awt.*
;
import
java.io.File
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
import
java.util.*
;
import
java.util.*
;
import
java.util.function.Function
;
import
java.util.function.Function
;
...
@@ -253,7 +255,7 @@ public class StoreServiceImpl extends MPJBaseServiceImpl<StoreMapper, Store> imp
...
@@ -253,7 +255,7 @@ public class StoreServiceImpl extends MPJBaseServiceImpl<StoreMapper, Store> imp
String
orgName
=
infile
.
getOriginalFilename
();
String
orgName
=
infile
.
getOriginalFilename
();
String
mainName
=
FileNameUtil
.
mainName
(
orgName
);
String
mainName
=
FileNameUtil
.
mainName
(
orgName
);
String
fileExt
=
FileNameUtil
.
extName
(
orgName
);
String
fileExt
=
FileNameUtil
.
extName
(
orgName
);
String
filename
=
StrUtil
.
format
(
"{}_{}.{}"
,
mainName
,
DateUtil
.
format
(
new
Date
(),
"yyyyMMdd_HHmmssSSS"
),
fileExt
);
String
filename
=
StrUtil
.
format
(
"{}_{}.{}"
,
mainName
,
TimeUtil
.
format
(
LocalDateTime
.
now
(),
"yyyyMMdd_HHmmssSSS"
),
fileExt
);
String
path
=
fileUrl
+
FileUtil
.
FILE_SEPARATOR
+
statusDTO
.
getStoreId
()
+
FileUtil
.
FILE_SEPARATOR
+
statusDTO
.
getSourceId
()
+
FileUtil
.
FILE_SEPARATOR
+
filename
;
String
path
=
fileUrl
+
FileUtil
.
FILE_SEPARATOR
+
statusDTO
.
getStoreId
()
+
FileUtil
.
FILE_SEPARATOR
+
statusDTO
.
getSourceId
()
+
FileUtil
.
FILE_SEPARATOR
+
filename
;
File
file
=
FileUtil
.
touch
(
path
);
File
file
=
FileUtil
.
touch
(
path
);
try
{
try
{
...
@@ -315,11 +317,11 @@ public class StoreServiceImpl extends MPJBaseServiceImpl<StoreMapper, Store> imp
...
@@ -315,11 +317,11 @@ public class StoreServiceImpl extends MPJBaseServiceImpl<StoreMapper, Store> imp
.
filter
(
CollUtil:
:
isNotEmpty
)
.
filter
(
CollUtil:
:
isNotEmpty
)
.
map
(
l
->
l
.
getFirst
().
getNodeDate
())
.
map
(
l
->
l
.
getFirst
().
getNodeDate
())
.
ifPresent
(
masterContract:
:
setFinalDate
);
.
ifPresent
(
masterContract:
:
setFinalDate
);
Date
finalDate
=
masterContract
.
getFinalDate
();
Local
Date
finalDate
=
masterContract
.
getFinalDate
();
if
(
ArrayUtil
.
isAllNotNull
(
finalDate
,
warrantyPeriod
))
{
if
(
ArrayUtil
.
isAllNotNull
(
finalDate
,
warrantyPeriod
))
{
Date
finalDateEnd
=
DateUtil
.
offsetMonth
(
finalDate
,
warrantyPeriod
);
LocalDate
finalDateEnd
=
finalDate
.
plusMonths
(
warrantyPeriod
);
boolean
isIn
=
DateUtil
.
isIn
(
new
Date
(),
finalDate
,
finalDateEnd
);
boolean
isIn
=
TimeUtil
.
isIn
(
LocalDate
.
now
(),
finalDate
,
finalDateEnd
);
if
(
isIn
)
{
if
(
isIn
)
{
s
.
setMaintainStatus
(
"在保"
);
s
.
setMaintainStatus
(
"在保"
);
Store
updStore
=
new
Store
();
Store
updStore
=
new
Store
();
...
@@ -339,7 +341,7 @@ public class StoreServiceImpl extends MPJBaseServiceImpl<StoreMapper, Store> imp
...
@@ -339,7 +341,7 @@ public class StoreServiceImpl extends MPJBaseServiceImpl<StoreMapper, Store> imp
.
filter
(
contract
->
ObjUtil
.
equals
(
contract
.
getType
(),
1
))
.
filter
(
contract
->
ObjUtil
.
equals
(
contract
.
getType
(),
1
))
.
map
(
Contract:
:
getMaintainEdate
)
.
map
(
Contract:
:
getMaintainEdate
)
.
filter
(
Objects:
:
nonNull
)
.
filter
(
Objects:
:
nonNull
)
.
forEach
(
maintainEdate
->
maintainStatusSet
.
add
(
DateUtil
.
compare
(
maintainEdate
,
new
Date
())
>=
0
));
.
forEach
(
maintainEdate
->
maintainStatusSet
.
add
(
!
maintainEdate
.
isBefore
(
LocalDate
.
now
())
));
s
.
setMaintainStatus
(
CollUtil
.
isEmpty
(
maintainStatusSet
)
?
s
.
getMaintainStatus
()
:
maintainStatusSet
.
contains
(
true
)
?
"在保"
:
"脱保"
);
s
.
setMaintainStatus
(
CollUtil
.
isEmpty
(
maintainStatusSet
)
?
s
.
getMaintainStatus
()
:
maintainStatusSet
.
contains
(
true
)
?
"在保"
:
"脱保"
);
}
}
Store
updStore
=
new
Store
();
Store
updStore
=
new
Store
();
...
@@ -456,7 +458,7 @@ public class StoreServiceImpl extends MPJBaseServiceImpl<StoreMapper, Store> imp
...
@@ -456,7 +458,7 @@ public class StoreServiceImpl extends MPJBaseServiceImpl<StoreMapper, Store> imp
### 提交日期:{}
### 提交日期:{}
### 内容:
### 内容:
> {}
> {}
"""
,
storeVO
.
getName
(),
user
.
getUsername
(),
DateUtil
.
formatDate
(
storeLog
.
getLogDate
()
),
logText
);
"""
,
storeVO
.
getName
(),
user
.
getUsername
(),
storeLog
.
getLogDate
(
),
logText
);
var
markdown
=
JsonUtil
.
createObj
()
var
markdown
=
JsonUtil
.
createObj
()
.
put
(
"title"
,
"项目日志提醒"
)
.
put
(
"title"
,
"项目日志提醒"
)
.
put
(
"text"
,
text
);
.
put
(
"text"
,
text
);
...
@@ -476,7 +478,7 @@ public class StoreServiceImpl extends MPJBaseServiceImpl<StoreMapper, Store> imp
...
@@ -476,7 +478,7 @@ public class StoreServiceImpl extends MPJBaseServiceImpl<StoreMapper, Store> imp
### 提交日期:{}
### 提交日期:{}
### 内容:
### 内容:
> {}
> {}
"""
,
atUser
,
storeVO
.
getName
(),
user
.
getUsername
(),
DateUtil
.
formatDate
(
storeLog
.
getLogDate
()
),
logText
);
"""
,
atUser
,
storeVO
.
getName
(),
user
.
getUsername
(),
storeLog
.
getLogDate
(
),
logText
);
markdown
.
put
(
"text"
,
text
);
markdown
.
put
(
"text"
,
text
);
}
}
...
@@ -653,8 +655,7 @@ public class StoreServiceImpl extends MPJBaseServiceImpl<StoreMapper, Store> imp
...
@@ -653,8 +655,7 @@ public class StoreServiceImpl extends MPJBaseServiceImpl<StoreMapper, Store> imp
watermark
.
setText
(
user
.
getUsername
()
+
"-"
+
user
.
getPhone
());
watermark
.
setText
(
user
.
getUsername
()
+
"-"
+
user
.
getPhone
());
watermark
.
setFont
(
new
Font
(
"SimSun"
,
Font
.
PLAIN
,
16
));
watermark
.
setFont
(
new
Font
(
"SimSun"
,
Font
.
PLAIN
,
16
));
WatermarkUtil
.
addWatermark
(
workbook
,
watermark
);
WatermarkUtil
.
addWatermark
(
workbook
,
watermark
);
AttachmentExportUtil
.
export
(
workbook
,
StrUtil
.
format
(
"项目资料_{}"
,
DateUtil
.
formatDateTime
(
new
Date
())),
AttachmentExportUtil
.
export
(
workbook
,
StrUtil
.
format
(
"项目资料_{}"
,
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
())),
response
);
response
);
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
throw
new
RuntimeException
(
e
);
}
}
...
@@ -694,7 +695,7 @@ public class StoreServiceImpl extends MPJBaseServiceImpl<StoreMapper, Store> imp
...
@@ -694,7 +695,7 @@ public class StoreServiceImpl extends MPJBaseServiceImpl<StoreMapper, Store> imp
.
put
(
"title"
,
"项目日志提醒"
)
.
put
(
"title"
,
"项目日志提醒"
)
.
put
(
"text"
,
StrUtil
.
format
(
"""
.
put
(
"text"
,
StrUtil
.
format
(
"""
#### 项目:[{}]请及时提交日志
#### 项目:[{}]请及时提交日志
#### 发送时间:{}"""
,
storeName
,
DateUtil
.
now
(
)));
#### 发送时间:{}"""
,
storeName
,
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
()
)));
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"markdown"
).
set
(
"markdown"
,
content
);
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"markdown"
).
set
(
"markdown"
,
content
);
jsonObj
.
set
(
"msg"
,
msg
);
jsonObj
.
set
(
"msg"
,
msg
);
...
@@ -723,7 +724,7 @@ public class StoreServiceImpl extends MPJBaseServiceImpl<StoreMapper, Store> imp
...
@@ -723,7 +724,7 @@ public class StoreServiceImpl extends MPJBaseServiceImpl<StoreMapper, Store> imp
#### 资料名称:
#### 资料名称:
{}
{}
#### 发送时间:{}"""
,
storeName
,
contractNo
,
userVO
.
getUsername
(),
sourceName
,
fileNameStr
,
#### 发送时间:{}"""
,
storeName
,
contractNo
,
userVO
.
getUsername
(),
sourceName
,
fileNameStr
,
DateUtil
.
now
(
)));
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
()
)));
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"markdown"
).
set
(
"markdown"
,
content
);
var
msg
=
JsonUtil
.
createObj
().
put
(
"msgtype"
,
"markdown"
).
set
(
"markdown"
,
content
);
jsonObj
.
set
(
"msg"
,
msg
);
jsonObj
.
set
(
"msg"
,
msg
);
...
...
src/main/java/vion/service/impl/TagServiceImpl.java
View file @
60d82ba
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
...
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
import
vion.mapper.TagMapper
;
import
vion.mapper.TagMapper
;
import
vion.model.Tag
;
import
vion.model.Tag
;
import
vion.service.ITagService
;
import
vion.service.ITagService
;
/**
/**
* @author HlQ
* @author HlQ
* @date 2024/1/30
* @date 2024/1/30
...
...
src/main/java/vion/service/impl/TaskServiceImpl.java
View file @
60d82ba
...
@@ -13,7 +13,7 @@ import org.dromara.hutool.core.collection.ListUtil;
...
@@ -13,7 +13,7 @@ import org.dromara.hutool.core.collection.ListUtil;
import
org.dromara.hutool.core.collection.set.SetUtil
;
import
org.dromara.hutool.core.collection.set.SetUtil
;
import
org.dromara.hutool.core.data.MaskingUtil
;
import
org.dromara.hutool.core.data.MaskingUtil
;
import
org.dromara.hutool.core.data.id.IdUtil
;
import
org.dromara.hutool.core.data.id.IdUtil
;
import
org.dromara.hutool.core.date.
Dat
eUtil
;
import
org.dromara.hutool.core.date.
Tim
eUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.lang.Assert
;
import
org.dromara.hutool.core.lang.Assert
;
...
@@ -43,6 +43,8 @@ import vion.vo.UserVO;
...
@@ -43,6 +43,8 @@ import vion.vo.UserVO;
import
java.io.File
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -344,7 +346,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
...
@@ -344,7 +346,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
List
<
WxMpTemplateData
>
wxMpTemplateDataList
=
ListUtil
.
of
(
List
<
WxMpTemplateData
>
wxMpTemplateDataList
=
ListUtil
.
of
(
new
WxMpTemplateData
(
"character_string21"
,
existTask
.
getUuid
()),
new
WxMpTemplateData
(
"character_string21"
,
existTask
.
getUuid
()),
new
WxMpTemplateData
(
"thing12"
,
MaskingUtil
.
chineseName
(
user
.
getUsername
())),
new
WxMpTemplateData
(
"thing12"
,
MaskingUtil
.
chineseName
(
user
.
getUsername
())),
new
WxMpTemplateData
(
"time11"
,
DateUtil
.
formatDateTime
(
new
Date
())),
new
WxMpTemplateData
(
"time11"
,
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
())),
new
WxMpTemplateData
(
"thing20"
,
existTask
.
getFaultDescription
().
length
()
>
20
?
StrUtil
.
sub
(
existTask
.
getFaultDescription
(),
0
,
17
)
+
"..."
:
existTask
.
getFaultDescription
()),
new
WxMpTemplateData
(
"thing20"
,
existTask
.
getFaultDescription
().
length
()
>
20
?
StrUtil
.
sub
(
existTask
.
getFaultDescription
(),
0
,
17
)
+
"..."
:
existTask
.
getFaultDescription
()),
new
WxMpTemplateData
(
"phrase25"
,
statusMap
.
get
(
existTask
.
getStatus
())));
new
WxMpTemplateData
(
"phrase25"
,
statusMap
.
get
(
existTask
.
getStatus
())));
String
sentMsg
=
wechatMod
.
sendMsg
(
"H3zWJysLWrcxrUlrgqPnjDV7LyWLaml_Ap9WsLuQDCs"
,
openid
,
wxMpTemplateDataList
,
null
);
String
sentMsg
=
wechatMod
.
sendMsg
(
"H3zWJysLWrcxrUlrgqPnjDV7LyWLaml_Ap9WsLuQDCs"
,
openid
,
wxMpTemplateDataList
,
null
);
...
@@ -366,7 +368,8 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
...
@@ -366,7 +368,8 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
String
orgName
=
infile
.
getOriginalFilename
();
String
orgName
=
infile
.
getOriginalFilename
();
String
mainName
=
FileNameUtil
.
mainName
(
orgName
);
String
mainName
=
FileNameUtil
.
mainName
(
orgName
);
String
fileExt
=
FileNameUtil
.
extName
(
orgName
);
String
fileExt
=
FileNameUtil
.
extName
(
orgName
);
String
filename
=
StrUtil
.
format
(
"{}_{}.{}"
,
mainName
,
DateUtil
.
format
(
new
Date
(),
"yyyyMMdd_HHmmssSSS"
),
fileExt
);
String
filename
=
StrUtil
.
format
(
"{}_{}.{}"
,
mainName
,
TimeUtil
.
format
(
LocalDateTime
.
now
(),
"yyyyMMdd_HHmmssSSS"
),
fileExt
);
String
path
=
fileUrl
+
FileUtil
.
FILE_SEPARATOR
+
task
.
getStoreId
()
+
FileUtil
.
FILE_SEPARATOR
+
task
.
getId
()
+
FileUtil
.
FILE_SEPARATOR
+
filename
;
String
path
=
fileUrl
+
FileUtil
.
FILE_SEPARATOR
+
task
.
getStoreId
()
+
FileUtil
.
FILE_SEPARATOR
+
task
.
getId
()
+
FileUtil
.
FILE_SEPARATOR
+
filename
;
File
file
=
FileUtil
.
touch
(
path
);
File
file
=
FileUtil
.
touch
(
path
);
try
{
try
{
...
@@ -410,7 +413,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
...
@@ -410,7 +413,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
FaultLog
faultLog
=
new
FaultLog
();
FaultLog
faultLog
=
new
FaultLog
();
faultLog
.
setOperator
(
vo
.
getActiveUser
());
faultLog
.
setOperator
(
vo
.
getActiveUser
());
faultLog
.
setContent
(
"工单正在处理中"
);
faultLog
.
setContent
(
"工单正在处理中"
);
faultLog
.
setCreateTime
(
new
Date
());
faultLog
.
setCreateTime
(
LocalDateTime
.
now
());
vo
.
getFaultLogList
().
add
(
faultLog
);
vo
.
getFaultLogList
().
add
(
faultLog
);
}
}
return
vo
;
return
vo
;
...
@@ -442,7 +445,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
...
@@ -442,7 +445,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
}
}
@Override
@Override
public
List
<
Map
<
String
,
Object
>>
peopleAnalysis
(
Date
startDate
,
Date
endDate
,
Integer
source
,
List
<
Long
>
userIds
)
{
public
List
<
Map
<
String
,
Object
>>
peopleAnalysis
(
LocalDate
startDate
,
Local
Date
endDate
,
Integer
source
,
List
<
Long
>
userIds
)
{
List
<
Task
>
taskList
=
this
.
lambdaQuery
()
List
<
Task
>
taskList
=
this
.
lambdaQuery
()
.
between
(
ArrayUtil
.
isAllNotNull
(
startDate
,
endDate
),
Task:
:
getRepairTime
,
startDate
,
endDate
)
.
between
(
ArrayUtil
.
isAllNotNull
(
startDate
,
endDate
),
Task:
:
getRepairTime
,
startDate
,
endDate
)
.
isNotNull
(
ObjUtil
.
equals
(
source
,
1
),
Task:
:
getTaskTempId
)
.
isNotNull
(
ObjUtil
.
equals
(
source
,
1
),
Task:
:
getTaskTempId
)
...
@@ -469,7 +472,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
...
@@ -469,7 +472,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
var
hourSum
=
list
.
stream
().
mapToDouble
(
v
->
taskId2HourMap
.
getOrDefault
(
v
.
getId
(),
0
D
)).
sum
();
var
hourSum
=
list
.
stream
().
mapToDouble
(
v
->
taskId2HourMap
.
getOrDefault
(
v
.
getId
(),
0
D
)).
sum
();
var
inList
=
list
.
stream
().
filter
(
v
->
v
.
getStatus
().
equals
(
2
)).
toList
();
var
inList
=
list
.
stream
().
filter
(
v
->
v
.
getStatus
().
equals
(
2
)).
toList
();
var
expList
=
inList
.
stream
().
filter
(
v
->
v
.
getExpDate
().
after
(
new
Date
())).
toList
();
var
expList
=
inList
.
stream
().
filter
(
v
->
v
.
getExpDate
().
isAfter
(
LocalDate
.
now
())).
toList
();
var
finishList
=
taskList
.
stream
().
filter
(
t
->
user2TaskIdMap
.
getOrDefault
(
p
,
List
.
of
()).
contains
(
t
.
getId
())).
toList
();
var
finishList
=
taskList
.
stream
().
filter
(
t
->
user2TaskIdMap
.
getOrDefault
(
p
,
List
.
of
()).
contains
(
t
.
getId
())).
toList
();
var
storeIdSet
=
list
.
stream
().
map
(
Task:
:
getStoreId
).
collect
(
Collectors
.
toSet
());
var
storeIdSet
=
list
.
stream
().
map
(
Task:
:
getStoreId
).
collect
(
Collectors
.
toSet
());
var
storeNameList
=
storeList
.
stream
().
filter
(
v
->
storeIdSet
.
contains
(
v
.
getId
())).
distinct
().
map
(
Store:
:
getName
).
collect
(
Collectors
.
joining
(
","
));
var
storeNameList
=
storeList
.
stream
().
filter
(
v
->
storeIdSet
.
contains
(
v
.
getId
())).
distinct
().
map
(
Store:
:
getName
).
collect
(
Collectors
.
joining
(
","
));
...
@@ -488,7 +491,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
...
@@ -488,7 +491,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
}
}
@Override
@Override
public
List
<
Map
<
String
,
Object
>>
proAnalysis
(
Date
startDate
,
Date
endDate
,
Integer
source
,
List
<
Long
>
userIds
)
{
public
List
<
Map
<
String
,
Object
>>
proAnalysis
(
LocalDate
startDate
,
Local
Date
endDate
,
Integer
source
,
List
<
Long
>
userIds
)
{
List
<
Task
>
taskList
=
this
.
lambdaQuery
()
List
<
Task
>
taskList
=
this
.
lambdaQuery
()
.
between
(
ArrayUtil
.
isAllNotNull
(
startDate
,
endDate
),
Task:
:
getRepairTime
,
startDate
,
endDate
)
.
between
(
ArrayUtil
.
isAllNotNull
(
startDate
,
endDate
),
Task:
:
getRepairTime
,
startDate
,
endDate
)
.
isNotNull
(
ObjUtil
.
equals
(
source
,
1
),
Task:
:
getTaskTempId
)
.
isNotNull
(
ObjUtil
.
equals
(
source
,
1
),
Task:
:
getTaskTempId
)
...
@@ -508,7 +511,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
...
@@ -508,7 +511,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
var
hourSum
=
list
.
stream
().
mapToDouble
(
v
->
taskId2HourMap
.
getOrDefault
(
v
.
getId
(),
0
D
)).
sum
();
var
hourSum
=
list
.
stream
().
mapToDouble
(
v
->
taskId2HourMap
.
getOrDefault
(
v
.
getId
(),
0
D
)).
sum
();
var
inList
=
list
.
stream
().
filter
(
v
->
v
.
getStatus
().
equals
(
2
)).
toList
();
var
inList
=
list
.
stream
().
filter
(
v
->
v
.
getStatus
().
equals
(
2
)).
toList
();
var
expList
=
inList
.
stream
().
filter
(
v
->
v
.
getExpDate
().
after
(
new
Date
())).
toList
();
var
expList
=
inList
.
stream
().
filter
(
v
->
v
.
getExpDate
().
isAfter
(
LocalDate
.
now
())).
toList
();
var
finishList
=
list
.
stream
().
filter
(
v
->
v
.
getStatus
().
equals
(
3
)).
toList
();
var
finishList
=
list
.
stream
().
filter
(
v
->
v
.
getStatus
().
equals
(
3
)).
toList
();
var
userSet
=
list
.
stream
().
map
(
Task:
:
getActiveUser
).
distinct
().
map
(
id2UsernameMap:
:
get
).
collect
(
Collectors
.
joining
(
","
));
var
userSet
=
list
.
stream
().
map
(
Task:
:
getActiveUser
).
distinct
().
map
(
id2UsernameMap:
:
get
).
collect
(
Collectors
.
joining
(
","
));
Map
<
String
,
Object
>
cntMap
=
Map
.
of
(
"name"
,
storeId2NameMap
.
get
(
p
),
Map
<
String
,
Object
>
cntMap
=
Map
.
of
(
"name"
,
storeId2NameMap
.
get
(
p
),
...
@@ -525,7 +528,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
...
@@ -525,7 +528,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
}
}
@Override
@Override
public
Map
<
String
,
Map
<
String
,
List
<
Task
>>>
summaryAnalysis
(
Date
startDate
,
Date
endDate
,
Integer
source
)
{
public
Map
<
String
,
Map
<
String
,
List
<
Task
>>>
summaryAnalysis
(
LocalDate
startDate
,
Local
Date
endDate
,
Integer
source
)
{
Map
<
Long
,
String
>
id2UsernameMap
=
userService
.
list
().
stream
().
collect
(
Collectors
.
toMap
(
User:
:
getId
,
User:
:
getUsername
));
Map
<
Long
,
String
>
id2UsernameMap
=
userService
.
list
().
stream
().
collect
(
Collectors
.
toMap
(
User:
:
getId
,
User:
:
getUsername
));
Map
<
Long
,
String
>
id2StoreNameMap
=
storeService
.
list
().
stream
().
collect
(
Collectors
.
toMap
(
Store:
:
getId
,
Store:
:
getName
));
Map
<
Long
,
String
>
id2StoreNameMap
=
storeService
.
list
().
stream
().
collect
(
Collectors
.
toMap
(
Store:
:
getId
,
Store:
:
getName
));
...
@@ -564,7 +567,8 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
...
@@ -564,7 +567,8 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
#### 发送时间:{}
#### 发送时间:{}
"""
;
"""
;
String
markdown
=
StrUtil
.
format
(
template
,
String
markdown
=
StrUtil
.
format
(
template
,
storeName
,
task
.
getUuid
(),
task
.
getRepairPeople
(),
task
.
getRepairPhone
(),
orderStatusMap
.
get
(
task
.
getStatus
()),
task
.
getFaultDescription
(),
DateUtil
.
now
());
storeName
,
task
.
getUuid
(),
task
.
getRepairPeople
(),
task
.
getRepairPhone
(),
orderStatusMap
.
get
(
task
.
getStatus
()),
task
.
getFaultDescription
(),
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
()));
content
.
put
(
"markdown"
,
markdown
).
put
(
"btn_orientation"
,
"1"
);
content
.
put
(
"markdown"
,
markdown
).
put
(
"btn_orientation"
,
"1"
);
var
jsonArray
=
JsonUtil
.
createArr
()
var
jsonArray
=
JsonUtil
.
createArr
()
...
@@ -593,7 +597,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
...
@@ -593,7 +597,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
#### 发送时间:{}
#### 发送时间:{}
"""
;
"""
;
String
markdown
=
StrUtil
.
format
(
template
,
String
markdown
=
StrUtil
.
format
(
template
,
storeName
,
task
.
getRepairPeople
(),
task
.
getRepairPhone
(),
task
.
getFaultDescription
(),
DateUtil
.
now
(
));
storeName
,
task
.
getRepairPeople
(),
task
.
getRepairPhone
(),
task
.
getFaultDescription
(),
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
()
));
content
.
put
(
"markdown"
,
markdown
).
put
(
"btn_orientation"
,
"1"
);
content
.
put
(
"markdown"
,
markdown
).
put
(
"btn_orientation"
,
"1"
);
var
jsonArray
=
JsonUtil
.
createArr
()
var
jsonArray
=
JsonUtil
.
createArr
()
...
@@ -624,7 +628,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
...
@@ -624,7 +628,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
#### 发送时间:{}
#### 发送时间:{}
"""
;
"""
;
String
markdown
=
StrUtil
.
format
(
template
,
String
markdown
=
StrUtil
.
format
(
template
,
storeName
,
task
.
getUuid
(),
task
.
getRepairPeople
(),
task
.
getRepairPhone
(),
orderStatusMap
.
get
(
task
.
getStatus
()),
task
.
getFaultDescription
(),
DateUtil
.
now
(
));
storeName
,
task
.
getUuid
(),
task
.
getRepairPeople
(),
task
.
getRepairPhone
(),
orderStatusMap
.
get
(
task
.
getStatus
()),
task
.
getFaultDescription
(),
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
()
));
content
.
put
(
"markdown"
,
markdown
).
put
(
"btn_orientation"
,
"1"
);
content
.
put
(
"markdown"
,
markdown
).
put
(
"btn_orientation"
,
"1"
);
var
jsonArray
=
JsonUtil
.
createArr
()
var
jsonArray
=
JsonUtil
.
createArr
()
...
@@ -657,7 +661,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
...
@@ -657,7 +661,7 @@ public class TaskServiceImpl extends MPJBaseServiceImpl<TaskMapper, Task> implem
#### 发送时间:{}
#### 发送时间:{}
"""
;
"""
;
String
markdown
=
StrUtil
.
format
(
template
,
String
markdown
=
StrUtil
.
format
(
template
,
storeName
,
task
.
getUuid
(),
task
.
getRepairPeople
(),
task
.
getRepairPhone
(),
orderStatusMap
.
get
(
task
.
getStatus
()),
remark
,
DateUtil
.
now
(
));
storeName
,
task
.
getUuid
(),
task
.
getRepairPeople
(),
task
.
getRepairPhone
(),
orderStatusMap
.
get
(
task
.
getStatus
()),
remark
,
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
()
));
content
.
put
(
"markdown"
,
markdown
).
put
(
"btn_orientation"
,
"1"
);
content
.
put
(
"markdown"
,
markdown
).
put
(
"btn_orientation"
,
"1"
);
var
jsonArray
=
JsonUtil
.
createArr
()
var
jsonArray
=
JsonUtil
.
createArr
()
...
...
src/main/java/vion/service/impl/TaskTempServiceImpl.java
View file @
60d82ba
...
@@ -12,7 +12,7 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -12,7 +12,7 @@ import lombok.extern.slf4j.Slf4j;
import
org.dromara.hutool.core.array.ArrayUtil
;
import
org.dromara.hutool.core.array.ArrayUtil
;
import
org.dromara.hutool.core.bean.BeanUtil
;
import
org.dromara.hutool.core.bean.BeanUtil
;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.date.
Dat
eUtil
;
import
org.dromara.hutool.core.date.
Tim
eUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileNameUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.io.file.FileUtil
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.lang.Opt
;
...
@@ -35,8 +35,8 @@ import vion.vo.TaskTempVO;
...
@@ -35,8 +35,8 @@ import vion.vo.TaskTempVO;
import
java.io.File
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.time.LocalDateTime
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -94,7 +94,7 @@ public class TaskTempServiceImpl extends MPJBaseServiceImpl<TaskTempMapper, Task
...
@@ -94,7 +94,7 @@ public class TaskTempServiceImpl extends MPJBaseServiceImpl<TaskTempMapper, Task
String
orgName
=
infile
.
getOriginalFilename
();
String
orgName
=
infile
.
getOriginalFilename
();
String
mainName
=
FileNameUtil
.
mainName
(
orgName
);
String
mainName
=
FileNameUtil
.
mainName
(
orgName
);
String
fileExt
=
FileNameUtil
.
extName
(
orgName
);
String
fileExt
=
FileNameUtil
.
extName
(
orgName
);
String
filename
=
StrUtil
.
format
(
"{}_{}.{}"
,
mainName
,
DateUtil
.
format
(
new
Date
(),
"yyyyMMdd_HHmmssSSS"
),
fileExt
);
String
filename
=
StrUtil
.
format
(
"{}_{}.{}"
,
mainName
,
TimeUtil
.
format
(
LocalDateTime
.
now
(),
"yyyyMMdd_HHmmssSSS"
),
fileExt
);
String
path
=
fileUrl
+
FileUtil
.
FILE_SEPARATOR
+
0
+
FileUtil
.
FILE_SEPARATOR
+
taskTemp
.
getId
()
+
FileUtil
.
FILE_SEPARATOR
+
filename
;
String
path
=
fileUrl
+
FileUtil
.
FILE_SEPARATOR
+
0
+
FileUtil
.
FILE_SEPARATOR
+
taskTemp
.
getId
()
+
FileUtil
.
FILE_SEPARATOR
+
filename
;
File
file
=
FileUtil
.
touch
(
path
);
File
file
=
FileUtil
.
touch
(
path
);
try
{
try
{
...
@@ -164,7 +164,7 @@ public class TaskTempServiceImpl extends MPJBaseServiceImpl<TaskTempMapper, Task
...
@@ -164,7 +164,7 @@ public class TaskTempServiceImpl extends MPJBaseServiceImpl<TaskTempMapper, Task
#### 发送时间:{}
#### 发送时间:{}
"""
;
"""
;
String
markdown
=
StrUtil
.
format
(
template
,
String
markdown
=
StrUtil
.
format
(
template
,
taskTemp
.
getStoreName
(),
taskTemp
.
getRepairPeople
(),
taskTemp
.
getRepairPhone
(),
taskTemp
.
getFaultDescription
(),
DateUtil
.
now
(
));
taskTemp
.
getStoreName
(),
taskTemp
.
getRepairPeople
(),
taskTemp
.
getRepairPhone
(),
taskTemp
.
getFaultDescription
(),
TimeUtil
.
formatNormal
(
LocalDateTime
.
now
()
));
var
content
=
JsonUtil
.
createObj
()
var
content
=
JsonUtil
.
createObj
()
.
put
(
"title"
,
"客户提交工单,请及时处理哦~_~"
)
.
put
(
"title"
,
"客户提交工单,请及时处理哦~_~"
)
.
put
(
"markdown"
,
markdown
).
put
(
"btn_orientation"
,
"1"
);
.
put
(
"markdown"
,
markdown
).
put
(
"btn_orientation"
,
"1"
);
...
...
src/main/java/vion/service/impl/UserServiceImpl.java
View file @
60d82ba
...
@@ -28,6 +28,7 @@ import vion.service.IUserService;
...
@@ -28,6 +28,7 @@ import vion.service.IUserService;
import
vion.vo.RoleVO
;
import
vion.vo.RoleVO
;
import
vion.vo.UserVO
;
import
vion.vo.UserVO
;
import
java.time.LocalDate
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -103,7 +104,7 @@ public class UserServiceImpl extends MPJBaseServiceImpl<UserMapper, User> implem
...
@@ -103,7 +104,7 @@ public class UserServiceImpl extends MPJBaseServiceImpl<UserMapper, User> implem
@Override
@Override
public
void
syncUser
()
{
public
void
syncUser
()
{
Opt
.
ofEmptyAble
(
this
.
list
())
Opt
.
ofEmptyAble
(
this
.
l
ambdaQuery
().
ge
(
User:
:
getModifyTime
,
LocalDate
.
now
()).
l
ist
())
.
ifPresent
(
l
->
l
.
forEach
(
user
->
{
.
ifPresent
(
l
->
l
.
forEach
(
user
->
{
redissonClient
.
getBucket
(
RedisKeyEnum
.
DING_PREFIX
.
getVal
()
+
RedisKeyEnum
.
USER_ID
.
getVal
()
+
user
.
getId
()).
set
(
user
);
redissonClient
.
getBucket
(
RedisKeyEnum
.
DING_PREFIX
.
getVal
()
+
RedisKeyEnum
.
USER_ID
.
getVal
()
+
user
.
getId
()).
set
(
user
);
redissonClient
.
getBucket
(
RedisKeyEnum
.
DING_PREFIX
.
getVal
()
+
RedisKeyEnum
.
USER_NAME
.
getVal
()
+
user
.
getUsername
()).
set
(
user
);
redissonClient
.
getBucket
(
RedisKeyEnum
.
DING_PREFIX
.
getVal
()
+
RedisKeyEnum
.
USER_NAME
.
getVal
()
+
user
.
getUsername
()).
set
(
user
);
...
...
src/main/java/vion/third/DingMod.java
View file @
60d82ba
...
@@ -109,8 +109,8 @@ public class DingMod {
...
@@ -109,8 +109,8 @@ public class DingMod {
jsonNode
.
path
(
"result"
).
withArray
(
"data_list"
)
jsonNode
.
path
(
"result"
).
withArray
(
"data_list"
)
.
forEach
(
v
->
userIdList
.
add
(
v
.
asText
()));
.
forEach
(
v
->
userIdList
.
add
(
v
.
asText
()));
Long
nextCursor
=
jsonNode
.
path
(
"result"
).
path
(
"next_cursor"
).
asLong
(
);
long
nextCursor
=
jsonNode
.
path
(
"result"
).
path
(
"next_cursor"
).
asLong
(-
1L
);
if
(
ObjUtil
.
isNotNull
(
nextCursor
)
)
{
if
(
nextCursor
>
0
)
{
offset
=
nextCursor
;
offset
=
nextCursor
;
}
else
{
}
else
{
flag
=
false
;
flag
=
false
;
...
...
src/main/java/vion/third/WechatMod.java
View file @
60d82ba
src/main/java/vion/utils/JsonUtil.java
View file @
60d82ba
src/main/java/vion/utils/excel/AttachmentExportUtil.java
View file @
60d82ba
...
@@ -45,7 +45,7 @@ public class AttachmentExportUtil {
...
@@ -45,7 +45,7 @@ public class AttachmentExportUtil {
private
static
void
clear
(
Workbook
workbook
)
{
private
static
void
clear
(
Workbook
workbook
)
{
if
(
workbook
instanceof
SXSSFWorkbook
)
{
if
(
workbook
instanceof
SXSSFWorkbook
)
{
((
SXSSFWorkbook
)
workbook
).
dispose
();
((
SXSSFWorkbook
)
workbook
).
dispose
();
}
}
try
{
try
{
...
...
src/main/java/vion/vo/ConstructionTeamVO.java
View file @
60d82ba
...
@@ -4,7 +4,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
...
@@ -4,7 +4,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.util.Date
;
import
java.time.LocalDateTime
;
@Getter
@Getter
@Setter
@Setter
public
class
ConstructionTeamVO
{
public
class
ConstructionTeamVO
{
...
@@ -21,8 +22,8 @@ public class ConstructionTeamVO {
...
@@ -21,8 +22,8 @@ public class ConstructionTeamVO {
private
String
city
;
private
String
city
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/vo/ContractPaymentVO.java
View file @
60d82ba
...
@@ -5,7 +5,8 @@ import lombok.Getter;
...
@@ -5,7 +5,8 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
/**
/**
* 合同收款方式
* 合同收款方式
...
@@ -34,13 +35,13 @@ public class ContractPaymentVO {
...
@@ -34,13 +35,13 @@ public class ContractPaymentVO {
* 收款日期
* 收款日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
paymentDate
;
private
Local
Date
paymentDate
;
/**
/**
* 节点日期,指合同到这一阶段时的时间
* 节点日期,指合同到这一阶段时的时间
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
nodeDate
;
private
Local
Date
nodeDate
;
/**
/**
* 创建者
* 创建者
...
@@ -56,11 +57,11 @@ public class ContractPaymentVO {
...
@@ -56,11 +57,11 @@ public class ContractPaymentVO {
* 创建时间
* 创建时间
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/**
/**
* 修改时间
* 修改时间
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
modifyTime
;
private
LocalDateTim
e
modifyTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/vo/ContractVO.java
View file @
60d82ba
...
@@ -10,7 +10,8 @@ import vion.model.ContractPayment;
...
@@ -10,7 +10,8 @@ import vion.model.ContractPayment;
import
vion.model.RContractProduct
;
import
vion.model.RContractProduct
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
@Getter
@Getter
...
@@ -42,21 +43,21 @@ public class ContractVO {
...
@@ -42,21 +43,21 @@ public class ContractVO {
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@ExcelColumn
(
order
=
4
,
title
=
"签订日期"
,
format
=
"yyyy-MM-dd"
)
@ExcelColumn
(
order
=
4
,
title
=
"签订日期"
,
format
=
"yyyy-MM-dd"
)
private
Date
signDate
;
private
Local
Date
signDate
;
/**
/**
* 合同维保开始日期
* 合同维保开始日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@ExcelColumn
(
order
=
5
,
title
=
"维保开始日期"
,
format
=
"yyyy-MM-dd"
)
@ExcelColumn
(
order
=
5
,
title
=
"维保开始日期"
,
format
=
"yyyy-MM-dd"
)
private
Date
maintainSdate
;
private
Local
Date
maintainSdate
;
/**
/**
* 合同维保结束日期
* 合同维保结束日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@ExcelColumn
(
order
=
6
,
title
=
"维保结束日期"
,
format
=
"yyyy-MM-dd"
)
@ExcelColumn
(
order
=
6
,
title
=
"维保结束日期"
,
format
=
"yyyy-MM-dd"
)
private
Date
maintainEdate
;
private
Local
Date
maintainEdate
;
/**
/**
* 合同进度:1-签订 2-到货 3-系统验收(初验) 4-项目验收(终验) 5-质保 6-第一笔维保款 7-第二笔维保款 8-第三笔维保款 9-维保进度款 10-维保验收款
* 合同进度:1-签订 2-到货 3-系统验收(初验) 4-项目验收(终验) 5-质保 6-第一笔维保款 7-第二笔维保款 8-第三笔维保款 9-维保进度款 10-维保验收款
...
@@ -131,13 +132,13 @@ public class ContractVO {
...
@@ -131,13 +132,13 @@ public class ContractVO {
* 创建时间
* 创建时间
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/**
/**
* 修改时间
* 修改时间
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
modifyTime
;
private
LocalDateTim
e
modifyTime
;
/**
/**
* 合同质保周期(月)
* 合同质保周期(月)
...
@@ -148,7 +149,7 @@ public class ContractVO {
...
@@ -148,7 +149,7 @@ public class ContractVO {
* 终验日期
* 终验日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
finalDate
;
private
Local
Date
finalDate
;
/**
/**
* 财务状态
* 财务状态
...
@@ -170,7 +171,7 @@ public class ContractVO {
...
@@ -170,7 +171,7 @@ public class ContractVO {
* 录入时间
* 录入时间
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
entryTime
;
private
LocalDateTim
e
entryTime
;
/**
/**
* 合同关联的项目名
* 合同关联的项目名
...
...
src/main/java/vion/vo/DeliverLogVO.java
View file @
60d82ba
...
@@ -5,7 +5,8 @@ import lombok.Getter;
...
@@ -5,7 +5,8 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
vion.model.RContractUser
;
import
vion.model.RContractUser
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
@Getter
@Getter
...
@@ -41,7 +42,7 @@ public class DeliverLogVO {
...
@@ -41,7 +42,7 @@ public class DeliverLogVO {
* 日志日期
* 日志日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
logDate
;
private
Local
Date
logDate
;
/**
/**
* 干系人
* 干系人
...
@@ -68,11 +69,11 @@ public class DeliverLogVO {
...
@@ -68,11 +69,11 @@ public class DeliverLogVO {
* 创建时间
* 创建时间
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/**
/**
* 修改时间
* 修改时间
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/vo/DeliveryRecordVO.java
View file @
60d82ba
...
@@ -5,7 +5,8 @@ import lombok.Getter;
...
@@ -5,7 +5,8 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
vion.model.FileInfo
;
import
vion.model.FileInfo
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
@Getter
@Getter
...
@@ -48,13 +49,13 @@ public class DeliveryRecordVO {
...
@@ -48,13 +49,13 @@ public class DeliveryRecordVO {
* 发货日期
* 发货日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
shipDate
;
private
Local
Date
shipDate
;
/**
/**
* 到货签收日期
* 到货签收日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
signDate
;
private
Local
Date
signDate
;
/**
/**
* 快递公司
* 快递公司
...
@@ -80,13 +81,13 @@ public class DeliveryRecordVO {
...
@@ -80,13 +81,13 @@ public class DeliveryRecordVO {
* 创建时间
* 创建时间
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/**
/**
* 修改时间
* 修改时间
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
private
List
<
FileInfo
>
fileList
;
private
List
<
FileInfo
>
fileList
;
...
...
src/main/java/vion/vo/DeviceVO.java
View file @
60d82ba
...
@@ -5,7 +5,8 @@ import lombok.Getter;
...
@@ -5,7 +5,8 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
vion.model.DeviceLog
;
import
vion.model.DeviceLog
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
@Getter
@Getter
...
@@ -57,7 +58,7 @@ public class DeviceVO {
...
@@ -57,7 +58,7 @@ public class DeviceVO {
* 入库日期
* 入库日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
recDate
;
private
Local
Date
recDate
;
/**
/**
* 备注
* 备注
...
@@ -65,10 +66,10 @@ public class DeviceVO {
...
@@ -65,10 +66,10 @@ public class DeviceVO {
private
String
remark
;
private
String
remark
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
private
List
<
DeviceLog
>
logList
;
private
List
<
DeviceLog
>
logList
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/vo/FileInfoVO.java
View file @
60d82ba
...
@@ -5,38 +5,64 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
...
@@ -5,38 +5,64 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
@Getter
@Getter
@Setter
@Setter
public
class
FileInfoVO
{
public
class
FileInfoVO
{
private
Long
id
;
private
Long
id
;
/** 门店id */
/**
* 门店id
*/
private
Long
storeId
;
private
Long
storeId
;
/** 文件扩展名 */
/**
* 文件扩展名
*/
private
String
type
;
private
String
type
;
/** 文件来源 */
/**
* 文件来源
*/
private
Integer
sourceType
;
private
Integer
sourceType
;
/** 文件来源id */
/**
* 文件来源id
*/
private
Long
sourceId
;
private
Long
sourceId
;
/** 合同id */
/**
* 合同id
*/
private
Long
contractId
;
private
Long
contractId
;
/** 合同编号 */
/**
* 合同编号
*/
private
String
contractNo
;
private
String
contractNo
;
/** 合同名称 */
/**
* 合同名称
*/
private
String
contractName
;
private
String
contractName
;
/** 文件名称 */
/**
* 文件名称
*/
private
String
name
;
private
String
name
;
/** 文件地址 */
/**
* 文件地址
*/
@JsonIgnore
@JsonIgnore
private
String
url
;
private
String
url
;
/** 创建时间 */
/**
* 创建时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
createTime
;
private
LocalDateTime
createTime
;
/** 备注 */
/**
* 备注
*/
private
String
remark
;
private
String
remark
;
/** sha256 */
/**
* sha256
*/
private
String
sha256
;
private
String
sha256
;
/** 上传人 */
/**
* 上传人
*/
private
String
uploader
;
private
String
uploader
;
}
}
src/main/java/vion/vo/FinancialAgeVO.java
View file @
60d82ba
...
@@ -5,7 +5,7 @@ import lombok.Getter;
...
@@ -5,7 +5,7 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.
util.
Date
;
import
java.
time.Local
Date
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -16,13 +16,21 @@ import java.util.Date;
...
@@ -16,13 +16,21 @@ import java.util.Date;
public
class
FinancialAgeVO
{
public
class
FinancialAgeVO
{
private
String
contractNo
;
private
String
contractNo
;
private
String
contractName
;
private
String
contractName
;
/** 账款类型 */
/**
* 账款类型
*/
private
Integer
status
;
private
Integer
status
;
/** 账款金额 */
/**
* 账款金额
*/
private
BigDecimal
amount
;
private
BigDecimal
amount
;
/** 应付日期 */
/**
* 应付日期
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
payableDate
;
private
LocalDate
payableDate
;
/** 财龄 */
/**
* 财龄
*/
private
Integer
age
;
private
Integer
age
;
}
}
src/main/java/vion/vo/FormVO.java
View file @
60d82ba
...
@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
...
@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
@Getter
@Getter
@Setter
@Setter
...
@@ -44,7 +44,7 @@ public class FormVO {
...
@@ -44,7 +44,7 @@ public class FormVO {
* 签字时间
* 签字时间
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
signTime
;
private
LocalDateTim
e
signTime
;
/**
/**
* 唯一uuid
* 唯一uuid
...
@@ -66,8 +66,8 @@ public class FormVO {
...
@@ -66,8 +66,8 @@ public class FormVO {
private
Long
updateUser
;
private
Long
updateUser
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/vo/InspectVO.java
View file @
60d82ba
...
@@ -4,7 +4,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
...
@@ -4,7 +4,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
@Getter
@Getter
...
@@ -15,37 +16,59 @@ public class InspectVO {
...
@@ -15,37 +16,59 @@ public class InspectVO {
private
Long
storeId
;
private
Long
storeId
;
/** 巡检时间 */
/**
* 巡检时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
inspectDate
;
private
Local
Date
inspectDate
;
/** 巡检方式(0远程、1现场) */
/**
* 巡检方式(0远程、1现场)
*/
private
Integer
type
;
private
Integer
type
;
/** 状态(0进行中、1待审核、2已完成、3、驳回) */
/**
* 状态(0进行中、1待审核、2已完成、3、驳回)
*/
private
Integer
status
;
private
Integer
status
;
/** 巡检人 */
/**
* 巡检人
*/
private
Integer
inspectUser
;
private
Integer
inspectUser
;
/** 审核人 */
/**
* 审核人
*/
private
Integer
reviewer
;
private
Integer
reviewer
;
/** 巡检时间 */
/**
* 巡检时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
finishDate
;
private
Local
Date
finishDate
;
/** 审核时间 */
/**
* 审核时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
auditDate
;
private
Local
Date
auditDate
;
/** 创建时间 */
/**
* 创建时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/** 修改时间 */
/**
* 修改时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
modifyTime
;
private
LocalDateTime
modifyTime
;
/** 备注 */
/**
* 备注
*/
private
String
remark
;
private
String
remark
;
/** 集团id */
/**
* 集团id
*/
private
Long
accountId
;
private
Long
accountId
;
private
String
accountName
;
private
String
accountName
;
...
...
src/main/java/vion/vo/InvoiceVO.java
View file @
60d82ba
...
@@ -7,7 +7,8 @@ import lombok.Getter;
...
@@ -7,7 +7,8 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
@Getter
@Getter
...
@@ -27,7 +28,7 @@ public class InvoiceVO {
...
@@ -27,7 +28,7 @@ public class InvoiceVO {
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@ExcelColumn
(
order
=
1
,
title
=
"开票时间"
,
format
=
"yyyy-MM-dd"
)
@ExcelColumn
(
order
=
1
,
title
=
"开票时间"
,
format
=
"yyyy-MM-dd"
)
private
Date
invoicingTime
;
private
Local
Date
invoicingTime
;
/**
/**
* 发票金额
* 发票金额
...
@@ -55,8 +56,8 @@ public class InvoiceVO {
...
@@ -55,8 +56,8 @@ public class InvoiceVO {
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ExcelColumn
(
order
=
6
,
title
=
"录入时间"
)
@ExcelColumn
(
order
=
6
,
title
=
"录入时间"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/vo/PaymentVO.java
View file @
60d82ba
...
@@ -7,7 +7,8 @@ import lombok.Getter;
...
@@ -7,7 +7,8 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
@Getter
@Getter
@Setter
@Setter
...
@@ -32,7 +33,7 @@ public class PaymentVO {
...
@@ -32,7 +33,7 @@ public class PaymentVO {
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@ExcelColumn
(
order
=
2
,
title
=
"收款时间"
,
format
=
"yyyy-MM-dd"
)
@ExcelColumn
(
order
=
2
,
title
=
"收款时间"
,
format
=
"yyyy-MM-dd"
)
private
Date
collectionTime
;
private
Local
Date
collectionTime
;
/**
/**
* 收款金额
* 收款金额
...
@@ -47,8 +48,8 @@ public class PaymentVO {
...
@@ -47,8 +48,8 @@ public class PaymentVO {
private
String
remark
;
private
String
remark
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/vo/PointInfoVO.java
View file @
60d82ba
...
@@ -9,7 +9,7 @@ import lombok.Setter;
...
@@ -9,7 +9,7 @@ import lombok.Setter;
import
vion.model.FileInfo
;
import
vion.model.FileInfo
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -234,18 +234,22 @@ public class PointInfoVO {
...
@@ -234,18 +234,22 @@ public class PointInfoVO {
*/
*/
private
String
uuid
;
private
String
uuid
;
/** 绑定单子的微信昵称列表 */
/**
* 绑定单子的微信昵称列表
*/
private
List
<
String
>
wxNameList
;
private
List
<
String
>
wxNameList
;
/** 单子施工后的设备序列号列表 */
/**
* 单子施工后的设备序列号列表
*/
private
List
<
String
>
deviceNoList
;
private
List
<
String
>
deviceNoList
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
/**
/**
* 客户上传的图纸文件
* 客户上传的图纸文件
...
...
src/main/java/vion/vo/RContractTeamVO.java
View file @
60d82ba
...
@@ -5,7 +5,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
...
@@ -5,7 +5,8 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
@Getter
@Getter
@Setter
@Setter
...
@@ -16,16 +17,22 @@ public class RContractTeamVO {
...
@@ -16,16 +17,22 @@ public class RContractTeamVO {
* 合同id
* 合同id
*/
*/
private
Long
contractId
;
private
Long
contractId
;
/** 合同编号 */
/**
* 合同编号
*/
private
String
contractNo
;
private
String
contractNo
;
/** 合同名称 */
/**
* 合同名称
*/
private
String
contractName
;
private
String
contractName
;
/**
/**
* 施工队id
* 施工队id
*/
*/
private
Long
ctId
;
private
Long
ctId
;
/** 施工队名称 */
/**
* 施工队名称
*/
private
String
teamName
;
private
String
teamName
;
/**
/**
...
@@ -42,13 +49,13 @@ public class RContractTeamVO {
...
@@ -42,13 +49,13 @@ public class RContractTeamVO {
* 分配日期
* 分配日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
assignDate
;
private
Local
Date
assignDate
;
/**
/**
* 完成日期
* 完成日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
finishDate
;
private
Local
Date
finishDate
;
/**
/**
* 施工状态
* 施工状态
...
@@ -72,10 +79,10 @@ public class RContractTeamVO {
...
@@ -72,10 +79,10 @@ public class RContractTeamVO {
private
String
remark
;
private
String
remark
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
private
Integer
contractStatus
;
private
Integer
contractStatus
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/vo/RepairRecVO.java
View file @
60d82ba
...
@@ -5,7 +5,8 @@ import lombok.Getter;
...
@@ -5,7 +5,8 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
vion.model.RRepairDevice
;
import
vion.model.RRepairDevice
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -102,7 +103,7 @@ public class RepairRecVO {
...
@@ -102,7 +103,7 @@ public class RepairRecVO {
* 发货日期
* 发货日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
shipDate
;
private
Local
Date
shipDate
;
/**
/**
* 快递公司
* 快递公司
...
@@ -132,10 +133,10 @@ public class RepairRecVO {
...
@@ -132,10 +133,10 @@ public class RepairRecVO {
private
String
remark
;
private
String
remark
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
private
List
<
RRepairDevice
>
repairDeviceList
;
private
List
<
RRepairDevice
>
repairDeviceList
;
...
...
src/main/java/vion/vo/ResourceVO.java
View file @
60d82ba
...
@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
...
@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -55,12 +55,16 @@ public class ResourceVO {
...
@@ -55,12 +55,16 @@ public class ResourceVO {
*/
*/
private
String
remark
;
private
String
remark
;
/** 创建时间 */
/**
* 创建时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/** 更新时间 */
/**
* 更新时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/vo/RoleVO.java
View file @
60d82ba
...
@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
...
@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -19,9 +19,9 @@ public class RoleVO {
...
@@ -19,9 +19,9 @@ public class RoleVO {
private
Integer
status
;
private
Integer
status
;
private
String
remark
;
private
String
remark
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
private
Long
userId
;
private
Long
userId
;
}
}
src/main/java/vion/vo/ServiceOrderVO.java
View file @
60d82ba
...
@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
...
@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
/**
/**
* @author HlQ
* @author HlQ
...
@@ -15,68 +15,108 @@ import java.util.Date;
...
@@ -15,68 +15,108 @@ import java.util.Date;
public
class
ServiceOrderVO
{
public
class
ServiceOrderVO
{
private
String
projectName
;
private
String
projectName
;
/** 报修人 */
/**
* 报修人
*/
private
String
submitter
;
private
String
submitter
;
/** 报修人手机号码 */
/**
* 报修人手机号码
*/
private
String
submitPhone
;
private
String
submitPhone
;
/** 报修时间 */
/**
* 报修时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
submitTime
;
private
LocalDateTim
e
submitTime
;
/** 维修人 */
/**
* 维修人
*/
private
String
repairPeople
;
private
String
repairPeople
;
/** 维修人手机号码*/
/**
* 维修人手机号码
*/
private
String
repairPhone
;
private
String
repairPhone
;
/** 部门 */
/**
* 部门
*/
private
String
dept
;
private
String
dept
;
/** 服务方式(1.电话支持 2.远程服务 3.现场服务) */
/**
* 服务方式(1.电话支持 2.远程服务 3.现场服务)
*/
private
String
serviceType
;
private
String
serviceType
;
/** 耗时 */
/**
* 耗时
*/
private
Double
time
;
private
Double
time
;
/** 故障内容 */
/**
* 故障内容
*/
private
String
faultContent
;
private
String
faultContent
;
/** 维修结果 */
/**
* 维修结果
*/
private
String
repairRes
;
private
String
repairRes
;
/** 客户评价 */
/**
* 客户评价
*/
private
String
review
;
private
String
review
;
/** 工单id */
/**
* 工单id
*/
private
Long
taskId
;
private
Long
taskId
;
/** 服务单状态 */
/**
* 服务单状态
*/
private
Integer
state
;
private
Integer
state
;
/** 创建时间 */
/**
* 创建时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
/** 更新时间 */
/**
* 更新时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
/** 五星好评 */
/**
* 五星好评
*/
private
Integer
stars
;
private
Integer
stars
;
/** 签字图片base64 */
/**
* 签字图片base64
*/
private
String
signPic
;
private
String
signPic
;
/** 签字时间 */
/**
* 签字时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
signTime
;
private
LocalDateTim
e
signTime
;
/** 完成时间 */
/**
* 完成时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
finishTime
;
private
LocalDateTim
e
finishTime
;
/** 唯一id */
/**
* 唯一id
*/
private
String
unid
;
private
String
unid
;
}
}
src/main/java/vion/vo/SettlementDiffVO.java
View file @
60d82ba
...
@@ -5,7 +5,7 @@ import lombok.Getter;
...
@@ -5,7 +5,7 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
@Getter
@Getter
@Setter
@Setter
...
@@ -51,5 +51,5 @@ public class SettlementDiffVO {
...
@@ -51,5 +51,5 @@ public class SettlementDiffVO {
* 创建时间
* 创建时间
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
}
}
\ No newline at end of file
\ No newline at end of file
src/main/java/vion/vo/SparePartVO.java
View file @
60d82ba
...
@@ -8,7 +8,8 @@ import lombok.Getter;
...
@@ -8,7 +8,8 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
vion.model.RRepairDevice
;
import
vion.model.RRepairDevice
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -95,7 +96,7 @@ public class SparePartVO {
...
@@ -95,7 +96,7 @@ public class SparePartVO {
* 发货日期
* 发货日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
shipDate
;
private
Local
Date
shipDate
;
/**
/**
* 快递公司
* 快递公司
...
@@ -127,14 +128,16 @@ public class SparePartVO {
...
@@ -127,14 +128,16 @@ public class SparePartVO {
*/
*/
private
String
uuid
;
private
String
uuid
;
/** 微信用户id */
/**
* 微信用户id
*/
private
String
openid
;
private
String
openid
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
updateTime
;
private
LocalDateTim
e
updateTime
;
private
List
<
RRepairDevice
>
repairDeviceList
;
private
List
<
RRepairDevice
>
repairDeviceList
;
...
...
src/main/java/vion/vo/StoreVO.java
View file @
60d82ba
...
@@ -5,7 +5,8 @@ import lombok.Getter;
...
@@ -5,7 +5,8 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
vion.model.StoreLog
;
import
vion.model.StoreLog
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
@Getter
@Getter
...
@@ -45,15 +46,15 @@ public class StoreVO {
...
@@ -45,15 +46,15 @@ public class StoreVO {
*/
*/
private
Integer
modifyUser
;
private
Integer
modifyUser
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
modifyTime
;
private
LocalDateTim
e
modifyTime
;
/**
/**
* 立项日期
* 立项日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
estDate
;
private
Local
Date
estDate
;
/**
/**
* 备注
* 备注
*/
*/
...
@@ -89,7 +90,7 @@ public class StoreVO {
...
@@ -89,7 +90,7 @@ public class StoreVO {
* 实际完成日期
* 实际完成日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
finishDate
;
private
Local
Date
finishDate
;
/**
/**
* 完成百分比
* 完成百分比
*/
*/
...
@@ -112,7 +113,7 @@ public class StoreVO {
...
@@ -112,7 +113,7 @@ public class StoreVO {
* 计划完成日期
* 计划完成日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
planFinishDate
;
private
Local
Date
planFinishDate
;
/**
/**
* 项目规模
* 项目规模
...
...
src/main/java/vion/vo/TaskTempVO.java
View file @
60d82ba
...
@@ -6,7 +6,7 @@ import lombok.Setter;
...
@@ -6,7 +6,7 @@ import lombok.Setter;
import
vion.model.FileInfo
;
import
vion.model.FileInfo
;
import
vion.model.Task
;
import
vion.model.Task
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
import
java.util.List
;
import
java.util.List
;
@Getter
@Getter
...
@@ -32,7 +32,7 @@ public class TaskTempVO {
...
@@ -32,7 +32,7 @@ public class TaskTempVO {
* 报修时间
* 报修时间
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
repairTime
;
private
LocalDateTim
e
repairTime
;
/**
/**
* 故障说明
* 故障说明
*/
*/
...
@@ -50,9 +50,9 @@ public class TaskTempVO {
...
@@ -50,9 +50,9 @@ public class TaskTempVO {
*/
*/
private
Integer
status
;
private
Integer
status
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
modifyTime
;
private
LocalDateTim
e
modifyTime
;
private
String
remark
;
private
String
remark
;
/**
/**
* 工程师姓名
* 工程师姓名
...
...
src/main/java/vion/vo/TaskVO.java
View file @
60d82ba
...
@@ -11,7 +11,8 @@ import vion.model.FaultLog;
...
@@ -11,7 +11,8 @@ import vion.model.FaultLog;
import
vion.model.FileInfo
;
import
vion.model.FileInfo
;
import
vion.model.ServiceOrder
;
import
vion.model.ServiceOrder
;
import
java.util.Date
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
@Getter
@Getter
...
@@ -41,7 +42,7 @@ public class TaskVO {
...
@@ -41,7 +42,7 @@ public class TaskVO {
*/
*/
@ExcelColumn
(
order
=
5
,
title
=
"提交时间"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@ExcelColumn
(
order
=
5
,
title
=
"提交时间"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
repairTime
;
private
LocalDateTim
e
repairTime
;
/**
/**
* 故障类型
* 故障类型
*/
*/
...
@@ -71,7 +72,7 @@ public class TaskVO {
...
@@ -71,7 +72,7 @@ public class TaskVO {
* 解决日期
* 解决日期
*/
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
solveDate
;
private
Local
Date
solveDate
;
/**
/**
* 故障原因
* 故障原因
*/
*/
...
@@ -98,11 +99,11 @@ public class TaskVO {
...
@@ -98,11 +99,11 @@ public class TaskVO {
*/
*/
@ExcelColumn
(
order
=
8
,
title
=
"截止日期"
,
format
=
"yyyy-MM-dd"
)
@ExcelColumn
(
order
=
8
,
title
=
"截止日期"
,
format
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
expDate
;
private
Local
Date
expDate
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
modifyTime
;
private
LocalDateTim
e
modifyTime
;
/**
/**
* 备注
* 备注
*/
*/
...
...
src/main/java/vion/vo/UserVO.java
View file @
60d82ba
...
@@ -5,7 +5,7 @@ import lombok.Getter;
...
@@ -5,7 +5,7 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
vion.model.Resource
;
import
vion.model.Resource
;
import
java.
util.Dat
e
;
import
java.
time.LocalDateTim
e
;
import
java.util.List
;
import
java.util.List
;
@Getter
@Getter
...
@@ -17,15 +17,19 @@ public class UserVO {
...
@@ -17,15 +17,19 @@ public class UserVO {
private
String
phone
;
private
String
phone
;
private
Long
deptId
;
private
Long
deptId
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
createTime
;
private
LocalDateTim
e
createTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Dat
e
modifyTime
;
private
LocalDateTim
e
modifyTime
;
private
String
remark
;
private
String
remark
;
/** 是否是预工单处理人 0:不是 1:是 */
/**
* 是否是预工单处理人 0:不是 1:是
*/
private
Integer
preWorkOrder
;
private
Integer
preWorkOrder
;
/** 员工状态 2:试用期 3:正式 5:待离职 -1:无状态 */
/**
* 员工状态 2:试用期 3:正式 5:待离职 -1:无状态
*/
private
Integer
employeeStatus
;
private
Integer
employeeStatus
;
/* 状态 0:正常 1:禁用 */
/* 状态 0:正常 1:禁用 */
...
@@ -33,7 +37,9 @@ public class UserVO {
...
@@ -33,7 +37,9 @@ public class UserVO {
private
String
token
;
private
String
token
;
/** 权限码列表 */
/**
* 权限码列表
*/
private
List
<
Resource
>
resourceList
;
private
List
<
Resource
>
resourceList
;
private
List
<
RoleVO
>
roleVOList
;
private
List
<
RoleVO
>
roleVOList
;
...
...
src/main/resources/static/weChatBindSuccess.html
View file @
60d82ba
<!DOCTYPE html>
<!DOCTYPE html>
<html>
<html>
<head>
<head>
<meta
http-equiv=
"Content-Type"
content=
"text/xml; charset=utf-8"
/>
<meta
http-equiv=
"Content-Type"
content=
"text/xml; charset=utf-8"
/>
</head>
</head>
<title>
绑定成功
</title>
<title>
绑定成功
</title>
<style>
<style>
.center
{
.center
{
line-height
:
200px
;
line-height
:
200px
;
height
:
100%
;
height
:
100%
;
text-align
:
center
;
text-align
:
center
;
}
}
.center
p
{
.center
p
{
line-height
:
1.5
;
line-height
:
1.5
;
display
:
inline-block
;
display
:
inline-block
;
vertical-align
:
middle
;
vertical-align
:
middle
;
font-size
:
6rem
;
font-size
:
6rem
;
}
}
</style>
</style>
<body>
<body>
<div
class=
"center"
>
<div
class=
"center"
>
<p>
绑定成功
</p>
<p>
绑定成功
</p>
</div>
</div>
</body>
</body>
</html>
</html>
\ No newline at end of file
\ No newline at end of file
src/main/resources/static/weChatError.html
View file @
60d82ba
<!DOCTYPE html>
<!DOCTYPE html>
<html>
<html>
<head>
<head>
<meta
http-equiv=
"Content-Type"
content=
"text/xml; charset=utf-8"
/>
<meta
http-equiv=
"Content-Type"
content=
"text/xml; charset=utf-8"
/>
</head>
</head>
<title>
绑定失败
</title>
<title>
绑定失败
</title>
<style>
<style>
.center
{
.center
{
line-height
:
200px
;
line-height
:
200px
;
height
:
100%
;
height
:
100%
;
text-align
:
center
;
text-align
:
center
;
}
}
.center
p
{
.center
p
{
line-height
:
1.5
;
line-height
:
1.5
;
display
:
inline-block
;
display
:
inline-block
;
vertical-align
:
middle
;
vertical-align
:
middle
;
font-size
:
6rem
;
font-size
:
6rem
;
}
}
</style>
</style>
<body>
<body>
<div
class=
"center"
>
<div
class=
"center"
>
<p>
绑定失败
</p>
<p>
绑定失败
</p>
</div>
</div>
</body>
</body>
</html>
</html>
\ No newline at end of file
\ No newline at end of file
src/main/resources/static/weChatNeedAttention.html
View file @
60d82ba
<!DOCTYPE html>
<!DOCTYPE html>
<html>
<html>
<head>
<head>
<meta
http-equiv=
"Content-Type"
content=
"text/xml; charset=utf-8"
/>
<meta
http-equiv=
"Content-Type"
content=
"text/xml; charset=utf-8"
/>
</head>
</head>
<title>
绑定成功
</title>
<title>
绑定成功
</title>
<style>
<style>
.center
{
.center
{
/*line-height: 200px;*/
/*line-height: 200px;*/
height
:
auto
;
height
:
auto
;
text-align
:
center
;
text-align
:
center
;
}
}
.center
p
{
.center
p
{
line-height
:
1.5
;
line-height
:
1.5
;
display
:
inline-block
;
display
:
inline-block
;
vertical-align
:
middle
;
vertical-align
:
middle
;
font-size
:
3rem
;
font-size
:
3rem
;
}
}
.center
img
{
.center
img
{
width
:
30rem
;
width
:
30rem
;
height
:
100%
;
height
:
100%
;
}
}
</style>
</style>
<body
>
<body
>
<div
class=
"center"
>
<div
class=
"center"
>
<p>
关注工单失败!
<br>
请先关注【VION智慧门店】公众号,
<br>
再扫工单二维码以接收工单信息提醒。
</p>
<p>
关注工单失败!
<br>
请先关注【VION智慧门店】公众号,
<br>
再扫工单二维码以接收工单信息提醒。
</p>
</div>
</div>
<div
class=
"center"
>
<div
class=
"center"
>
<img
src=
"data:image/jpeg;base64,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"
alt=
"VION智慧门店"
/>
<img
src=
"data:image/jpeg;base64,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"
</div>
alt=
"VION智慧门店"
/>
<div
class=
"center"
>
</div>
<div
class=
"center"
>
<p>
长按或扫码关注
</p>
<p>
长按或扫码关注
</p>
</div>
</div>
</body>
</body>
</html>
</html>
\ No newline at end of file
\ No newline at end of file
src/main/resources/static/weChatSuccess.html
View file @
60d82ba
<!DOCTYPE html>
<!DOCTYPE html>
<html>
<html>
<head>
<head>
<meta
http-equiv=
"Content-Type"
content=
"text/xml; charset=utf-8"
/>
<meta
http-equiv=
"Content-Type"
content=
"text/xml; charset=utf-8"
/>
</head>
</head>
<title>
扫码成功
</title>
<title>
扫码成功
</title>
<style>
<style>
.center
{
.center
{
line-height
:
200px
;
line-height
:
200px
;
height
:
100%
;
height
:
100%
;
text-align
:
center
;
text-align
:
center
;
}
}
.center
p
{
.center
p
{
line-height
:
1.5
;
line-height
:
1.5
;
display
:
inline-block
;
display
:
inline-block
;
vertical-align
:
middle
;
vertical-align
:
middle
;
font-size
:
6rem
;
font-size
:
6rem
;
}
}
</style>
</style>
<body>
<body>
<div
class=
"center"
>
<div
class=
"center"
>
<p>
扫码成功
</p>
<p>
扫码成功
</p>
</div>
</div>
</body>
</body>
</html>
</html>
\ No newline at end of file
\ No newline at end of file
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