|
|
@@ -0,0 +1,555 @@
|
|
|
+package cn.start.tz.module.pressure2.service.pushtaskorder;
|
|
|
+
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
+import cn.hutool.core.util.IdUtil;
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
+import cn.start.tz.framework.common.exception.ErrorCode;
|
|
|
+import cn.start.tz.framework.common.exception.ServiceException;
|
|
|
+import cn.start.tz.framework.common.exception.enums.GlobalErrorCodeConstants;
|
|
|
+import cn.start.tz.framework.common.pojo.CommonResult;
|
|
|
+import cn.start.tz.framework.common.pojo.PageResult;
|
|
|
+import cn.start.tz.framework.common.util.object.BeanUtils;
|
|
|
+import cn.start.tz.framework.ip.core.Area;
|
|
|
+import cn.start.tz.framework.ip.core.utils.AreaUtils;
|
|
|
+import cn.start.tz.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
|
+import cn.start.tz.framework.security.core.LoginUser;
|
|
|
+import cn.start.tz.module.bpm.api.task.BpmProcessInstanceApi;
|
|
|
+import cn.start.tz.module.bpm.api.task.BpmTaskApi;
|
|
|
+import cn.start.tz.module.bpm.api.task.dto.*;
|
|
|
+import cn.start.tz.module.bpm.enums.boiler.BoilerBpmModeConstantsEnum;
|
|
|
+import cn.start.tz.module.bpm.enums.boiler.BoilerBpmModelConstants;
|
|
|
+import cn.start.tz.module.bpm.enums.task.BpmModeConstantsEnum;
|
|
|
+import cn.start.tz.module.bpm.enums.task.BpmTaskStatusEnum;
|
|
|
+import cn.start.tz.module.infra.api.file.FileApi;
|
|
|
+import cn.start.tz.module.infra.api.pay.PayApi;
|
|
|
+import cn.start.tz.module.infra.api.pay.dto.TaskInfoDTO;
|
|
|
+import cn.start.tz.module.member.api.templatesendlog.TemplateSendLogApi;
|
|
|
+import cn.start.tz.module.member.api.templatesendlog.dto.TemplateSendLogDto;
|
|
|
+import cn.start.tz.module.member.api.templatesendlog.dto.TemplateSendLogRespDto;
|
|
|
+import cn.start.tz.module.member.api.user.MemberUserApi;
|
|
|
+import cn.start.tz.module.member.api.user.dto.MemberUserRespDTO;
|
|
|
+import cn.start.tz.module.pressure.enums.TaskOrderStatusEnum;
|
|
|
+import cn.start.tz.module.pressure2.constant.TemplateIdConstants;
|
|
|
+import cn.start.tz.module.pressure2.controller.admin.appointmentconfirmorder.vo.TeamItemVO;
|
|
|
+import cn.start.tz.module.pressure2.controller.admin.appointmentconfirmrefuseyearitem.vo.YearCheckIdVO;
|
|
|
+import cn.start.tz.module.pressure2.controller.admin.boilerorderexception.vo.BoilerOrderExceptionRespVO;
|
|
|
+import cn.start.tz.module.pressure2.controller.admin.boilertaskorder.vo.*;
|
|
|
+import cn.start.tz.module.pressure2.controller.admin.boilertaskorderitem.vo.BoilerTaskOrderItemPageReqVO;
|
|
|
+import cn.start.tz.module.pressure2.controller.admin.boilertaskorderitem.vo.BoilerTaskOrderItemRespVO;
|
|
|
+import cn.start.tz.module.pressure2.controller.admin.boilertaskorderitempart.vo.BoilerTaskOrderItemPartSaveReqVO;
|
|
|
+import cn.start.tz.module.pressure2.controller.admin.boilertaskorderitemrecheck.vo.BoilerTaskOrderItemRecheckRespVO;
|
|
|
+import cn.start.tz.module.pressure2.controller.admin.boilertaskorderitemreport.vo.BoilerTaskOrderItemReportRespVO;
|
|
|
+import cn.start.tz.module.pressure2.controller.admin.bpmtaskinfo.vo.BpmTaskRespVO;
|
|
|
+import cn.start.tz.module.pressure2.controller.admin.costfield.vo.CostFieldRespVO;
|
|
|
+import cn.start.tz.module.pressure2.controller.admin.dynamictbins.vo.CreateInstantiateWithRuleVO;
|
|
|
+import cn.start.tz.module.pressure2.controller.admin.equipboilerscheduling.vo.BoilerDeleteTask;
|
|
|
+import cn.start.tz.module.pressure2.controller.admin.reporttemplate.vo.ReportPreviewVO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.acceptorder.AcceptOrderDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.appointmentconfirmorder.AppointmentConfirmOrderDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.appointmentconfirmorderrefuseitem.AppointmentConfirmOrderRefuseItemDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boileracceptorderitem.BoilerAcceptOrderItemDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boileracceptorderuser.BoilerAcceptOrderUserDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilerconnectrecordreport.BoilerConnectRecordReportDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilerconnecttbservice.BoilerConnectTbServiceDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilerorderexception.BoilerOrderExceptionDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorder.BoilerTaskOrderDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderfileversion.BoilerTaskOrderFileVersionDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitem.BoilerTaskOrderItemDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitempart.BoilerTaskOrderItemPartDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemrecheck.BoilerTaskOrderItemRecheckDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreport.BoilerTaskOrderItemReportDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreportequip.BoilerTaskOrderItemReportEquipDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreportrecord.BoilerTaskOrderItemReportRecordDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreportuser.BoilerTaskOrderItemReportUserDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemuser.BoilerTaskOrderItemUserDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderoperation.BoilerTaskOrderOperationDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderreport.BoilerTaskOrderReportDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskordersecuritycheck.BoilerTaskOrderSecurityCheckDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskordersignfile.BoilerTaskOrderSignFileDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderuser.BoilerTaskOrderUserDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.bpmtaskinfo.BpmTaskInfoDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.businessmemberrelation.BusinessMemberRelationDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.defectinspectionrecords.DefectInspectionRecordsDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictb.DynamicTbDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictbcol.DynamicTbColDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictbins.DynamicTbInsDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictbval.DynamicTbValDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.equipboiler.EquipBoilerDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.equipboilercheckhistory.EquipBoilerCheckHistoryDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.equipboilerscheduling.EquipBoilerSchedulingRecordDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.equipboilerschedulingitem.EquipBoilerSchedulingCheckDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.inspectionnature.InspectionNatureTemplateDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorder.PipeTaskOrderDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderuser.PipeTaskOrderUserDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.reporttemplate.ReportTemplateDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.acceptorder.AcceptOrderMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.appointmentconfirmorder.AppointmentConfirmOrderMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.appointmentconfirmorderrefuseitem.AppointmentConfirmOrderRefuseItemMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boileracceptorderuser.BoilerAcceptOrderUserMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilerconnectrecordreport.BoilerConnectRecordReportMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilerconnecttbservice.BoilerConnectTbServiceMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilerorderexception.BoilerOrderExceptionMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorder.BoilerTaskOrderMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderfileversion.BoilerTaskOrderFileVersionMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitem.BoilerTaskOrderItemMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitempart.BoilerTaskOrderItemPartMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitemrecheck.BoilerTaskOrderItemRecheckMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitemreport.BoilerTaskOrderItemReportMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitemreportequip.BoilerTaskOrderItemReportEquipMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitemreportrecord.BoilerTaskOrderItemReportRecordMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitemreportuser.BoilerTaskOrderItemReportUserMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitemuser.BoilerTaskOrderItemUserMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderreport.BoilerTaskOrderReportMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskordersecuritycheck.TaskOrderSecurityCheckMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskordersignfile.BoilerTaskOrderSignFileMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderuser.BoilerTaskOrderUserMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.bpmtaskinfo.BpmTaskInfoMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.businessmemberrelation.BusinessMemberRelationMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.defectinspectionrecords.DefectInspectionRecordsMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.dynamictb.DynamicTbMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.equipboiler.EquipBoilerMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.equipboilercheckhistory.EquipBoilerCheckHistoryMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.equipboilerscheduling.EquipBoilerSchedulingRecordMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.equipboilerschedulingitem.EquipBoilerSchedulingCheckMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderuser.PipeTaskOrderUserMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.reporttemplate.ReportTemplateMapper;
|
|
|
+import cn.start.tz.module.pressure2.enums.AcceptOrderStatusEnum;
|
|
|
+import cn.start.tz.module.pressure2.enums.RedisKeyEnums;
|
|
|
+import cn.start.tz.module.pressure2.enums.TaskOrderItemReportTypeEnum;
|
|
|
+import cn.start.tz.module.pressure2.service.appointmentconfirmrefuseyearitem.AppointmentConfirmRefuseYearItemService;
|
|
|
+import cn.start.tz.module.pressure2.service.boilerconnectrecordreport.BoilerConnectRecordReportService;
|
|
|
+import cn.start.tz.module.pressure2.service.boilertaskorderfileversion.BoilerTaskOrderFileVersionService;
|
|
|
+import cn.start.tz.module.pressure2.service.boilertaskorderitempart.BoilerTaskOrderItemPartService;
|
|
|
+import cn.start.tz.module.pressure2.service.boilertaskorderitemreport.BoilerTaskOrderItemReportService;
|
|
|
+import cn.start.tz.module.pressure2.service.boilertaskorderitemreportversion.BoilerTaskOrderItemReportVersionService;
|
|
|
+import cn.start.tz.module.pressure2.service.boilertaskorderoperation.BoilerTaskOrderOperationService;
|
|
|
+import cn.start.tz.module.pressure2.service.boilertaskordersecuritycheck.BoilerTaskOrderSecurityCheckService;
|
|
|
+import cn.start.tz.module.pressure2.service.common.RedisService;
|
|
|
+import cn.start.tz.module.pressure2.service.costfield.CostFieldService;
|
|
|
+import cn.start.tz.module.pressure2.service.dynamictbcol.DynamicTbColService;
|
|
|
+import cn.start.tz.module.pressure2.service.dynamictbins.DynamicTbInsService;
|
|
|
+import cn.start.tz.module.pressure2.service.dynamictbval.DynamicTbValService;
|
|
|
+import cn.start.tz.module.pressure2.service.equipboiler.EquipBoilerService;
|
|
|
+import cn.start.tz.module.pressure2.service.equipboilerscheduling.EquipBoilerSchedulingService;
|
|
|
+import cn.start.tz.module.pressure2.service.equipboilerschedulingcheck.EquipBoilerSchedulingCheckService;
|
|
|
+import cn.start.tz.module.pressure2.service.externalOA.ExternalOAService;
|
|
|
+import cn.start.tz.module.pressure2.service.externalOA.vo.*;
|
|
|
+import cn.start.tz.module.pressure2.service.inspectionnature.InspectionNatureService;
|
|
|
+import cn.start.tz.module.pressure2.service.inspectionnature.InspectionNatureTemplateService;
|
|
|
+import cn.start.tz.module.pressure2.service.orderreport.OrderReportService;
|
|
|
+import cn.start.tz.module.pressure2.service.pdf.PdfService;
|
|
|
+import cn.start.tz.module.pressure2.service.pipetaskorder.PipeTaskOrderService;
|
|
|
+import cn.start.tz.module.pressure2.service.synchronization.SynchronizationService;
|
|
|
+import cn.start.tz.module.pressure2.service.userwallthicknesstemplate.UserWallThicknessTemplateService;
|
|
|
+import cn.start.tz.module.pressure2.util.ConversionUtil;
|
|
|
+import cn.start.tz.module.pressure2.util.DeptDataPermissionUtil;
|
|
|
+import cn.start.tz.module.pressure2.util.JsonDiffTool;
|
|
|
+import cn.start.tz.module.pressure2.util.JsonFieldMapper;
|
|
|
+import cn.start.tz.module.pressure2.util.vo.FieldMetadata;
|
|
|
+import cn.start.tz.module.system.api.clientunit.ClientUnitApi;
|
|
|
+import cn.start.tz.module.system.api.clientunit.dto.ClientUnitDTO;
|
|
|
+import cn.start.tz.module.system.api.dept.DeptApi;
|
|
|
+import cn.start.tz.module.system.api.dept.dto.DeptRespDTO;
|
|
|
+import cn.start.tz.module.system.api.dict.DictDataApi;
|
|
|
+import cn.start.tz.module.system.api.dict.dto.DictDataRespDTO;
|
|
|
+import cn.start.tz.module.system.api.orgcontact.OrgContactApi;
|
|
|
+import cn.start.tz.module.system.api.orgcontact.dto.OrgContactDTO;
|
|
|
+import cn.start.tz.module.system.api.standard.StandardTemplateApi;
|
|
|
+import cn.start.tz.module.system.api.template.TemplateInitDataApi;
|
|
|
+import cn.start.tz.module.system.api.user.AdminUserApi;
|
|
|
+import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
+import cn.start.tz.module.system.enums.TemplateInitDataEnums;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.alibaba.nacos.client.naming.utils.CollectionUtils;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
+import com.fasterxml.jackson.databind.JsonNode;
|
|
|
+import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
+import com.github.yulichang.query.MPJLambdaQueryWrapper;
|
|
|
+import com.google.common.collect.Lists;
|
|
|
+import jakarta.annotation.Resource;
|
|
|
+import jodd.util.StringUtil;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.apache.pdfbox.multipdf.PDFMergerUtility;
|
|
|
+import org.redisson.api.RLock;
|
|
|
+import org.redisson.api.RedissonClient;
|
|
|
+import org.springframework.beans.BeanWrapper;
|
|
|
+import org.springframework.beans.BeanWrapperImpl;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
+import org.springframework.context.annotation.Lazy;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.validation.annotation.Validated;
|
|
|
+
|
|
|
+import java.beans.PropertyDescriptor;
|
|
|
+import java.io.ByteArrayInputStream;
|
|
|
+import java.io.ByteArrayOutputStream;
|
|
|
+import java.io.IOException;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.time.LocalDate;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.time.ZoneId;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
+import java.util.*;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
+import java.util.concurrent.atomic.AtomicReference;
|
|
|
+import java.util.function.Function;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+import static cn.start.tz.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
+import static cn.start.tz.framework.common.exception.util.ServiceExceptionUtil.exception0;
|
|
|
+import static cn.start.tz.framework.common.util.json.JsonUtils.getHandleDateValue;
|
|
|
+import static cn.start.tz.framework.security.core.util.SecurityFrameworkUtils.getLoginUser;
|
|
|
+import static cn.start.tz.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
|
|
|
+import static cn.start.tz.module.pressure.enums.ErrorCodeConstants.REPORT_TEMPLATE_NOT_EXISTS;
|
|
|
+import static cn.start.tz.module.pressure2.enums.ErrorCodeConstants.BOILER_TASK_ORDER_NOT_EXISTS;
|
|
|
+import static java.time.LocalDate.now;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 锅炉检验任务确认 Service 实现类
|
|
|
+ *
|
|
|
+ * @author 容*0
|
|
|
+ */
|
|
|
+@Service
|
|
|
+@Validated
|
|
|
+@Slf4j
|
|
|
+public class PushTaskOrderServiceImpl implements PushTaskOrderService {
|
|
|
+ @Value("${spring.profiles.active}")
|
|
|
+ private String profilesEnv;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private PayApi payApi;
|
|
|
+ @Resource
|
|
|
+ private DeptApi deptApi;
|
|
|
+
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private AppointmentConfirmOrderMapper appointmentConfirmOrderMapper;
|
|
|
+ @Resource
|
|
|
+ private AcceptOrderMapper acceptOrderMapper;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void pushFinanceSystem(BoilerTaskOrderDO taskOrderDO) {
|
|
|
+ if (taskOrderDO == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ TaskInfoDTO reqDTO = new TaskInfoDTO();
|
|
|
+ reqDTO.setTaskno(taskOrderDO.getOrderNo());
|
|
|
+
|
|
|
+ // 定检要收服务费的,传14-2
|
|
|
+ reqDTO.setItemType("14-2");
|
|
|
+ if (taskOrderDO.getCheckDate() != null) {
|
|
|
+ reqDTO.setCheckDate(taskOrderDO.getCheckDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
|
+ }
|
|
|
+ // 收费性质
|
|
|
+ int chargeWay = 0;
|
|
|
+ if (taskOrderDO.getFeeType() != null && taskOrderDO.getFeeType() == 200) {
|
|
|
+ chargeWay = 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ reqDTO.setChargeWay(chargeWay);
|
|
|
+ reqDTO.setUnitname(taskOrderDO.getUnitName());
|
|
|
+ reqDTO.setUnitcode(taskOrderDO.getUnitCode());
|
|
|
+ reqDTO.setContacts(taskOrderDO.getUnitContact());
|
|
|
+ reqDTO.setPhone(taskOrderDO.getUnitPhone());
|
|
|
+ reqDTO.setInData("4");
|
|
|
+ reqDTO.setOrderFlag("1");// 服务单
|
|
|
+ reqDTO.setChangeStatus("0");
|
|
|
+ // reqDTO.setReportFinishFlag("2");
|
|
|
+
|
|
|
+ if (taskOrderDO.getTaskStatus() != null && taskOrderDO.getTaskStatus() == cn.start.tz.module.pressure.enums.TaskOrderStatusEnum.REPORT_FINISH.getStatus().intValue()) {
|
|
|
+ reqDTO.setReportFinishFlag("2");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (taskOrderDO.getTaskStatus() != null && taskOrderDO.getTaskStatus() == TaskOrderStatusEnum.CANCEL.getStatus().intValue()) {
|
|
|
+ // 任务单状态,0 正常 1被替换 2作废
|
|
|
+ reqDTO.setChangeStatus("2");
|
|
|
+ reqDTO.setReportFinishFlag("0");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if (profilesEnv.equals("uat")) {
|
|
|
+ reqDTO.setRemark("测试");
|
|
|
+ }
|
|
|
+ // reqDTO.setServiceFee(taskOrderDO.getServiceAmount());
|
|
|
+ reqDTO.setServiceFee(taskOrderDO.getActualAmount());
|
|
|
+
|
|
|
+
|
|
|
+ if (taskOrderDO.getOrderNo() != null && taskOrderDO.getOrderNo().startsWith("RD")) {
|
|
|
+ reqDTO.setCreateAt(taskOrderDO.getInputDate());
|
|
|
+ } else {
|
|
|
+ AcceptOrderDO acceptOrderDO = acceptOrderMapper.selectOne(new LambdaQueryWrapperX<AcceptOrderDO>().
|
|
|
+ eq(AcceptOrderDO::getId, taskOrderDO.getAcceptOrderId()), false);
|
|
|
+ if (acceptOrderDO != null) {
|
|
|
+ AppointmentConfirmOrderDO appointmentConfirmOrderDO = appointmentConfirmOrderMapper.selectById(acceptOrderDO.getAppointmentId());
|
|
|
+ if (appointmentConfirmOrderDO != null && appointmentConfirmOrderDO.getConfirmDate() != null) {
|
|
|
+ reqDTO.setCreateAt(appointmentConfirmOrderDO.getConfirmDate());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ List<TaskInfoDTO.TaskDeptShareInfo> deptInfos = new ArrayList<>();
|
|
|
+ TaskInfoDTO.TaskDeptShareInfo deptInfo = new TaskInfoDTO.TaskDeptShareInfo();
|
|
|
+
|
|
|
+ if (StringUtils.isNotBlank(taskOrderDO.getDeptId())) {
|
|
|
+ DeptRespDTO deptRespDTO = deptApi.getDept(taskOrderDO.getDeptId()).getData();
|
|
|
+ if (deptRespDTO != null) {
|
|
|
+ deptInfo.setDeptName(deptRespDTO.getName());
|
|
|
+ deptInfo.setDeptCode(deptRespDTO.getCode());
|
|
|
+
|
|
|
+ reqDTO.setDeptName(deptRespDTO.getName());
|
|
|
+ reqDTO.setCreateDept(deptRespDTO.getCode());
|
|
|
+ }
|
|
|
+ deptInfo.setServiceFee(taskOrderDO.getServiceAmount());
|
|
|
+ deptInfo.setTypecode(reqDTO.getItemType());
|
|
|
+ }
|
|
|
+
|
|
|
+ deptInfos.add(deptInfo);
|
|
|
+ reqDTO.setDeptShareInfos(deptInfos);
|
|
|
+ // 任务单推送到结算系统
|
|
|
+ if (taskOrderDO.getCheckType() != null && taskOrderDO.getCheckType() != 100 && reqDTO.getServiceFee() != null && reqDTO.getServiceFee().intValue() > 0) {
|
|
|
+ payApi.pushOrder(reqDTO);
|
|
|
+ log.info("任务单推送到结算系统 {}", taskOrderDO.getOrderNo());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void pushFinanceSystemCancel(BoilerTaskOrderDO taskOrderDO) {
|
|
|
+ if (taskOrderDO == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ TaskInfoDTO reqDTO = new TaskInfoDTO();
|
|
|
+ reqDTO.setTaskno(taskOrderDO.getOrderNo());
|
|
|
+
|
|
|
+ // 这个值,年检传14-1,定检要收服务费的,传14-2
|
|
|
+ reqDTO.setItemType("14-2");
|
|
|
+ if (taskOrderDO.getCheckType() != null && taskOrderDO.getCheckType() == 200) {
|
|
|
+ reqDTO.setItemType("14-1");
|
|
|
+ } else if (taskOrderDO.getCheckType() != null && taskOrderDO.getCheckType() == 300) {
|
|
|
+ reqDTO.setItemType("14-2");
|
|
|
+ }
|
|
|
+ if (taskOrderDO.getCheckDate() != null) {
|
|
|
+ reqDTO.setCheckDate(taskOrderDO.getCheckDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
|
+ }
|
|
|
+ // 收费性质
|
|
|
+ int chargeWay = 0;
|
|
|
+ if (taskOrderDO.getFeeType() != null && taskOrderDO.getFeeType() == 200) {
|
|
|
+ chargeWay = 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ reqDTO.setChargeWay(chargeWay);
|
|
|
+ reqDTO.setUnitname(taskOrderDO.getUnitName());
|
|
|
+ reqDTO.setUnitcode(taskOrderDO.getUnitCode());
|
|
|
+ reqDTO.setContacts(taskOrderDO.getUnitContact());
|
|
|
+ reqDTO.setPhone(taskOrderDO.getUnitPhone());
|
|
|
+ reqDTO.setInData("4");
|
|
|
+ reqDTO.setOrderFlag("1");// 服务单
|
|
|
+ // reqDTO.setReportFinishFlag("2");
|
|
|
+
|
|
|
+ // 任务单状态,0 正常 1被替换 2作废
|
|
|
+ reqDTO.setChangeStatus("2");
|
|
|
+ reqDTO.setReportFinishFlag("0");
|
|
|
+ reqDTO.setServiceFee(taskOrderDO.getActualAmount());
|
|
|
+
|
|
|
+ if (taskOrderDO.getOrderNo() != null && taskOrderDO.getOrderNo().startsWith("RD")) {
|
|
|
+ reqDTO.setCreateAt(taskOrderDO.getInputDate());
|
|
|
+ } else {
|
|
|
+ AcceptOrderDO acceptOrderDO = acceptOrderMapper.selectOne(new LambdaQueryWrapperX<AcceptOrderDO>().
|
|
|
+ eq(AcceptOrderDO::getId, taskOrderDO.getAcceptOrderId()), false);
|
|
|
+ if (acceptOrderDO != null) {
|
|
|
+ AppointmentConfirmOrderDO appointmentConfirmOrderDO = appointmentConfirmOrderMapper.selectById(acceptOrderDO.getAppointmentId());
|
|
|
+ if (appointmentConfirmOrderDO != null && appointmentConfirmOrderDO.getConfirmDate() != null) {
|
|
|
+ reqDTO.setCreateAt(appointmentConfirmOrderDO.getConfirmDate());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ List<TaskInfoDTO.TaskDeptShareInfo> deptInfos = new ArrayList<>();
|
|
|
+ TaskInfoDTO.TaskDeptShareInfo deptInfo = new TaskInfoDTO.TaskDeptShareInfo();
|
|
|
+
|
|
|
+ if (StringUtils.isNotBlank(taskOrderDO.getDeptId())) {
|
|
|
+ DeptRespDTO deptRespDTO = deptApi.getDept(taskOrderDO.getDeptId()).getData();
|
|
|
+ if (deptRespDTO != null) {
|
|
|
+ deptInfo.setDeptName(deptRespDTO.getName());
|
|
|
+ deptInfo.setDeptCode(deptRespDTO.getCode());
|
|
|
+
|
|
|
+ reqDTO.setDeptName(deptRespDTO.getName());
|
|
|
+ reqDTO.setCreateDept(deptRespDTO.getCode());
|
|
|
+ }
|
|
|
+ deptInfo.setServiceFee(taskOrderDO.getServiceAmount());
|
|
|
+ deptInfo.setTypecode(reqDTO.getItemType());
|
|
|
+ }
|
|
|
+
|
|
|
+ deptInfos.add(deptInfo);
|
|
|
+ reqDTO.setDeptShareInfos(deptInfos);
|
|
|
+ // 任务单推送到结算系统
|
|
|
+ payApi.pushOrder(reqDTO);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void pushFinanceSystem(PipeTaskOrderDO taskOrderDO) {
|
|
|
+ if (taskOrderDO == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ TaskInfoDTO reqDTO = new TaskInfoDTO();
|
|
|
+ reqDTO.setTaskno(taskOrderDO.getOrderNo());
|
|
|
+
|
|
|
+ // 这个值,年检传14-1,定检要收服务费的,传14-2
|
|
|
+ reqDTO.setItemType("14-2");
|
|
|
+ if (taskOrderDO.getCheckType() != null && taskOrderDO.getCheckType() == 200) {
|
|
|
+ reqDTO.setItemType("14-1");
|
|
|
+ }
|
|
|
+ if (taskOrderDO.getCheckDate() != null) {
|
|
|
+ reqDTO.setCheckDate(taskOrderDO.getCheckDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
|
+ }
|
|
|
+ // 收费性质
|
|
|
+ int chargeWay = 0;
|
|
|
+ if (taskOrderDO.getFeeType() != null && taskOrderDO.getFeeType() == 200) {
|
|
|
+ chargeWay = 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ reqDTO.setChargeWay(chargeWay);
|
|
|
+ reqDTO.setUnitname(taskOrderDO.getUnitName());
|
|
|
+ reqDTO.setUnitcode(taskOrderDO.getUnitCode());
|
|
|
+ reqDTO.setContacts(taskOrderDO.getUnitContact());
|
|
|
+ reqDTO.setPhone(taskOrderDO.getUnitPhone());
|
|
|
+ reqDTO.setInData("4");
|
|
|
+ reqDTO.setOrderFlag("1");// 服务单
|
|
|
+ reqDTO.setChangeStatus("0");
|
|
|
+ // reqDTO.setReportFinishFlag("2");
|
|
|
+
|
|
|
+ if (taskOrderDO.getTaskStatus() != null && taskOrderDO.getTaskStatus() == cn.start.tz.module.pressure.enums.TaskOrderStatusEnum.REPORT_FINISH.getStatus().intValue()) {
|
|
|
+ reqDTO.setReportFinishFlag("2");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (taskOrderDO.getTaskStatus() != null && taskOrderDO.getTaskStatus() == TaskOrderStatusEnum.CANCEL.getStatus().intValue()) {
|
|
|
+ // 任务单状态,0 正常 1被替换 2作废
|
|
|
+ reqDTO.setChangeStatus("2");
|
|
|
+ reqDTO.setReportFinishFlag("0");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if (profilesEnv.equals("uat")) {
|
|
|
+ reqDTO.setRemark("测试");
|
|
|
+ }
|
|
|
+ // reqDTO.setServiceFee(taskOrderDO.getServiceAmount());
|
|
|
+ reqDTO.setServiceFee(taskOrderDO.getActualAmount());
|
|
|
+
|
|
|
+
|
|
|
+ if (taskOrderDO.getOrderNo() != null && taskOrderDO.getOrderNo().startsWith("RD")) {
|
|
|
+ reqDTO.setCreateAt(taskOrderDO.getInputDate());
|
|
|
+ } else {
|
|
|
+ AcceptOrderDO acceptOrderDO = acceptOrderMapper.selectOne(new LambdaQueryWrapperX<AcceptOrderDO>().
|
|
|
+ eq(AcceptOrderDO::getId, taskOrderDO.getAcceptOrderId()), false);
|
|
|
+ if (acceptOrderDO != null) {
|
|
|
+ AppointmentConfirmOrderDO appointmentConfirmOrderDO = appointmentConfirmOrderMapper.selectById(acceptOrderDO.getAppointmentId());
|
|
|
+ if (appointmentConfirmOrderDO != null && appointmentConfirmOrderDO.getConfirmDate() != null) {
|
|
|
+ reqDTO.setCreateAt(appointmentConfirmOrderDO.getConfirmDate());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ List<TaskInfoDTO.TaskDeptShareInfo> deptInfos = new ArrayList<>();
|
|
|
+ TaskInfoDTO.TaskDeptShareInfo deptInfo = new TaskInfoDTO.TaskDeptShareInfo();
|
|
|
+
|
|
|
+ if (StringUtils.isNotBlank(taskOrderDO.getDeptId())) {
|
|
|
+ DeptRespDTO deptRespDTO = deptApi.getDept(taskOrderDO.getDeptId()).getData();
|
|
|
+ if (deptRespDTO != null) {
|
|
|
+ deptInfo.setDeptName(deptRespDTO.getName());
|
|
|
+ deptInfo.setDeptCode(deptRespDTO.getCode());
|
|
|
+
|
|
|
+ reqDTO.setDeptName(deptRespDTO.getName());
|
|
|
+ reqDTO.setCreateDept(deptRespDTO.getCode());
|
|
|
+ }
|
|
|
+ deptInfo.setServiceFee(taskOrderDO.getServiceAmount());
|
|
|
+ deptInfo.setTypecode(reqDTO.getItemType());
|
|
|
+ }
|
|
|
+
|
|
|
+ deptInfos.add(deptInfo);
|
|
|
+ reqDTO.setDeptShareInfos(deptInfos);
|
|
|
+ // 任务单推送到结算系统
|
|
|
+ if (taskOrderDO.getCheckType() != null && taskOrderDO.getCheckType() != 100 && reqDTO.getServiceFee() != null && reqDTO.getServiceFee().intValue() > 0) {
|
|
|
+ payApi.pushOrder(reqDTO);
|
|
|
+ log.info("任务单推送到结算系统 {}", taskOrderDO.getOrderNo());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void pushFinanceSystemCancel(PipeTaskOrderDO taskOrderDO) {
|
|
|
+ if (taskOrderDO == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ TaskInfoDTO reqDTO = new TaskInfoDTO();
|
|
|
+ reqDTO.setTaskno(taskOrderDO.getOrderNo());
|
|
|
+
|
|
|
+ // 这个值,年检传14-1,定检要收服务费的,传14-2
|
|
|
+ reqDTO.setItemType("14-2");
|
|
|
+ if (taskOrderDO.getCheckType() != null && taskOrderDO.getCheckType() == 200) {
|
|
|
+ reqDTO.setItemType("14-1");
|
|
|
+ } else if (taskOrderDO.getCheckType() != null && taskOrderDO.getCheckType() == 300) {
|
|
|
+ reqDTO.setItemType("14-2");
|
|
|
+ }
|
|
|
+ if (taskOrderDO.getCheckDate() != null) {
|
|
|
+ reqDTO.setCheckDate(taskOrderDO.getCheckDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
|
+ }
|
|
|
+ // 收费性质
|
|
|
+ int chargeWay = 0;
|
|
|
+ if (taskOrderDO.getFeeType() != null && taskOrderDO.getFeeType() == 200) {
|
|
|
+ chargeWay = 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ reqDTO.setChargeWay(chargeWay);
|
|
|
+ reqDTO.setUnitname(taskOrderDO.getUnitName());
|
|
|
+ reqDTO.setUnitcode(taskOrderDO.getUnitCode());
|
|
|
+ reqDTO.setContacts(taskOrderDO.getUnitContact());
|
|
|
+ reqDTO.setPhone(taskOrderDO.getUnitPhone());
|
|
|
+ reqDTO.setInData("4");
|
|
|
+ reqDTO.setOrderFlag("1");// 服务单
|
|
|
+ // reqDTO.setReportFinishFlag("2");
|
|
|
+
|
|
|
+ // 任务单状态,0 正常 1被替换 2作废
|
|
|
+ reqDTO.setChangeStatus("2");
|
|
|
+ reqDTO.setReportFinishFlag("0");
|
|
|
+ reqDTO.setServiceFee(taskOrderDO.getActualAmount());
|
|
|
+
|
|
|
+ if (taskOrderDO.getOrderNo() != null && taskOrderDO.getOrderNo().startsWith("RD")) {
|
|
|
+ reqDTO.setCreateAt(taskOrderDO.getInputDate());
|
|
|
+ } else {
|
|
|
+ AcceptOrderDO acceptOrderDO = acceptOrderMapper.selectOne(new LambdaQueryWrapperX<AcceptOrderDO>().
|
|
|
+ eq(AcceptOrderDO::getId, taskOrderDO.getAcceptOrderId()), false);
|
|
|
+ if (acceptOrderDO != null) {
|
|
|
+ AppointmentConfirmOrderDO appointmentConfirmOrderDO = appointmentConfirmOrderMapper.selectById(acceptOrderDO.getAppointmentId());
|
|
|
+ if (appointmentConfirmOrderDO != null && appointmentConfirmOrderDO.getConfirmDate() != null) {
|
|
|
+ reqDTO.setCreateAt(appointmentConfirmOrderDO.getConfirmDate());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ List<TaskInfoDTO.TaskDeptShareInfo> deptInfos = new ArrayList<>();
|
|
|
+ TaskInfoDTO.TaskDeptShareInfo deptInfo = new TaskInfoDTO.TaskDeptShareInfo();
|
|
|
+
|
|
|
+ if (StringUtils.isNotBlank(taskOrderDO.getDeptId())) {
|
|
|
+ DeptRespDTO deptRespDTO = deptApi.getDept(taskOrderDO.getDeptId()).getData();
|
|
|
+ if (deptRespDTO != null) {
|
|
|
+ deptInfo.setDeptName(deptRespDTO.getName());
|
|
|
+ deptInfo.setDeptCode(deptRespDTO.getCode());
|
|
|
+
|
|
|
+ reqDTO.setDeptName(deptRespDTO.getName());
|
|
|
+ reqDTO.setCreateDept(deptRespDTO.getCode());
|
|
|
+ }
|
|
|
+ deptInfo.setServiceFee(taskOrderDO.getServiceAmount());
|
|
|
+ deptInfo.setTypecode(reqDTO.getItemType());
|
|
|
+ }
|
|
|
+
|
|
|
+ deptInfos.add(deptInfo);
|
|
|
+ reqDTO.setDeptShareInfos(deptInfos);
|
|
|
+ // 任务单推送到结算系统
|
|
|
+ payApi.pushOrder(reqDTO);
|
|
|
+ }
|
|
|
+}
|