Initial commit

This commit is contained in:
Docker7530
2026-03-01 01:43:46 +08:00
commit c6125c117b
3840 changed files with 415340 additions and 0 deletions
@@ -0,0 +1,139 @@
```
sequenceDiagram
autonumber
participant U as User/前端
participant C as NewWorkOrderController
participant W as WorkOrderServiceImpl
participant E as EnterpriseInfoDao
participant BB as BBossInteractiveService
participant DS as DomainOrderService
participant CS as CustomService
participant WOR as work_order(Repo)
participant DOR as configure_list(DomainOrderRepository)
participant SDR as speed_configure_domain(SpeedConfigureDomainDao)
participant BSD as BatchSelfDomainService
participant BSDao as batch_self_domain(BatchSelfDomainDao)
participant LFS as LogOrderService
participant LFR as log_file_resource(LogFileResourceRepository)
participant FI as file_info(FileInfoDao)
participant WOE as work_order_enterprise(WorkOrderEnterPriseDao)
participant WM as WorkOrderManager
participant DICP as DomainICPService
participant PIS as portalInformationService
participant BPM as BpmTaskDao
participant ODao as OrderDao
participant UR as UserRepository
U->>C: POST /workorder/custom/save(workList)
C->>C: checkParam(workList)
C->>W: newOrderAllowed()
C->>W: saveCustomWorkOrder(MutableHttpServletRequest, workList)
W->>W: 校验当前用户 & 企业可操作性
W->>E: findByEnterpriseId(workList.enterprise)
E-->>W: Optional<EnterpriseInfo>
alt workList.type == domain_request
W->>W: recheckEnterprisePunishmentStatus(info)
W->>BB: queryJointPunish(ecId)
BB-->>W: JointPunishResponse
W->>W: isModify = (workList.id != null)
W->>DS: handleWithDomainOrder(workList, modelStr)
alt isBatch == true
DS->>W: getWorkOrderCode(domain_request)
DS->>BSD: readBatchInformationFromExcel440(secInfoFile)
BSD-->>DS: List<BatchSelfDomainVO>
DS->>BSD: saveBatchDomains(batchVO, batchId=workOrder.code, provinceCodes, product, enterprise)
BSD->>BSDao: saveAll(batch_self_domain)
BSDao-->>BSD: saved
DS->>DOR: save(configure_list with isBatch=true, batchId=code)
else isBatch == false
DS->>CS: getWorkOrder(domain_request, details, enterprise)
CS-->>DS: WorkOrder(in memory)
DS->>DOR: save(configure_list)
end
DS->>WOR: save(work_order) %% (via cascade in configure_list.workOrder / or other path)
DS->>DOR: save(domain_history create + (create且非海外时) icp check marker)
alt isModify == true
W->>W: deleteHistoryFileInfo(workList, domainOrderPO.id)
W->>LFR: findByOrderId(configure_list.id)
LFR-->>W: old LogFileResource list
W->>FI: deleteAll(file_info by md5 diff)
W->>LFR: deleteAllByOrderId(configure_list.id)
end
W->>LFS: saveFilesToTable(orderId=configure_list.id, md5List, type=configure)
W->>LFR: saveAll(log_file_resource: normal attachments)
opt fileId not empty
W->>LFR: save(domain_config file link)
end
opt secInfoFileId not empty
W->>LFR: saveAll(security_info file links)
end
W->>WOE: setNewWorkOrderEnterpriseForDR(workOrderId, enterpriseId, orgEnterId?)
W->>WM: handleDomainConfigXinAnInfo(submitUserId, configure_list.id)
WM->>DOR: findById(configure_list.id)
WM->>UR: findById(submitUserId)
alt operateType == CREATE
alt overseas product
WM->>DS: updateNextCheckUserInOrderSubmit(order, submit, CREATE)
else non-overseas
WM->>DS: updateCheckedIcpInfo(order)
DS->>DICP: getDomainIcp(domains)
DICP-->>DS: recordNumber map
DS->>BSDao: saveAll(batch_self_domain recordNumber/icpEquals) %% batch
DS->>DOR: save(configure_list recordNumber) %% non-batch
DS->>DOR: save(domain_history isIcpCheckCompleted=true)
alt checkDomainIcpEqual == true
WM->>DS: uploadInformation(order)
DS->>PIS: validateAndSyncInformation(vos, domains, enterpriseId, provinceCode?)
alt sync failed
DS->>DOR: update(domain_history.last.msg=error)
DS-->>WM: return (stop flow)
else sync ok
DS->>DOR: update(domain_history.last.msg=null)
WM->>DS: updateNextCheckUserInOrderSubmit(order, submit, CREATE)
end
else icp incomplete
WM-->>W: (不进入信安同步与流转)
end
end
else operateType != CREATE
WM->>DS: updateNextCheckUserInOrderSubmit(order, submit, operateType)
end
W->>W: build domains from speedDomains + batch_self_domain
W->>W: req.putHeader(domainInfo, enterpriseInfo)
opt bpmTask exists && !isModify
W->>BPM: findByCode(workOrder.code)
BPM-->>W: BpmTaskPO
W->>ODao: findByEcId(ecId)
ODao-->>W: OrderInfo list
W->>UR: findById(currentUserId)
UR-->>W: nextApprover
W->>WOR: save(work_order.approvingUser=nextApprover)
end
C-->>U: success
Note over C,W: finally: logSubscribeService.updateSubscribeInfoForWorkOrder(domainInfo, enterpriseInfo, isSubscribe)
else workList.type != domain_request
W-->>C: (其它工单类型分支)
end
```