89666749 by 郭燕华

Merge remote-tracking branch 'origin/develop' into develop

2 parents 40d7db6c 137854e9
Showing 35 changed files with 774 additions and 50 deletions
......@@ -89,6 +89,14 @@ public class DemandController {
return CommonRes.success(true);
}
@PostMapping("/cross-flow-call-back")
@SystemLog(value = "数据需求-流程结束后进行业务回调(跨服务审批)")
@Operation(summary = "数据需求-流程结束后进行业务回调(跨服务审批)", hidden = true)
public CommonRes<Boolean> crossFlowCallBack(@RequestBody @Valid BizCallbackDTO dto) {
demandService.crossFlowCallBack(dto);
return CommonRes.success(true);
}
@PostMapping("/last-approve")
@SystemLog(value = "数据需求审批")
@Operation(summary = "数据需求审批-最后一个节点时调用")
......@@ -96,6 +104,13 @@ public class DemandController {
Boolean vo = demandService.lastApprove(dto);
return CommonRes.success(vo);
}
@PostMapping("/process-order-list")
@Operation(summary = "查询加工单列表")
public CommonRes<List<ProcessOrderProcessDtlRSVO>> listByProcessOrderNo() {
List<ProcessOrderProcessDtlRSVO> pageVO = demandService.listByProcessOrderNo();
return CommonRes.success(pageVO);
}
//endregion
......
......@@ -3,6 +3,7 @@ package com.csbr.qingcloud.portal.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.csbr.cloud.common.response.CommonRes;
import com.csbr.cloud.workflow.domain.dto.appove.FlowQueryDTO;
import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO;
import com.csbr.qingcloud.portal.domain.vo.*;
import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService;
......@@ -69,6 +70,14 @@ public class EnterpriseController {
PageListVO<EnterpriseRSVO> pageVO = enterpriseService.pageList(queryVO);
return CommonRes.success(pageVO);
}
@PostMapping("/flow/page-list")
@SystemLog(value = "企业信息-分页(调用流程)")
@Operation(summary = "企业信息-分页(调用流程)")
public CommonRes<PageListVO<EnterpriseApproveRSVO>> flowPageList(@RequestBody @Valid FlowQueryDTO dto) {
PageListVO<EnterpriseApproveRSVO> pageVO = enterpriseService.flowPageList(dto);
return CommonRes.success(pageVO);
}
@GetMapping("/detail")
@SystemLog(value = "企业信息-详情")
......@@ -79,6 +88,15 @@ public class EnterpriseController {
return CommonRes.success(vo);
}
@GetMapping("/detail-by-logonUser")
@SystemLog(value = "企业信息-根据登陆账号查询详情")
@Operation(summary = "企业信息-根据登陆账号查询详情",
parameters = {@Parameter(name = "logonUser", description = "登陆账号", required = true)} )
public CommonRes<EnterpriseRSVO> getEnterpriseDetailByLogonUser(@RequestParam String logonUser) {
EnterpriseRSVO vo = enterpriseService.getEnterpriseDetailByLogonUser(logonUser);
return CommonRes.success(vo);
}
@GetMapping("/detail-by-name")
@SystemLog(value = "按名称查企业信息详情")
@Operation(summary = "按名称查企业信息详情",
......@@ -96,12 +114,12 @@ public class EnterpriseController {
return CommonRes.success(true);
}
@PostMapping("/last-approve")
@SystemLog(value = "企业认证审批")
@Operation(summary = "企业认证审批-最后一个节点时调用")
public CommonRes<Boolean> lastApprove(@RequestBody FlowUpdateStateDTO dto) {
Boolean vo = enterpriseService.lastApprove(dto);
return CommonRes.success(vo);
@PostMapping("/cross-flow-call-back")
@SystemLog(value = "企业信息-流程结束后进行业务回调(跨服务审批)")
@Operation(summary = "企业信息-流程结束后进行业务回调(跨服务审批)", hidden = true)
public CommonRes<Boolean> crossFlowCallBack(@RequestBody @Valid BizCallbackDTO dto) {
enterpriseService.crossFlowCallBack(dto);
return CommonRes.success(true);
}
@PostMapping("/move-old-data")
......@@ -135,6 +153,14 @@ public class EnterpriseController {
return CommonRes.success(true);
}
@PostMapping("/change/cross-flow-call-back")
@SystemLog(value = "变更审批-最终更新(跨平台)")
@Operation( summary = "变更审批-最终更新(跨平台)" )
public CommonRes<Boolean> changeCrossFlowCallBack(@RequestBody BizCallbackDTO dto) {
enterpriseChangeApproveService.crossFlowCallBack(dto);
return CommonRes.success(true);
}
@PostMapping("/change/save")
@SystemLog(value = "变更申请-保存数据")
@Operation(summary = "变更申请-保存数据")
......@@ -151,6 +177,22 @@ public class EnterpriseController {
return CommonRes.success(enterpriseChangeApproveService.changeDetail(guid));
}
@DeleteMapping("/change/delete")
@SystemLog(value = "变更申请-批量删除")
@Operation(summary = "变更申请-批量删除")
public CommonRes<Boolean> changeRemoveByGuids(@RequestBody List<String> guids) {
enterpriseChangeApproveService.removeByGuids(guids);
return CommonRes.success(true);
}
@DeleteMapping("/change/cross-delete")
@SystemLog(value = "变更申请-批量删除(跨平台)")
@Operation(summary = "变更申请-批量删除(跨平台)", hidden = true)
public CommonRes<Boolean> crossRemoveByGuids(@RequestBody List<String> zqBizGuids) {
enterpriseChangeApproveService.crossRemoveByBizGuid(zqBizGuids);
return CommonRes.success(true);
}
//endregion
}
......
package com.csbr.qingcloud.portal.domain.vo;
import lombok.Data;
/**
* @program: ms-user-scm-service
* @description: 行政区
* @author: yio
* @create: 2021-01-14 15:39
**/
@Data
public class BoroughPOJO {
private String code;
private String name;
private String parentId;
private String isPCapital;
private String isDeleted;
/** 城市等级 (0 一线城市,1 新一线城市,2 二线城市,3 三线城市,4 四线城市,5 五线城市,6 六线城市)*/
private String areaLevel;
}
......@@ -55,4 +55,7 @@ public class ChangeApproveVO {
@Schema(description = "原业务数据明细")
private String oldBizDataDetailJson;
private String zqName;
private String zqBizGuid;
}
\ No newline at end of file
......
......@@ -3,6 +3,7 @@ package com.csbr.qingcloud.portal.domain.vo;
import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import com.fasterxml.jackson.annotation.JsonFormat;
import jdk.jfr.Name;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
......@@ -28,6 +29,9 @@ public class DemandRQVO extends FlowRQBaseVO {
*/
@Schema(description = "需求类型")
private String requirementType;
@Schema(title = "专区名称")
private String zqName;
/**
* 需求分类【1新增 2调整】
......@@ -205,6 +209,18 @@ public class DemandRQVO extends FlowRQBaseVO {
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
@Schema(description = "合同附件")
private String contractAttachJson;
@Schema(description = "加工单位类型")
private String processCompanyType;
@Schema(description = "加工单位唯一标识")
private String processCompanyGuid;
@Schema(description = "加工单位名称")
private String processCompanyName;
/******** 子对象 *****/
......
......@@ -168,7 +168,7 @@ public class DemandRSVO {
* 加工单生成时间
*/
@Schema(description = "加工单生成时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date processingGenerateTime;
/**
......@@ -218,7 +218,7 @@ public class DemandRSVO {
private String processCompanyGuid;
@Schema(description = "加工单位名称")
private String productAcceptName;
private String processCompanyName;
@Schema(description = "发起人")
private String createUserName;
......@@ -231,6 +231,18 @@ public class DemandRSVO {
@Schema(description = "加工单编号")
private String processOrderNo;
@Schema(title = "专区名称")
private String zqName;
@Schema(description ="业务名称")
private String bizName;
/**
* 跨平台审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)
*/
@Schema(title = "跨平台审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)")
private String crossPlatformApproveState;
/******** 库表存储属性 需处理 *****/
......
package com.csbr.qingcloud.portal.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
......@@ -32,5 +35,11 @@ public class DemandUpdateStateVO {
@Schema(description = "产品验收状态【N未开始 A进行中 Y已完成】")
private String productAcceptState;
@Schema(description ="产品验收验收完成时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date acceptFinishTime;
@Schema(description ="业务名称")
private String bizName;
}
......
package com.csbr.qingcloud.portal.domain.vo;
import com.csbr.cloud.workflow.domain.vo.appove.ApproveVO;
import com.csbr.cloud.workflow.domain.vo.appove.BizApproveVO;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @program: D:/git/ms-data-circulation-portal-service
* @description: 企业信息返回参数
* @author: xcq
* @create: 2024-12-26 16:18
**/
@Data
@Schema(title = "企业信息返回参数")
public class EnterpriseApproveRSVO extends ApproveVO {
@Schema(description = "跨平台审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)")
private String crossPlatformApproveState;
@Schema(description = "专区名称")
private String zqName;
/******** 子对象 *****/
}
......@@ -16,12 +16,17 @@ import java.util.Date;
@Data
@Schema(title = "企业信息新增、修改参数")
public class EnterpriseRQVO extends FlowRQBaseVO {
@Schema(description = "会员GUID")
private String tenantGuid;
/**
* 公司名称
*/
@Schema(description = "公司名称")
private String tenantName;
@Schema(title = "专区名称")
private String zqName;
/**
* 统一社会信用代码
......
......@@ -23,7 +23,10 @@ public class EnterpriseRSVO {
*/
@Schema(description = "系统唯一标识")
private String guid;
@Schema(description = "会员GUID")
private String tenantGuid;
/**
* 公司名称
*/
......@@ -185,6 +188,15 @@ public class EnterpriseRSVO {
@Schema(description = "提交时间")
private Date createTime;
@Schema(title = "专区名称")
private String zqName;
/**
* 跨平台审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)
*/
@Schema(title = "跨平台审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)")
private String crossPlatformApproveState;
/******** 库表存储属性 需处理 *****/
......
package com.csbr.qingcloud.portal.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Date;
/**
* @program:
* @description: 加工单加工明细返回参数
* @author: xup
* @create: 2025-02-10 17:57
**/
@Data
@Schema(title = "加工单加工明细返回参数")
public class ProcessOrderProcessDtlRSVO {
/**
* 系统唯一标识
*/
@Schema(description = "系统唯一标识")
private String guid;
/**
* 会员Guid
*/
@Schema(description = "会员Guid")
private String tenantGuid;
/**
* 加工单Guid
*/
@Schema(description = "加工单Guid")
private String processOrderGuid;
/**
* 加工单号
*/
@Schema(description = "加工单号")
private String processOrderNo;
/**
* 加工单名称
*/
@Schema(description = "加工单名称")
private String processOrderName;
/**
* 加工方式(1 数据服务;2 需求申请)
*/
@Schema(description = "加工方式(1 数据服务;2 需求申请)")
private Integer processType;
/**
* 业务Guid
*/
@Schema(description = "业务Guid")
private String bizGuid;
/**
* 业务名称
*/
@Schema(description = "业务名称")
private String bizName;
/**
* 加工状态(N 未开始;A 进行中;Y 已完成)
*/
@Schema(description = "加工状态(N 未开始;A 进行中;Y 已完成)")
private String processState;
/**
* 加工时间
*/
@Schema(description = "加工时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date processTime;
/**
* 交付时间
*/
@Schema(description = "交付时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date deliverTime;
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
/******** 子对象 *****/
}
package com.csbr.qingcloud.portal.domain.vo;
import csbr.cloud.entity.domain.base.vo.CsbrBaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* 企业证照表 视图对象类
*
* @author xiaocq
* @date 2023-12-19
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@Schema(name = "企业证照表")
public class TenantLicRQVO extends CsbrBaseVO {
/**
* 企业唯一标识
*/
@Schema(description = "企业唯一标识")
private String tenantGuid;
/**
* 证照类型
*/
@Schema(description = "证照类型")
private String licenseType;
/**
* 图片内容
*/
@Schema(description = "图片内容")
private String pictContentJson;
/********非库表存储属性*****/
/********字典类*****/
/********实体类、用户单选、组织机构单选*****/
/********范围查询*****/
/********自定义扩展*****/
/********子对象*****/
}
......@@ -154,6 +154,9 @@ public class TenantRQVO extends CsbrBaseVO {
@Schema(description = "token后台赋值")
private String token;
@Schema(description = "业务唯一标识")
private String bizGuid;
/********字典类*****/
/********实体类、用户单选、组织机构单选*****/
......@@ -164,6 +167,9 @@ public class TenantRQVO extends CsbrBaseVO {
/********子对象*****/
@Schema(description = "企业证照列表")
private List<TenantLicRQVO> tenantLicList;
@Schema(hidden = true,description = "分库标识")
private String shardingFlag;
}
......
......@@ -4,6 +4,7 @@ import com.csbr.cloud.common.config.FastCallFeignConfiguration;
import com.csbr.cloud.common.entity.DictModel;
import com.csbr.cloud.common.entity.DictionaryVO;
import com.csbr.cloud.common.response.CommonRes;
import com.csbr.qingcloud.portal.domain.vo.BoroughPOJO;
import com.csbr.qingcloud.portal.domain.vo.RuleDTO;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty;
......@@ -43,5 +44,8 @@ public interface ConfigureFeign {
@PostMapping(value = "/rule/new-code",produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
CommonRes<String> newCode(@RequestBody RuleDTO dto);
@GetMapping(value = "/borough/get-borough",produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
CommonRes<List<BoroughPOJO>> getBoroughCodeName();
}
......
......@@ -3,6 +3,7 @@ package com.csbr.qingcloud.portal.feign;
import com.csbr.cloud.common.config.FastCallFeignConfiguration;
import com.csbr.cloud.common.response.CommonRes;
import com.csbr.qingcloud.portal.domain.vo.DemandUpdateStateVO;
import com.csbr.qingcloud.portal.domain.vo.ProcessOrderProcessDtlRSVO;
import com.csbr.qingcloud.portal.domain.vo.ProcessOrderRQVO;
import jakarta.validation.Valid;
import org.springframework.cloud.openfeign.FeignClient;
......@@ -18,10 +19,13 @@ import java.util.Map;
@FeignClient(value = "ms-data-process-basic-service",url = "${dataProcessUrl}", configuration = FastCallFeignConfiguration.class)
public interface DataProcessBasicFeign {
@PostMapping(value = "/process-order/save", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
@PostMapping(value = "/process-order/saveOrUpdate", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
CommonRes<Boolean> saveProcessOrder(@RequestBody @Valid ProcessOrderRQVO vo);
@PostMapping(value = "/process-order-process-dtl/get-order-state", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
CommonRes<Map<String, DemandUpdateStateVO>> getOrderState(@RequestBody List<String> processOrderGuids);
@PostMapping(value = "/process-order-process-dtl/process-order-list", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
CommonRes<List<ProcessOrderProcessDtlRSVO>> processOrderList(@RequestBody List<String> processOrderGuids);
}
......
......@@ -21,7 +21,10 @@ public interface PersonelFeign {
CommonRes<TenantRQVO> authTenant(@RequestBody TenantRQVO vo);
@PutMapping(value = "/tenant/update", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
CommonRes<Boolean> updateTenant(@RequestBody TenantRQVO vo);
CommonRes<String> updateTenant(@RequestBody TenantRQVO vo);
@PutMapping(value = "/tenant/change-update", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
CommonRes<Boolean> changeUpdate(@RequestBody TenantRQVO vo);
@GetMapping(value = "/tenant/get-all-tenant-guid-name-map", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
CommonRes<Map<String, String>> getAllTenantGuidNameMap();
......
......@@ -2,10 +2,9 @@ package com.csbr.qingcloud.portal.feign;
import com.csbr.cloud.common.config.FastCallFeignConfiguration;
import com.csbr.cloud.common.response.CommonRes;
import com.csbr.cloud.workflow.domain.dto.appove.FlowQueryDTO;
import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO;
import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
import com.csbr.qingcloud.portal.domain.vo.UserQueryDTO;
import com.csbr.qingcloud.portal.domain.vo.UserVO;
import com.csbr.cloud.workflow.domain.vo.appove.ApproveVO;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty;
import csbr.cloud.entity.domain.base.vo.PageListVO;
......@@ -13,10 +12,10 @@ import jakarta.validation.Valid;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.*;
import java.net.URI;
import java.util.List;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* @author Xiaocq
......@@ -30,5 +29,9 @@ public interface WorkflowFeign {
@RequestMapping(value = "/work-flow/data/allow-flow-core", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
CommonRes<Boolean> allowFlowCore(@RequestBody FlowUpdateStateDTO dto, @RequestHeader(required = false) MultiValueMap<String, String> headers);
@HystrixCommand(fallbackMethod = "CommonUtil.sleepFallback", commandProperties = {
@HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "4500")})
@RequestMapping(value = "/work-flow/data/get-flow-list-tenant", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
CommonRes<PageListVO<ApproveVO>> getFlowListCrossTenant(@RequestBody @Valid FlowQueryDTO dto);
}
......
......@@ -221,4 +221,13 @@ public class MfDemand extends BaseShardingDO {
@Name("加工单编号")
private String processOrderNo;
@Name("资产Guid")
private String zqBizGuid;
@Name("专区名称")
private String zqName;
@Name("审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)")
private String crossPlatformApproveState;
}
......
......@@ -21,7 +21,10 @@ import java.util.Date;
@Accessors(chain = true)
@Name("企业信息")
public class MfEnterprise extends BaseDO {
@Name("会员GUID")
private String tenantGuid;
/**
* 公司名称
*/
......@@ -37,7 +40,7 @@ public class MfEnterprise extends BaseDO {
/**
* 企业类型【选择平台字典【公司类型】的选项】
*/
@Name("企业类型【选择平台字典【公司类型】的选项】")
@Name("企业类型")
private String tenantType;
/**
......@@ -49,7 +52,7 @@ public class MfEnterprise extends BaseDO {
/**
* 注册资本【(万元)】
*/
@Name("注册资本【(万元)】")
@Name("注册资本")
private BigDecimal registeredCapital;
/**
......@@ -79,7 +82,7 @@ public class MfEnterprise extends BaseDO {
/**
* 营业期限【1 长期有效;2 自定义】
*/
@Name("营业期限【1 长期有效;2 自定义】")
@Name("营业期限")
private String businessLicenseTerm;
/**
......@@ -102,9 +105,9 @@ public class MfEnterprise extends BaseDO {
private String businessLicenseJson;
/**
* 营业执照经营范围
* 经营范围
*/
@Name("营业执照经营范围")
@Name("经营范围")
private String businessLicenseScope;
/**
......@@ -168,11 +171,20 @@ public class MfEnterprise extends BaseDO {
*/
@Name("授权委托书")
private String authorizationLetter;
@Name("资产Guid")
private String zqBizGuid;
@Name("专区名称")
private String zqName;
@Name("审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)")
private String crossPlatformApproveState;
/**
* 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
*/
@Name("业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃;B 变更中 默认 N】")
@Name("业务审批状态")
private String bizApproveState;
}
......
......@@ -21,7 +21,10 @@ import java.util.Date;
@Accessors(chain = true)
@Name("企业信息变更审批")
public class MfEnterpriseChangeApprove extends BaseDO {
@Name("会员GUID")
private String tenantGuid;
/**
* 公司名称
*/
......@@ -37,7 +40,7 @@ public class MfEnterpriseChangeApprove extends BaseDO {
/**
* 企业类型【选择平台字典【公司类型】的选项】
*/
@Name("企业类型【选择平台字典【公司类型】的选项】")
@Name("企业类型")
private String tenantType;
/**
......@@ -49,7 +52,7 @@ public class MfEnterpriseChangeApprove extends BaseDO {
/**
* 注册资本【(万元)】
*/
@Name("注册资本【(万元)】")
@Name("注册资本")
private BigDecimal registeredCapital;
/**
......@@ -79,7 +82,7 @@ public class MfEnterpriseChangeApprove extends BaseDO {
/**
* 营业期限【1 长期有效;2 自定义】
*/
@Name("营业期限【1 长期有效;2 自定义】")
@Name("营业期限")
private String businessLicenseTerm;
/**
......@@ -172,7 +175,7 @@ public class MfEnterpriseChangeApprove extends BaseDO {
/**
* 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
*/
@Name("业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】")
@Name("业务审批状态")
private String bizApproveState;
/**
......@@ -186,11 +189,20 @@ public class MfEnterpriseChangeApprove extends BaseDO {
*/
@Name("原数据唯一标识")
private String sourceGuid;
@Name("资产Guid")
private String zqBizGuid;
@Name("专区名称")
private String zqName;
@Name("审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)")
private String crossPlatformApproveState;
/**
* 数据类型【数据类型 1原数据 2新数据】
*/
@Name("数据类型【数据类型 1原数据 2新数据】")
@Name("数据类型")
private String dataType;
}
......
package com.csbr.qingcloud.portal.mybatis.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.csbr.cloud.mybatis.service.impl.CsbrServiceImpl;
import com.csbr.qingcloud.portal.mybatis.mapper.MfEnterpriseMapper;
import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise;
......@@ -7,6 +9,10 @@ import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
/**
* @program: D:/git/ms-data-circulation-portal-service
* @description: 企业信息逻辑层接口实现
......@@ -18,5 +24,12 @@ public class MfEnterpriseServiceImpl extends CsbrServiceImpl<MfEnterpriseMapper,
@Resource
private MfEnterpriseMapper mfEnterpriseMapper;
@Override
public List<MfEnterprise> listByIds(Collection<? extends Serializable> idList) {
LambdaQueryWrapper<MfEnterprise> queryWrapper = Wrappers.lambdaQuery(MfEnterprise.class);
queryWrapper.in(MfEnterprise::getGuid, idList);
csbrExcludeShardingLambdaQueryWrapper(queryWrapper);
return list(queryWrapper);
}
}
......
package com.csbr.qingcloud.portal.service;
import com.csbr.qingcloud.portal.domain.vo.DemandApproveVO;
import com.csbr.qingcloud.portal.domain.vo.DemandUpdateStateVO;
import com.csbr.qingcloud.portal.domain.vo.*;
import csbr.cloud.entity.domain.base.vo.PageListVO;
import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO;
import com.csbr.qingcloud.portal.domain.vo.DemandQueryVO;
import com.csbr.qingcloud.portal.domain.vo.DemandRSVO;
import java.util.List;
......@@ -72,8 +69,19 @@ public interface DemandService {
*/
void flowCallBack(BizCallbackDTO dto);
/**
* 数据需求-流程结束后进行业务回调(跨服务审批)
* @param dto
*/
void crossFlowCallBack(BizCallbackDTO dto);
Boolean lastApprove(DemandApproveVO dto);
DemandRSVO getDemandDetailByProcess(String processOrderNo);
/**
* 根据加工单编号查询资产列表
* @return
*/
List<ProcessOrderProcessDtlRSVO> listByProcessOrderNo();
}
......
......@@ -16,4 +16,10 @@ public interface EnterpriseChangeApproveService {
ChangeApproveVO changeDetail(String guid);
void changeUpdate(BizCallbackDTO dto);
void removeByGuids(List<String> guids);
void crossFlowCallBack(BizCallbackDTO dto);
void crossRemoveByBizGuid(List<String> zqBizGuids);
}
......
package com.csbr.qingcloud.portal.service;
import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO;
import com.csbr.cloud.workflow.domain.dto.appove.FlowQueryDTO;
import com.csbr.qingcloud.portal.domain.vo.*;
import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise;
import csbr.cloud.entity.domain.base.vo.PageListVO;
import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO;
import java.util.Date;
import java.util.List;
/**
......@@ -26,6 +28,13 @@ public interface EnterpriseService {
PageListVO<EnterpriseRSVO> pageList(EnterpriseQueryVO queryVO);
/**
* 企业信息-分页(调用流程)
* @param dto
* @return
*/
PageListVO<EnterpriseApproveRSVO> flowPageList(FlowQueryDTO dto);
/**
* 企业信息获取详情数据
* @author xcq
* @date 2024-12-26 16:18
......@@ -60,7 +69,7 @@ public interface EnterpriseService {
* @return void
*/
void removeByGuids(List<String> guids);
/**
* 流程结束后进行业务回调
* @author xcq
......@@ -70,14 +79,28 @@ public interface EnterpriseService {
*/
void flowCallBack(BizCallbackDTO dto);
/**
* 流程结束后进行业务回调(跨服务审批)
* @param dto
*/
void crossFlowCallBack(BizCallbackDTO dto);
Boolean check(EnterpriseRQVO vo);
List<ChangeInfoVO> getChange(String tenantName);
List<ChangeInfoVO> getChange(String sourceGuid, Date createTime);
EnterpriseRSVO getEnterpriseDetailByName(String tenantName);
/** 将此账号提交的数据需求迁移到新的企业 */
void moveOldData(TenantRQVO vo);
Boolean lastApprove(FlowUpdateStateDTO dto);
/** 更新会员信息 */
void updateTenant(MfEnterprise vo);
/**
* 企业信息-根据登陆账号查询详情
* @param logonUser
* @return
*/
EnterpriseRSVO getEnterpriseDetailByLogonUser(String logonUser);
}
......
......@@ -202,9 +202,9 @@ public class ServicerMaintainServiceImpl extends FlowAbstractImpl implements Ser
* @return void
*/
private void againSubmitFlow(MfServicerMaintain entity, ServicerMaintainRQVO rqVO, AddApprovalDTO approvalDTO) {
// 重新提交的数据重置相关字段
entity.setGuid(CommonUtil.newGuid());
mfServicerMaintainService.csbrBaseEntity(entity);
entity.setBizApproveState("A");
// 保存新数据
boolean flag = mfServicerMaintainService.save(entity);
if (!flag) {
......@@ -284,7 +284,7 @@ public class ServicerMaintainServiceImpl extends FlowAbstractImpl implements Ser
// todo
approvalDTO.setFuncCode("FWSWH");
// 流程消息中的变量替换参数
approvalDTO.setFlowMessageBody(null);
approvalDTO.setFlowMessageBody(String.format("%s,%s",entity.getCreateUserName(),entity.getTenantName()));
// 流程列表数据核心param参数处理
approvalDTO.setParam1(null);
approvalDTO.setParam2(null);
......@@ -388,7 +388,6 @@ public class ServicerMaintainServiceImpl extends FlowAbstractImpl implements Ser
//region 3.数据转换处理
//region 3.1.数据过程转换
rqVO.setBizApproveState(entity.getBizApproveState());
//endregion 3.1.数据过程转换
//endregion 3.数据转换处理
......
package com.csbr.qingcloud.portal.util;
import com.csbr.cloud.common.util.CommonUtil;
import com.csbr.cloud.common.util.CsbrBeanUtil;
import com.csbr.qingcloud.portal.domain.vo.BoroughPOJO;
import com.csbr.qingcloud.portal.domain.vo.ChangeInfoVO;
import com.csbr.qingcloud.portal.domain.vo.CompareResult;
import com.csbr.qingcloud.portal.feign.ConfigureFeign;
import com.csbr.qingcloud.portal.service.impl.EnterpriseServiceImpl;
import jakarta.annotation.Resource;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Component
public class ChangeInfoUtil {
public static List<BoroughPOJO> areaList;
/** 计算变更信息 */
public static List<ChangeInfoVO> getChangeList(List<EnterpriseServiceImpl.ChangeApproveBean> beanList) throws IllegalAccessException {
List<ChangeInfoVO> list = new ArrayList<>();
//循环对比每组记录生来变更内容
for(EnterpriseServiceImpl.ChangeApproveBean item : beanList){
if(item.oldBean == null || item.newBean == null){
continue;
}
List<CompareResult> diffList = ObjectUtil.getBeanDiff(item.oldBean,item.newBean);
getVenueResult(item,list);
getStartEndResult(item,list);
getRegistrationDateResult(item,list);
getRegisteredCapitalResult(item,list);
for(CompareResult diffItem : diffList){
if(diffItem.getFieldComment().contains("审批状态") || diffItem.getFieldComment().contains("营业执照")
|| diffItem.getFieldComment().contains("法人证件照") || diffItem.getFieldComment().contains("管理员证件照")
|| diffItem.getFieldComment().contains("授权委托书") || diffItem.getFieldComment().contains("省")
|| diffItem.getFieldComment().contains("市") || diffItem.getFieldComment().contains("区")
|| diffItem.getFieldComment().contains("营业开始日期") || diffItem.getFieldComment().contains("营业结束日期")
|| diffItem.getFieldComment().contains("注册日期") || diffItem.getFieldComment().contains("注册资本")){
continue;
}
list.add(getChangeInfoVO(item,diffItem));
}
}
list = list.stream().sorted(Comparator.comparing(ChangeInfoVO::getNameEn).thenComparing(ChangeInfoVO::getDate).reversed()).collect(Collectors.toList());
return list;
}
private static ChangeInfoVO getChangeInfoVO(EnterpriseServiceImpl.ChangeApproveBean item,CompareResult diffItem){
ChangeInfoVO vo = new ChangeInfoVO();
vo.setNameEn(diffItem.getFieldName());
vo.setName(diffItem.getFieldComment());
vo.setDate(DateUtil.getDateToString(item.oldBean.getCreateTime()));
vo.setBefore(diffItem.getOldValue() == null ? "" : diffItem.getOldValue().toString());
vo.setAfter(diffItem.getNewValue() == null ? "" : diffItem.getNewValue().toString());
vo.setGuid(CommonUtil.newGuid());
return vo;
}
private static void getRegisteredCapitalResult(EnterpriseServiceImpl.ChangeApproveBean item, List<ChangeInfoVO> list) {
String oldValue = getRegisteredCapital(item.oldBean.getRegisteredCapital());
String newValue = getRegisteredCapital(item.newBean.getRegisteredCapital());
if(!oldValue.equals(newValue)){
list.add(getChangeInfoVO(item,getCompareResult("注册资本","registeredCapital",oldValue,newValue)));
}
}
private static String getRegisteredCapital(BigDecimal v) {
if(v == null){
return "";
}
return v.setScale(2, RoundingMode.HALF_DOWN).toString();
}
public static void getVenueResult(EnterpriseServiceImpl.ChangeApproveBean item, List<ChangeInfoVO> list) {
String oldValue = getVenue(item.oldBean.getProvince(),item.oldBean.getCity(),item.oldBean.getDistrict());
String newValue = getVenue(item.newBean.getProvince(),item.newBean.getCity(),item.newBean.getDistrict());
if(!oldValue.equals(newValue)){
list.add(getChangeInfoVO(item,getCompareResult("注册地","venue",oldValue,newValue)));
}
}
public static void getRegistrationDateResult(EnterpriseServiceImpl.ChangeApproveBean item, List<ChangeInfoVO> list) {
String oldValue = getRegistrationDate(item.oldBean.getRegistrationDate());
String newValue = getRegistrationDate(item.newBean.getRegistrationDate());
if(!oldValue.equals(newValue)){
list.add(getChangeInfoVO(item,getCompareResult("注册日期","registrationDate",oldValue,newValue)));
}
}
private static String getRegistrationDate(Date date) {
return DateUtil.getShortDateToString(date);
}
private static CompareResult getCompareResult(String comment,String name,String oldVenue,String newVenue){
CompareResult result = new CompareResult();
result.setFieldComment(comment);
result.setFieldName(name);
result.setOldValue(oldVenue);
result.setNewValue(newVenue);
return result;
}
public static void getStartEndResult(EnterpriseServiceImpl.ChangeApproveBean item, List<ChangeInfoVO> list) {
String oldValue = getStartEnd(item.oldBean.getBusinessLicenseTerm(),item.oldBean.getBusinessLicenseStartDate(),item.oldBean.getBusinessLicenseEndDate());
String newValue = getStartEnd(item.newBean.getBusinessLicenseTerm(),item.newBean.getBusinessLicenseStartDate(),item.newBean.getBusinessLicenseEndDate());
if(!oldValue.equals(newValue)){
list.add(getChangeInfoVO(item,getCompareResult("营业期限","businessLicenseStartEnd",oldValue,newValue)));
}
}
public static String getVenue(String province, String city, String district) {
if(StringUtils.isBlank(district)){
return String.format("%s/%s",getName(province),getName(city));
}
else{
return String.format("%s/%s/%s",getName(province),getName(city),getName(district));
}
}
private static String getName(String code){
List<String> names = areaList.stream().filter(x->x.getCode().equals(code)).map(BoroughPOJO::getName).collect(Collectors.toList());
if(CollectionUtils.isEmpty(names)){
return "";
}
return names.get(0);
}
public static String getStartEnd(String businessLicenseTerm, Date businessLicenseStartDate, Date businessLicenseEndDate) {
if("1".equals(businessLicenseTerm)){
return "长期有效";
}
return String.format("%s至%s",DateUtil.getShortDateToString(businessLicenseStartDate),DateUtil.getShortDateToString(businessLicenseEndDate));
}
}
package com.csbr.qingcloud.portal.util;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
public class DateUtil {
/** 时间相差多少天 无视小时 */
public static int getDiffDay(Date one, Date two) {
if(one == null || two == null){
return 0;
}
one = getDateByString(getShortDateToString(one));
two = getDateByString(getShortDateToString(two));
long difference = (one.getTime() - two.getTime()) / 86400000;
return (int) Math.abs(difference);
}
/** 字符串时间转日期 */
public static Date getDateByString(String time){
try {
return new SimpleDateFormat("yyyy-MM-dd").parse(time);
} catch (Exception e) {
return new Date();
}
}
/** 时间转字符串 */
public static String getDateToString(Date time){
if(time == null) {
return "";
}
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(time);
}
/** 时间转字符串 */
public static String getShortDateToString(Date time){
if(time == null) {
return "";
}
return new SimpleDateFormat("yyyy-MM-dd").format(time);
}
/** 时间转本地时间 */
public static LocalDateTime getDateToLocal(Date time){
if(time == null) {
return null;
}
return time.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
}
/** 字符串时间转日期 */
public static Date getShortDate(Date time){
if(time == null) {
return null;
}
try {
return new SimpleDateFormat("yyyy-MM-dd").parse(getShortDateToString(time));
} catch (Exception e) {
return new Date();
}
}
}
package com.csbr.qingcloud.portal.util;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.csbr.cloud.common.enums.SystemError;
import com.csbr.cloud.common.exception.CsbrSystemException;
import com.csbr.cloud.common.response.CommonRes;
import lombok.extern.slf4j.Slf4j;
import org.apache.hc.client5.http.config.RequestConfig;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
import org.apache.hc.core5.util.Timeout;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
/**
* @program: daop-projects
* @description:
* @author: xiaojie
* @create: 2025-03-13 14:52
**/
@Component
@Slf4j
public class InvokeUtil {
@Autowired
private RestTemplate restTemplate;
/**
* open调用接口
* @param jsonObject
* @param appKey
* @param zqDelUrl
*/
public void invokeMainDel(JSONObject jsonObject, String appKey, String zqDelUrl) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("appKey", appKey);
HttpEntity<JSONObject> requestEntity = new HttpEntity<>(jsonObject, headers);
restTemplate.setRequestFactory(getFactory());
CommonRes commonRes = restTemplate.postForObject(zqDelUrl, requestEntity, CommonRes.class);
if (!CommonRes.success().getCode().equals(commonRes.getCode())) {
throw new CsbrSystemException(SystemError.ERROR_CODE, commonRes.getMsg());
} else {
CommonRes commonResData = JSON.parseObject(String.valueOf(commonRes.getData()), CommonRes.class);
if (!CommonRes.success().getCode().equals(commonResData.getCode())) {
throw new CsbrSystemException(SystemError.ERROR_CODE, commonResData.getMsg());
}
}
}
private ClientHttpRequestFactory getFactory() {
RequestConfig config = RequestConfig.custom()
.setConnectTimeout(Timeout.ofSeconds(5000)) // 连接超时
.setConnectionRequestTimeout(Timeout.ofSeconds(5000)) // 从连接池获取连接的超时时间
.setResponseTimeout(Timeout.ofSeconds(10000)) // 数据读取超时
.build();
CloseableHttpClient httpClient = HttpClientBuilder.create()
.setDefaultRequestConfig(config)
.build();
return new HttpComponentsClientHttpRequestFactory(httpClient);
}
}
\ No newline at end of file
......@@ -58,8 +58,8 @@ public class ObjectUtil {
r.setFieldComment("");
}
if (oldField.getType() == Date.class) {
r.setOldValue(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format((Date) oldField.get(oldObj)));
r.setNewValue(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format((Date) newField.get(newObj)));
r.setOldValue(DateUtil.getDateToString((Date)oldField.get(oldObj)));
r.setNewValue(DateUtil.getDateToString((Date)oldField.get(newObj)));
}
return r;
}
......
package com.csbr.qingcloud.portal.util;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* @program: daop-projects
* @description:
* @author: xiaojie
* @create: 2025-02-28 14:09
**/
@Data
@Component
@ConfigurationProperties(prefix = "csbr.zq")
public class ZQConfig {
private String appKey = "672c2c38e4b0cac8732a6106";
private String zqName = "";
private String zqDelUrl = "";
private Boolean isMain = false;
}
\ No newline at end of file
......@@ -5,7 +5,7 @@ spring:
nacos:
#配置中心
config:
server-addr: nacos-cluster-service-develop.nacos-cluster:8848
server-addr: nacos-cluster-service.nacos-cluster:8848
file-extension: yaml
group: release
namespace: daop-master
......@@ -16,7 +16,7 @@ spring:
#注册中心
discovery:
enabled: true
server-addr: nacos-cluster-service-develop.nacos-cluster:8848
server-addr: nacos-cluster-service.nacos-cluster:8848
group: release
namespace: daop-master
metadata:
......
......@@ -5,7 +5,7 @@ spring:
nacos:
#配置中心
config:
server-addr: nacos-cluster-service-develop.nacos-cluster:8848
server-addr: nacos-cluster-service.nacos-cluster:8848
file-extension: yaml
group: release
namespace: daop-lt
......@@ -16,7 +16,7 @@ spring:
#注册中心
discovery:
enabled: true
server-addr: nacos-cluster-service-develop.nacos-cluster:8848
server-addr: nacos-cluster-service.nacos-cluster:8848
group: release
namespace: daop-lt
metadata:
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!