From 76067d492d70e2103263914febf7f7e8a74fc79c Mon Sep 17 00:00:00 2001
From: fanzongzhe <285169773@qq.com>
Date: Mon, 28 Oct 2024 13:50:55 +0800
Subject: [PATCH 1/8] =?UTF-8?q?=E5=94=AE=E5=90=8E=E5=AE=A2=E6=88=B7?=
=?UTF-8?q?=E7=AE=A1=E7=90=86=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../MonthEndService.java | 13 +-
.../CarListVo.java | 31 +
.../CrmMaintenanceenterpriseRecord.java | 93 ++
...mMaintenanceenterpriseRecordDetailsVo.java | 208 ++++
.../CrmMaintenanceenterpriseRecordDto.java | 200 ++++
...ntenanceenterpriseRecordFeignFallback.java | 123 ++
.../CrmMaintenanceenterpriseRecordQuery.java | 69 ++
.../CrmMaintenanceenterpriseRecordVo.java | 110 ++
.../FileQueryUrl.java | 15 +
.../PersonListVo.java | 32 +
...xtCrmMaintenanceenterpriseRecordFeign.java | 128 +++
.../flowable/EnterpriseCompleteDto.java | 37 +
.../flowable/EnterpriseDelegateQuery.java | 26 +
.../flowable/EnterpriseNodeQuery.java | 25 +
.../flowable/EnterpriseNodeVo.java | 26 +
.../flowable/EnterpriseTaskQuery.java | 48 +
.../flowable/SubmitEnterpriseDto.java | 24 +
.../AsBusrepairBillDetailsVo.java | 2 +
.../asbusrepairbill/AsBusrepairBillDto.java | 2 +
.../AsBusrepairBillVech.java | 2 +
.../ascustomervehicle/AsCustomerCrmVehVo.java | 3 +-
.../ascustomervehicle/AsCustomerVehicle.java | 4 +
.../AsBusrepairBillService.java | 6 +
.../AsCustomerVehicleMapper.xml | 11 +-
.../AsCustomerVehicleService.java | 7 +-
.../com/yxt/crm/apiadmin/CrmCustomerRest.java | 93 +-
.../crm/apiadmin/CrmDockingPeopleRest.java | 116 ++
.../com/yxt/crm/apiadmin/CrmFileRest.java | 112 ++
.../CrmMaintenanceenterprisePersonRest.java | 104 ++
.../CrmMaintenanceenterpriseRecordRest.java | 172 +++
.../CrmMaintenanceenterpriseVehRest.java | 93 ++
.../biz/crmcustomer/AsCustomerListQuery.java | 35 +
.../crm/biz/crmcustomer/AsCustomerListVo.java | 40 +
.../yxt/crm/biz/crmcustomer/CrmCustomer.java | 160 ++-
.../crm/biz/crmcustomer/CrmCustomerDto.java | 145 ++-
.../biz/crmcustomer/CrmCustomerMapper.java | 12 +-
.../crm/biz/crmcustomer/CrmCustomerMapper.xml | 28 +-
.../biz/crmcustomer/CrmCustomerService.java | 378 +++++-
.../biz/crmcustomer/CrmCustomerUpdateDto.java | 117 ++
.../crm/biz/crmcustomer/CrmCustomerVo.java | 187 ++-
.../biz/crmcustomer/CustomerInitQuery.java | 34 +
.../crmdockingpeople/CrmDockingPeople.java | 60 +
.../CrmDockingPeopleDetailsVo.java | 60 +
.../crmdockingpeople/CrmDockingPeopleDto.java | 60 +
.../CrmDockingPeopleMapper.java | 69 ++
.../CrmDockingPeopleMapper.xml | 16 +
.../CrmDockingPeopleQuery.java | 58 +
.../CrmDockingPeopleService.java | 132 +++
.../crmdockingpeople/CrmDockingPeopleVo.java | 60 +
.../crm/biz/crmdockingpeople/PeopleList.java | 20 +
.../java/com/yxt/crm/biz/crmfile/CrmFile.java | 158 +++
.../biz/crmfile/CrmFileAttachTypeEnum.java | 37 +
.../yxt/crm/biz/crmfile/CrmFileDetailsVo.java | 63 +
.../com/yxt/crm/biz/crmfile/CrmFileDto.java | 65 ++
.../yxt/crm/biz/crmfile/CrmFileListDto.java | 39 +
.../yxt/crm/biz/crmfile/CrmFileMapper.java | 78 ++
.../com/yxt/crm/biz/crmfile/CrmFileMapper.xml | 57 +
.../com/yxt/crm/biz/crmfile/CrmFileQuery.java | 57 +
.../yxt/crm/biz/crmfile/CrmFileService.java | 240 ++++
.../com/yxt/crm/biz/crmfile/CrmFileVo.java | 60 +
.../CrmMaintenanceenterprisePerson.java | 64 ++
...mMaintenanceenterprisePersonDetailsVo.java | 64 ++
.../CrmMaintenanceenterprisePersonDto.java | 64 ++
.../CrmMaintenanceenterprisePersonMapper.java | 72 ++
.../CrmMaintenanceenterprisePersonMapper.xml | 13 +
.../CrmMaintenanceenterprisePersonQuery.java | 62 +
...CrmMaintenanceenterprisePersonService.java | 115 ++
.../CrmMaintenanceenterprisePersonVo.java | 64 ++
.../CrmPersonListVo.java | 17 +
.../CarListVo.java | 31 +
.../CrmMaintenanceenterpriseRecord.java | 93 ++
...mMaintenanceenterpriseRecordDetailsVo.java | 208 ++++
.../CrmMaintenanceenterpriseRecordDto.java | 200 ++++
.../CrmMaintenanceenterpriseRecordMapper.java | 74 ++
.../CrmMaintenanceenterpriseRecordMapper.xml | 90 ++
.../CrmMaintenanceenterpriseRecordQuery.java | 69 ++
...CrmMaintenanceenterpriseRecordService.java | 1011 +++++++++++++++++
.../CrmMaintenanceenterpriseRecordVo.java | 110 ++
.../FileQueryUrl.java | 15 +
.../PersonListVo.java | 32 +
.../flowable/EnterpriseCompleteDto.java | 37 +
.../flowable/EnterpriseDelegateQuery.java | 26 +
.../flowable/EnterpriseNodeQuery.java | 25 +
.../flowable/EnterpriseNodeVo.java | 26 +
.../flowable/EnterpriseTaskQuery.java | 48 +
.../flowable/SubmitEnterpriseDto.java | 25 +
.../CrmMaintenanceenterpriseVeh.java | 70 ++
.../CrmMaintenanceenterpriseVehDetailsVo.java | 71 ++
.../CrmMaintenanceenterpriseVehDto.java | 71 ++
.../CrmMaintenanceenterpriseVehMapper.java | 69 ++
.../CrmMaintenanceenterpriseVehMapper.xml | 13 +
.../CrmMaintenanceenterpriseVehQuery.java | 69 ++
.../CrmMaintenanceenterpriseVehService.java | 111 ++
.../CrmMaintenanceenterpriseVehVo.java | 71 ++
.../crmcustomertemp/CrmCustomerTemp.java | 171 +++
.../crmcustomertemp/CrmCustomerTempFeign.java | 44 +
.../AsCustomerVehicleDto.java | 70 ++
.../AsCustomerVehicleFeign.java | 14 +
.../BaseVehicleOutApplyFeign.java | 60 +
.../bus/bussalesorder/BusSalesOrder.java | 155 +++
.../bus/bussalesorder/BusSalesOrderFeign.java | 69 ++
.../flowable/flow/BusinessVariables.java | 65 ++
.../flowable/flow/FlowProcessMapQuery.java | 27 +
.../feign/flowable/flow/FlowableFeign.java | 39 +
.../crm/feign/flowable/flow/ProcDefEnum.java | 52 +
.../flowable/flow/UpdateFlowFieldVo.java | 68 ++
.../flowable/flow2/FlowDelegateQuery.java | 23 +
.../crm/feign/flowable/flow2/FlowFeign.java | 37 +
.../flowable/flowtask/FlowCommentDto.java | 39 +
.../feign/flowable/flowtask/FlowRecordVo.java | 16 +
.../crm/feign/flowable/flowtask/FlowTask.java | 106 ++
.../flowable/flowtask/FlowTaskFeign.java | 37 +
.../feign/flowable/flowtask/FlowTaskVo.java | 53 +
.../feign/flowable/flowtask/LatestTaskVo.java | 34 +
.../feign/flowable/flowtask/TaskUserInfo.java | 31 +
.../yxt/crm/feign/message/MessageFeign.java | 26 +
.../yxt/crm/feign/message/MessageFlowVo.java | 21 +
.../feign/message/MessageFlowableQuery.java | 32 +
.../crm/feign/message/PushMessageQuery.java | 34 +
.../portal/dictcommon/DictCommonFeign.java | 36 +
.../portal/dictcommon/DictCommonType.java | 267 +++++
.../feign/portal/dictcommon/DictCommonVo.java | 32 +
.../feign/portal/sysstafforg/SysStaffOrg.java | 46 +
.../portal/sysstafforg/SysStaffOrgFeign.java | 18 +
.../yxt/crm/feign/portal/sysuser/OrgList.java | 24 +
.../crm/feign/portal/sysuser/SysUserDto.java | 42 +
.../feign/portal/sysuser/SysUserFeign.java | 15 +-
.../crm/feign/portal/sysuser/SysUserVo.java | 99 ++
.../feign/portal/sysuserrole/SysUserRole.java | 34 +
.../portal/sysuserrole/SysUserRoleDto.java | 32 +
.../portal/sysuserrole/SysUserRoleFeign.java | 78 ++
.../sysuserrole/SysUserRoleFeignFallback.java | 86 ++
.../portal/sysuserrole/SysUserRoleQuery.java | 32 +
.../portal/sysuserrole/SysUserRoleVo.java | 32 +
.../src/main/java/com/yxt/crm/utils/Rule.java | 46 +
.../java/com/yxt/crm/utils/domain/BillNo.java | 24 +
136 files changed, 9816 insertions(+), 110 deletions(-)
create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CarListVo.java
create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecord.java
create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordDetailsVo.java
create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordDto.java
create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordFeignFallback.java
create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordQuery.java
create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordVo.java
create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/FileQueryUrl.java
create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/PersonListVo.java
create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/YxtCrmMaintenanceenterpriseRecordFeign.java
create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseCompleteDto.java
create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseDelegateQuery.java
create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseNodeQuery.java
create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseNodeVo.java
create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseTaskQuery.java
create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/SubmitEnterpriseDto.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmDockingPeopleRest.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmFileRest.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmMaintenanceenterprisePersonRest.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmMaintenanceenterpriseRecordRest.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmMaintenanceenterpriseVehRest.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/AsCustomerListQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/AsCustomerListVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerUpdateDto.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerInitQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeople.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleDetailsVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleDto.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleMapper.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleMapper.xml
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleService.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/PeopleList.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFile.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileAttachTypeEnum.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileDetailsVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileDto.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileListDto.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileMapper.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileMapper.xml
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileService.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePerson.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonDetailsVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonDto.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonMapper.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonMapper.xml
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonService.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmPersonListVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CarListVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecord.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordDetailsVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordDto.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordMapper.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordMapper.xml
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordService.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/FileQueryUrl.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/PersonListVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseCompleteDto.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseDelegateQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseNodeQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseNodeVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseTaskQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/SubmitEnterpriseDto.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVeh.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehDetailsVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehDto.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehMapper.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehMapper.xml
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehService.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/anruicrm/crmcustomertemp/CrmCustomerTemp.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/anruicrm/crmcustomertemp/CrmCustomerTempFeign.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleDto.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/base/basevehicleoutapply/BaseVehicleOutApplyFeign.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/bus/bussalesorder/BusSalesOrder.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/bus/bussalesorder/BusSalesOrderFeign.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/flowable/flow/BusinessVariables.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/flowable/flow/FlowProcessMapQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/flowable/flow/FlowableFeign.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/flowable/flow/ProcDefEnum.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/flowable/flow/UpdateFlowFieldVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/flowable/flow2/FlowDelegateQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/flowable/flow2/FlowFeign.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/flowable/flowtask/FlowCommentDto.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/flowable/flowtask/FlowRecordVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/flowable/flowtask/FlowTask.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/flowable/flowtask/FlowTaskFeign.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/flowable/flowtask/FlowTaskVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/flowable/flowtask/LatestTaskVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/flowable/flowtask/TaskUserInfo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/message/MessageFeign.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/message/MessageFlowVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/message/MessageFlowableQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/message/PushMessageQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/dictcommon/DictCommonFeign.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/dictcommon/DictCommonType.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/dictcommon/DictCommonVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysstafforg/SysStaffOrg.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysuser/OrgList.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysuser/SysUserDto.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysuser/SysUserVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysuserrole/SysUserRole.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysuserrole/SysUserRoleDto.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysuserrole/SysUserRoleFeign.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysuserrole/SysUserRoleFeignFallback.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysuserrole/SysUserRoleQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysuserrole/SysUserRoleVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/utils/Rule.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/utils/domain/BillNo.java
diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/crm/crmmaintenanceenterpriserecord/MonthEndService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/crm/crmmaintenanceenterpriserecord/MonthEndService.java
index 68c9724645..0d7e7d48ed 100644
--- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/crm/crmmaintenanceenterpriserecord/MonthEndService.java
+++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/crm/crmmaintenanceenterpriserecord/MonthEndService.java
@@ -27,23 +27,18 @@ package com.yxt.anrui.terminal.biz.crm.crmmaintenanceenterpriserecord;
import cn.hutool.core.bean.BeanUtil;
-import com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordDetailsVo;
-import com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordFeign;
-import com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.flowable.*;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
-import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*;
import com.yxt.anrui.terminal.api.crm.crmmaintenanceenterpriserecord.MonthEndDetailsVo;
import com.yxt.anrui.terminal.api.crm.crmmaintenanceenterpriserecord.flow.AppMonthEndTaskQuery;
import com.yxt.anrui.terminal.api.crm.crmmaintenanceenterpriserecord.flow.CompleteMonthEndDto;
import com.yxt.anrui.terminal.api.crm.crmmaintenanceenterpriserecord.flow.MonthEndDelegateQuery;
import com.yxt.anrui.terminal.api.crm.crmmaintenanceenterpriserecord.flow.MonthEndFlowableQuery;
-import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleDelegateQuery;
-import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleTaskQuery;
-import com.yxt.anrui.terminal.api.risk.buckle.flow.BuckleFlowableQuery;
-import com.yxt.anrui.terminal.api.risk.buckle.flow.CompleteBuckleDto;
+import com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.CrmMaintenanceenterpriseRecordDetailsVo;
+import com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.YxtCrmMaintenanceenterpriseRecordFeign;
+import com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.flowable.*;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -71,7 +66,7 @@ import java.util.stream.Collectors;
public class MonthEndService {
@Autowired
- private CrmMaintenanceenterpriseRecordFeign crmMaintenanceenterpriseRecordFeign;
+ private YxtCrmMaintenanceenterpriseRecordFeign crmMaintenanceenterpriseRecordFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CarListVo.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CarListVo.java
new file mode 100644
index 0000000000..2f757561ea
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CarListVo.java
@@ -0,0 +1,31 @@
+package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2024/7/22 14:42
+ */
+@Data
+public class CarListVo {
+
+ /**
+ * 购买日期
+ */
+ private String buyDate;
+ private String sid;
+ /**
+ * 车牌号
+ */
+ private String vehMark;
+ /**
+ * 车架号
+ */
+ private String vinNo;
+
+
+ @ApiModelProperty("售后客户车辆信息sid")
+ private String asVinSid; // 售后客户车辆信息sid
+}
diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecord.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecord.java
new file mode 100644
index 0000000000..9abcce1b3d
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecord.java
@@ -0,0 +1,93 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseRecord.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecord
+ * Description: 定点企业备案.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业备案", description = "定点企业备案")
+@TableName("crm_maintenanceenterprise_record")
+public class CrmMaintenanceenterpriseRecord extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("申请人")
+ private String createByName; // 申请人
+ @ApiModelProperty("单据编号")
+ private String billNo; // 单据编号
+ @ApiModelProperty("客户sid")
+ private String customerSid; // 客户sid
+ @ApiModelProperty("备案类别")
+ private String filingType; // 备案类别
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("备案有效期")
+ private Date filingIndate; // 备案有效期
+ @ApiModelProperty("申请部门")
+ private String deptName; // 申请部门
+ @ApiModelProperty("申请部门sid")
+ private String deptSid; // 申请部门sid
+ @ApiModelProperty("taskId")
+ private String taskId; // taskId
+ @ApiModelProperty("环节定义的sid")
+ private String nodeSid; // 环节定义的sid
+ @ApiModelProperty("流程状态")
+ private String nodeState; // 流程状态
+ @ApiModelProperty("流程实例的sid")
+ private String procInstId; // 流程实例的sid
+ @ApiModelProperty("流程定义的id")
+ private String procDefId; // 流程定义的id
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("使用组织名称(分公司)")
+ private String useOrgName; // 使用组织名称(分公司)
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+ @ApiModelProperty("创建组织名称(分公司)")
+ private String createOrgName; // 创建组织名称(分公司)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("办结日期")
+ private Date closingDate; // 办结日期
+
+}
diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordDetailsVo.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordDetailsVo.java
new file mode 100644
index 0000000000..602cb3c4be
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordDetailsVo.java
@@ -0,0 +1,208 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
+
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseRecordVo.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordVo
+ * Description: 定点企业备案 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业备案 视图数据详情", description = "定点企业备案 视图数据详情")
+public class CrmMaintenanceenterpriseRecordDetailsVo implements Vo {
+
+ /**
+ * 客户sid
+ */
+ private String customerSid;
+ /**
+ * 详细地址
+ */
+ private String address;
+
+ /**
+ * 详细地址
+ */
+ private String customerAddress;
+ /**
+ * 车辆列表
+ */
+ private List carList = new ArrayList<>();
+ /**
+ * 证件类型
+ */
+ private String certificateType;
+ /**
+ * 证件类型Key
+ */
+ private String certificateTypeKey;
+ /**
+ * 市
+ */
+ private String city;
+ /**
+ * 对接人列表
+ */
+ private List contactPerson = new ArrayList<>();
+ /**
+ * 县
+ */
+ private String county;
+ /**
+ * 申请人
+ */
+ private String createByName;
+ /**
+ * 申请人sid
+ */
+ private String createBySid;
+ /**
+ * 分公司
+ */
+ private String createOrgName;
+ /**
+ * 分公司sid
+ */
+ private String createOrgSid;
+ /**
+ * 申请日期
+ */
+ private String createTime;
+ /**
+ * 客户名称
+ */
+ private String customerName;
+ /**
+ * 客户类型
+ */
+ private String customerType;
+ /**
+ * 客户类型Key
+ */
+ private String customerTypeKey;
+ /**
+ * 申请部门
+ */
+ private String deptName;
+ /**
+ * 申请部门sid
+ */
+ private String deptSid;
+ /**
+ * 电子邮箱
+ */
+ private String e_mail;
+ /**
+ * 紧急联系人
+ */
+ private String emergencyContact;
+ /**
+ * 紧急联系电话
+ */
+ private String emergencyMobile;
+ /**
+ * 证书有效期
+ */
+ private String endDate;
+ /**
+ * 附件
+ */
+ private List files = new ArrayList<>();
+ private List files2 = new ArrayList<>();
+ /**
+ * 备案有效期
+ */
+ private String filingIndate;
+ /**
+ * 备案类别,默认赋值"首次"
+ */
+ private String filingType;
+ /**
+ * 证书号码
+ */
+ private String idnumber;
+ /**
+ * 流程实例ID
+ */
+ private String instanceId;
+ private String procInsId;
+ /**
+ * 联系电话
+ */
+ private String mobile;
+ /**
+ * 省
+ */
+ private String province;
+ /**
+ * 已备人数,首次备案默认为空
+ */
+ private String readyStrength;
+ /**
+ * 已备车辆,首次备案默认为空
+ */
+ private String readyVehicle;
+ /**
+ * 备注
+ */
+ private String remarks;
+ private String sid;
+ /**
+ * 流程ID
+ */
+ private String taskId;
+ /**
+ * 分公司
+ */
+ private String useOrgName;
+ /**
+ * 分公司sid
+ */
+ private String useOrgSid;
+ /**
+ * 微信号
+ */
+ private String weixin;
+
+
+
+}
diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordDto.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordDto.java
new file mode 100644
index 0000000000..6e2ae36544
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordDto.java
@@ -0,0 +1,200 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
+
+
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseRecordDto.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordDto
+ * Description: 定点企业备案 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业备案 数据传输对象", description = "定点企业备案 数据传输对象")
+public class CrmMaintenanceenterpriseRecordDto implements Dto {
+
+
+ /**
+ * 客户sid
+ */
+ private String customerSid;
+ /**
+ * 详细地址
+ */
+ private String address;
+ /**
+ * 车辆列表
+ */
+ private List carList = new ArrayList<>();
+ /**
+ * 证件类型
+ */
+ private String certificateType;
+ /**
+ * 证件类型Key
+ */
+ private String certificateTypeKey;
+ /**
+ * 市
+ */
+ private String city;
+ /**
+ * 对接人列表
+ */
+ private List contactPerson = new ArrayList<>();
+ /**
+ * 县
+ */
+ private String county;
+ /**
+ * 申请人
+ */
+ private String createByName;
+ /**
+ * 申请人sid
+ */
+ private String createBySid;
+ /**
+ * 分公司
+ */
+ private String createOrgName;
+ /**
+ * 分公司sid
+ */
+ private String createOrgSid;
+ /**
+ * 申请日期
+ */
+ private String createTime;
+ /**
+ * 客户名称
+ */
+ private String customerName;
+ /**
+ * 客户类型
+ */
+ private String customerType;
+ /**
+ * 客户类型Key
+ */
+ private String customerTypeKey;
+ /**
+ * 申请部门
+ */
+ private String deptName;
+ /**
+ * 申请部门sid
+ */
+ private String deptSid;
+ /**
+ * 电子邮箱
+ */
+ private String eMail;
+ /**
+ * 紧急联系人
+ */
+ private String emergencyContact;
+ /**
+ * 紧急联系电话
+ */
+ private String emergencyMobile;
+ /**
+ * 证书有效期
+ */
+ private String endDate;
+ /**
+ * 附件
+ */
+ private List files = new ArrayList<>();
+ /**
+ * 备案有效期
+ */
+ private String filingIndate;
+ /**
+ * 备案类别,默认赋值"首次"
+ */
+ private String filingType;
+ /**
+ * 证书号码
+ */
+ private String idnumber;
+ /**
+ * 流程实例ID
+ */
+ private String instanceId;
+ /**
+ * 联系电话
+ */
+ private String mobile;
+ /**
+ * 省
+ */
+ private String province;
+ /**
+ * 已备人数,首次备案默认为空
+ */
+ private String readyStrength;
+ /**
+ * 已备车辆,首次备案默认为空
+ */
+ private String readyVehicle;
+ /**
+ * 备注
+ */
+ private String remarks;
+ private String sid;
+ /**
+ * 流程ID
+ */
+ private String taskId;
+ /**
+ * 分公司
+ */
+ private String useOrgName;
+ /**
+ * 分公司sid
+ */
+ private String useOrgSid;
+ /**
+ * 微信号
+ */
+ private String weixin;
+
+}
diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordFeignFallback.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordFeignFallback.java
new file mode 100644
index 0000000000..571837a700
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordFeignFallback.java
@@ -0,0 +1,123 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
+
+import com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.flowable.*;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseRecordFeignFallback.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordFeignFallback
+ * Description: 定点企业备案.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Component
+public class CrmMaintenanceenterpriseRecordFeignFallback implements YxtCrmMaintenanceenterpriseRecordFeign {
+
+ @Override
+ public ResultBean> listPage(PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ return rb.setMsg("接口crm/crmmaintenanceenterpriserecord/listPage无法访问");
+ }
+
+ @Override
+ public ResultBean save(CrmMaintenanceenterpriseRecordDto dto){
+ return ResultBean.fireFail().setMsg("接口crm/crmmaintenanceenterpriserecord/save无法访问");
+ }
+
+ @Override
+ public ResultBean delBySids( String[] sids){
+ return ResultBean.fireFail().setMsg("接口crm/crmmaintenanceenterpriserecord/delBySids无法访问");
+ }
+
+ @Override
+ public ResultBean init(String sid) {
+ return null;
+ }
+
+ @Override
+ public ResultBean fetchDetailsBySid(String sid){
+ ResultBean rb = ResultBean.fireFail();
+ return rb.setMsg("接口crm/crmmaintenanceenterpriserecord/fetchDetailsBySid无法访问");
+ }
+
+ @Override
+ public ResultBean submitRecordApplication(SubmitEnterpriseDto dto) {
+ return null;
+ }
+
+ @Override
+ public ResultBean complete(EnterpriseCompleteDto dto) {
+ return null;
+ }
+
+ @Override
+ public ResultBean revokeProcess(EnterpriseTaskQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean taskReject(EnterpriseTaskQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean breakProcess(EnterpriseTaskQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean flowRecord(String procInsId) {
+ return null;
+ }
+
+ @Override
+ public ResultBean> getNextNodesForSubmit(EnterpriseNodeQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean> getPreviousNodesForReject(EnterpriseNodeQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean delegate(EnterpriseDelegateQuery query) {
+ return null;
+ }
+}
diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordQuery.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordQuery.java
new file mode 100644
index 0000000000..6c927d19ae
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordQuery.java
@@ -0,0 +1,69 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
+
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseRecordQuery.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordQuery
+ * Description: 定点企业备案 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业备案 查询条件", description = "定点企业备案 查询条件")
+public class CrmMaintenanceenterpriseRecordQuery implements Query {
+
+ private String billNo;
+ private String closingDateEnd;
+ private String closingDateStart;
+ private String createByName;
+ private String createEndTime;
+ private String createOrgName;
+ private String createStartTime;
+ private String customerName;
+ private String customerTypeKey;
+ private String deptName;
+ private String menuUrl;
+ private String mobile;
+ private String orgPath;
+ /**
+ * 是否有效 1是0否
+ */
+ private String state;
+ private String userSid;
+
+}
diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordVo.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordVo.java
new file mode 100644
index 0000000000..191521ca82
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/CrmMaintenanceenterpriseRecordVo.java
@@ -0,0 +1,110 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
+
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseRecordVo.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordVo
+ * Description: 定点企业备案 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业备案 视图数据对象", description = "定点企业备案 视图数据对象")
+public class CrmMaintenanceenterpriseRecordVo implements Vo {
+
+ /**
+ * 单据编号
+ */
+ private String billNo;
+ /**
+ * 办结日期
+ */
+ private String closingDate;
+ /**
+ * 申请人
+ */
+ private String createByName;
+ /**
+ * 申请日期
+ */
+ private String createTime;
+ /**
+ * 客户名称
+ */
+ private String customerName;
+ /**
+ * 客户类型
+ */
+ private String customerTypeValue;
+ /**
+ * 申请部门
+ */
+ private String deptName;
+ /**
+ * 备案有效期
+ */
+ private String filingIndate;
+ /**
+ * 备案有效期是否已过,1是0否
+ */
+ private String isFilingIndate;
+ /**
+ * 联系电话
+ */
+ private String mobile;
+ /**
+ * 流程状态
+ */
+ private String nodeState;
+ /**
+ * 流程定义ID
+ */
+ private String procDefId;
+ /**
+ * 流程实例ID
+ */
+ private String procInstId;
+ private String sid;
+ /**
+ * 分公司
+ */
+ private String useOrgName;
+ @ApiModelProperty("备案类别")
+ private String filingType; // 备案类别
+}
diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/FileQueryUrl.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/FileQueryUrl.java
new file mode 100644
index 0000000000..07a61e7217
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/FileQueryUrl.java
@@ -0,0 +1,15 @@
+package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
+
+import lombok.Data;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2024/7/22 14:35
+ */
+@Data
+public class FileQueryUrl {
+
+ private String url;
+
+}
diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/PersonListVo.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/PersonListVo.java
new file mode 100644
index 0000000000..e7075c61a7
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/PersonListVo.java
@@ -0,0 +1,32 @@
+package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2024/7/22 14:42
+ */
+@Data
+public class PersonListVo {
+
+ /**
+ * 手机号码
+ */
+ private String mobile;
+ /**
+ * 姓名
+ */
+ private String name;
+ /**
+ * 备注
+ */
+ private String remarks;
+ private String sid;
+
+ @ApiModelProperty("对接人员sid")
+ private String personSid; // 对接人员sid
+
+
+}
diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/YxtCrmMaintenanceenterpriseRecordFeign.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/YxtCrmMaintenanceenterpriseRecordFeign.java
new file mode 100644
index 0000000000..5fa5172cb3
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/YxtCrmMaintenanceenterpriseRecordFeign.java
@@ -0,0 +1,128 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord;
+
+import com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.flowable.*;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.cloud.openfeign.SpringQueryMap;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseRecordFeign.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordFeign
+ * Description: 定点企业备案.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "定点企业备案")
+@FeignClient(
+ contextId = "yxt-crm-CrmMaintenanceenterpriseRecord",
+ name = "yxt-crm",
+ path = "v1/maintenanceEnterprise",
+ fallback = CrmMaintenanceenterpriseRecordFeignFallback.class)
+public interface YxtCrmMaintenanceenterpriseRecordFeign {
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ @ResponseBody
+ public ResultBean> listPage(@RequestBody PagerQuery pq);
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ @ResponseBody
+ public ResultBean save(@RequestBody CrmMaintenanceenterpriseRecordDto dto);
+
+ @ApiOperation("根据sid删除记录")
+ @DeleteMapping("/delBySids")
+ @ResponseBody
+ public ResultBean delBySids(@RequestBody String[] sids);
+
+ @ApiOperation("新增初始化")
+ @GetMapping("/init")
+ @ResponseBody
+ public ResultBean init(@RequestParam("sid") String sid);
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ @ResponseBody
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid);
+
+
+ //------------------------------流程接口----------------------------------------------
+
+ @ApiOperation("提交")
+ @PostMapping("/submit")
+ public ResultBean submitRecordApplication(@RequestBody @Valid SubmitEnterpriseDto dto);
+
+ @ApiOperation(value = "办理(同意)")
+ @PostMapping("/complete")
+ public ResultBean complete(@Valid @RequestBody EnterpriseCompleteDto dto);
+
+ @ApiOperation(value = "撤回流程")
+ @PostMapping(value = "/revokeProcess")
+ public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody EnterpriseTaskQuery query);
+
+ @ApiOperation(value = "驳回任务")
+ @PostMapping(value = "/reject")
+ public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody EnterpriseTaskQuery query);
+
+ @ApiOperation(value = "终止任务")
+ @PostMapping(value = "/breakProcess")
+ public ResultBean breakProcess(@RequestBody EnterpriseTaskQuery query);
+
+ @ApiOperation(value = "流程历史流转记录")
+ @GetMapping(value = "/task/flowRecord/{procInsId}/{deployId}")
+ public ResultBean flowRecord(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId);
+
+ @ApiOperation(value = "获取下一个环节")
+ @GetMapping(value = "/getNextNodesForSubmit")
+ ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap EnterpriseNodeQuery query);
+
+ @ApiOperation(value = "获取上一个环节")
+ @GetMapping(value = "/getPreviousNodesForReject")
+ ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap EnterpriseNodeQuery query);
+
+ @ApiOperation(value = "加签")
+ @PostMapping(value = "/delegate")
+ public ResultBean delegate(@RequestBody EnterpriseDelegateQuery query);
+
+
+}
diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseCompleteDto.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseCompleteDto.java
new file mode 100644
index 0000000000..fc7ec03ea6
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseCompleteDto.java
@@ -0,0 +1,37 @@
+package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.flowable;
+
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/9/6 14:57
+ * @Description
+ */
+@Data
+public class EnterpriseCompleteDto implements Dto {
+ private static final long serialVersionUID = 6378752532534735663L;
+
+ @ApiModelProperty(value = "用户sid")
+ private String userSid;
+ @ApiModelProperty(value = "节点id")
+ @NotBlank(message = "参数错误:taskDefKey")
+ private String taskDefKey;
+ @ApiModelProperty(value = "任务id")
+ @NotBlank(message = "参数错误:taskId")
+ private String taskId;
+ @ApiModelProperty(value = "流程id(PC)")
+ private String instanceId;
+ @ApiModelProperty(value = "流程id(移动)")
+ private String procInsId;
+ @ApiModelProperty(value = "意见")
+ private String comment;
+ @ApiModelProperty(value = "业务sid")
+ @NotBlank(message = "参数错误:businessSid")
+ private String businessSid;
+
+ private String orgPath;
+}
diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseDelegateQuery.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseDelegateQuery.java
new file mode 100644
index 0000000000..014d5a0a4e
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseDelegateQuery.java
@@ -0,0 +1,26 @@
+package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.flowable;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author Administrator
+ * @description
+ * @date 2023/9/28 9:28
+ */
+@Data
+public class EnterpriseDelegateQuery {
+ @ApiModelProperty
+ private String userSid;
+ @ApiModelProperty("流程实例id")
+// @JsonProperty("procInsId")
+ private String instanceId;
+ @ApiModelProperty("任务Id")
+ private String taskId;
+ @ApiModelProperty("审批人sid")
+ private String assignee;
+ @ApiModelProperty("填写意见")
+ private String views;
+
+
+}
diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseNodeQuery.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseNodeQuery.java
new file mode 100644
index 0000000000..592a1bcd82
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseNodeQuery.java
@@ -0,0 +1,25 @@
+package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.flowable;
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/9/6 15:04
+ * @Description
+ */
+@Data
+public class EnterpriseNodeQuery implements Query {
+ private static final long serialVersionUID = 9117613683840483366L;
+
+ @ApiModelProperty(value = "环节定义id")
+ @NotBlank(message = "参数错误:taskDefKey")
+ private String taskDefKey;
+ @ApiModelProperty(value = "业务sid")
+ private String businessSid;
+ @ApiModelProperty(value = "0 上一环节 1下一环节")
+ private Integer next;
+}
diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseNodeVo.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseNodeVo.java
new file mode 100644
index 0000000000..bfcfb7bcc5
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseNodeVo.java
@@ -0,0 +1,26 @@
+package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.flowable;
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/9/6 15:03
+ * @Description
+ */
+@Data
+public class EnterpriseNodeVo implements Vo {
+ private static final long serialVersionUID = -833419512294877848L;
+
+ @ApiModelProperty(value = "节点名称")
+ private String name;
+ @ApiModelProperty(value = "节点id")
+ private String id;
+ @ApiModelProperty(value = "审批组")
+ private List candidateGroups;
+ @ApiModelProperty(value = "是否是最后环节")
+ private String endTask;
+}
diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseTaskQuery.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseTaskQuery.java
new file mode 100644
index 0000000000..88f882f037
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/EnterpriseTaskQuery.java
@@ -0,0 +1,48 @@
+package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.flowable;
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/9/6 15:06
+ * @Description
+ */
+@Data
+public class EnterpriseTaskQuery implements Query {
+ private static final long serialVersionUID = 1288615499873178778L;
+
+ /**
+ * 终止、驳回、撤回
+ */
+ @ApiModelProperty("任务Id")
+ @NotBlank(message = "参数错误:taskId")
+ private String taskId;
+ /**
+ * 终止、驳回、撤回
+ */
+ @ApiModelProperty("业务sid")
+ @NotBlank(message = "参数错误:businessSid")
+ private String businessSid;
+ /**
+ * 终止、驳回
+ */
+ @ApiModelProperty("任务意见")
+ private String comment;
+ /**
+ * 终止、撤回、驳回
+ */
+ @ApiModelProperty("用户Sid")
+ private String userSid;
+ /**
+ * 终止
+ */
+ @ApiModelProperty("流程实例Id(PC)")
+ private String instanceId;
+
+ @ApiModelProperty("流程实例Id(移动)")
+ private String procInsId;
+}
diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/SubmitEnterpriseDto.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/SubmitEnterpriseDto.java
new file mode 100644
index 0000000000..2f74b2b66a
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/crmMaintenanceenterpriseRecord/flowable/SubmitEnterpriseDto.java
@@ -0,0 +1,24 @@
+package com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.flowable;
+
+import com.yxt.anrui.terminal.fegin.crmMaintenanceenterpriseRecord.CrmMaintenanceenterpriseRecordDto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author liuguohui
+ * @version 1.0
+ * @description
+ * @date 2022/04/13
+ */
+@ApiModel("提交")
+@Data
+public class SubmitEnterpriseDto extends CrmMaintenanceenterpriseRecordDto {
+
+ @ApiModelProperty("意见")
+ private String comment;
+ @ApiModelProperty("流程实例id")
+ private String instanceId;
+ @ApiModelProperty("任务id")
+ private String taskId;
+}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java
index 8fc427e34b..e13ef6d392 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java
@@ -149,6 +149,8 @@ public class AsBusrepairBillDetailsVo implements Vo {
private String oil;
@ApiModelProperty("当前里程(本次里程)")
private String currentMileage;
+ @ApiModelProperty("客户车辆sid")
+ private String customerVehicleSid;
private InvoiceVo invoiceVo = new InvoiceVo(); //发票信息
private InsuranceVo insuranceVo = new InsuranceVo();//保险信息
private OtherVo otherVo = new OtherVo();//送修人信息
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java
index 15191ceef9..69213dfccc 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java
@@ -147,6 +147,8 @@ public class AsBusrepairBillDto implements Dto {
private String mileage;
@ApiModelProperty("油量(空、小于1/4、1/4、1/2、3/4、满)")
private String oil;
+ @ApiModelProperty("客户车辆sid")
+ private String customerVehicleSid;
@ApiModelProperty("当前里程(本次里程)")
private String currentMileage;
private InvoiceVo invoiceVo = new InvoiceVo(); //发票信息
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillvech/AsBusrepairBillVech.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillvech/AsBusrepairBillVech.java
index 520c8ff64a..fda74a63b8 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillvech/AsBusrepairBillVech.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillvech/AsBusrepairBillVech.java
@@ -19,6 +19,8 @@ public class AsBusrepairBillVech extends BaseEntity {
@ApiModelProperty("工单sid")
private String billSid;
+ @ApiModelProperty("客户车辆sid")
+ private String customerVehicleSid;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("车牌号")
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/ascustomervehicle/AsCustomerCrmVehVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/ascustomervehicle/AsCustomerCrmVehVo.java
index cd5183c635..95f3855c49 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/api/ascustomervehicle/AsCustomerCrmVehVo.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/ascustomervehicle/AsCustomerCrmVehVo.java
@@ -25,7 +25,8 @@ public class AsCustomerCrmVehVo implements Vo {
private String salesCompany; // 销售公司
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
-
+ @ApiModelProperty("客户车辆sid")
+ private String customerVehicleSid;
@ApiModelProperty("车型")
private String vehModel; // 客户名称
@ApiModelProperty("来源")
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/ascustomervehicle/AsCustomerVehicle.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/ascustomervehicle/AsCustomerVehicle.java
index c8c2f6e1cb..c14f226e2f 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/api/ascustomervehicle/AsCustomerVehicle.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/ascustomervehicle/AsCustomerVehicle.java
@@ -54,6 +54,8 @@ public class AsCustomerVehicle extends BaseEntity {
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
+ @ApiModelProperty("销售公司")
+ private String saleOrgName; // 销售公司名称-集团销售时有值
@ApiModelProperty("车牌号")
private String vehMark; // 车牌号
@ApiModelProperty("车架号")
@@ -71,6 +73,8 @@ public class AsCustomerVehicle extends BaseEntity {
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("下次保养日期")
private Date nextMaintainDate; // 下次保养日期
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ private Date saleDate; // 销售日期-集团销售时有值
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("购车日期")
private Date buyDate; // 购车日期
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
index b909680c11..8f724dfa7e 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
@@ -350,6 +350,9 @@ public class AsBusrepairBillService extends MybatisBaseService
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/ascustomervehicle/AsCustomerVehicleService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/ascustomervehicle/AsCustomerVehicleService.java
index e072fedcb8..07f20bc089 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/ascustomervehicle/AsCustomerVehicleService.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/ascustomervehicle/AsCustomerVehicleService.java
@@ -236,12 +236,7 @@ public class AsCustomerVehicleService extends MybatisBaseService 4) {
- qw.like("v.vinNo", query.getVinNo());
- }
- }
- qw.orderByDesc("v.id");
+ qw.orderByDesc("c.sid");
IPage page = PagerUtil.queryToPage(pq);
IPage pagging = baseMapper.customerList(page, qw);
PagerVo p = PagerUtil.pageToVo(pagging, null);
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerRest.java b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerRest.java
index f5aa1d3486..57b883b2c1 100644
--- a/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerRest.java
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerRest.java
@@ -33,9 +33,11 @@ import com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgQuery;
import com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import javax.validation.Valid;
import java.util.List;
/**
@@ -77,12 +79,16 @@ public class CrmCustomerRest {
}
- @ApiOperation("新增或修改")
+ /**
+ * pc端潜在客户新增保存
+ *
+ * @param dto 客户信息及运行信息数据传输对象
+ * @return
+ */
+ @ApiOperation("新增保存")
@PostMapping("/save")
- public ResultBean save(@RequestBody CrmCustomerDto dto) {
- ResultBean rb = ResultBean.fireFail();
- crmCustomerService.saveOrUpdateDto(dto);
- return rb.success();
+ public ResultBean save(@Valid @RequestBody CrmCustomerDto dto) {
+ return crmCustomerService.saveCrmCustomer(dto);
}
@@ -102,4 +108,81 @@ public class CrmCustomerRest {
CrmCustomerDetailsVo vo = crmCustomerService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
+
+
+ @ApiOperation("根据车架号初始化客户新增页面")
+ @PostMapping("/customerInit")
+ public ResultBean customerInit(@RequestBody CustomerInitQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ if (StringUtils.isNotBlank(query.getVinNo())) {
+ String vinNo = query.getVinNo();
+ if (vinNo.length() != 8 || vinNo.length() != 17) {
+ return rb.setMsg("请填写8位或17位车架号!");
+ }
+ }
+ CrmCustomerDto vo = crmCustomerService.customerInit(query);
+ return rb.success().setData(vo);
+ }
+
+ /**
+ * pc潜在客户的编辑回显
+ *
+ * @param sid
+ * @return
+ */
+ @ApiOperation("获取一条记录")
+ @GetMapping("/fetchSid/{sid}")
+ public ResultBean fetchSid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ CrmCustomer customerTemp = crmCustomerService.fetchBySid(sid);
+ if (customerTemp == null) {
+ return rb.setMsg("该客户不存在");
+ }
+ CrmCustomerVo vo = crmCustomerService.fetchAllBySid(sid);
+ return rb.success().setData(vo);
+ }
+
+ /**
+ * pc端潜在客户编辑保存
+ *
+ * @param dto 数据传输对象
+ * @param sid 潜在客户sid
+ * @return
+ */
+ @ApiOperation("修改保存")
+ @PostMapping("/update/{sid}")
+ public ResultBean update(@RequestBody CrmCustomerUpdateDto dto, @PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ String weixin = dto.getWeixin();
+ if (StringUtils.isNotBlank(weixin)) {
+ if (!weixin.matches("^[a-zA-Z]{1}[-_a-zA-Z0-9]{5,19}$") && !weixin.matches("^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$")) {
+ return rb.setMsg("微信号格式不正确");
+ }
+ }
+ String email = dto.getE_mail();
+ if (StringUtils.isNotBlank(email)) {
+ if (!email.matches("^[0-9A-Za-z][\\.-_0-9A-Za-z]*@[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)+$")) {
+ return rb.setMsg("邮箱格式不正确");
+ }
+ }
+ ResultBean resultBean = crmCustomerService.updateCrmCustomer(dto, sid);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ return rb.success().setMsg(resultBean.getMsg());
+ }
+
+ /**
+ * 售后客户管理分页列表
+ *
+ * @param pq
+ * @return
+ */
+ @ApiOperation("售后客户管理分页列表")
+ @PostMapping("/asListPage")
+ public ResultBean> asListPage(PagerQuery pq) {
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = crmCustomerService.asListPage(pq);
+ return rb.success().setData(pv);
+ }
}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmDockingPeopleRest.java b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmDockingPeopleRest.java
new file mode 100644
index 0000000000..696cc204b7
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmDockingPeopleRest.java
@@ -0,0 +1,116 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.apiadmin;
+
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import com.yxt.crm.biz.crmdockingpeople.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * Project: anrui-crm(crm)
+ * File: CrmDockingPeopleFeignFallback.java
+ * Class: com.yxt.anrui.crm.biz.crmdockingpeople.CrmDockingPeopleRest
+ * Description: 定点企业对接人信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 17:21:58
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "定点企业对接人信息")
+@RestController
+@RequestMapping("v1/crmdockingpeople")
+public class CrmDockingPeopleRest{
+
+ @Autowired
+ private CrmDockingPeopleService crmDockingPeopleService;
+
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = crmDockingPeopleService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody CrmDockingPeopleDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ crmDockingPeopleService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+
+ @ApiOperation("根据sid批量删除")
+ @PostMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ ResultBean rb = ResultBean.fireFail();
+ crmDockingPeopleService.delBySids(sids);
+ return rb.success();
+ }
+
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ CrmDockingPeopleDetailsVo vo = crmDockingPeopleService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+
+ @ApiOperation("对接人批量禁用")
+ @PostMapping("/disableState")
+ public ResultBean disableState(String[] sid) {
+ return crmDockingPeopleService.disableState(sid);
+ }
+
+ @ApiOperation("对接人批量启用")
+ @PostMapping("/enable")
+ public ResultBean enable(String[] sid) {
+ return crmDockingPeopleService.enable(sid);
+ }
+
+ @ApiOperation("根据客户SID获取一条记录")
+ @GetMapping("/getListByCustomerSid")
+ @ResponseBody
+ public ResultBean> getListByCustomerSid(String customerSid) {
+ ResultBean rb = ResultBean.fireFail();
+ List list = crmDockingPeopleService.getListByCustomerSid(customerSid);
+ return rb.success().setData(list);
+ }
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmFileRest.java b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmFileRest.java
new file mode 100644
index 0000000000..45ac0f398f
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmFileRest.java
@@ -0,0 +1,112 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.apiadmin;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import com.yxt.crm.biz.crmfile.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * Project: anrui-crm(客户信息)
+ * File: CrmFileFeignFallback.java
+ * Class: com.yxt.anrui.crm.biz.crmfile.CrmFileRest
+ * Description: 客户资料表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-24 09:15:29
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "客户资料表")
+@RestController
+@RequestMapping("v1/crmfile")
+public class CrmFileRest {
+
+ @Autowired
+ private CrmFileService crmFileService;
+
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq) {
+ ResultBean rb = ResultBean.fireFail();
+ IPage page = crmFileService.listPageVo(pq);
+ PagerVo pv = new PagerVo<>();
+ PagerVo pv1 = PagerUtil.pageToVo(page, pv);
+ return rb.success().setData(pv1);
+ }
+
+
+ @ApiOperation("新增保存")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody CrmFileDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ crmFileService.saveCrmFile(dto);
+ return rb.success();
+ }
+
+ @ApiOperation("修改保存")
+ @PostMapping("/update/{sid}")
+ public ResultBean update(@RequestBody CrmFileDto dto, @PathVariable("sid") String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ crmFileService.updateCrmFile(dto,sid);
+ return rb.success();
+ }
+
+
+ @ApiOperation("根据sid批量删除")
+ @PostMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids) {
+ ResultBean rb = ResultBean.fireFail();
+ crmFileService.delBySids(sids);
+ return rb.success();
+ }
+
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchBySid/{sid}")
+ public ResultBean fetchBySid(@PathVariable("sid") String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ CrmFile vo = crmFileService.fetchBySid(sid);
+ return rb.success().setData(vo);
+ }
+ @ApiOperation(value = "移除文件")
+ @ApiImplicitParam(name = "fullPath", value = "文件全路径", required = true, dataTypeClass = String.class)
+ @PostMapping("/deleteFilesOss")
+ public ResultBean deleteFilesOss(@RequestParam(value = "fullPath") String fullPath) {
+ return crmFileService.deleteFilesOss(fullPath);
+ }
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmMaintenanceenterprisePersonRest.java b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmMaintenanceenterprisePersonRest.java
new file mode 100644
index 0000000000..7f5448b211
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmMaintenanceenterprisePersonRest.java
@@ -0,0 +1,104 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.apiadmin;
+
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import com.yxt.crm.biz.crmmaintenanceenterpriseperson.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterprisePersonFeignFallback.java
+ * Class: com.yxt.anrui.crm.biz.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePersonRest
+ * Description: 定点企业备案-对接人员.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "定点企业备案-对接人员")
+@RestController
+@RequestMapping("v1/crmmaintenanceenterpriseperson")
+public class CrmMaintenanceenterprisePersonRest{
+
+ @Autowired
+ private CrmMaintenanceenterprisePersonService crmMaintenanceenterprisePersonService;
+
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = crmMaintenanceenterprisePersonService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody CrmMaintenanceenterprisePersonDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ crmMaintenanceenterprisePersonService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+
+ @ApiOperation("根据sid批量删除")
+ @PostMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ ResultBean rb = ResultBean.fireFail();
+ crmMaintenanceenterprisePersonService.delBySids(sids);
+ return rb.success();
+ }
+
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ CrmMaintenanceenterprisePersonDetailsVo vo = crmMaintenanceenterprisePersonService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/personList")
+ @ResponseBody
+ public ResultBean> personList(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ List list = crmMaintenanceenterprisePersonService.personList(sid);
+ return rb.success().setData(list);
+ }
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmMaintenanceenterpriseRecordRest.java b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmMaintenanceenterpriseRecordRest.java
new file mode 100644
index 0000000000..63bea29e40
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmMaintenanceenterpriseRecordRest.java
@@ -0,0 +1,172 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.apiadmin;
+
+import cn.hutool.core.bean.BeanUtil;
+
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import com.yxt.crm.biz.crmmaintenanceenterpriserecord.*;
+import com.yxt.crm.biz.crmmaintenanceenterpriserecord.flowable.*;
+import com.yxt.crm.feign.flowable.flow.BusinessVariables;
+import com.yxt.crm.feign.flowable.flow.ProcDefEnum;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cloud.openfeign.SpringQueryMap;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseRecordFeignFallback.java
+ * Class: com.yxt.anrui.crm.biz.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordRest
+ * Description: 定点企业备案.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "定点企业备案")
+@RestController
+@RequestMapping("v1/maintenanceEnterprise")
+public class CrmMaintenanceenterpriseRecordRest {
+
+ @Autowired
+ private CrmMaintenanceenterpriseRecordService crmMaintenanceenterpriseRecordService;
+
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ @ResponseBody
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = crmMaintenanceenterpriseRecordService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ @ResponseBody
+ public ResultBean save(@RequestBody CrmMaintenanceenterpriseRecordDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ crmMaintenanceenterpriseRecordService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+
+ @ApiOperation("根据sid删除记录")
+ @DeleteMapping("/delBySids")
+ @ResponseBody
+ public ResultBean delBySids(@RequestBody String[] sids){
+ return crmMaintenanceenterpriseRecordService.deleteBySids(sids);
+ }
+
+ @ApiOperation("新增初始化")
+ @GetMapping("/init")
+ @ResponseBody
+ public ResultBean init(@RequestParam("sid") String sid) {
+ return crmMaintenanceenterpriseRecordService.init(sid);
+ }
+
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ @ResponseBody
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ CrmMaintenanceenterpriseRecordDetailsVo vo = crmMaintenanceenterpriseRecordService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+
+
+ @ApiOperation("提交")
+ @PostMapping("/submit")
+ public ResultBean submitRecordApplication(@RequestBody @Valid SubmitEnterpriseDto dto) {
+ return crmMaintenanceenterpriseRecordService.submitRecordApplication(dto);
+ }
+
+ @ApiOperation(value = "办理(同意)")
+ @PostMapping("/complete")
+ public ResultBean complete(@Valid @RequestBody EnterpriseCompleteDto dto){
+ BusinessVariables bv = new BusinessVariables();
+ BeanUtil.copyProperties(dto, bv);
+ bv.setModelId(ProcDefEnum.ENTERPRISEAPPLY.getProDefId());
+ return crmMaintenanceenterpriseRecordService.complete(bv);
+ }
+
+
+
+ @ApiOperation(value = "撤回流程")
+ @PostMapping(value = "/revokeProcess")
+ public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody EnterpriseTaskQuery query) {
+ return crmMaintenanceenterpriseRecordService.revokeProcess(query);
+ }
+
+ @ApiOperation(value = "驳回任务")
+ @PostMapping(value = "/reject")
+ public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody EnterpriseTaskQuery query) {
+ return crmMaintenanceenterpriseRecordService.taskReject(query);
+ }
+
+ @ApiOperation(value = "终止任务")
+ @PostMapping(value = "/breakProcess")
+ public ResultBean breakProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody EnterpriseTaskQuery query) {
+ return crmMaintenanceenterpriseRecordService.breakProcess(query);
+ }
+
+ @ApiOperation(value = "流程历史流转记录")
+ @GetMapping(value = "/task/flowRecord/{procInsId}/{deployId}")
+ public ResultBean flowRecord(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId) {
+ return crmMaintenanceenterpriseRecordService.flowRecord(procInsId);
+ }
+
+ @ApiOperation(value = "获取下一个环节")
+ @GetMapping(value = "/getNextNodesForSubmit")
+ public ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap EnterpriseNodeQuery query) {
+ return crmMaintenanceenterpriseRecordService.getNextNodesForSubmit(query);
+ }
+
+ @ApiOperation(value = "获取上一个环节")
+ @GetMapping(value = "/getPreviousNodesForReject")
+ public ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap EnterpriseNodeQuery query) {
+ return crmMaintenanceenterpriseRecordService.getPreviousNodesForReject(query);
+ }
+
+ @ApiOperation(value = "加签")
+ @PostMapping(value = "/delegate")
+ public ResultBean delegate(@RequestBody EnterpriseDelegateQuery query) {
+ return crmMaintenanceenterpriseRecordService.delegate(query);
+ }
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmMaintenanceenterpriseVehRest.java b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmMaintenanceenterpriseVehRest.java
new file mode 100644
index 0000000000..5988e5adcd
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmMaintenanceenterpriseVehRest.java
@@ -0,0 +1,93 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.apiadmin;
+
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import com.yxt.crm.biz.crmmaintenanceenterpriseveh.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseVehFeignFallback.java
+ * Class: com.yxt.anrui.crm.biz.crmmaintenanceenterpriseveh.CrmMaintenanceenterpriseVehRest
+ * Description: 定点企业备案-车辆信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "定点企业备案-车辆信息")
+@RestController
+@RequestMapping("v1/crmmaintenanceenterpriseveh")
+public class CrmMaintenanceenterpriseVehRest {
+
+ @Autowired
+ private CrmMaintenanceenterpriseVehService crmMaintenanceenterpriseVehService;
+
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = crmMaintenanceenterpriseVehService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody CrmMaintenanceenterpriseVehDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ crmMaintenanceenterpriseVehService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+
+ @ApiOperation("根据sid批量删除")
+ @PostMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ ResultBean rb = ResultBean.fireFail();
+ crmMaintenanceenterpriseVehService.delBySids(sids);
+ return rb.success();
+ }
+
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ CrmMaintenanceenterpriseVehDetailsVo vo = crmMaintenanceenterpriseVehService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/AsCustomerListQuery.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/AsCustomerListQuery.java
new file mode 100644
index 0000000000..87a5bb2fba
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/AsCustomerListQuery.java
@@ -0,0 +1,35 @@
+package com.yxt.crm.biz.crmcustomer;
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2024/6/3 13:42
+ */
+@Data
+public class AsCustomerListQuery implements Query {
+ @ApiModelProperty("客户名称")
+ private String name;
+ @ApiModelProperty("客户类型key(自然人/法人)")
+ private String customerTypeKey;
+ @ApiModelProperty("联系电话")
+ private String mobile;
+ @ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)")
+ private String levelKey;
+ @ApiModelProperty("提醒开始日期")
+ private String remindStartDay;
+ @ApiModelProperty("提醒结束日期")
+ private String remindEndDay;
+
+ @ApiModelProperty("全路径")
+ private String orgPath;
+ private String userSid;
+ @ApiModelProperty("菜单url")
+ private String menuUrl;
+ @ApiModelProperty("是否为定点企业 1是0否")
+ private String isDesignatedEnterprise;
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/AsCustomerListVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/AsCustomerListVo.java
new file mode 100644
index 0000000000..6fc4bb5fe4
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/AsCustomerListVo.java
@@ -0,0 +1,40 @@
+package com.yxt.crm.biz.crmcustomer;
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2024/6/3 13:42
+ */
+@Data
+public class AsCustomerListVo implements Vo {
+
+ @ApiModelProperty("潜在客户sid")
+ private String sid;
+ @ApiModelProperty("客户编号(部门编码+客户类型(1位,0个人,1企业)+部门内部流水号(6位))")
+ private String customerNo;
+ @ApiModelProperty("客户名称")
+ private String name;
+ @ApiModelProperty("客户类型(自然人/法人)")
+ private String customerType;
+ @ApiModelProperty("联系电话")
+ private String mobile;
+ @ApiModelProperty("微信号码")
+ private String weixin;
+ @ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)")
+ private String level;
+ @ApiModelProperty("提醒日期")
+ private String remind_day;
+ private String vehCount; //车辆数量
+ private String personCount; //对接人数量
+ private String isDesignatedEnterprise; //是否为定点企业 1是0否
+ private String filingIndate; //备案有效期
+ private String isFilingIndate; //备案有效期是否已过 1是0否
+ private String isEnable; //使用状态 1启用0禁用
+
+
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomer.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomer.java
index 202dc5a668..d10bb011cb 100644
--- a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomer.java
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomer.java
@@ -31,6 +31,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.Date;
+
/**
* Project: crm(crm)
* File: CrmCustomer.java
@@ -50,23 +52,145 @@ import lombok.Data;
public class CrmCustomer extends BaseEntity {
private static final long serialVersionUID = 1L;
- @ApiModelProperty("客户名称")
- private String name; // 客户名称
- @ApiModelProperty("客户编码")
- private String customerNo; // 客户编码
- @ApiModelProperty("联系电话")
- private String mobile; // 联系电话
- @ApiModelProperty("客户类型")
- private String customerTypeKey; // 客户类型
- @ApiModelProperty("客户类型(个人、企业)")
- private String customerType; // 客户类型(个人、企业)
- @ApiModelProperty("所在单位sid")
- private String orgSid; // 所在单位sid
- @ApiModelProperty("所在单位")
- private String orgName; // 所在单位
- @ApiModelProperty("使用组织sid")
- private String useOrgSid; // 使用组织sid
- @ApiModelProperty("创建组织sid")
- private String createOrgSid; // 创建组织sid
+ @ApiModelProperty("客户编号(部门编码+客户类型(1位,0个人,1企业)+部门内部流水号(6位))")
+ private String customerNo;
+
+ @ApiModelProperty("客户类型(自然人/法人)")
+ private String customerType;
+
+ @ApiModelProperty("客户类型key")
+ private String customerTypeKey;
+
+ @ApiModelProperty("客户分类(个人:司机/个体老板/其他。企业:企业型客户/一级经销商/二级经销商/终端物流客户)")
+ private String customerClass;
+
+ @ApiModelProperty("客户分类key")
+ private String customerClassKey;
+
+ @ApiModelProperty("客户来源(公司资源/自主开发/交接客户/转介绍客户/集团内销)")
+ private String source;
+
+ @ApiModelProperty("客户来源key")
+ private String sourceKey;
+
+ @ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)")
+ private String level;
+
+ @ApiModelProperty("客户级别key")
+ private String levelKey;
+
+ @ApiModelProperty("客户名称")
+ private String name;
+
+ @ApiModelProperty("证件类型key")
+ private String certificateTypeKey;
+
+ @ApiModelProperty("证件类型(个人为身份证/企业为营业执照)")
+ private String certificateType;
+
+ @ApiModelProperty("证件号码(个人为身份证号/企业为统一社会信用代码)")
+ private String IDNumber;
+
+ @ApiModelProperty("证件有效期")
+ private String endDate;
+
+ @ApiModelProperty("行政区划代码(省)")
+ private String address_province;
+
+ @ApiModelProperty("行政区划代码(市)")
+ private String address_city;
+
+ @ApiModelProperty("行政区划代码(县)")
+ private String address_county;
+
+ @ApiModelProperty("省")
+ private String province;
+
+ @ApiModelProperty("市")
+ private String city;
+
+ @ApiModelProperty("县")
+ private String county;
+
+ @ApiModelProperty("详细地址")
+ private String address;
+
+ @ApiModelProperty("邮编")
+ private String zipCode;
+
+ @ApiModelProperty("电子邮箱")
+ private String e_mail;
+
+ @ApiModelProperty("联系人")
+ private String contacts;
+
+ @ApiModelProperty("联系电话")
+ private String mobile;
+
+ @ApiModelProperty("紧急联系电话")
+ private String emergencyContact;
+
+ @ApiModelProperty("紧急联系电话")
+ private String emergencyMobile;
+
+ @ApiModelProperty("微信号码")
+ private String weixin;
+
+ @ApiModelProperty("业务人员sid")
+ private String staffSid;
+
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid;
+
+ @ApiModelProperty("创建部门sid")
+ private String useOrgSid;
+
+ @ApiModelProperty("性别")
+ private String sex;
+
+ @ApiModelProperty("性别key")
+ private String sexKey;
+
+ @ApiModelProperty("生日")
+ private String birthday;
+
+ @ApiModelProperty("所在公司名称")
+ private String companyName;
+
+ @ApiModelProperty("跟进状态key")
+ private String follow_state_key;
+
+ @ApiModelProperty("跟进状态")
+ private String follow_state;
+
+ @ApiModelProperty("是否开启提醒key(1开启,0不开启)")
+ private String isOnRemindkey;
+
+ @ApiModelProperty("是否开启提醒(1开启,0不开启)")
+ private String isOnRemind;
+
+ @ApiModelProperty("提醒日期")
+ private String remind_day;
+
+ @ApiModelProperty("提醒备注")
+ private String remind_remark;
+
+ @ApiModelProperty("客户头像")
+ private String customerPhoto;
+
+ @ApiModelProperty("见面方式key")
+ private String visitWayKey;
+
+ @ApiModelProperty("见面方式(到店/电话/拜访)")
+ private String visitWay;
+
+ @ApiModelProperty("证件地址")
+ private String certificateAddress;
+
+ @ApiModelProperty("是否为定点企业(1是0否)")
+ private Integer isDesignatedEnterprise;
+
+ @ApiModelProperty("定点企业备案有效期")
+ private Date filingIndate;
}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDto.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDto.java
index 7cab759339..a4164ce762 100644
--- a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDto.java
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDto.java
@@ -32,6 +32,9 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import javax.validation.constraints.NotBlank;
+import java.util.ArrayList;
+
/**
* Project: crm(crm)
* File: CrmCustomerDto.java
@@ -49,25 +52,123 @@ import lombok.Data;
@ApiModel(value = "客户 数据传输对象", description = "客户 数据传输对象")
public class CrmCustomerDto implements Dto {
- private String sid; // sid
-
- @ApiModelProperty("客户名称")
- private String name; // 客户名称
- @ApiModelProperty("客户编码")
- private String customerNo; // 客户编码
- @ApiModelProperty("联系电话")
- private String mobile; // 联系电话
- @ApiModelProperty("客户类型")
- private String customerTypeKey; // 客户类型
- @ApiModelProperty("客户类型(个人、企业)")
- private String customerType; // 客户类型(个人、企业)
- @ApiModelProperty("所在单位sid")
- private String orgSid; // 所在单位sid
- @ApiModelProperty("所在单位")
- private String orgName; // 所在单位
- @ApiModelProperty("使用组织sid")
- private String useOrgSid; // 使用组织sid
- @ApiModelProperty("创建组织sid")
- private String createOrgSid; // 创建组织sid
-
-}
\ No newline at end of file
+ private static final long serialVersionUID = 793474187074718535L;
+
+ @ApiModelProperty(value = "当前登录用户的sid")
+ private String userSid;
+
+ @ApiModelProperty(value = "客户类型(1个人/2企业)", required = true)
+ @NotBlank(message = "客户类型为必选项")
+ private String customerType;
+
+ @ApiModelProperty(value = "客户类型key", required = true)
+ @NotBlank(message = "客户类型为必选项")
+ private String customerTypeKey;
+
+ @ApiModelProperty(value = "见面方式key", required = true)
+ @NotBlank(message = "见面方式为必选项")
+ private String visitWayKey;
+
+ @ApiModelProperty(value = "见面方式(到店/电话/拜访)", required = true)
+ @NotBlank(message = "见面方式为必选项")
+ private String visitWay;
+
+ @ApiModelProperty(value = "客户名称", required = true)
+ @NotBlank(message = "客户名称为必填项")
+ private String name;
+
+ @ApiModelProperty("联系电话")
+ @NotBlank(message = "联系电话为必填项")
+ private String mobile;
+
+ @ApiModelProperty("微信号码")
+ private String weixin;
+
+ @ApiModelProperty("公司名称:个人客户时显示")
+ private String companyName;
+
+ @ApiModelProperty("行政区划代码(省)")
+ private String address_province;
+
+ @ApiModelProperty("行政区划代码(市)")
+ private String address_city;
+ @ApiModelProperty("行政区划代码(县)")
+ private String address_county;
+ @ApiModelProperty("客户地址:省")
+ private String province;
+ @ApiModelProperty("客户地址:市")
+ private String city;
+ @ApiModelProperty("客户地址:县")
+ private String county;
+ @ApiModelProperty("客户地址:详细地址")
+ private String address;
+
+ @ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)")
+ private String level;
+ @ApiModelProperty("客户级别key")
+ private String levelKey;
+ @ApiModelProperty("是否开启提醒(1开启,0不开启)")
+ private String isOnRemindkey;
+ @ApiModelProperty("是否开启提醒(1开启,0不开启)")
+ private String isOnRemind;
+ @ApiModelProperty("提醒日期")
+ private String remind_day;
+ @ApiModelProperty("提醒备注")
+ private String remind_remark;
+ //更多信息
+ @ApiModelProperty("客户生日:个人客户时显示")
+ private String birthday;
+ @ApiModelProperty("性别:个人客户时显示")
+ private String sex;
+ @ApiModelProperty("性别key:个人客户时")
+ private String sexKey;
+ @ApiModelProperty("证件类型key")
+ private String certificateTypeKey;
+ @ApiModelProperty("证件类型(个人为身份证/企业为营业执照)")
+ private String certificateType;
+ @ApiModelProperty("证件号码(个人为身份证号/企业为统一社会信用代码)")
+ private String IDNumber;
+ @ApiModelProperty("证件有效期")
+ private String endDate;
+ @ApiModelProperty("电子邮箱")
+ private String e_mail;
+ @ApiModelProperty(value = "联系人")
+ private String contacts;
+ @ApiModelProperty("紧急联系人")
+ private String emergencyContact;
+
+ @ApiModelProperty("紧急联系电话")
+ private String emergencyMobile;
+
+ @ApiModelProperty("客户来源(公司资源/自主开发/交接客户/转介绍客户/集团内销)")
+ private String source;
+
+ @ApiModelProperty("客户来源key")
+ private String sourceKey;
+ @ApiModelProperty("客户分类(个人:司机/个体老板/其他。企业:企业型客户/一级经销商/二级经销商/终端物流客户)")
+ private String customerClass;
+ @ApiModelProperty("客户分类key")
+ private String customerClassKey;
+ @ApiModelProperty(value = "备注")
+ private String remarks;
+ @ApiModelProperty("业务人员sid")
+ private String staffSid;
+
+// //运营信息
+// @ApiModelProperty(value = "运营信息")
+// private CrmBusinessDto crmBusinessDto = new CrmBusinessDto();
+// //见证材料集合
+// @ApiModelProperty(value = "见证材料的集合,编辑保存时无此字段")
+// private List crmVisitAppendixDtoList = new ArrayList<>();
+
+
+ private String orgPath;
+ private String useOrgSid;
+ private String customerOrgSid;
+ private String customerOrgName;
+
+ private String vinNo;
+ private String vehState;
+ private String saleOrgName;
+ private String saleDate;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.java
index f40f42b8d4..7131f5d14d 100644
--- a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.java
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.java
@@ -54,15 +54,19 @@ public interface CrmCustomerMapper extends BaseMapper {
//@Update("update crm_customer set name=#{msg} where id=#{id}")
//IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
-
+
IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
-
+
List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw);
-
+
@Select("select * from crm_customer")
List selectListVo();
List customerListPage(@Param(Constants.WRAPPER) QueryWrapper qw);
List customerList();
-}
\ No newline at end of file
+
+ CrmCustomer selectByCustomerNo(String customerNo);
+
+ IPage asListPage(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw);
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.xml b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.xml
index f79bee4934..a162f44e70 100644
--- a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.xml
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.xml
@@ -31,4 +31,30 @@
useOrgSid
FROM crm_customer
-
\ No newline at end of file
+
+
+
+
+
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerService.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerService.java
index 6a4144df8f..f308daaa26 100644
--- a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerService.java
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerService.java
@@ -26,11 +26,30 @@
package com.yxt.crm.biz.crmcustomer;
import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.common.base.utils.HanZiConverterPinYin;
+import com.yxt.common.base.utils.HttpStatusEnum;
+import com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrg;
+import com.yxt.crm.feign.anruicrm.crmcustomertemp.CrmCustomerTemp;
+import com.yxt.crm.feign.anruicrm.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.crm.feign.as.ascustomervehicle.AsCustomerCrmVehVo;
+import com.yxt.crm.feign.as.ascustomervehicle.AsCustomerVehicleDto;
import com.yxt.crm.feign.as.ascustomervehicle.AsCustomerVehicleFeign;
+import com.yxt.crm.feign.base.basevehicleoutapply.BaseVehicleOutApplyFeign;
+import com.yxt.crm.feign.bus.bussalesorder.BusSalesOrder;
+import com.yxt.crm.feign.bus.bussalesorder.BusSalesOrderFeign;
+import com.yxt.crm.feign.portal.dictcommon.DictCommonFeign;
+import com.yxt.crm.feign.portal.dictcommon.DictCommonType;
+import com.yxt.crm.feign.portal.privilege.PrivilegeQuery;
+import com.yxt.crm.feign.portal.sysorganization.SysOrganizationFeign;
+import com.yxt.crm.feign.portal.sysorganization.SysOrganizationVo;
+import com.yxt.crm.feign.portal.sysstafforg.SysStaffOrg;
import com.yxt.crm.feign.portal.sysstafforg.SysStaffOrgFeign;
+import com.yxt.crm.feign.portal.sysuser.SysUserDto;
+import com.yxt.crm.feign.portal.sysuser.SysUserFeign;
+import com.yxt.crm.feign.portal.sysuser.SysUserVo;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@@ -38,6 +57,7 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -64,10 +84,22 @@ import java.util.stream.Collectors;
@Service
public class CrmCustomerService extends MybatisBaseService {
+ @Autowired
+ private BusSalesOrderFeign busSalesOrderFeign;
+ @Autowired
+ private CrmCustomerTempFeign crmCustomerTempFeign;
+ @Autowired
+ private BaseVehicleOutApplyFeign baseVehicleOutApplyFeign;
+ @Autowired
+ private DictCommonFeign dictCommonFeign;
@Resource
private AsCustomerVehicleFeign asCustomerVehicleFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
+ @Autowired
+ private SysUserFeign sysUserFeign;
+ @Autowired
+ private SysOrganizationFeign sysOrganizationFeign;
private QueryWrapper createQueryWrapper(CrmCustomerQuery query) {
// todo: 这里根据具体业务调整查询条件
@@ -85,14 +117,7 @@ public class CrmCustomerService extends MybatisBaseService asListPage(PagerQuery pq) {
+ AsCustomerListQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ PrivilegeQuery privilegeQuery = new PrivilegeQuery();
+ privilegeQuery.setOrgPath(query.getOrgPath());
+ privilegeQuery.setMenuUrl(query.getMenuUrl());
+ privilegeQuery.setUserSid(query.getUserSid());
+ ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
+ if (StringUtils.isNotBlank(query.getMenuUrl())) {
+ if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
+ //数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
+ String orgSidPath = query.getOrgPath();
+ orgSidPath = orgSidPath + "/";
+ int i1 = orgSidPath.indexOf("/");
+ int i2 = orgSidPath.indexOf("/", i1 + 1);
+ int i3 = orgSidPath.indexOf("/", i2 + 1);
+ int i4 = orgSidPath.indexOf("/", i3 + 1);
+ String orgLevelKey = defaultIdReltBean.getData();
+ if ("1".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i1);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("2".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i2);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("3".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i3);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("4".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i4);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("5".equals(orgLevelKey)) {
+ qw.eq("a.createBySid", query.getUserSid());
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ }
+ if (StringUtils.isNotBlank(query.getName())) {
+ qw.like("a.name", query.getName());
+ }
+ if (StringUtils.isNotBlank(query.getCustomerTypeKey())) {
+ qw.eq("a.customerTypeKey", query.getCustomerTypeKey());
+ }
+ if (StringUtils.isNotBlank(query.getMobile())) {
+ qw.like("a.mobile", query.getMobile());
+ }
+ if (StringUtils.isNotBlank(query.getLevelKey())) {
+ qw.like("a.levelKey", query.getLevelKey());
+ }
+ if (StringUtils.isNotBlank(query.getIsDesignatedEnterprise())) {
+ qw.eq("a.isDesignatedEnterprise", query.getIsDesignatedEnterprise());
+ }
+ String remindStartDay = query.getRemindStartDay();
+ String remindEndDay = query.getRemindEndDay();
+ qw.apply(StringUtils.isNotBlank(remindStartDay), "date_format (a.remind_day,'%Y-%m-%d') >= date_format('" + remindStartDay + "','%Y-%m-%d')").
+ apply(StringUtils.isNotBlank(remindEndDay), "date_format (a.remind_day,'%Y-%m-%d') <= date_format('" + remindEndDay + "','%Y-%m-%d')"
+ );
+ qw.apply("a.useOrgSid IS NOT NULL and a.useOrgSid != ''");
+ qw.eq("a.isDelete", 0);
+ qw.orderByDesc("a.createTime");
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.asListPage(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+
+ /**
+ * pc端潜在客户新增保存
+ *
+ * @param dto 数据传输对象
+ * state值:211:为当前用户的客户
+ * @return
+ */
+ public ResultBean saveCrmCustomer(CrmCustomerDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ String sid = "";
+ if (dto.getVehState().equals("0")) {
+ CrmCustomer crmCustomerTemp = new CrmCustomer();
+ BeanUtil.copyProperties(dto,crmCustomerTemp);
+ String orgSid = "";
+ if (StringUtils.isNotBlank(dto.getOrgPath())) {
+ orgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData();
+ } else {
+ orgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
+ }
+ crmCustomerTemp.setCreateOrgSid(orgSid);
+ ResultBean resultBean = dictCommonFeign.getFirstDictKeyByType(DictCommonType.FOLLOW_STATE, "0");
+ if (resultBean.getSuccess() && resultBean.getData() != null) {
+ String key = resultBean.getData().toString();
+ crmCustomerTemp.setFollow_state_key(key);
+ crmCustomerTemp.setFollow_state(dictCommonFeign.selectBykey(key, DictCommonType.FOLLOW_STATE).getData().getDictValue());
+ }
+ //客户编码
+ String customerNo = getPrefix(crmCustomerTemp.getStaffSid(), crmCustomerTemp.getName(), crmCustomerTemp.getMobile());
+ crmCustomerTemp.setCustomerNo(customerNo);
+ if (StringUtils.isNotBlank(dto.getUseOrgSid())) {
+ crmCustomerTemp.setUseOrgSid(dto.getUseOrgSid());
+ }
+ save(crmCustomerTemp);
+ sid = crmCustomerTemp.getSid();
+ AsCustomerVehicleDto v = new AsCustomerVehicleDto();
+ if (StringUtils.isNotBlank(dto.getVinNo())) {
+ v.setVinNo(dto.getVinNo());
+ }
+ v.setCustomerSid(sid);
+ asCustomerVehicleFeign.save(v);
+
+ } else {
+ //手机号
+ String mobile = dto.getMobile();
+ //微信号
+ String weixin = dto.getWeixin();
+ if ("1".equals(dto.getCustomerType())) {
+ /* if (!mobile.matches("^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$")) {
+ return rb.setMsg("手机号格式不正确");
+ }*/
+ /*if (StringUtils.isNotBlank(dto.getIDNumber())) {
+ if (!weixin.matches("^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$")) {
+ return rb.setMsg("证件号码格式不正确");
+ }
+ }*/
+ } else {
+ /*if (StringUtils.isNotBlank(dto.getIDNumber())) {
+ if (dto.getIDNumber().length() != 9 && dto.getIDNumber().length() != 18) {
+ return rb.setMsg("证件号码格式不正确");
+ }
+ }*/
+ }
+ if (StringUtils.isNotBlank(weixin)) {
+ if (!weixin.matches("^[a-zA-Z]{1}[-_a-zA-Z0-9]{5,19}$") && !weixin.matches("^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$")) {
+ return rb.setMsg("微信号格式不正确");
+ }
+ }
+ String email = dto.getE_mail();
+ if (StringUtils.isNotBlank(email)) {
+ if (!email.matches("^[0-9A-Za-z][\\.-_0-9A-Za-z]*@[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)+$")) {
+ return rb.setMsg("邮箱格式不正确");
+ }
+ }
+ String emergencyMobile = dto.getEmergencyMobile();
+ if (StringUtils.isNotBlank(emergencyMobile)) {
+ if (!emergencyMobile.matches("^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$")) {
+ return rb.setMsg("紧急联系电话格式不正确");
+ }
+ }
+ //根据用户sid获取业务员信息
+ SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getUserSid()).getData();
+ if (sysUserVo == null) {
+ return rb.setMsg("该用户不存在");
+ }
+ String staffSid = sysUserVo.getStaffSid();
+ String name = dto.getName();
+ //生成客户编码:分公司简称+部门编码+手机号+姓名首字母大写拼写
+ String customerNo = getPrefix(staffSid, name, mobile);
+ //查询该客户编码是否存在
+ CrmCustomer crmCustomerTemp = baseMapper.selectByCustomerNo(customerNo);
+ if (crmCustomerTemp != null) {//存在
+ //查询是否是当前用户客户
+ if (!dto.getUserSid().equals(crmCustomerTemp.getCreateBySid())) {
+ String staffName = "";
+ SysUserVo sysCrmVo = sysUserFeign.fetchBySid(crmCustomerTemp.getCreateBySid()).getData();
+ if (sysCrmVo != null) {
+ staffName = sysCrmVo.getName();
+ return rb.setCode(HttpStatusEnum.CRM_ERROR_NOTBELONG.getCode()).setMsg("为" + staffName + "销售专员客户");
+ }
+ } else {
+ // 返回潜在客户sid,跳转维护信息页面
+ return rb.setCode(HttpStatusEnum.CRM_ERROR_EXIST.getCode()).setMsg(HttpStatusEnum.CRM_ERROR_EXIST.getMsg()).setData(crmCustomerTemp.getSid());
+ }
+ } else {//不存在
+ // 新增
+ CrmCustomer customerTemp = saveCrmCustomerTemp(dto, sysUserVo);
+ sid = customerTemp.getSid();
+ }
+ }
+
+ return rb.success().setData(sid);
+ }
+
+ /**
+ * 新增潜在客户信息及运营信息并增加跟进记录
+ *
+ * @param dto 潜在客户信息数据传输对象
+ * @param sysUserInfoVo 当前登录者的组织信息
+ * @return
+ */
+ private CrmCustomer saveCrmCustomerTemp(CrmCustomerDto dto, SysUserVo sysUserInfoVo) {
+ CrmCustomer crmCustomerTemp = new CrmCustomer();
+ dto.fillEntity(crmCustomerTemp);
+ crmCustomerTemp.setCreateBySid(dto.getUserSid());
+ crmCustomerTemp.setStaffSid(sysUserInfoVo.getStaffSid());
+ String orgSid = "";
+ if (StringUtils.isNotBlank(dto.getOrgPath())) {
+ orgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData();
+ } else {
+ orgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
+ }
+ crmCustomerTemp.setCreateOrgSid(orgSid);
+ ResultBean resultBean = dictCommonFeign.getFirstDictKeyByType(DictCommonType.FOLLOW_STATE, "0");
+ if (resultBean.getSuccess() && resultBean.getData() != null) {
+ String key = resultBean.getData().toString();
+ crmCustomerTemp.setFollow_state_key(key);
+ crmCustomerTemp.setFollow_state(dictCommonFeign.selectBykey(key, DictCommonType.FOLLOW_STATE).getData().getDictValue());
+ }
+ //客户编码
+ String customerNo = getPrefix(crmCustomerTemp.getStaffSid(), crmCustomerTemp.getName(), crmCustomerTemp.getMobile());
+ crmCustomerTemp.setCustomerNo(customerNo);
+ if (StringUtils.isNotBlank(dto.getUseOrgSid())) {
+ crmCustomerTemp.setUseOrgSid(dto.getUseOrgSid());
+ }
+ save(crmCustomerTemp);
+ //创建客户账号中
+ SysUserDto sysUserDto = new SysUserDto();
+ sysUserDto.setMobile(dto.getMobile());
+ sysUserDto.setUserType(2);
+ sysUserFeign.saveCustUser(sysUserDto);
+ return crmCustomerTemp;
+
+ }
+
+
+ public String getPrefix(String staffSid, String name, String mobile) {
+ String customerNoPrefix = "";
+ //查询业务员的分公司简称和部门编码
+ ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(staffSid);
+ if (staffOrgResultBean.getSuccess()) {
+ SysStaffOrg sysStaffOrg = staffOrgResultBean.getData();
+ if (sysStaffOrg != null) {
+ ResultBean resultBean1 = sysStaffOrgFeign.getOrgSidByPath(sysStaffOrg.getOrgSidPath());
+ if (resultBean1.getSuccess()) {
+ String osid = resultBean1.getData();
+ if (StringUtils.isNotBlank(osid)) {
+ ResultBean sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(osid);
+ if (sysOrganizationVoResultBean.getSuccess()) {
+ SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
+ customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgAbbre();
+ }
+ }
+ }
+ String orgSid1 = sysStaffOrg.getOrgSid();
+ ResultBean sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(orgSid1);
+ if (sysOrganizationVoResultBean.getSuccess()) {
+ SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
+ customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgCode();
+ }
+ }
+ }
+ customerNoPrefix = customerNoPrefix + mobile + HanZiConverterPinYin.getPinYinFirst(name);
+ System.out.println(customerNoPrefix.length() > 30 ? customerNoPrefix.substring(0, 30) : customerNoPrefix);
+ return customerNoPrefix.length() > 30 ? customerNoPrefix.substring(0, 30) : customerNoPrefix;
+ }
+
+ public CrmCustomerVo fetchAllBySid(String sid) {
+ CrmCustomerVo vo = new CrmCustomerVo();
+ CrmCustomer crmCustomerTemp = this.fetchBySid(sid);
+ BeanUtil.copyProperties(crmCustomerTemp, vo);
+ return vo;
+ }
+
+ /**
+ * 潜在客户的信息的编辑保存
+ *
+ * @param dto 数据传输对象
+ * @param sid 潜在客户的sid
+ * @return
+ */
+ public ResultBean updateCrmCustomer(CrmCustomerUpdateDto dto, String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ CrmCustomer customerTemp = fetchBySid(sid);
+ if (customerTemp == null) {
+ return rb.setMsg("该客户不存在");
+ }
+ //对比客户名称以及手机号是否变化
+ if (!customerTemp.getName().equals(dto.getName())) {
+ return rb.setMsg("客户名称不允许修改");
+ }
+ if (!customerTemp.getMobile().equals(dto.getMobile())) {
+ return rb.setMsg("客户手机号不允许修改");
+ }
+ BeanUtil.copyProperties(dto, customerTemp);
+ if (StringUtils.isNotBlank(dto.getUseOrgSid())) {
+ customerTemp.setUseOrgSid(dto.getUseOrgSid());
+ }
+ baseMapper.updateById(customerTemp);
+ return rb.success();
+ }
+
+ public CrmCustomerDto customerInit(CustomerInitQuery query) {
+ CrmCustomerDto vo = new CrmCustomerDto();
+ vo.setVehState("1");
+ if (StringUtils.isNotBlank(query.getVinNo())) {
+ String vinNo = query.getVinNo();
+ String orderSid = baseVehicleOutApplyFeign.selectSidByVinNo(vinNo).getData();
+ if (StringUtils.isNotBlank(orderSid)) {
+ BusSalesOrder order = busSalesOrderFeign.fetchBySid(orderSid).getData();
+ if (null != order) {
+ if (StringUtils.isNotBlank(order.getCustomerSid())) {
+ String customerSid = order.getCustomerSid();
+ CrmCustomerTemp customerTemp = crmCustomerTempFeign.fetchEntity(customerSid).getData();
+ if (null != customerTemp) {
+ BeanUtils.copyProperties(customerTemp,vo,"isDesignatedEnterprise","filingIndate");
+ vo.setVehState("0");
+ vo.setVinNo(vinNo);
+ vo.setSaleOrgName(order.getUseOrgName());
+ vo.setSaleDate(DateUtil.formatDate(order.getCreateDate()));
+ }
+ }
+ }
+ }
+ }
+ vo.setUserSid(query.getUserSid());
+ vo.setUseOrgSid(query.getUseOrgSid());
+ vo.setOrgPath(query.getOrgPath());
+ vo.setVisitWay(query.getVisitWay());
+ vo.setVisitWayKey(query.getVisitWayKey());
+ vo.setCustomerType(query.getCustomerType());
+ vo.setCustomerTypeKey(query.getCustomerTypeKey());
+ return vo;
+ }
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerUpdateDto.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerUpdateDto.java
new file mode 100644
index 0000000000..f48e600702
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerUpdateDto.java
@@ -0,0 +1,117 @@
+package com.yxt.crm.biz.crmcustomer;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Pattern;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2024/10/28 10:09
+ */
+@Data
+public class CrmCustomerUpdateDto {
+
+ private static final long serialVersionUID = -1744083007571476652L;
+
+ @ApiModelProperty(value = "当前登录用户的sid")
+ private String userSid;
+
+ @ApiModelProperty(value = "客户类型(个人/企业)", required = true)
+ @NotBlank(message = "客户类型为必选项")
+ private String customerType;
+
+ @ApiModelProperty(value = "客户类型key", required = true)
+ @NotBlank(message = "客户类型为必选项")
+ private String customerTypeKey;
+
+ @ApiModelProperty(value = "见面方式key", required = true)
+ @NotBlank(message = "见面方式为必选项")
+ private String visitWayKey;
+
+ @ApiModelProperty(value = "见面方式(到店/电话/拜访)", required = true)
+ @NotBlank(message = "见面方式为必选项")
+ private String visitWay;
+
+ @ApiModelProperty(value = "客户名称", required = true)
+ @NotBlank(message = "客户名称为必填项")
+ private String name;
+
+ @ApiModelProperty("联系电话")
+ @NotBlank(message = "联系电话为必填项")
+ @Pattern(regexp = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$", message = "手机号码格式不正确")
+ private String mobile;
+
+ @ApiModelProperty("微信号码")
+ private String weixin;
+
+ @ApiModelProperty("公司名称:个人客户时显示")
+ private String companyName;
+
+ @ApiModelProperty("行政区划代码(省)")
+ private String address_province;
+
+ @ApiModelProperty("行政区划代码(市)")
+ private String address_city;
+ @ApiModelProperty("行政区划代码(县)")
+ private String address_county;
+ @ApiModelProperty("客户地址:省")
+ private String province;
+ @ApiModelProperty("客户地址:市")
+ private String city;
+ @ApiModelProperty("客户地址:县")
+ private String county;
+ @ApiModelProperty("客户地址:详细地址")
+ private String address;
+
+ @ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)")
+ private String level;
+ @ApiModelProperty("客户级别key")
+ private String levelKey;
+ //更多信息
+ @ApiModelProperty("客户生日:个人客户时显示")
+ private String birthday;
+ @ApiModelProperty("性别:个人客户时显示")
+ private String sex;
+ @ApiModelProperty("性别key:个人客户时")
+ private String sexKey;
+ @ApiModelProperty("证件类型key")
+ private String certificateTypeKey;
+ @ApiModelProperty("证件类型(个人为身份证/企业为营业执照)")
+ private String certificateType;
+ @ApiModelProperty("证件号码(个人为身份证号/企业为统一社会信用代码)")
+ private String IDNumber;
+ @ApiModelProperty("证件有效期")
+ private String endDate;
+ @ApiModelProperty("电子邮箱")
+ private String e_mail;
+ @ApiModelProperty(value = "联系人")
+ private String contacts;
+ @ApiModelProperty("紧急联系人")
+ private String emergencyContact;
+
+ @ApiModelProperty("紧急联系电话")
+ private String emergencyMobile;
+
+ @ApiModelProperty("客户来源(公司资源/自主开发/交接客户/转介绍客户/集团内销)")
+ private String source;
+
+ @ApiModelProperty("客户来源key")
+ private String sourceKey;
+ @ApiModelProperty("客户分类(个人:司机/个体老板/其他。企业:企业型客户/一级经销商/二级经销商/终端物流客户)")
+ private String customerClass;
+ @ApiModelProperty("客户分类key")
+ private String customerClassKey;
+ @ApiModelProperty(value = "备注")
+ private String remarks;
+
+ private String orgPath;
+ private String useOrgSid;
+ private String customerOrgSid;
+ private String customerOrgName;
+// //运营信息
+// @ApiModelProperty(value = "运营信息")
+// private CrmBusinessDto crmBusinessDto = new CrmBusinessDto();
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerVo.java
index 863ddda64e..88ece3ad77 100644
--- a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerVo.java
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerVo.java
@@ -26,12 +26,15 @@
package com.yxt.crm.biz.crmcustomer;
+import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.Date;
+
/**
* Project: crm(crm)
* File: CrmCustomerVo.java
@@ -49,25 +52,169 @@ import lombok.Data;
@ApiModel(value = "客户 视图数据对象", description = "客户 视图数据对象")
public class CrmCustomerVo implements Vo {
- private String sid; // sid
-
- @ApiModelProperty("客户名称")
- private String name; // 客户名称
- @ApiModelProperty("客户编码")
- private String customerNo; // 客户编码
- @ApiModelProperty("联系电话")
- private String mobile; // 联系电话
- @ApiModelProperty("客户类型")
- private String customerTypeKey; // 客户类型
- @ApiModelProperty("客户类型(个人、企业)")
- private String customerType; // 客户类型(个人、企业)
- @ApiModelProperty("所在单位sid")
- private String orgSid; // 所在单位sid
- @ApiModelProperty("所在单位")
- private String orgName; // 所在单位
- @ApiModelProperty("使用组织sid")
- private String useOrgSid; // 使用组织sid
- @ApiModelProperty("创建组织sid")
- private String createOrgSid; // 创建组织sid
+ @ApiModelProperty("潜在客户sid")
+ private String sid;
+
+ @ApiModelProperty("分公司名称")
+ private String createOrgName;
+
+ @ApiModelProperty("业务员名称")
+ private String staffName;
+
+ @ApiModelProperty("部门名称")
+ private String deptName;
+
+ @ApiModelProperty("创建人sid")
+ private String createBySid;
+
+ @ApiModelProperty("登记日期")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ private Date createTime;
+
+ @ApiModelProperty("客户编号(部门编码+客户类型(1位,0个人,1企业)+部门内部流水号(6位))")
+ private String customerNo;
+
+ @ApiModelProperty("客户类型(自然人/法人)")
+ private String customerType;
+
+ @ApiModelProperty("客户类型key")
+ private String customerTypeKey;
+
+ @ApiModelProperty("客户分类(个人:司机/个体老板/其他。企业:企业型客户/一级经销商/二级经销商/终端物流客户)")
+ private String customerClass;
+
+ @ApiModelProperty("客户分类key")
+ private String customerClassKey;
+
+ @ApiModelProperty("客户来源(公司资源/自主开发/交接客户/转介绍客户/集团内销)")
+ private String source;
+
+ @ApiModelProperty("客户来源key")
+ private String sourceKey;
+
+ @ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)")
+ private String level;
+
+ @ApiModelProperty("客户级别key")
+ private String levelKey;
+
+ @ApiModelProperty("客户名称")
+ private String name;
+
+ @ApiModelProperty("证件类型key")
+ private String certificateTypeKey;
+
+ @ApiModelProperty("证件类型(个人为身份证/企业为营业执照)")
+ private String certificateType;
+
+ @ApiModelProperty("证件号码(个人为身份证号/企业为统一社会信用代码)")
+ private String IDNumber;
+
+ @ApiModelProperty("证件有效期")
+ private String endDate;
+
+ @ApiModelProperty("行政区划代码(省)")
+ private String address_province;
+
+ @ApiModelProperty("行政区划代码(市)")
+ private String address_city;
+
+ @ApiModelProperty("行政区划代码(县)")
+ private String address_county;
+
+ @ApiModelProperty("省")
+ private String province;
+
+ @ApiModelProperty("市")
+ private String city;
+
+ @ApiModelProperty("县")
+ private String county;
+
+ @ApiModelProperty("客户地址")
+ private String address;
+
+ @ApiModelProperty("邮编")
+ private String zipCode;
+
+ @ApiModelProperty("电子邮箱")
+ private String e_mail;
+
+ @ApiModelProperty("联系人")
+ private String contacts;
+
+ @ApiModelProperty("联系电话")
+ private String mobile;
+
+ @ApiModelProperty("紧急联系电话")
+ private String emergencyContact;
+
+ @ApiModelProperty("紧急联系电话")
+ private String emergencyMobile;
+
+ @ApiModelProperty("微信号码")
+ private String weixin;
+
+ @ApiModelProperty("业务人员sid")
+ private String staffSid;
+
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid;
+
+ @ApiModelProperty("性别")
+ private String sex;
+
+ @ApiModelProperty("性别key")
+ private String sexKey;
+
+ @ApiModelProperty("客户生日")
+ private String birthday;
+
+ @ApiModelProperty("所在公司名称")
+ private String companyName;
+
+ @ApiModelProperty("跟进状态key")
+ private String follow_state_key;
+
+ @ApiModelProperty("跟进状态")
+ private String follow_state;
+
+ @ApiModelProperty("是否开启提醒key(1开启,0不开启)")
+ private String isOnRemindkey;
+
+ @ApiModelProperty("是否开启提醒(1开启,0不开启)")
+ private String isOnRemind;
+
+ @ApiModelProperty("提醒日期")
+ private String remind_day;
+
+ @ApiModelProperty("提醒备注")
+ private String remind_remark;
+
+ @ApiModelProperty("客户头像")
+ private String customerPhoto;
+
+ @ApiModelProperty("见面方式key")
+ private String visitWayKey;
+
+ @ApiModelProperty("见面方式(到店/电话/拜访)")
+ private String visitWay;
+
+ @ApiModelProperty("备注")
+ private String remarks;
+
+ @ApiModelProperty("意向车型数量")
+ private String yxcounts;
+
+ @ApiModelProperty("跟进记录数量")
+ private String gjcounts;
+
+// @ApiModelProperty("客户运营信息")
+// private CrmBusinessVo crmBusinessVo;
+
+ private String useOrgSid;
+ private String customerOrgSid;
+ private String customerOrgName;
+
}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerInitQuery.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerInitQuery.java
new file mode 100644
index 0000000000..0be3e12914
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerInitQuery.java
@@ -0,0 +1,34 @@
+package com.yxt.crm.biz.crmcustomer;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2024/10/28 11:46
+ */
+@Data
+public class CustomerInitQuery {
+ private String vinNo;
+ private String userSid;
+ private String orgPath;
+ private String useOrgSid;
+ @ApiModelProperty(value = "客户类型(1个人/2企业)", required = true)
+ @NotBlank(message = "客户类型为必选项")
+ private String customerType;
+
+ @ApiModelProperty(value = "客户类型key", required = true)
+ @NotBlank(message = "客户类型为必选项")
+ private String customerTypeKey;
+
+ @ApiModelProperty(value = "见面方式key", required = true)
+ @NotBlank(message = "见面方式为必选项")
+ private String visitWayKey;
+
+ @ApiModelProperty(value = "见面方式(到店/电话/拜访)", required = true)
+ @NotBlank(message = "见面方式为必选项")
+ private String visitWay;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeople.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeople.java
new file mode 100644
index 0000000000..52a30453be
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeople.java
@@ -0,0 +1,60 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmdockingpeople;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-crm(crm)
+ * File: CrmDockingPeople.java
+ * Class: com.yxt.anrui.crm.api.crmdockingpeople.CrmDockingPeople
+ * Description: 定点企业对接人信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 17:21:58
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业对接人信息", description = "定点企业对接人信息")
+@TableName("crm_docking_people")
+public class CrmDockingPeople extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("对接人")
+ private String name; // 对接人
+ @ApiModelProperty("手机号码")
+ private String mobile; // 手机号码
+ @ApiModelProperty("客户sid")
+ private String customerSid; // 客户sid
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleDetailsVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleDetailsVo.java
new file mode 100644
index 0000000000..c1c186a41f
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleDetailsVo.java
@@ -0,0 +1,60 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmdockingpeople;
+
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-crm(crm)
+ * File: CrmDockingPeopleVo.java
+ * Class: com.yxt.anrui.crm.api.crmdockingpeople.CrmDockingPeopleVo
+ * Description: 定点企业对接人信息 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 17:21:58
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业对接人信息 视图数据详情", description = "定点企业对接人信息 视图数据详情")
+public class CrmDockingPeopleDetailsVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("对接人")
+ private String name; // 对接人
+ @ApiModelProperty("手机号码")
+ private String mobile; // 手机号码
+ @ApiModelProperty("客户sid")
+ private String customerSid; // 客户sid
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleDto.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleDto.java
new file mode 100644
index 0000000000..d85bc962cc
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleDto.java
@@ -0,0 +1,60 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmdockingpeople;
+
+
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-crm(crm)
+ * File: CrmDockingPeopleDto.java
+ * Class: com.yxt.anrui.crm.api.crmdockingpeople.CrmDockingPeopleDto
+ * Description: 定点企业对接人信息 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 17:21:58
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业对接人信息 数据传输对象", description = "定点企业对接人信息 数据传输对象")
+public class CrmDockingPeopleDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("对接人")
+ private String name; // 对接人
+ @ApiModelProperty("手机号码")
+ private String mobile; // 手机号码
+ @ApiModelProperty("客户sid")
+ private String customerSid; // 客户sid
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleMapper.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleMapper.java
new file mode 100644
index 0000000000..79be95008f
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleMapper.java
@@ -0,0 +1,69 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmdockingpeople;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * Project: anrui-crm(crm)
+ * File: CrmDockingPeopleMapper.java
+ * Class: com.yxt.anrui.crm.biz.crmdockingpeople.CrmDockingPeopleMapper
+ * Description: 定点企业对接人信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 17:21:58
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface CrmDockingPeopleMapper extends BaseMapper {
+
+ //@Update("update crm_docking_people set name=#{msg} where id=#{id}")
+ //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+ List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw);
+
+ @Select("select * from crm_docking_people")
+ List selectListVo();
+
+ List getListByCustomerSid(@Param("customerSid") String customerSid);
+
+ @Delete("delete from crm_docking_people where customerSid = #{customerSid}")
+ void delByCustomerSid(String customerSid);
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleMapper.xml b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleMapper.xml
new file mode 100644
index 0000000000..5aa3b35370
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleMapper.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleQuery.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleQuery.java
new file mode 100644
index 0000000000..2ceb529e42
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleQuery.java
@@ -0,0 +1,58 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmdockingpeople;
+
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-crm(crm)
+ * File: CrmDockingPeopleQuery.java
+ * Class: com.yxt.anrui.crm.api.crmdockingpeople.CrmDockingPeopleQuery
+ * Description: 定点企业对接人信息 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 17:21:58
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业对接人信息 查询条件", description = "定点企业对接人信息 查询条件")
+public class CrmDockingPeopleQuery implements Query {
+
+ @ApiModelProperty("对接人")
+ private String name; // 对接人
+ @ApiModelProperty("手机号码")
+ private String mobile; // 手机号码
+ @ApiModelProperty("客户sid")
+ private String customerSid; // 客户sid
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleService.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleService.java
new file mode 100644
index 0000000000..e700016903
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleService.java
@@ -0,0 +1,132 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmdockingpeople;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * Project: anrui-crm(crm)
+ * File: CrmDockingPeopleService.java
+ * Class: com.yxt.anrui.crm.biz.crmdockingpeople.CrmDockingPeopleService
+ * Description: 定点企业对接人信息 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 17:21:58
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class CrmDockingPeopleService extends MybatisBaseService {
+ private QueryWrapper createQueryWrapper(CrmDockingPeopleQuery query) {
+ // todo: 这里根据具体业务调整查询条件
+ // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
+ QueryWrapper qw = new QueryWrapper<>();
+ return qw;
+ }
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ CrmDockingPeopleQuery query = pq.getParams();
+ QueryWrapper qw = createQueryWrapper(query);
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public void saveOrUpdateDto(CrmDockingPeopleDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ this.insertByDto(dto);
+ return;
+ }
+ this.updateByDto(dto);
+ }
+
+ public void insertByDto(CrmDockingPeopleDto dto){
+ CrmDockingPeople entity = new CrmDockingPeople();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.insert(entity);
+ }
+
+ public void updateByDto(CrmDockingPeopleDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ CrmDockingPeople entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public CrmDockingPeopleDetailsVo fetchDetailsVoBySid(String sid){
+ CrmDockingPeople entity = fetchBySid(sid);
+ CrmDockingPeopleDetailsVo vo = new CrmDockingPeopleDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ return vo;
+ }
+
+ public ResultBean disableState(String[] sid) {
+ ResultBean rb = ResultBean.fireFail();
+ for (String s : sid) {
+ CrmDockingPeople crmDockingPeople = fetchBySid(s);
+ crmDockingPeople.setIsEnable(0);
+ baseMapper.updateById(crmDockingPeople);
+ }
+ return rb.success();
+ }
+
+ public ResultBean enable(String[] sid) {
+ ResultBean rb = ResultBean.fireFail();
+ for (String s : sid) {
+ CrmDockingPeople crmDockingPeople = fetchBySid(s);
+ crmDockingPeople.setIsEnable(1);
+ baseMapper.updateById(crmDockingPeople);
+ }
+ return rb.success();
+ }
+
+ public List getListByCustomerSid(String customerSid) {
+ return baseMapper.getListByCustomerSid(customerSid);
+ }
+
+ public void delByCustomerSid(String customerSid) {
+ baseMapper.delByCustomerSid(customerSid);
+ }
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleVo.java
new file mode 100644
index 0000000000..340c685a1e
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/CrmDockingPeopleVo.java
@@ -0,0 +1,60 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmdockingpeople;
+
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-crm(crm)
+ * File: CrmDockingPeopleVo.java
+ * Class: com.yxt.anrui.crm.api.crmdockingpeople.CrmDockingPeopleVo
+ * Description: 定点企业对接人信息 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 17:21:58
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业对接人信息 视图数据对象", description = "定点企业对接人信息 视图数据对象")
+public class CrmDockingPeopleVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("对接人")
+ private String name; // 对接人
+ @ApiModelProperty("手机号码")
+ private String mobile; // 手机号码
+ @ApiModelProperty("客户sid")
+ private String customerSid; // 客户sid
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/PeopleList.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/PeopleList.java
new file mode 100644
index 0000000000..8f549b43ed
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmdockingpeople/PeopleList.java
@@ -0,0 +1,20 @@
+package com.yxt.crm.biz.crmdockingpeople;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2024/7/31 14:33
+ */
+@Data
+public class PeopleList {
+
+ private String sid;
+ @ApiModelProperty("对接人")
+ private String name; // 对接人
+ @ApiModelProperty("手机号码")
+ private String mobile; // 手机号码
+ private String remarks;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFile.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFile.java
new file mode 100644
index 0000000000..50113917e7
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFile.java
@@ -0,0 +1,158 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmfile;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Project: anrui-crm(客户信息)
+ * File: CrmFile.java
+ * Class: com.yxt.anrui.crm.api.crmfile.CrmFile
+ * Description: 客户资料表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-24 09:15:29
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@ApiModel(value = "客户资料表", description = "客户资料表")
+@TableName("crm_file")
+public class CrmFile extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+
+ @ApiModelProperty("文件名")
+ private String fileName; // 文件名
+ @ApiModelProperty("文件类型")
+ private String fileType; // 文件类型
+ @ApiModelProperty("上传人姓名")
+ private String name; // 上传人姓名
+ @ApiModelProperty("关联业务对象sid")
+ private String linkSid; // 关联业务对象sid
+ @ApiModelProperty("附件类型")
+ private String attachType; // 附件类型
+ @ApiModelProperty("文件大小")
+ private String fileSize; // 文件大小
+ @ApiModelProperty("文件的相对路径")
+ private String filePath; // 文件的相对路径
+
+ /**
+ * @return 文件名
+ */
+ public String getFileName(){
+ return fileName;
+ }
+
+ /**
+ * @param fileName 文件名 to set
+ */
+ public void setFileName(String fileName){
+ this.fileName = fileName;
+ }
+ /**
+ * @return 文件类型
+ */
+ public String getFileType(){
+ return fileType;
+ }
+
+ /**
+ * @param fileType 文件类型 to set
+ */
+ public void setFileType(String fileType){
+ this.fileType = fileType;
+ }
+ /**
+ * @return 上传人姓名
+ */
+ public String getName(){
+ return name;
+ }
+
+ /**
+ * @param name 上传人姓名 to set
+ */
+ public void setName(String name){
+ this.name = name;
+ }
+ /**
+ * @return 关联业务对象sid
+ */
+ public String getLinkSid(){
+ return linkSid;
+ }
+
+ /**
+ * @param linkSid 关联业务对象sid to set
+ */
+ public void setLinkSid(String linkSid){
+ this.linkSid = linkSid;
+ }
+ /**
+ * @return 附件类型
+ */
+ public String getAttachType(){
+ return attachType;
+ }
+
+ /**
+ * @param attachType 附件类型 to set
+ */
+ public void setAttachType(String attachType){
+ this.attachType = attachType;
+ }
+ /**
+ * @return 文件大小
+ */
+ public String getFileSize(){
+ return fileSize;
+ }
+
+ /**
+ * @param fileSize 文件大小 to set
+ */
+ public void setFileSize(String fileSize){
+ this.fileSize = fileSize;
+ }
+ /**
+ * @return 文件的相对路径
+ */
+ public String getFilePath(){
+ return filePath;
+ }
+
+ /**
+ * @param filePath 文件的相对路径 to set
+ */
+ public void setFilePath(String filePath){
+ this.filePath = filePath;
+ }
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileAttachTypeEnum.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileAttachTypeEnum.java
new file mode 100644
index 0000000000..75afc5f8a1
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileAttachTypeEnum.java
@@ -0,0 +1,37 @@
+package com.yxt.crm.biz.crmfile;
+
+/**
+ * 客户资料类型的枚举类
+ */
+public enum CrmFileAttachTypeEnum {
+
+ IDCARD("0001", "身份证"),
+ IDOFFRONT("0001_1", "身份证正面"),
+ IDOFBACK("0001_2", "身份证反面"),
+
+ ;
+
+ /**
+ * 附件类型
+ */
+ private final String attachType;
+
+ /**
+ * 代号
+ */
+ private final String mark;
+
+
+ CrmFileAttachTypeEnum(String attachType, String mark) {
+ this.attachType = attachType;
+ this.mark = mark;
+ }
+
+ public String getAttachType() {
+ return attachType;
+ }
+
+ public String getMark() {
+ return mark;
+ }
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileDetailsVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileDetailsVo.java
new file mode 100644
index 0000000000..c835ea2e64
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileDetailsVo.java
@@ -0,0 +1,63 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmfile;
+
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-crm(客户信息)
+ * File: CrmFileVo.java
+ * Class: com.yxt.anrui.crm.api.crmfile.CrmFileVo
+ * Description: 客户资料表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-24 09:15:29
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@ApiModel(value = "客户资料表 视图数据对象", description = "客户资料表 视图数据对象")
+@Data
+public class CrmFileDetailsVo implements Vo {
+
+ @ApiModelProperty("图片sid")
+ private String sid;
+ @ApiModelProperty("上传时间")
+ private String createTime;
+ @ApiModelProperty("文件名")
+ private String fileName;
+ @ApiModelProperty("文件大小")
+ private String fileSize;
+ @ApiModelProperty("文件路径")
+ private String filePath;
+ @ApiModelProperty("是否可以删除(0不可删除,1可以删除)")
+ private Integer isDel;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileDto.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileDto.java
new file mode 100644
index 0000000000..00a8699b92
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileDto.java
@@ -0,0 +1,65 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmfile;
+
+
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-crm(客户信息)
+ * File: CrmFileDto.java
+ * Class: com.yxt.anrui.crm.api.crmfile.CrmFileDto
+ * Description: 客户资料表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-24 09:15:29
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@ApiModel(value = "客户资料表 数据传输对象", description = "客户资料表 数据传输对象")
+@Data
+public class CrmFileDto implements Dto {
+
+ @ApiModelProperty("文件名")
+ private String fileName; // 文件名
+ @ApiModelProperty("文件类型")
+ private String fileType; // 文件类型
+ @ApiModelProperty("上传人姓名")
+ private String name; // 上传人姓名
+ @ApiModelProperty("关联业务对象sid")
+ private String linkSid; // 关联业务对象sid
+ @ApiModelProperty("附件类型")
+ private String attachType; // 附件类型
+ @ApiModelProperty("文件大小")
+ private String fileSize; // 文件大小
+ @ApiModelProperty("文件的相对路径")
+ private String filePath; // 文件的相对路径
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileListDto.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileListDto.java
new file mode 100644
index 0000000000..2add1014a2
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileListDto.java
@@ -0,0 +1,39 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmfile;
+
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CrmFileListDto implements Dto {
+
+ @ApiModelProperty("客户资料")
+ private List crmFileDtoList;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileMapper.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileMapper.java
new file mode 100644
index 0000000000..ff33704d88
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileMapper.java
@@ -0,0 +1,78 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmfile;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * Project: anrui-crm(客户信息)
+ * File: CrmFileMapper.java
+ * Class: com.yxt.anrui.crm.biz.crmfile.CrmFileMapper
+ * Description: 客户资料表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-24 09:15:29
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface CrmFileMapper extends BaseMapper {
+
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+ List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw);
+
+ @Select("select * from crm_file")
+ List selectListVo();
+
+ List selectByLinkSid(@Param("linkSid") String linkSid, @Param("attachType") String attachType);
+
+ @Delete("delete from crm_file where linkSid=#{linkSid} and filePath=#{filePath}")
+ int delByLinkSidAndFilePath(@Param("linkSid") String linkSid, @Param("filePath") String filePath);
+
+ @Select("select * from crm_file where linkSid = #{sid}")
+ List fetchByLinkSid(String sid);
+
+ int selectPath(String path);
+
+ void deletePath(String path);
+
+ int fetchByFilePath(String str);
+
+ void deleteByLinkSidAndAttachType(@Param("sid") String sid, @Param("key") String key);
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileMapper.xml b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileMapper.xml
new file mode 100644
index 0000000000..42e3491504
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileMapper.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ delete
+ from crm_file
+ where filePath = #{path}
+
+
+ delete
+ from crm_file
+ where linkSid = #{sid}
+ and attachType = #{key}
+
+
+
+
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileQuery.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileQuery.java
new file mode 100644
index 0000000000..5817b0356f
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileQuery.java
@@ -0,0 +1,57 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmfile;
+
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-crm(客户信息)
+ * File: CrmFileQuery.java
+ * Class: com.yxt.anrui.crm.api.crmfile.CrmFileQuery
+ * Description: 客户资料表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-24 09:15:29
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@ApiModel(value = "客户资料表 查询条件", description = "客户资料表 查询条件")
+@Data
+public class CrmFileQuery implements Query {
+
+ @ApiModelProperty("客户sid")
+ private String linkSid;
+ @ApiModelProperty("文件名")
+ private String fileName;
+ @ApiModelProperty("文件类型")
+ private String fileType;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileService.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileService.java
new file mode 100644
index 0000000000..6657e1ca86
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileService.java
@@ -0,0 +1,240 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmfile;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.common.base.config.component.FileUploadComponent;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.base.utils.StringUtils;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Project: anrui-crm(客户信息)
+ * File: CrmFileService.java
+ * Class: com.yxt.anrui.crm.biz.crmfile.CrmFileService
+ * Description: 客户资料表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-24 09:15:29
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class CrmFileService extends MybatisBaseService {
+
+ @Autowired
+ private FileUploadComponent fileUploadComponent;
+
+ public PagerVo listPage(PagerQuery pq) {
+ CrmFileQuery query = pq.getParams();
+ QueryWrapper qw = createQueryWrapper(query);
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPage(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ private QueryWrapper createQueryWrapper(CrmFileQuery query) {
+ // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
+ QueryWrapper qw = new QueryWrapper<>();
+
+ qw.eq("linkSid", query.getLinkSid());
+ if (StringUtils.isNotNull(query.getFileType())) {
+ qw.eq("fileType", query.getFileType());
+ }
+ if (StringUtils.isNotNull(query.getFileName())) {
+ qw.eq("fileName", query.getFileName());
+ }
+ qw.groupBy("attachType", "fileName");
+ return qw;
+ }
+
+ public IPage listPageVo(PagerQuery pq) {
+ // mybits所用的分页对对象
+ IPage page = PagerUtil.queryToPage(pq);
+ // mybits所用的查询条件封装类
+ QueryWrapper qw = createQueryWrapper(pq.getParams());
+ return baseMapper.selectPageVo(page, qw);
+ }
+
+ public void saveOrUpdateDto(CrmFileDto dto) {
+ CrmFile entity = new CrmFile();
+ dto.fillEntity(entity);
+ this.saveOrUpdate(entity);
+ }
+
+ public CrmFileVo fetchByIdVo(String id) {
+ CrmFile entity = this.fetchById(id);
+ CrmFileVo vo = new CrmFileVo();
+ BeanUtil.copyProperties(entity, vo);
+ return vo;
+ }
+
+ /**
+ * 根据linkSid和附件类型查询文件路径
+ *
+ * @param linkSid
+ * @param attachType
+ * @return
+ */
+ public List selectByLinkSid(String linkSid, String attachType) {
+ return baseMapper.selectByLinkSid(linkSid, attachType);
+ }
+
+ /**
+ * 插入客户资料数据
+ *
+ * @param linkSid
+ * @param list 相对路径
+ */
+ public void insertCrmFile(String linkSid, List list) {
+ list.stream().forEach(str -> {
+ CrmFile crmFile = new CrmFile();
+ File file = new File(fileUploadComponent.getUploadPath() + str.replace("/", File.separator));
+ if (file != null) {
+ crmFile.setFileSize(fileUploadComponent.getPrintSize(file.length()));
+ }
+ crmFile.setLinkSid(linkSid);
+ crmFile.setFileName(str.substring(str.lastIndexOf("/") + 1, str.lastIndexOf(".")));
+ crmFile.setFileType(str.substring(str.lastIndexOf(".") + 1));
+ crmFile.setAttachType(CrmFileAttachTypeEnum.IDCARD.getAttachType());
+ crmFile.setFilePath(str.replace(fileUploadComponent.getUrlPrefix(), ""));
+ save(crmFile);
+ });
+ }
+
+ /**
+ * 根据linkSid和附件类型删除文件
+ *
+ * @param linkSid
+ * @param delList
+ * @return
+ */
+ public void delByLinkSidAndAttachType(String linkSid, List delList) {
+ for (String str : delList) {
+ // 删除数据库
+ baseMapper.delByLinkSidAndFilePath(linkSid, str);
+ // 删除文件
+ String pathLoc = fileUploadComponent.getUploadPath() + str;
+ pathLoc = pathLoc.substring(0, pathLoc.lastIndexOf("/") + 1).replace("/", File.separator);
+ fileUploadComponent.deleteFiles(fileUploadComponent.getUrlPrefix() + str, pathLoc);
+ }
+ }
+
+ public void saveCrmFile(CrmFileDto dto) {
+ /* List filePath = dto.getFilePath();
+ for (String str : filePath) {
+ String xdfilePath = str.replace(fileUploadComponent.getUrlPrefix(), "");
+ int i = baseMapper.fetchByFilePath(xdfilePath);
+ if (i > 0) {
+ continue;
+ }
+ CrmFile crmFile = new CrmFile();
+ File file = new File(fileUploadComponent.getUploadPath() + str.replace("/", File.separator));
+ if (file != null) {
+ crmFile.setFileSize(fileUploadComponent.getPrintSize(file.length()));
+ }
+ crmFile.setName(dto.getName());
+ crmFile.setLinkSid(dto.getLinkSid());
+ crmFile.setFileName(str.substring(str.lastIndexOf("/") + 1, str.lastIndexOf(".")));
+ crmFile.setFileType(str.substring(str.lastIndexOf(".") + 1));
+ crmFile.setAttachType(dto.getAttachType());
+ crmFile.setFilePath(xdfilePath);
+ save(crmFile);
+ }*/
+ }
+
+ public void updateCrmFile(CrmFileDto dto, String sid) {
+ CrmFile crmFile = new CrmFile();
+ dto.fillEntity(crmFile);
+ }
+
+ public List fetchByLinkSid(String sid) {
+ List crmFileDetailsVos = baseMapper.fetchByLinkSid(sid);
+ if (crmFileDetailsVos.size() > 0) {
+ ChenkCrmFileDetails(crmFileDetailsVos);
+ }
+ return crmFileDetailsVos;
+ }
+
+ private void ChenkCrmFileDetails(List crmFileDetailsVos) {
+ String path = "";
+ for (CrmFileDetailsVo crmFileDetailsVo : crmFileDetailsVos) {
+ String filePath = crmFileDetailsVo.getFilePath();
+ String urlPrefix = fileUploadComponent.getUrlPrefix();
+ path = urlPrefix + filePath;
+ crmFileDetailsVo.setFilePath(path);
+ String createTime = crmFileDetailsVo.getCreateTime();
+ String date = createTime.substring(0, 10);
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ String format = simpleDateFormat.format(new Date());
+ if (date.equals(format)) {
+ crmFileDetailsVo.setIsDel(1);
+ } else {
+ crmFileDetailsVo.setIsDel(0);
+ }
+ }
+ }
+
+ public ResultBean deleteFilesOss(String fullPath) {
+ ResultBean rb = ResultBean.fireFail();
+ //删除服务器上的该文件
+ String pathT = fileUploadComponent.getUrlPrefix();
+ String path = "";
+ if (fullPath.indexOf(pathT) > -1) {
+ path = fullPath.replace(pathT, "");
+ } else {
+ path = fullPath;
+ }
+ String a = path.substring(0, path.lastIndexOf("/")).replace("/", File.separator);
+ String pathOne = fileUploadComponent.getUploadPath() + path.substring(0, path.lastIndexOf("/") + 1).replace("/", File.separator);
+ FileUploadComponent.deleteFiles(fullPath, pathOne);
+ //查询数据库,然后根据相对路径删除数据
+ int count = baseMapper.selectPath(path);
+ if (count > 0) {
+ baseMapper.deletePath(path);
+ }
+ return rb.success().setMsg("移除成功");
+ }
+
+ public void deleteByLinkSidAndAttachType(String sid, String key) {
+ baseMapper.deleteByLinkSidAndAttachType(sid,key);
+ }
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileVo.java
new file mode 100644
index 0000000000..e50d9b445f
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmfile/CrmFileVo.java
@@ -0,0 +1,60 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmfile;
+
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-crm(客户信息)
+ * File: CrmFileVo.java
+ * Class: com.yxt.anrui.crm.api.crmfile.CrmFileVo
+ * Description: 客户资料表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-01-24 09:15:29
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@ApiModel(value = "客户资料表 视图数据对象", description = "客户资料表 视图数据对象")
+@Data
+public class CrmFileVo implements Vo {
+
+ private static final long serialVersionUID = -7094724945005598636L;
+ @ApiModelProperty("文件名")
+ private String fileName;
+ @ApiModelProperty("上传人姓名")
+ private String name;
+ @ApiModelProperty("文件类别")
+ private String attachType;
+ @ApiModelProperty(value = "上传时间")
+ private String createTime;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePerson.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePerson.java
new file mode 100644
index 0000000000..e4a715baa3
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePerson.java
@@ -0,0 +1,64 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmmaintenanceenterpriseperson;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterprisePerson.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePerson
+ * Description: 定点企业备案-对接人员.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业备案-对接人员", description = "定点企业备案-对接人员")
+@TableName("crm_maintenanceenterprise_person")
+public class CrmMaintenanceenterprisePerson extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("申请人")
+ private String createByName; // 申请人
+ @ApiModelProperty("定点企业备案sid")
+ private String billSid; // 定点企业备案sid
+ @ApiModelProperty("对接人员sid")
+ private String personSid; // 对接人员sid
+ @ApiModelProperty("姓名")
+ private String name; // 姓名
+ @ApiModelProperty("手机号码")
+ private String mobile; // 手机号码
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonDetailsVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonDetailsVo.java
new file mode 100644
index 0000000000..7cf6edc3de
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonDetailsVo.java
@@ -0,0 +1,64 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmmaintenanceenterpriseperson;
+
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterprisePersonVo.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePersonVo
+ * Description: 定点企业备案-对接人员 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业备案-对接人员 视图数据详情", description = "定点企业备案-对接人员 视图数据详情")
+public class CrmMaintenanceenterprisePersonDetailsVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("申请人")
+ private String createByName; // 申请人
+ @ApiModelProperty("定点企业备案sid")
+ private String billSid; // 定点企业备案sid
+ @ApiModelProperty("对接人员sid")
+ private String personSid; // 对接人员sid
+ @ApiModelProperty("姓名")
+ private String name; // 姓名
+ @ApiModelProperty("手机号码")
+ private String mobile; // 手机号码
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonDto.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonDto.java
new file mode 100644
index 0000000000..e29d27a661
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonDto.java
@@ -0,0 +1,64 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmmaintenanceenterpriseperson;
+
+
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterprisePersonDto.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePersonDto
+ * Description: 定点企业备案-对接人员 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业备案-对接人员 数据传输对象", description = "定点企业备案-对接人员 数据传输对象")
+public class CrmMaintenanceenterprisePersonDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("申请人")
+ private String createByName; // 申请人
+ @ApiModelProperty("定点企业备案sid")
+ private String billSid; // 定点企业备案sid
+ @ApiModelProperty("对接人员sid")
+ private String personSid; // 对接人员sid
+ @ApiModelProperty("姓名")
+ private String name; // 姓名
+ @ApiModelProperty("手机号码")
+ private String mobile; // 手机号码
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonMapper.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonMapper.java
new file mode 100644
index 0000000000..8d02e7b6ff
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonMapper.java
@@ -0,0 +1,72 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmmaintenanceenterpriseperson;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterprisePersonMapper.java
+ * Class: com.yxt.anrui.crm.biz.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePersonMapper
+ * Description: 定点企业备案-对接人员.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface CrmMaintenanceenterprisePersonMapper extends BaseMapper {
+
+ //@Update("update crm_maintenanceenterprise_person set name=#{msg} where id=#{id}")
+ //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+ List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw);
+
+ @Select("select * from crm_maintenanceenterprise_person")
+ List selectListVo();
+
+ @Delete("delete from crm_maintenanceenterprise_person where billSid = #{sid}")
+ void delByBillSid(String sid);
+ @Select("select * from crm_maintenanceenterprise_person where billSid = #{sid} ")
+ List selByBillSid(String sid);
+
+ @Select("select * from crm_maintenanceenterprise_person where billSid = #{sid}")
+ List personList(String sid);
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonMapper.xml b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonMapper.xml
new file mode 100644
index 0000000000..bb81a2c4d1
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonMapper.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonQuery.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonQuery.java
new file mode 100644
index 0000000000..f9a943c9c8
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonQuery.java
@@ -0,0 +1,62 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmmaintenanceenterpriseperson;
+
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterprisePersonQuery.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePersonQuery
+ * Description: 定点企业备案-对接人员 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业备案-对接人员 查询条件", description = "定点企业备案-对接人员 查询条件")
+public class CrmMaintenanceenterprisePersonQuery implements Query {
+
+ @ApiModelProperty("申请人")
+ private String createByName; // 申请人
+ @ApiModelProperty("定点企业备案sid")
+ private String billSid; // 定点企业备案sid
+ @ApiModelProperty("对接人员sid")
+ private String personSid; // 对接人员sid
+ @ApiModelProperty("姓名")
+ private String name; // 姓名
+ @ApiModelProperty("手机号码")
+ private String mobile; // 手机号码
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonService.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonService.java
new file mode 100644
index 0000000000..423e117811
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonService.java
@@ -0,0 +1,115 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmmaintenanceenterpriseperson;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.vo.PagerVo;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterprisePersonService.java
+ * Class: com.yxt.anrui.crm.biz.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePersonService
+ * Description: 定点企业备案-对接人员 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class CrmMaintenanceenterprisePersonService extends MybatisBaseService {
+ private QueryWrapper createQueryWrapper(CrmMaintenanceenterprisePersonQuery query) {
+ // todo: 这里根据具体业务调整查询条件
+ // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
+ QueryWrapper qw = new QueryWrapper<>();
+ return qw;
+ }
+
+ public void delByBillSid(String sid) {
+ baseMapper.delByBillSid(sid);
+ }
+
+
+ public List selByBillSid(String sid) {
+ return baseMapper.selByBillSid(sid);
+ }
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ CrmMaintenanceenterprisePersonQuery query = pq.getParams();
+ QueryWrapper qw = createQueryWrapper(query);
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public void saveOrUpdateDto(CrmMaintenanceenterprisePersonDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ this.insertByDto(dto);
+ return;
+ }
+ this.updateByDto(dto);
+ }
+
+ public void insertByDto(CrmMaintenanceenterprisePersonDto dto){
+ CrmMaintenanceenterprisePerson entity = new CrmMaintenanceenterprisePerson();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.insert(entity);
+ }
+
+ public void updateByDto(CrmMaintenanceenterprisePersonDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ CrmMaintenanceenterprisePerson entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public CrmMaintenanceenterprisePersonDetailsVo fetchDetailsVoBySid(String sid){
+ CrmMaintenanceenterprisePerson entity = fetchBySid(sid);
+ CrmMaintenanceenterprisePersonDetailsVo vo = new CrmMaintenanceenterprisePersonDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ return vo;
+ }
+
+ public List personList(String sid) {
+ return baseMapper.personList(sid);
+ }
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonVo.java
new file mode 100644
index 0000000000..ef6bab5dbb
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmMaintenanceenterprisePersonVo.java
@@ -0,0 +1,64 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmmaintenanceenterpriseperson;
+
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterprisePersonVo.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePersonVo
+ * Description: 定点企业备案-对接人员 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业备案-对接人员 视图数据对象", description = "定点企业备案-对接人员 视图数据对象")
+public class CrmMaintenanceenterprisePersonVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("申请人")
+ private String createByName; // 申请人
+ @ApiModelProperty("定点企业备案sid")
+ private String billSid; // 定点企业备案sid
+ @ApiModelProperty("对接人员sid")
+ private String personSid; // 对接人员sid
+ @ApiModelProperty("姓名")
+ private String name; // 姓名
+ @ApiModelProperty("手机号码")
+ private String mobile; // 手机号码
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmPersonListVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmPersonListVo.java
new file mode 100644
index 0000000000..10e1f70e54
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseperson/CrmPersonListVo.java
@@ -0,0 +1,17 @@
+package com.yxt.crm.biz.crmmaintenanceenterpriseperson;
+
+import lombok.Data;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2024/7/29 16:48
+ */
+@Data
+public class CrmPersonListVo {
+ private String mobile;
+ private String name;
+ private String remarks;
+ private String sid;
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CarListVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CarListVo.java
new file mode 100644
index 0000000000..65780a6b2e
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CarListVo.java
@@ -0,0 +1,31 @@
+package com.yxt.crm.biz.crmmaintenanceenterpriserecord;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2024/7/22 14:42
+ */
+@Data
+public class CarListVo {
+
+ /**
+ * 购买日期
+ */
+ private String buyDate;
+ private String sid;
+ /**
+ * 车牌号
+ */
+ private String vehMark;
+ /**
+ * 车架号
+ */
+ private String vinNo;
+
+
+ @ApiModelProperty("售后客户车辆信息sid")
+ private String asVinSid; // 售后客户车辆信息sid
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecord.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecord.java
new file mode 100644
index 0000000000..c2bd13da1a
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecord.java
@@ -0,0 +1,93 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmmaintenanceenterpriserecord;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseRecord.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecord
+ * Description: 定点企业备案.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业备案", description = "定点企业备案")
+@TableName("crm_maintenanceenterprise_record")
+public class CrmMaintenanceenterpriseRecord extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("申请人")
+ private String createByName; // 申请人
+ @ApiModelProperty("单据编号")
+ private String billNo; // 单据编号
+ @ApiModelProperty("客户sid")
+ private String customerSid; // 客户sid
+ @ApiModelProperty("备案类别")
+ private String filingType; // 备案类别
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("备案有效期")
+ private Date filingIndate; // 备案有效期
+ @ApiModelProperty("申请部门")
+ private String deptName; // 申请部门
+ @ApiModelProperty("申请部门sid")
+ private String deptSid; // 申请部门sid
+ @ApiModelProperty("taskId")
+ private String taskId; // taskId
+ @ApiModelProperty("环节定义的sid")
+ private String nodeSid; // 环节定义的sid
+ @ApiModelProperty("流程状态")
+ private String nodeState; // 流程状态
+ @ApiModelProperty("流程实例的sid")
+ private String procInstId; // 流程实例的sid
+ @ApiModelProperty("流程定义的id")
+ private String procDefId; // 流程定义的id
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("使用组织名称(分公司)")
+ private String useOrgName; // 使用组织名称(分公司)
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+ @ApiModelProperty("创建组织名称(分公司)")
+ private String createOrgName; // 创建组织名称(分公司)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("办结日期")
+ private Date closingDate; // 办结日期
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordDetailsVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordDetailsVo.java
new file mode 100644
index 0000000000..223e98ad02
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordDetailsVo.java
@@ -0,0 +1,208 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmmaintenanceenterpriserecord;
+
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseRecordVo.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordVo
+ * Description: 定点企业备案 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业备案 视图数据详情", description = "定点企业备案 视图数据详情")
+public class CrmMaintenanceenterpriseRecordDetailsVo implements Vo {
+
+ /**
+ * 客户sid
+ */
+ private String customerSid;
+ /**
+ * 详细地址
+ */
+ private String address;
+
+ /**
+ * 详细地址
+ */
+ private String customerAddress;
+ /**
+ * 车辆列表
+ */
+ private List carList = new ArrayList<>();
+ /**
+ * 证件类型
+ */
+ private String certificateType;
+ /**
+ * 证件类型Key
+ */
+ private String certificateTypeKey;
+ /**
+ * 市
+ */
+ private String city;
+ /**
+ * 对接人列表
+ */
+ private List contactPerson = new ArrayList<>();
+ /**
+ * 县
+ */
+ private String county;
+ /**
+ * 申请人
+ */
+ private String createByName;
+ /**
+ * 申请人sid
+ */
+ private String createBySid;
+ /**
+ * 分公司
+ */
+ private String createOrgName;
+ /**
+ * 分公司sid
+ */
+ private String createOrgSid;
+ /**
+ * 申请日期
+ */
+ private String createTime;
+ /**
+ * 客户名称
+ */
+ private String customerName;
+ /**
+ * 客户类型
+ */
+ private String customerType;
+ /**
+ * 客户类型Key
+ */
+ private String customerTypeKey;
+ /**
+ * 申请部门
+ */
+ private String deptName;
+ /**
+ * 申请部门sid
+ */
+ private String deptSid;
+ /**
+ * 电子邮箱
+ */
+ private String e_mail;
+ /**
+ * 紧急联系人
+ */
+ private String emergencyContact;
+ /**
+ * 紧急联系电话
+ */
+ private String emergencyMobile;
+ /**
+ * 证书有效期
+ */
+ private String endDate;
+ /**
+ * 附件
+ */
+ private List files = new ArrayList<>();
+ private List files2 = new ArrayList<>();
+ /**
+ * 备案有效期
+ */
+ private String filingIndate;
+ /**
+ * 备案类别,默认赋值"首次"
+ */
+ private String filingType;
+ /**
+ * 证书号码
+ */
+ private String idnumber;
+ /**
+ * 流程实例ID
+ */
+ private String instanceId;
+ private String procInsId;
+ /**
+ * 联系电话
+ */
+ private String mobile;
+ /**
+ * 省
+ */
+ private String province;
+ /**
+ * 已备人数,首次备案默认为空
+ */
+ private String readyStrength;
+ /**
+ * 已备车辆,首次备案默认为空
+ */
+ private String readyVehicle;
+ /**
+ * 备注
+ */
+ private String remarks;
+ private String sid;
+ /**
+ * 流程ID
+ */
+ private String taskId;
+ /**
+ * 分公司
+ */
+ private String useOrgName;
+ /**
+ * 分公司sid
+ */
+ private String useOrgSid;
+ /**
+ * 微信号
+ */
+ private String weixin;
+
+
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordDto.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordDto.java
new file mode 100644
index 0000000000..767cca768d
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordDto.java
@@ -0,0 +1,200 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmmaintenanceenterpriserecord;
+
+
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseRecordDto.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordDto
+ * Description: 定点企业备案 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业备案 数据传输对象", description = "定点企业备案 数据传输对象")
+public class CrmMaintenanceenterpriseRecordDto implements Dto {
+
+
+ /**
+ * 客户sid
+ */
+ private String customerSid;
+ /**
+ * 详细地址
+ */
+ private String address;
+ /**
+ * 车辆列表
+ */
+ private List carList = new ArrayList<>();
+ /**
+ * 证件类型
+ */
+ private String certificateType;
+ /**
+ * 证件类型Key
+ */
+ private String certificateTypeKey;
+ /**
+ * 市
+ */
+ private String city;
+ /**
+ * 对接人列表
+ */
+ private List contactPerson = new ArrayList<>();
+ /**
+ * 县
+ */
+ private String county;
+ /**
+ * 申请人
+ */
+ private String createByName;
+ /**
+ * 申请人sid
+ */
+ private String createBySid;
+ /**
+ * 分公司
+ */
+ private String createOrgName;
+ /**
+ * 分公司sid
+ */
+ private String createOrgSid;
+ /**
+ * 申请日期
+ */
+ private String createTime;
+ /**
+ * 客户名称
+ */
+ private String customerName;
+ /**
+ * 客户类型
+ */
+ private String customerType;
+ /**
+ * 客户类型Key
+ */
+ private String customerTypeKey;
+ /**
+ * 申请部门
+ */
+ private String deptName;
+ /**
+ * 申请部门sid
+ */
+ private String deptSid;
+ /**
+ * 电子邮箱
+ */
+ private String eMail;
+ /**
+ * 紧急联系人
+ */
+ private String emergencyContact;
+ /**
+ * 紧急联系电话
+ */
+ private String emergencyMobile;
+ /**
+ * 证书有效期
+ */
+ private String endDate;
+ /**
+ * 附件
+ */
+ private List files = new ArrayList<>();
+ /**
+ * 备案有效期
+ */
+ private String filingIndate;
+ /**
+ * 备案类别,默认赋值"首次"
+ */
+ private String filingType;
+ /**
+ * 证书号码
+ */
+ private String idnumber;
+ /**
+ * 流程实例ID
+ */
+ private String instanceId;
+ /**
+ * 联系电话
+ */
+ private String mobile;
+ /**
+ * 省
+ */
+ private String province;
+ /**
+ * 已备人数,首次备案默认为空
+ */
+ private String readyStrength;
+ /**
+ * 已备车辆,首次备案默认为空
+ */
+ private String readyVehicle;
+ /**
+ * 备注
+ */
+ private String remarks;
+ private String sid;
+ /**
+ * 流程ID
+ */
+ private String taskId;
+ /**
+ * 分公司
+ */
+ private String useOrgName;
+ /**
+ * 分公司sid
+ */
+ private String useOrgSid;
+ /**
+ * 微信号
+ */
+ private String weixin;
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordMapper.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordMapper.java
new file mode 100644
index 0000000000..829114d30e
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordMapper.java
@@ -0,0 +1,74 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmmaintenanceenterpriserecord;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseRecordMapper.java
+ * Class: com.yxt.anrui.crm.biz.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordMapper
+ * Description: 定点企业备案.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface CrmMaintenanceenterpriseRecordMapper extends BaseMapper {
+
+ //@Update("update crm_maintenanceenterprise_record set name=#{msg} where id=#{id}")
+ //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+ List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw);
+
+ @Select("select * from crm_maintenanceenterprise_record")
+ List selectListVo();
+
+ List selPersonList(@Param("sid") String sid);
+
+ int selectNum(String bill);
+
+ int selPersonCount(@Param("customerSid") String customerSid);
+
+ int selectBySid(String join);
+
+ int updateFlowFiled(Map map);
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordMapper.xml b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordMapper.xml
new file mode 100644
index 0000000000..c4d78ec812
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordMapper.xml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UPDATE crm_maintenanceenterprise_record
+ SET nodeState=#{nodeState}
+ , nodeSid=#{taskDefKey}
+
+ , procDefId=#{procDefId}
+
+
+ , procInstId=#{procInsId}
+
+
+ , taskId=#{taskId}
+
+ WHERE sid = #{sid}
+
+
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordQuery.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordQuery.java
new file mode 100644
index 0000000000..5b11bb969e
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordQuery.java
@@ -0,0 +1,69 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmmaintenanceenterpriserecord;
+
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseRecordQuery.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordQuery
+ * Description: 定点企业备案 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业备案 查询条件", description = "定点企业备案 查询条件")
+public class CrmMaintenanceenterpriseRecordQuery implements Query {
+
+ private String billNo;
+ private String closingDateEnd;
+ private String closingDateStart;
+ private String createByName;
+ private String createEndTime;
+ private String createOrgName;
+ private String createStartTime;
+ private String customerName;
+ private String customerTypeKey;
+ private String deptName;
+ private String menuUrl;
+ private String mobile;
+ private String orgPath;
+ /**
+ * 是否有效 1是0否
+ */
+ private String state;
+ private String userSid;
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordService.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordService.java
new file mode 100644
index 0000000000..6f1b954dc1
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordService.java
@@ -0,0 +1,1011 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmmaintenanceenterpriserecord;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
+
+import com.yxt.common.base.config.component.FileUploadComponent;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import com.yxt.crm.biz.crmcustomer.CrmCustomer;
+import com.yxt.crm.biz.crmcustomer.CrmCustomerService;
+import com.yxt.crm.biz.crmdockingpeople.CrmDockingPeople;
+import com.yxt.crm.biz.crmdockingpeople.CrmDockingPeopleService;
+import com.yxt.crm.biz.crmfile.CrmFile;
+import com.yxt.crm.biz.crmfile.CrmFileDetailsVo;
+import com.yxt.crm.biz.crmfile.CrmFileService;
+import com.yxt.crm.biz.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePerson;
+import com.yxt.crm.biz.crmmaintenanceenterpriseperson.CrmMaintenanceenterprisePersonService;
+import com.yxt.crm.biz.crmmaintenanceenterpriserecord.flowable.*;
+import com.yxt.crm.biz.crmmaintenanceenterpriseveh.CrmMaintenanceenterpriseVeh;
+import com.yxt.crm.biz.crmmaintenanceenterpriseveh.CrmMaintenanceenterpriseVehService;
+import com.yxt.crm.feign.as.ascustomervehicle.AsCustomerVehicleDto;
+import com.yxt.crm.feign.as.ascustomervehicle.AsCustomerVehicleFeign;
+import com.yxt.crm.feign.flowable.flow.BusinessVariables;
+import com.yxt.crm.feign.flowable.flow.FlowableFeign;
+import com.yxt.crm.feign.flowable.flow.ProcDefEnum;
+import com.yxt.crm.feign.flowable.flow.UpdateFlowFieldVo;
+import com.yxt.crm.feign.flowable.flow2.FlowDelegateQuery;
+import com.yxt.crm.feign.flowable.flow2.FlowFeign;
+import com.yxt.crm.feign.flowable.flowtask.FlowTaskFeign;
+import com.yxt.crm.feign.flowable.flowtask.FlowTaskVo;
+import com.yxt.crm.feign.flowable.flowtask.LatestTaskVo;
+import com.yxt.crm.feign.message.MessageFeign;
+import com.yxt.crm.feign.message.MessageFlowVo;
+import com.yxt.crm.feign.message.MessageFlowableQuery;
+import com.yxt.crm.feign.portal.privilege.PrivilegeQuery;
+import com.yxt.crm.feign.portal.sysorganization.SysOrganizationFeign;
+import com.yxt.crm.feign.portal.sysorganization.SysOrganizationVo;
+import com.yxt.crm.feign.portal.sysstafforg.SysStaffOrg;
+import com.yxt.crm.feign.portal.sysstafforg.SysStaffOrgFeign;
+import com.yxt.crm.feign.portal.sysuser.SysUserFeign;
+import com.yxt.crm.feign.portal.sysuser.SysUserVo;
+import com.yxt.crm.feign.portal.sysuserrole.SysUserRoleFeign;
+import com.yxt.crm.utils.Rule;
+import com.yxt.crm.utils.domain.BillNo;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+import java.util.concurrent.*;
+import java.util.stream.Collectors;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseRecordService.java
+ * Class: com.yxt.anrui.crm.biz.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordService
+ * Description: 定点企业备案 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class CrmMaintenanceenterpriseRecordService extends MybatisBaseService {
+
+ @Autowired
+ private AsCustomerVehicleFeign asCustomerVehicleFeign;
+ @Autowired
+ private FlowFeign flowFeign;
+ @Autowired
+ private FlowableFeign flowableFeign;
+ @Autowired
+ private FlowTaskFeign flowTaskFeign;
+ @Autowired
+ private MessageFeign messageFeign;
+ @Autowired
+ private CrmFileService crmFileService;
+ @Autowired
+ private FileUploadComponent fileUploadComponent;
+ @Autowired
+ private CrmMaintenanceenterprisePersonService crmMaintenanceenterprisePersonService;
+ @Autowired
+ private CrmMaintenanceenterpriseVehService crmMaintenanceenterpriseVehService;
+ @Autowired
+ private SysOrganizationFeign sysOrganizationFeign;
+ @Autowired
+ private SysUserFeign sysUserFeign;
+ @Autowired
+ private CrmCustomerService crmCustomerTempService;
+ @Autowired
+ private SysStaffOrgFeign sysStaffOrgFeign;
+ @Autowired
+ private CrmDockingPeopleService crmDockingPeopleService;
+ @Autowired
+ private SysUserRoleFeign sysUserRoleFeign;
+
+ private QueryWrapper createQueryWrapper(CrmMaintenanceenterpriseRecordQuery query) {
+ // todo: 这里根据具体业务调整查询条件
+ // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
+ QueryWrapper qw = new QueryWrapper<>();
+ return qw;
+ }
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ CrmMaintenanceenterpriseRecordQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ PrivilegeQuery privilegeQuery = new PrivilegeQuery();
+ privilegeQuery.setOrgPath(query.getOrgPath());
+ privilegeQuery.setMenuUrl(query.getMenuUrl());
+ privilegeQuery.setUserSid(query.getUserSid());
+ ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
+ if (StringUtils.isNotBlank(query.getMenuUrl())) {
+ if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
+ //数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
+ String orgSidPath = query.getOrgPath();
+ orgSidPath = orgSidPath + "/";
+ int i1 = orgSidPath.indexOf("/");
+ int i2 = orgSidPath.indexOf("/", i1 + 1);
+ int i3 = orgSidPath.indexOf("/", i2 + 1);
+ int i4 = orgSidPath.indexOf("/", i3 + 1);
+ String orgLevelKey = defaultIdReltBean.getData();
+ if ("1".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i1);
+ qw.like("a.orgSidPath", orgSidPath);
+ } else if ("2".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i2);
+ qw.like("a.orgSidPath", orgSidPath);
+ } else if ("3".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i3);
+ qw.like("a.orgSidPath", orgSidPath);
+ } else if ("4".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i4);
+ qw.like("a.orgSidPath", orgSidPath);
+ } else if ("5".equals(orgLevelKey)) {
+ qw.eq("a.createBySid", query.getUserSid());
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ }
+ if (StringUtils.isNotBlank(query.getState())) {
+ qw.eq("a.isFilingIndate", query.getState());
+ }
+ if (StringUtils.isNotBlank(query.getCustomerTypeKey())) {
+ qw.eq("a.customerTypeKey", query.getCustomerTypeKey());
+ }
+ if (StringUtils.isNotBlank(query.getMobile())) {
+ qw.like("a.mobile", query.getMobile());
+ }
+ if (StringUtils.isNotBlank(query.getBillNo())) {
+ qw.like("a.billNo", query.getBillNo());
+ }
+ if (StringUtils.isNotBlank(query.getCreateByName())) {
+ qw.like("a.createByName", query.getCreateByName());
+ }
+ if (StringUtils.isNotBlank(query.getCreateOrgName())) {
+ qw.like("a.useOrgName", query.getCreateOrgName());
+ }
+ if (StringUtils.isNotBlank(query.getDeptName())) {
+ qw.like("a.deptName", query.getDeptName());
+ }
+ if (StringUtils.isNotBlank(query.getCustomerName())) {
+ qw.like("a.customerName", query.getCustomerName());
+ }
+ String createStartTime = query.getCreateStartTime();
+ String createEndTime = query.getCreateEndTime();
+ qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (a.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
+ apply(StringUtils.isNotBlank(createEndTime), "date_format (a.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
+ );
+ String closingDateStart = query.getClosingDateStart();
+ String closingDateEnd = query.getClosingDateEnd();
+ qw.apply(StringUtils.isNotBlank(closingDateStart), "date_format (a.closingDate,'%Y-%m-%d') >= date_format('" + closingDateStart + "','%Y-%m-%d')").
+ apply(StringUtils.isNotBlank(closingDateEnd), "date_format (a.closingDate,'%Y-%m-%d') <= date_format('" + closingDateEnd + "','%Y-%m-%d')"
+ );
+ qw.orderBy(true, false, "a.createTime")
+ .orderBy(true, false, "a.filingIndate")
+ ;
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public String saveOrUpdateDto(CrmMaintenanceenterpriseRecordDto dto) {
+ String sid = "";
+ if (StringUtils.isNotBlank(dto.getSid())) {
+ sid = dto.getSid();
+ crmMaintenanceenterprisePersonService.delByBillSid(sid);
+ crmMaintenanceenterpriseVehService.delByBillSid(sid);
+ crmFileService.deleteByLinkSidAndAttachType(sid, "2");
+ CrmMaintenanceenterpriseRecord entity = fetchBySid(sid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ } else {
+ CrmMaintenanceenterpriseRecord entity = new CrmMaintenanceenterpriseRecord();
+ sid = entity.getSid();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ entity.setNodeState("待提交");
+ String applyCode = getApplyCode(dto.getCreateOrgSid());
+ entity.setBillNo(applyCode);
+ baseMapper.insert(entity);
+ }
+ if (!dto.getCarList().isEmpty()) {
+ List carList = dto.getCarList();
+ for (CarListVo carListVo : carList) {
+ CrmMaintenanceenterpriseVeh veh = new CrmMaintenanceenterpriseVeh();
+ BeanUtil.copyProperties(carListVo, veh, "id", "sid");
+ veh.setBillSid(sid);
+ crmMaintenanceenterpriseVehService.insert(veh);
+ }
+ }
+ if (!dto.getContactPerson().isEmpty()) {
+ List personListVos = dto.getContactPerson();
+ for (PersonListVo personListVo : personListVos) {
+ CrmMaintenanceenterprisePerson person = new CrmMaintenanceenterprisePerson();
+ BeanUtil.copyProperties(personListVo, person, "id", "sid");
+ person.setBillSid(sid);
+ crmMaintenanceenterprisePersonService.insert(person);
+ }
+ }
+ if (!dto.getFiles().isEmpty()) {
+ List files = dto.getFiles();
+ for (FileQueryUrl url : files) {
+ String file = url.getUrl();
+ if (file.contains(fileUploadComponent.getUrlPrefix())) {
+ file = file.replace(fileUploadComponent.getUrlPrefix(), "");
+ }
+ CrmFile crmFile = new CrmFile();
+ crmFile.setFilePath(file);
+ crmFile.setLinkSid(sid);
+ crmFile.setCreateBySid(dto.getCreateBySid());
+ crmFile.setCreateTime(new Date());
+ crmFile.setName(dto.getCreateByName());
+ crmFile.setAttachType("2");
+ crmFileService.save(crmFile);
+ }
+ }
+ return sid;
+ }
+
+
+ /**
+ * 生成申请单单据编号
+ *
+ * @param orgSid
+ * @return
+ */
+ public String getApplyCode(String orgSid) {
+ //获取分公司sid
+ ResultBean resultBean1 = sysOrganizationFeign.fetchBySid(orgSid);
+ String orgCode = resultBean1.getData().getOrgCode();
+ BillNo b = new BillNo();
+ b.setOrgCode(orgCode);
+ b.setBillType("DDQYBA");
+ String bill = Rule.getBill(b);
+ int i = baseMapper.selectNum(bill);
+ String billNo = Rule.getBillNo(bill, i);
+ return billNo;
+ }
+
+
+ public void insertByDto(CrmMaintenanceenterpriseRecordDto dto) {
+ CrmMaintenanceenterpriseRecord entity = new CrmMaintenanceenterpriseRecord();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.insert(entity);
+ }
+
+ public void updateByDto(CrmMaintenanceenterpriseRecordDto dto) {
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ CrmMaintenanceenterpriseRecord entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public CrmMaintenanceenterpriseRecordDetailsVo fetchDetailsVoBySid(String sid) {
+ CrmMaintenanceenterpriseRecordDetailsVo vo = new CrmMaintenanceenterpriseRecordDetailsVo();
+ CrmMaintenanceenterpriseRecord entity = fetchBySid(sid);
+ List contactPerson = new ArrayList<>();
+ List carListVos = new ArrayList<>();
+ List files = new ArrayList<>();
+ List files2 = new ArrayList<>();
+ if (null != entity) {
+ BeanUtil.copyProperties(entity, vo);
+ if (StringUtils.isNotBlank(entity.getProcInstId())) {
+ vo.setInstanceId(entity.getProcInstId());
+ }
+ vo.setCreateTime(DateUtil.formatDate(entity.getCreateTime()));
+ if (null != entity.getFilingIndate()) {
+ vo.setFilingIndate(DateUtil.formatDate(entity.getFilingIndate()));
+ }
+ CrmCustomer customerTemp = crmCustomerTempService.fetchBySid(entity.getCustomerSid());
+ String sheng ="";
+ String shi ="";
+ String xian ="";
+ String dizhi ="";
+ if (null != customerTemp) {
+ if (StringUtils.isNotBlank(customerTemp.getAddress())) {
+ vo.setAddress(customerTemp.getAddress());
+ dizhi = customerTemp.getAddress();
+ }
+ if (StringUtils.isNotBlank(customerTemp.getCertificateType())) {
+ vo.setCertificateType(customerTemp.getCertificateType());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getCertificateTypeKey())) {
+ vo.setCertificateTypeKey(customerTemp.getCertificateTypeKey());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getCity())) {
+ vo.setCity(customerTemp.getCity());
+ shi = customerTemp.getCity();
+ }
+ if (StringUtils.isNotBlank(customerTemp.getCounty())) {
+ vo.setCounty(customerTemp.getCounty());
+ xian = customerTemp.getCounty();
+ }
+ if (StringUtils.isNotBlank(customerTemp.getName())) {
+ vo.setCustomerName(customerTemp.getName());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getCustomerType())) {
+ vo.setCustomerType(customerTemp.getCustomerType());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getCustomerTypeKey())) {
+ vo.setCustomerTypeKey(customerTemp.getCustomerTypeKey());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getE_mail())) {
+ vo.setE_mail(customerTemp.getE_mail());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getEmergencyContact())) {
+ vo.setEmergencyContact(customerTemp.getEmergencyContact());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getEmergencyMobile())) {
+ vo.setEmergencyMobile(customerTemp.getEmergencyMobile());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getEndDate())) {
+ vo.setEndDate(customerTemp.getEndDate());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getMobile())) {
+ vo.setMobile(customerTemp.getMobile());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getProvince())) {
+ vo.setProvince(customerTemp.getProvince());
+ sheng = customerTemp.getProvince();
+ }
+ if (StringUtils.isNotBlank(customerTemp.getIDNumber())) {
+ vo.setIdnumber(customerTemp.getIDNumber());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getWeixin())) {
+ vo.setWeixin(customerTemp.getWeixin());
+ }
+ vo.setCustomerAddress(sheng+shi+xian+dizhi);
+ }
+ List personList = crmMaintenanceenterprisePersonService.selByBillSid(sid);
+ if (!personList.isEmpty()) {
+ for (CrmMaintenanceenterprisePerson person : personList) {
+ PersonListVo personListVo = new PersonListVo();
+ BeanUtil.copyProperties(person, personListVo);
+ contactPerson.add(personListVo);
+ }
+ vo.setContactPerson(contactPerson);
+ }
+ List vehList = crmMaintenanceenterpriseVehService.selByBillSid(sid);
+ if (!vehList.isEmpty()) {
+ for (CrmMaintenanceenterpriseVeh veh : vehList) {
+ CarListVo carListVo = new CarListVo();
+ BeanUtil.copyProperties(veh, carListVo);
+ if (null != veh.getBuyDate()) {
+ carListVo.setBuyDate(DateUtil.formatDate(veh.getBuyDate()));
+ }
+ carListVos.add(carListVo);
+ }
+ vo.setCarList(carListVos);
+ }
+ int personCount = baseMapper.selPersonCount(entity.getCustomerSid());
+ int vehCount = asCustomerVehicleFeign.getVehListCountsByCustomerSid(entity.getCustomerSid());
+ vo.setReadyStrength(String.valueOf(personCount));
+ vo.setReadyVehicle(String.valueOf(vehCount));
+ List crmFileDetailsVos = crmFileService.fetchByLinkSid(sid);
+ if (crmFileDetailsVos != null) {
+ for (CrmFileDetailsVo crmFileDetailsVo : crmFileDetailsVos) {
+ FileQueryUrl url = new FileQueryUrl();
+ String filePath = crmFileDetailsVo.getFilePath();
+ url.setUrl(filePath);
+ files.add(url);
+ files2.add(filePath);
+ }
+ vo.setFiles(files);
+ vo.setFiles2(files2);
+ }
+ }
+ return vo;
+ }
+
+ public ResultBean init(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ CrmMaintenanceenterpriseRecordDetailsVo vo = new CrmMaintenanceenterpriseRecordDetailsVo();
+ CrmCustomer customerTemp = crmCustomerTempService.fetchBySid(sid);
+ if (null != customerTemp) {
+ if (StringUtils.isNotBlank(customerTemp.getAddress())) {
+ vo.setAddress(customerTemp.getAddress());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getCertificateType())) {
+ vo.setCertificateType(customerTemp.getCertificateType());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getCertificateTypeKey())) {
+ vo.setCertificateTypeKey(customerTemp.getCertificateTypeKey());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getCity())) {
+ vo.setCity(customerTemp.getCity());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getCounty())) {
+ vo.setCounty(customerTemp.getCounty());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getName())) {
+ vo.setCustomerName(customerTemp.getName());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getCustomerType())) {
+ vo.setCustomerType(customerTemp.getCustomerType());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getCustomerTypeKey())) {
+ vo.setCustomerTypeKey(customerTemp.getCustomerTypeKey());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getE_mail())) {
+ vo.setE_mail(customerTemp.getE_mail());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getEmergencyContact())) {
+ vo.setEmergencyContact(customerTemp.getEmergencyContact());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getEmergencyMobile())) {
+ vo.setEmergencyMobile(customerTemp.getEmergencyMobile());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getEndDate())) {
+ vo.setEndDate(customerTemp.getEndDate());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getMobile())) {
+ vo.setMobile(customerTemp.getMobile());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getProvince())) {
+ vo.setProvince(customerTemp.getProvince());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getIDNumber())) {
+ vo.setIdnumber(customerTemp.getIDNumber());
+ }
+ if (StringUtils.isNotBlank(customerTemp.getWeixin())) {
+ vo.setWeixin(customerTemp.getWeixin());
+ }
+ //获取当前日期
+ LocalDateTime now = LocalDateTime.now();
+ //加一年
+ LocalDateTime afterOneYear = now.plusYears(1);
+ //格式化输出
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ vo.setFilingIndate(afterOneYear.format(formatter));
+ vo.setCustomerSid(sid);
+ vo.setReadyStrength("");
+ vo.setReadyVehicle("");
+ vo.setFilingType("首次");
+ List contactPerson = baseMapper.selPersonList(customerTemp.getSid());
+ if (!contactPerson.isEmpty()) {
+ vo.setContactPerson(contactPerson);
+ }
+ List carListVos = asCustomerVehicleFeign.getVehListByCustomerSid(customerTemp.getSid()).getData();
+ if (!carListVos.isEmpty()) {
+ vo.setCarList(carListVos);
+ }
+ }
+ return rb.success().setData(vo);
+ }
+
+ public ResultBean deleteBySids(String[] sids) {
+ ResultBean rb = ResultBean.fireFail();
+ //查询该sid中是否有流程不是待提交的
+ int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
+ if (count > 0) {
+ return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败");
+ }
+ delBySids(sids);
+ for (String sid : sids) {
+ crmMaintenanceenterprisePersonService.delByBillSid(sid);
+ crmMaintenanceenterpriseVehService.delByBillSid(sid);
+ crmFileService.deleteByLinkSidAndAttachType(sid, "2");
+ }
+ return rb.success();
+ }
+
+
+ //-------------------------------------流程------------------------------------------------/
+
+ /**
+ * 判断提交的流程是否被允许
+ *
+ * @param dto
+ * @return
+ */
+ private synchronized int submitBusinessData(SubmitEnterpriseDto dto, CrmMaintenanceenterpriseRecord crmMaintenanceenterpriseRecord) {
+ int r = 0;
+ if (StringUtils.isBlank(dto.getSid())) {
+ r = 1;
+ } else {
+ if (crmMaintenanceenterpriseRecord != null) {
+ String businessTaskId = crmMaintenanceenterpriseRecord.getTaskId();
+ if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) {
+ //新提交
+ r = 1;
+ } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) {
+ //二次提交//只有数据一致的时候才能进行下一步
+ r = 2;
+ }
+ } else {
+ r = 3;
+ }
+ }
+ return r;
+ }
+
+ /**
+ * 更新流程相关的状态
+ *
+ * @param map
+ * @return
+ */
+ private int updateFlowFiled(Map map) {
+ return baseMapper.updateFlowFiled(map);
+ }
+
+ public ResultBean submitRecordApplication(SubmitEnterpriseDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ CrmMaintenanceenterpriseRecord apply = fetchBySid(dto.getSid());
+ int r = submitBusinessData(dto, apply);
+ if (r == 3) {
+ return rb.setMsg("该申请不存在");
+ }
+ if (r == 0) {
+ return rb.setMsg("操作失败!提交的数据不一致");
+ }
+ //新增修改保存
+ String businessSid = saveOrUpdateDto(dto);
+ CrmMaintenanceenterpriseRecord entity = fetchBySid(businessSid);
+ String orgSidPath = "";
+ SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(entity.getDeptSid()).getData();
+ if (null != organizationVo) {
+ orgSidPath = organizationVo.getOrgSidPath();
+ } else {
+ SysUserVo data = sysUserFeign.fetchBySid(entity.getCreateBySid()).getData();
+ if (null != data) {
+ //根据staffSid获取用户的组织全路径
+ ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(data.getStaffSid());
+ if (!staffOrgResultBean.getSuccess()) {
+ return rb.setMsg(staffOrgResultBean.getMsg());
+ }
+ //用户的组织全路径
+ orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
+ }
+ }
+ List orgPathList = Arrays.asList(orgSidPath.split("/"));
+ SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(orgPathList.get(orgPathList.size() - 1)).getData();
+ if (sysOrganization == null) {
+ return rb.setMsg("当前所在的组织机构不存在");
+ }
+ if (StringUtils.isBlank(sysOrganization.getManagerSid())) {
+// return rb.setMsg("当前所在的组织机构未设置主管人员");
+ sysOrganization.setManagerSid("427a2fb0-60c5-409f-bea4-4eb441041ae6");
+ }
+ //创建BusinessVariables实体对象
+ BusinessVariables bv = new BusinessVariables();
+ //流程中的参数赋值
+ Map variables = BeanUtil.beanToMap(dto);
+ Map appMap = new HashMap<>();
+ //若有网关,则赋值网关中判断的字段。
+// boolean isTure = true;
+// //去查询是否同意
+// if (StringUtils.isNotBlank(entity.getSalesUserSid())) {
+// if (!entity.getCreateBySid().equals(entity.getSalesUserSid())) {
+// isTure = false;
+// }
+// }
+// variables.put("isTure", isTure);
+ variables.put("businessSid", businessSid);
+ appMap.put("sid", businessSid);
+ variables.put("app", appMap);
+ //判断发起人是否为前台主管
+ String createBySid = entity.getCreateBySid();
+ List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
+ variables.put("iszg", list.contains("f00a7338-a6a4-4712-ab85-ca211d56fb1f"));
+// String orderNames = "<" + entity.getCustomer() + ">" + "欠款客户备案";
+// variables.put("orderNames", orderNames);
+ CrmMaintenanceenterpriseRecord record = fetchBySid(businessSid);
+ String msgBusinessSid = record.getSid();
+ //用户的部门全路径sid
+ bv.setOrgSidPath(orgSidPath);
+ //业务sid
+ bv.setBusinessSid(businessSid);
+ //用户sid
+ bv.setUserSid(dto.getCreateBySid());
+ bv.setFormVariables(variables);
+// String nextNodeUserSids_ = sysOrganization.getManagerSid();
+// if (isTure) {
+// bv.setNextNodeUserSids(nextNodeUserSids_);
+// } else {
+// bv.setNextNodeUserSids(entity.getSalesUserSid());
+// }
+ //流程定义id
+ bv.setModelId(ProcDefEnum.ENTERPRISEAPPLY.getProDefId());
+ if (r == 1) {
+ //流程定义id
+ bv.setModelId(ProcDefEnum.ENTERPRISEAPPLY.getProDefId());
+ ResultBean voResultBean = flowFeign.startProcess(bv);
+ if (!voResultBean.getSuccess()) {
+ return rb.setMsg(voResultBean.getMsg());
+ }
+ UpdateFlowFieldVo ufVo = voResultBean.getData();
+ int i = updateFlowFiled(BeanUtil.beanToMap(ufVo));
+ //==================================添加线程
+ try {
+ ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
+ .setNameFormat("demo-pool-%d").build();
+ ExecutorService pool = new ThreadPoolExecutor(2, 100,
+ 0L, TimeUnit.MILLISECONDS,
+ new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
+ Future future1 = pool.submit(() -> {
+ //极光推送
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ messageFlowableQuery.setUfVo(messageFlowVo);
+ messageFlowableQuery.setAppMap(appMap);
+ messageFlowableQuery.setBusinessSid(msgBusinessSid);
+ messageFlowableQuery.setModuleName("定点维修月结欠款备案申请");
+ SysUserVo userVo = sysUserFeign.fetchBySid(record.getCreateBySid()).getData();
+ if (userVo != null) {
+ if (StringUtils.isNotBlank(userVo.getName())) {
+ messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ }
+ }
+ messageFlowableQuery.setMsgTitle("定点维修月结欠款备案申请");
+ ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
+ });
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ //==================================添加线程
+ return voResultBean;
+ }
+ if (r == 2) {
+ // ToDo:驳回到发起人后再次提交
+ if (StringUtils.isBlank(dto.getInstanceId())) {
+ return rb.setMsg("参数错误:instanceId");
+ }
+ CrmMaintenanceenterpriseRecord record1 = fetchBySid(dto.getSid());
+ bv.setTaskId(dto.getTaskId());
+ bv.setTaskDefKey(record1.getNodeSid());
+ bv.setComment("重新提交");
+ bv.setInstanceId(dto.getInstanceId());
+ return complete(bv);
+ }
+ return rb;
+ }
+
+ public ResultBean complete(BusinessVariables bv) {
+ ResultBean rb = ResultBean.fireFail();
+ String businessSid = bv.getBusinessSid();
+ CrmMaintenanceenterpriseRecord record = this.fetchBySid(businessSid);
+ if (bv.getTaskId().equals(record.getTaskId())) {
+ String orgSidPath = "";
+ SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(record.getDeptSid()).getData();
+ if (null != organizationVo) {
+ orgSidPath = organizationVo.getOrgSidPath();
+ }
+ bv.setOrgSidPath(orgSidPath);
+ //流程中的参数赋值
+ Map variables = new HashMap<>();
+ //判断发起人是否为前台主管
+ String createBySid = record.getCreateBySid();
+ List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
+ variables.put("iszg", list.contains("f00a7338-a6a4-4712-ab85-ca211d56fb1f"));
+ Map appMap = new HashMap<>();
+ //若有网关,则赋值网关中判断的字段。
+ variables.put("businessSid", businessSid);
+ appMap.put("sid", businessSid);
+ variables.put("app", appMap);
+ bv.setFormVariables(variables);
+ ResultBean resultBean = flowFeign.handleProsess(bv);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ int i = updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
+ if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
+ CrmMaintenanceenterpriseRecord entity = fetchBySid(businessSid);
+ entity.setClosingDate(new Date());
+ baseMapper.updateById(entity);
+ Date filingIndate = entity.getFilingIndate();
+ String customerSid = entity.getCustomerSid();
+ List personList = crmMaintenanceenterprisePersonService.selByBillSid(businessSid);
+ if (!personList.isEmpty()) {
+ if (entity.getFilingType().equals("首次")) {
+ crmDockingPeopleService.delByCustomerSid(customerSid);
+ }
+ for (CrmMaintenanceenterprisePerson person : personList) {
+ CrmDockingPeople crmDockingPeople = new CrmDockingPeople();
+ if (StringUtils.isNotBlank(person.getName())) {
+ crmDockingPeople.setName(person.getName());
+ }
+ if (StringUtils.isNotBlank(person.getMobile())) {
+ crmDockingPeople.setMobile(person.getMobile());
+ }
+ if (StringUtils.isNotBlank(person.getRemarks())) {
+ crmDockingPeople.setRemarks(person.getRemarks());
+ }
+ crmDockingPeople.setCustomerSid(customerSid);
+ crmDockingPeopleService.insert(crmDockingPeople);
+ }
+ }
+ List vehs = crmMaintenanceenterpriseVehService.selByBillSid(businessSid);
+ if (!vehs.isEmpty()) {
+ for (CrmMaintenanceenterpriseVeh veh : vehs) {
+ if (StringUtils.isNotBlank(veh.getAsVinSid())) {
+ AsCustomerVehicleDto v = new AsCustomerVehicleDto();
+ v.setSid(veh.getAsVinSid());
+ if (StringUtils.isNotBlank(veh.getVehMark())) {
+ v.setVehMark(veh.getVehMark());
+ }
+ if (StringUtils.isNotBlank(veh.getVinNo())) {
+ v.setVinNo(veh.getVinNo());
+ }
+ v.setCustomerSid(customerSid);
+ asCustomerVehicleFeign.save(v);
+ } else {
+ AsCustomerVehicleDto v = new AsCustomerVehicleDto();
+ if (StringUtils.isNotBlank(veh.getVehMark())) {
+ v.setVehMark(veh.getVehMark());
+ }
+ if (StringUtils.isNotBlank(veh.getVinNo())) {
+ v.setVinNo(veh.getVinNo());
+ }
+ v.setCustomerSid(customerSid);
+ asCustomerVehicleFeign.save(v);
+ }
+ }
+ }
+ CrmCustomer customerTemp = crmCustomerTempService.fetchBySid(customerSid);
+ customerTemp.setFilingIndate(filingIndate);
+ customerTemp.setIsEnable(1);
+ customerTemp.setIsDesignatedEnterprise(1);
+ crmCustomerTempService.updateById(customerTemp);
+ }
+ return rb.success().setData(resultBean.getData());
+ } else {
+ return rb.setMsg("操作失败!提交的数据不一致");
+ }
+ }
+
+
+
+ public ResultBean revokeProcess(EnterpriseTaskQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ if (StringUtils.isBlank(query.getUserSid())) {
+ return rb.setMsg("参数错误:userSid");
+ }
+ CrmMaintenanceenterpriseRecord paymentApply = fetchBySid(query.getBusinessSid());
+ String businessTaskId = paymentApply.getTaskId();
+ if (StringUtils.isNotBlank(businessTaskId)) {
+ if (businessTaskId.equals(query.getTaskId())) {
+ FlowTaskVo flowTaskVo = new FlowTaskVo();
+ BeanUtil.copyProperties(query, flowTaskVo);
+ ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
+ return rb.success().setData(resultBean.getData());
+ }
+ }
+ return rb.setMsg("操作失败,提交的数据不一致!");
+ }
+
+ public ResultBean taskReject(EnterpriseTaskQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ String businessSid = query.getBusinessSid();
+ CrmMaintenanceenterpriseRecord paymentApply = fetchBySid(businessSid);
+ if (paymentApply == null) {
+ return rb.setMsg("该申请不存在");
+ }
+ String businessTaskId = paymentApply.getTaskId();
+ if (StringUtils.isNotBlank(businessTaskId)) {
+ if (businessTaskId.equals(query.getTaskId())) {
+ if (StringUtils.isBlank(query.getComment())) {
+ return rb.setMsg("请填写意见");
+ }
+ if (StringUtils.isBlank(query.getUserSid())) {
+ return rb.setMsg("参数错误:userSid");
+ }
+ FlowTaskVo flowTaskVo = new FlowTaskVo();
+ BeanUtil.copyProperties(query, flowTaskVo);
+ Map variables = new HashMap<>();
+ Map appMap = new HashMap<>();
+ appMap.put("sid", businessSid);
+ variables.put("app", appMap);
+ //若有网关,则赋值网关中判断的字段。
+// boolean isTure = true;
+// //去查询是否同意
+// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) {
+// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) {
+// isTure = false;
+// }
+// }
+// variables.put("isTure", isTure);
+ //判断发起人是否为前台主管
+ String createBySid = paymentApply.getCreateBySid();
+ List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
+ variables.put("iszg", list.contains("f00a7338-a6a4-4712-ab85-ca211d56fb1f"));
+ flowTaskVo.setValues(variables);
+ ResultBean resultBean = flowableFeign.taskReject(flowTaskVo);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ UpdateFlowFieldVo ufVo = resultBean.getData();
+ Map map = BeanUtil.beanToMap(ufVo);
+ //更新业务中的流程相关的参数
+ updateFlowFiled(map);
+ //极光推送
+ paymentApply = fetchBySid(businessSid);
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ String procId = paymentApply.getProcInstId();
+ messageFlowVo.setProcInsId(procId);
+ messageFlowVo.setProcDefId(paymentApply.getProcDefId());
+ messageFlowableQuery.setUfVo(messageFlowVo);
+ messageFlowableQuery.setAppMap(appMap);
+ messageFlowableQuery.setBusinessSid(businessSid);
+ messageFlowableQuery.setModuleName("定点维修月结欠款备案申请");
+ ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId);
+ String nextName = listResultBean.getData().get(0).getName_();
+ String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
+ List receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
+// if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busVehicleApply.getCreateBySid())) {
+ if ("发起申请".equals(nextName)) {
+ messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
+ } else {
+ SysUserVo userVo = sysUserFeign.fetchBySid(paymentApply.getCreateBySid()).getData();
+ if (userVo != null) {
+ if (StringUtils.isNotBlank(userVo.getName())) {
+ messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ }
+ }
+ }
+ messageFlowableQuery.setMsgTitle("定点维修月结欠款备案申请");
+ ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
+ return rb.success();
+ }
+ }
+ return rb.setMsg("操作失败!提交的数据不一致!");
+ }
+
+ public ResultBean breakProcess(EnterpriseTaskQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ if (StringUtils.isBlank(query.getInstanceId())) {
+ return rb.setMsg("参数错误:instanceId");
+ }
+ if (StringUtils.isBlank(query.getUserSid())) {
+ return rb.setMsg("参数错误:userSid");
+ }
+ if (StringUtils.isBlank(query.getComment())) {
+ return rb.setMsg("请填写意见");
+ }
+ CrmMaintenanceenterpriseRecord paymentApply = fetchBySid(query.getBusinessSid());
+ String businessTaskId = paymentApply.getTaskId();
+ if (StringUtils.isNotBlank(businessTaskId)) {
+ if (query.getUserSid().equals(paymentApply.getCreateBySid())) {
+ FlowTaskVo flowTaskVo = new FlowTaskVo();
+ BeanUtil.copyProperties(query, flowTaskVo);
+ ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ Map map = BeanUtil.beanToMap(resultBean.getData());
+ updateFlowFiled(map);
+
+ return rb.success().setData(resultBean.getData());
+ } else {
+ if (businessTaskId.equals(query.getTaskId())) {
+ FlowTaskVo flowTaskVo = new FlowTaskVo();
+ BeanUtil.copyProperties(query, flowTaskVo);
+ ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ Map map = BeanUtil.beanToMap(resultBean.getData());
+ updateFlowFiled(map);
+ return rb.success().setData(resultBean.getData());
+ }
+ }
+
+ }
+ return rb.setMsg("操作失败!提交的数据不一致!");
+ }
+
+ public ResultBean flowRecord(String procInsId) {
+ return flowTaskFeign.businessFlowRecord(procInsId);
+ }
+
+ public ResultBean> getNextNodesForSubmit(EnterpriseNodeQuery query) {
+ ResultBean> rb = ResultBean.fireFail();
+ BusinessVariables bv = new BusinessVariables();
+ BeanUtil.copyProperties(query, bv);
+ //流程中的参数赋值、若有网关,则赋值网关中判断的字段。
+ Map variables = new HashMap<>();
+
+ //根据业务sid查询排产信息
+ CrmMaintenanceenterpriseRecord paymentApply = fetchBySid(query.getBusinessSid());
+ //若有网关,则赋值网关中判断的字段。
+// boolean isTure = true;
+// //去查询是否同意
+// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) {
+// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) {
+// isTure = false;
+// }
+// }
+// variables.put("isTure", isTure);
+ //判断发起人是否为前台主管
+ String createBySid = paymentApply.getCreateBySid();
+ List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
+ variables.put("iszg", list.contains("f00a7338-a6a4-4712-ab85-ca211d56fb1f"));
+ bv.setFormVariables(variables);
+ bv.setModelId(paymentApply.getProcDefId());
+ ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
+ //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
+ List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), EnterpriseNodeVo.class)).collect(Collectors.toList());
+ return rb.success().setData(voList);
+ }
+
+ public ResultBean> getPreviousNodesForReject(EnterpriseNodeQuery query) {
+ ResultBean> rb = ResultBean.fireFail();
+ BusinessVariables bv = new BusinessVariables();
+ BeanUtil.copyProperties(query, bv);
+ //流程中的参数赋值、若有网关,则赋值网关中判断的字段。
+ Map variables = new HashMap<>();
+ //根据业务sid查询排产信息
+ CrmMaintenanceenterpriseRecord paymentApply = fetchBySid(query.getBusinessSid());
+// //若有网关,则赋值网关中判断的字段。
+// boolean isTure = true;
+// //去查询是否同意
+// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) {
+// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) {
+// isTure = false;
+// }
+// }
+// variables.put("isTure", isTure);
+ //判断发起人是否为前台主管
+ String createBySid = paymentApply.getCreateBySid();
+ List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
+ variables.put("iszg", list.contains("f00a7338-a6a4-4712-ab85-ca211d56fb1f"));
+ bv.setFormVariables(variables);
+ bv.setModelId(paymentApply.getProcDefId());
+ ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
+ //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
+ List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), EnterpriseNodeVo.class)).collect(Collectors.toList());
+ return rb.success().setData(voList);
+ }
+
+ public ResultBean delegate(EnterpriseDelegateQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ FlowDelegateQuery delegateQuery = new FlowDelegateQuery();
+ BeanUtil.copyProperties(query, delegateQuery);
+ flowFeign.delegate(delegateQuery);
+ return rb.success();
+ }
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordVo.java
new file mode 100644
index 0000000000..ba8e13bd67
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/CrmMaintenanceenterpriseRecordVo.java
@@ -0,0 +1,110 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmmaintenanceenterpriserecord;
+
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseRecordVo.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordVo
+ * Description: 定点企业备案 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业备案 视图数据对象", description = "定点企业备案 视图数据对象")
+public class CrmMaintenanceenterpriseRecordVo implements Vo {
+
+ /**
+ * 单据编号
+ */
+ private String billNo;
+ /**
+ * 办结日期
+ */
+ private String closingDate;
+ /**
+ * 申请人
+ */
+ private String createByName;
+ /**
+ * 申请日期
+ */
+ private String createTime;
+ /**
+ * 客户名称
+ */
+ private String customerName;
+ /**
+ * 客户类型
+ */
+ private String customerTypeValue;
+ /**
+ * 申请部门
+ */
+ private String deptName;
+ /**
+ * 备案有效期
+ */
+ private String filingIndate;
+ /**
+ * 备案有效期是否已过,1是0否
+ */
+ private String isFilingIndate;
+ /**
+ * 联系电话
+ */
+ private String mobile;
+ /**
+ * 流程状态
+ */
+ private String nodeState;
+ /**
+ * 流程定义ID
+ */
+ private String procDefId;
+ /**
+ * 流程实例ID
+ */
+ private String procInstId;
+ private String sid;
+ /**
+ * 分公司
+ */
+ private String useOrgName;
+ @ApiModelProperty("备案类别")
+ private String filingType; // 备案类别
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/FileQueryUrl.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/FileQueryUrl.java
new file mode 100644
index 0000000000..f5da6c14de
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/FileQueryUrl.java
@@ -0,0 +1,15 @@
+package com.yxt.crm.biz.crmmaintenanceenterpriserecord;
+
+import lombok.Data;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2024/7/22 14:35
+ */
+@Data
+public class FileQueryUrl {
+
+ private String url;
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/PersonListVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/PersonListVo.java
new file mode 100644
index 0000000000..ec638121ee
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/PersonListVo.java
@@ -0,0 +1,32 @@
+package com.yxt.crm.biz.crmmaintenanceenterpriserecord;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2024/7/22 14:42
+ */
+@Data
+public class PersonListVo {
+
+ /**
+ * 手机号码
+ */
+ private String mobile;
+ /**
+ * 姓名
+ */
+ private String name;
+ /**
+ * 备注
+ */
+ private String remarks;
+ private String sid;
+
+ @ApiModelProperty("对接人员sid")
+ private String personSid; // 对接人员sid
+
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseCompleteDto.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseCompleteDto.java
new file mode 100644
index 0000000000..7ed85495ab
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseCompleteDto.java
@@ -0,0 +1,37 @@
+package com.yxt.crm.biz.crmmaintenanceenterpriserecord.flowable;
+
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/9/6 14:57
+ * @Description
+ */
+@Data
+public class EnterpriseCompleteDto implements Dto {
+ private static final long serialVersionUID = 6378752532534735663L;
+
+ @ApiModelProperty(value = "用户sid")
+ private String userSid;
+ @ApiModelProperty(value = "节点id")
+ @NotBlank(message = "参数错误:taskDefKey")
+ private String taskDefKey;
+ @ApiModelProperty(value = "任务id")
+ @NotBlank(message = "参数错误:taskId")
+ private String taskId;
+ @ApiModelProperty(value = "流程id(PC)")
+ private String instanceId;
+ @ApiModelProperty(value = "流程id(移动)")
+ private String procInsId;
+ @ApiModelProperty(value = "意见")
+ private String comment;
+ @ApiModelProperty(value = "业务sid")
+ @NotBlank(message = "参数错误:businessSid")
+ private String businessSid;
+
+ private String orgPath;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseDelegateQuery.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseDelegateQuery.java
new file mode 100644
index 0000000000..3d8c1c77e9
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseDelegateQuery.java
@@ -0,0 +1,26 @@
+package com.yxt.crm.biz.crmmaintenanceenterpriserecord.flowable;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author Administrator
+ * @description
+ * @date 2023/9/28 9:28
+ */
+@Data
+public class EnterpriseDelegateQuery {
+ @ApiModelProperty
+ private String userSid;
+ @ApiModelProperty("流程实例id")
+// @JsonProperty("procInsId")
+ private String instanceId;
+ @ApiModelProperty("任务Id")
+ private String taskId;
+ @ApiModelProperty("审批人sid")
+ private String assignee;
+ @ApiModelProperty("填写意见")
+ private String views;
+
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseNodeQuery.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseNodeQuery.java
new file mode 100644
index 0000000000..238bffb574
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseNodeQuery.java
@@ -0,0 +1,25 @@
+package com.yxt.crm.biz.crmmaintenanceenterpriserecord.flowable;
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/9/6 15:04
+ * @Description
+ */
+@Data
+public class EnterpriseNodeQuery implements Query {
+ private static final long serialVersionUID = 9117613683840483366L;
+
+ @ApiModelProperty(value = "环节定义id")
+ @NotBlank(message = "参数错误:taskDefKey")
+ private String taskDefKey;
+ @ApiModelProperty(value = "业务sid")
+ private String businessSid;
+ @ApiModelProperty(value = "0 上一环节 1下一环节")
+ private Integer next;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseNodeVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseNodeVo.java
new file mode 100644
index 0000000000..a811dc99f2
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseNodeVo.java
@@ -0,0 +1,26 @@
+package com.yxt.crm.biz.crmmaintenanceenterpriserecord.flowable;
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/9/6 15:03
+ * @Description
+ */
+@Data
+public class EnterpriseNodeVo implements Vo {
+ private static final long serialVersionUID = -833419512294877848L;
+
+ @ApiModelProperty(value = "节点名称")
+ private String name;
+ @ApiModelProperty(value = "节点id")
+ private String id;
+ @ApiModelProperty(value = "审批组")
+ private List candidateGroups;
+ @ApiModelProperty(value = "是否是最后环节")
+ private String endTask;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseTaskQuery.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseTaskQuery.java
new file mode 100644
index 0000000000..df00ac049c
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/EnterpriseTaskQuery.java
@@ -0,0 +1,48 @@
+package com.yxt.crm.biz.crmmaintenanceenterpriserecord.flowable;
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/9/6 15:06
+ * @Description
+ */
+@Data
+public class EnterpriseTaskQuery implements Query {
+ private static final long serialVersionUID = 1288615499873178778L;
+
+ /**
+ * 终止、驳回、撤回
+ */
+ @ApiModelProperty("任务Id")
+ @NotBlank(message = "参数错误:taskId")
+ private String taskId;
+ /**
+ * 终止、驳回、撤回
+ */
+ @ApiModelProperty("业务sid")
+ @NotBlank(message = "参数错误:businessSid")
+ private String businessSid;
+ /**
+ * 终止、驳回
+ */
+ @ApiModelProperty("任务意见")
+ private String comment;
+ /**
+ * 终止、撤回、驳回
+ */
+ @ApiModelProperty("用户Sid")
+ private String userSid;
+ /**
+ * 终止
+ */
+ @ApiModelProperty("流程实例Id(PC)")
+ private String instanceId;
+
+ @ApiModelProperty("流程实例Id(移动)")
+ private String procInsId;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/SubmitEnterpriseDto.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/SubmitEnterpriseDto.java
new file mode 100644
index 0000000000..55554f9a41
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriserecord/flowable/SubmitEnterpriseDto.java
@@ -0,0 +1,25 @@
+package com.yxt.crm.biz.crmmaintenanceenterpriserecord.flowable;
+
+
+import com.yxt.crm.biz.crmmaintenanceenterpriserecord.CrmMaintenanceenterpriseRecordDto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author liuguohui
+ * @version 1.0
+ * @description
+ * @date 2022/04/13
+ */
+@ApiModel("提交")
+@Data
+public class SubmitEnterpriseDto extends CrmMaintenanceenterpriseRecordDto {
+
+ @ApiModelProperty("意见")
+ private String comment;
+ @ApiModelProperty("流程实例id")
+ private String instanceId;
+ @ApiModelProperty("任务id")
+ private String taskId;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVeh.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVeh.java
new file mode 100644
index 0000000000..1b894e7fa6
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVeh.java
@@ -0,0 +1,70 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmmaintenanceenterpriseveh;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseVeh.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriseveh.CrmMaintenanceenterpriseVeh
+ * Description: 定点企业备案-车辆信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业备案-车辆信息", description = "定点企业备案-车辆信息")
+@TableName("crm_maintenanceenterprise_veh")
+public class CrmMaintenanceenterpriseVeh extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("申请人")
+ private String createByName; // 申请人
+ @ApiModelProperty("定点企业备案sid")
+ private String billSid; // 定点企业备案sid
+ @ApiModelProperty("售后客户车辆信息sid")
+ private String asVinSid; // 售后客户车辆信息sid
+ @ApiModelProperty("车牌号")
+ private String vehMark; // 车牌号
+ @ApiModelProperty("车架号")
+ private String vinNo; // 车架号
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("购车日期")
+ private Date buyDate; // 购车日期
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehDetailsVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehDetailsVo.java
new file mode 100644
index 0000000000..ca2478da39
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehDetailsVo.java
@@ -0,0 +1,71 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmmaintenanceenterpriseveh;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseVehVo.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriseveh.CrmMaintenanceenterpriseVehVo
+ * Description: 定点企业备案-车辆信息 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业备案-车辆信息 视图数据详情", description = "定点企业备案-车辆信息 视图数据详情")
+public class CrmMaintenanceenterpriseVehDetailsVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("申请人")
+ private String createByName; // 申请人
+ @ApiModelProperty("定点企业备案sid")
+ private String billSid; // 定点企业备案sid
+ @ApiModelProperty("售后客户车辆信息sid")
+ private String asVinSid; // 售后客户车辆信息sid
+ @ApiModelProperty("车牌号")
+ private String vehMark; // 车牌号
+ @ApiModelProperty("车架号")
+ private String vinNo; // 车架号
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("购车日期")
+ private Date buyDateStart; // 购车日期
+ private Date buyDateEnd; // 购车日期
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehDto.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehDto.java
new file mode 100644
index 0000000000..3aafef1595
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehDto.java
@@ -0,0 +1,71 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmmaintenanceenterpriseveh;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseVehDto.java
+ * Class: com.yxt.anrui.crm.api.crmmaintenanceenterpriseveh.CrmMaintenanceenterpriseVehDto
+ * Description: 定点企业备案-车辆信息 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "定点企业备案-车辆信息 数据传输对象", description = "定点企业备案-车辆信息 数据传输对象")
+public class CrmMaintenanceenterpriseVehDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("申请人")
+ private String createByName; // 申请人
+ @ApiModelProperty("定点企业备案sid")
+ private String billSid; // 定点企业备案sid
+ @ApiModelProperty("售后客户车辆信息sid")
+ private String asVinSid; // 售后客户车辆信息sid
+ @ApiModelProperty("车牌号")
+ private String vehMark; // 车牌号
+ @ApiModelProperty("车架号")
+ private String vinNo; // 车架号
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("购车日期")
+ private Date buyDateStart; // 购车日期
+ private Date buyDateEnd; // 购车日期
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehMapper.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehMapper.java
new file mode 100644
index 0000000000..89a25265fe
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmmaintenanceenterpriseveh/CrmMaintenanceenterpriseVehMapper.java
@@ -0,0 +1,69 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmmaintenanceenterpriseveh;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmMaintenanceenterpriseVehMapper.java
+ * Class: com.yxt.anrui.crm.biz.crmmaintenanceenterpriseveh.CrmMaintenanceenterpriseVehMapper
+ * Description: 定点企业备案-车辆信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-22 13:49:30
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface CrmMaintenanceenterpriseVehMapper extends BaseMapper {
+
+ //@Update("update crm_maintenanceenterprise_veh set name=#{msg} where id=#{id}")
+ //IPage voPage(IPage