diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
index d21fdf8daa..c5de7f4850 100644
--- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
+++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
@@ -38,10 +38,10 @@ public enum ProcDefEnum {
QKBUSDELIVEREDAPPLY("欠款出库申请", "process_161otrwo:3:7192504"),
BASESHUNINVOICAPPLY("调车开票申请", "process_u4xrvaso:1:400008"),
BASEVEHINSTALLMODPRICE("上装调价申请", "process_s0a0svth:1:492508"),
- SCMVEHREBATEWITHAPPLY("单车返利预提申请", "process_qegarc7r:4:16412508"),
- SCMVEHREBATECHECKAPPLY("单车返利核对申请", "process_3xtbbru8:4:16412512"),
- SCMSPECIALREBATEWITHAPPLY("专项返利预提申请", "process_l0yxpgs2:4:16412520"),
- SCMSPECIALREBATECHECKAPPLY("专项返利核对申请", "process_qw22vupn:4:16412516"),
+ SCMVEHREBATEWITHAPPLY("单车返利预提申请", "process_qegarc7r:5:17935004"),
+ SCMVEHREBATECHECKAPPLY("单车返利核对申请", "process_3xtbbru8:5:17935008"),
+ SCMSPECIALREBATEWITHAPPLY("专项返利预提申请", "process_l0yxpgs2:5:17935012"),
+ SCMSPECIALREBATECHECKAPPLY("专项返利核对申请", "process_qw22vupn:5:17935016"),
SCMSPECIALREBATECHEDISTRIBUTE("专项返利分配申请", "process_h3w1aval:4:16412524"),
SCMCOLLECTIONREBATEWITHAPPLY("回款返利预提申请", "process_k4lodiyg:4:16412532"),
SCMCOLLECTIONREBATECHECKAPPLY("回款返利核对申请", "process_fgrv1mbv:4:16412528"),
diff --git a/anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatewithholding.js b/anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatewithholding.js
index c7f0ad39e5..0e2d2b1d13 100644
--- a/anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatewithholding.js
+++ b/anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatewithholding.js
@@ -55,8 +55,10 @@ export default {
// 查看明细
vehRebateWithDetails: function(data) {
return request({
- url: '/scm/v1/scmvehrebatewith/vehRebateWithDetails/' + data,
- method: 'get'
+ url: '/scm/v1/scmvehrebatewith/vehRebateWithDetails',
+ method: 'post',
+ data: data,
+ headers: { 'Content-Type': 'application/json' }
})
},
// 导出
diff --git a/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatewithholding.js b/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatewithholding.js
index 746539b78f..31e2647737 100644
--- a/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatewithholding.js
+++ b/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatewithholding.js
@@ -55,8 +55,10 @@ export default {
// 查看明细
vehRebateWithDetails: function(data) {
return request({
- url: '/scm/v1/scmspecialrebatewith/specialRebateWithDetails/' + data,
- method: 'get'
+ url: '/scm/v1/scmspecialrebatewith/specialRebateWithDetails',
+ method: 'post',
+ data: data,
+ headers: { 'Content-Type': 'application/json' }
})
},
// 导出
diff --git a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatetobecheckedByUpdate.vue b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatetobecheckedByUpdate.vue
index 9e3623d0c1..5e6c69d05d 100644
--- a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatetobecheckedByUpdate.vue
+++ b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatetobecheckedByUpdate.vue
@@ -248,7 +248,7 @@ export default {
req.fetchBySid(row.sid).then((resp) => {
if (resp.success) {
this.formobj = resp.data
- if (this.formobj.secondaryUploadMoney.toString() === '0') {
+ if (parseFloat(this.formobj.secondaryUploadMoney) === 0) {
this.checked = false
}
this.isAdjustmentInput(this.formobj)
@@ -299,7 +299,7 @@ export default {
let money = '0'
// 上传金额(一次上传金额 + 二次上传金额) - 其中费用 - 待确定金额 - (预提返利 - 其中预提费用)
money = Math.round((parseFloat(val.uploadMoney !== '' ? val.uploadMoney : 0) + parseFloat(val.secondaryUploadMoney !== '' ? val.secondaryUploadMoney : 0) - parseFloat(val.stayDetermineMoney !== '' ? val.stayDetermineMoney : 0) - (parseFloat(val.onceTreatCost !== '' ? val.onceTreatCost : 0) + parseFloat(val.onceSuppCost !== '' ? val.onceSuppCost : 0) + parseFloat(val.secondTreatCost !== '' ? val.secondTreatCost : 0) + parseFloat(val.secondSuppCost !== '' ? val.secondSuppCost : 0)) - (parseFloat(val.estimateRebate !== '' ? val.estimateRebate : 0) - parseFloat(val.expectTreatCost !== '' ? val.expectTreatCost : 0) - parseFloat(val.expectSuppCost !== '' ? val.expectSuppCost : 0))) * 100) / 100
- if (val.stayDetermineMoney === '0') {
+ if (parseFloat(val.stayDetermineMoney) === 0) {
if (parseFloat(money) > 0) {
this.isAdjustment = '是'
val.adjustmentMoney = parseFloat(money)
diff --git a/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatecheck/specialrebatetobecheckedByUpdate.vue b/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatecheck/specialrebatetobecheckedByUpdate.vue
index 2d627c2529..9919d30d6d 100644
--- a/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatecheck/specialrebatetobecheckedByUpdate.vue
+++ b/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatecheck/specialrebatetobecheckedByUpdate.vue
@@ -236,7 +236,7 @@ export default {
req.fetchBySid(row.sid).then((resp) => {
if (resp.success) {
this.formobj = resp.data
- if (this.formobj.secondaryUploadMoney.toString() === '0') {
+ if (parseFloat(this.formobj.secondaryUploadMoney) === 0) {
this.checked = false
}
this.isAdjustmentInput(this.formobj)
@@ -287,7 +287,7 @@ export default {
let money = '0'
// 上传金额(一次上传金额 + 二次上传金额) - 费用 - 待确定金额 - (预提返利 - 其中预提费用)
money = Math.round((parseFloat(val.uploadMoney !== '' ? val.uploadMoney : 0) + parseFloat(val.secondaryUploadMoney !== '' ? val.secondaryUploadMoney : 0) - parseFloat(val.stayDetermineMoney !== '' ? val.stayDetermineMoney : 0) - (parseFloat(val.onceItureCost !== '' ? val.onceItureCost : 0) + parseFloat(val.onceTreatCost !== '' ? val.onceTreatCost : 0) + parseFloat(val.onceSuppCost !== '' ? val.onceSuppCost : 0) + parseFloat(val.secondItureCost !== '' ? val.secondItureCost : 0) + parseFloat(val.secondTreatCost !== '' ? val.secondTreatCost : 0) + parseFloat(val.secondSuppCost !== '' ? val.secondSuppCost : 0)) - (parseFloat(val.estimateRebate !== '' ? val.estimateRebate : 0) - parseFloat(val.expectItureCost !== '' ? val.expectItureCost : 0) - parseFloat(val.expectTreatCost !== '' ? val.expectTreatCost : 0) - parseFloat(val.expectSuppCost !== '' ? val.expectSuppCost : 0))) * 100) / 100
- if (val.stayDetermineMoney === '0') {
+ if (parseFloat(val.stayDetermineMoney) === 0) {
if (parseFloat(money) > 0) {
this.isAdjustment = '是'
val.adjustmentMoney = parseFloat(money)
diff --git a/anrui-system-ui/src/views/flow/doneList.vue b/anrui-system-ui/src/views/flow/doneList.vue
index 874a385e87..60ae28e8c4 100644
--- a/anrui-system-ui/src/views/flow/doneList.vue
+++ b/anrui-system-ui/src/views/flow/doneList.vue
@@ -13,7 +13,7 @@
-
+
diff --git a/anrui-system-ui/src/views/flow/todoList.vue b/anrui-system-ui/src/views/flow/todoList.vue
index b04e29623b..d0198d8fad 100644
--- a/anrui-system-ui/src/views/flow/todoList.vue
+++ b/anrui-system-ui/src/views/flow/todoList.vue
@@ -13,7 +13,7 @@
-
+
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdCompanyApplyRest.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdCompanyApplyRest.java
new file mode 100644
index 0000000000..3ea097ee44
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdCompanyApplyRest.java
@@ -0,0 +1,90 @@
+package com.yxt.anrui.oa.api;
+
+import com.yxt.anrui.oa.biz.adcompanyapply.*;
+import com.yxt.anrui.oa.biz.oaform.flowable.CompleteDto;
+import com.yxt.anrui.oa.biz.oaform.flowable.NodeQuery;
+import com.yxt.anrui.oa.biz.oaform.flowable.TaskDto;
+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 org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cloud.openfeign.SpringQueryMap;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+/**
+ * @author wangpengfei
+ * @date 2025/2/18 15:44
+ */
+@Api(tags = "公司审批主表")
+@RestController
+@RequestMapping("v1/adcompanyapply")
+public class AdCompanyApplyRest {
+ @Autowired
+ AdCompanyApplyService adCompanyApplyService;
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq) {
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = adCompanyApplyService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean saveOrUpdate(@RequestBody AdCompanyApplyDto dto) {
+ return adCompanyApplyService.saveOrUpdateDto(dto);
+ }
+ @ApiOperation("初始化(新增或修改)")
+ @GetMapping({"/getInit", "/getInit/{sid}"})
+ public ResultBean getInit(
+ @PathVariable(value = "sid", required = false) String sid,
+ @RequestParam(value = "userSid", required = false) String userSid,
+ @RequestParam(value = "orgPath", required = false) String orgPath) {
+ ResultBean rb = ResultBean.fireFail();
+ if (sid == null || sid.isEmpty()) {
+ // 执行新增初始化
+ if (userSid == null || orgPath == null) {
+ return rb.setMsg("userSid和orgPath不能为空");
+ }
+ return adCompanyApplyService.getSaveInit(userSid, orgPath);
+ } else {
+ // 执行修改初始化
+ return adCompanyApplyService.getUpdateInit(sid);
+ }
+ }
+
+ @ApiOperation("详情")
+ @GetMapping("/details/{sid}")
+ ResultBean details(@PathVariable("sid") String sid
+ , @RequestParam(value = "application", required = false) String application) {
+ return adCompanyApplyService.details(sid,application);
+ }
+
+ @ApiOperation("提交审批流程")
+ @PostMapping("/submit")
+ public ResultBean submit(@RequestBody AdCompanyApplyDto dto) {
+ return adCompanyApplyService.submit(dto);
+ }
+
+ @ApiOperation(value = "驳回任务")
+ @PutMapping(value = "/reject")
+ public ResultBean reject(@Valid @RequestBody TaskDto dto) {
+ return adCompanyApplyService.reject(dto);
+ }
+
+ @ApiOperation(value = "办理(同意)")
+ @PutMapping("/complete")
+ public ResultBean complete(@Valid @RequestBody CompleteDto dto) {
+ return adCompanyApplyService.complete(dto);
+ }
+ @ApiOperation("获取流程操作标题")
+ @GetMapping("/getFlowOperateTitle")
+ @ResponseBody
+ ResultBean getFlowOperateTitle(@SpringQueryMap NodeQuery query) {
+ return adCompanyApplyService.getFlowOperateTitle(query);
+ }
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApply.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApply.java
new file mode 100644
index 0000000000..aa37452091
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApply.java
@@ -0,0 +1,31 @@
+package com.yxt.anrui.oa.biz.adcompanyapply;
+
+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;
+
+/**
+ * @author wangpengfei
+ * @date 2025/2/7 15:30
+ */
+@Data
+@ApiModel(value = "集团制度会签审批", description = "集团制度会签审批")
+@TableName("ad_group_system_apply")
+public class AdCompanyApply extends BaseEntity {
+ @ApiModelProperty("经办人")
+ private String operator;
+ @ApiModelProperty("申请类别key")
+ private String applyTypeKey;
+ @ApiModelProperty("value")
+ private String applyTypeValue;
+ @ApiModelProperty("是否需要个人配合签字key 0否 1是")
+ private String isSignKey;
+ @ApiModelProperty("是否需要个人配合签字")
+ private String isSignValue;
+ @ApiModelProperty("关联审批sid列表,英文逗号分隔")
+ private String linkFormSids;
+ @ApiModelProperty("基础表单sid")
+ private String formSid;
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyDetailVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyDetailVo.java
new file mode 100644
index 0000000000..c2013d42bc
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyDetailVo.java
@@ -0,0 +1,51 @@
+package com.yxt.anrui.oa.biz.adcompanyapply;
+
+import com.yxt.anrui.oa.biz.adcompanychangedetail.AdCompanyChangeListDetailVo;
+import com.yxt.anrui.oa.biz.adcompanylogoffdetail.AdCompanyLogoffListDetailVo;
+import com.yxt.anrui.oa.biz.adcompanyregistrationdetail.AdCompanyRegistrationListDetailVo;
+import com.yxt.anrui.oa.biz.adcompanytransferdetail.AdCompanyTransferListDetailVo;
+import com.yxt.anrui.oa.biz.hrhiredetails.HrHireListDetailVo;
+import com.yxt.anrui.oa.biz.oaform.FormCommon;
+import com.yxt.anrui.oa.biz.oaform.OaFormCommonVo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2025/1/21
+ **/
+@Data
+public class AdCompanyApplyDetailVo extends OaFormCommonVo {
+
+ private String sid;
+ @ApiModelProperty("经办人")
+ private String operator;
+ @ApiModelProperty("申请类别key")
+ private String applyTypeKey;
+ @ApiModelProperty("value")
+ private String applyTypeValue;
+ private FormCommon applyType;
+ @ApiModelProperty("是否需要个人配合签字key 0否 1是")
+ private String isSignKey;
+ @ApiModelProperty("是否需要个人配合签字")
+ private String isSignValue;
+ @ApiModelProperty("关联审批sid列表,英文逗号分隔")
+ private String linkFormSids;
+ @ApiModelProperty("基础表单sid")
+ private String formSid;
+ @ApiModelProperty("图片")
+ private List files = new ArrayList<>();
+ @ApiModelProperty("附件")
+ private List appes = new ArrayList<>();
+
+ private List regisList = new ArrayList<>();
+ private List changeList = new ArrayList<>();
+ private List logoffList = new ArrayList<>();
+ private List transferList = new ArrayList<>();
+
+// private String testPage;
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyDto.java
new file mode 100644
index 0000000000..19750f7927
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyDto.java
@@ -0,0 +1,43 @@
+package com.yxt.anrui.oa.biz.adcompanyapply;
+
+import com.yxt.anrui.oa.biz.adcompanychangedetail.AdCompanyChangeDetailDto;
+import com.yxt.anrui.oa.biz.adcompanylogoffdetail.AdCompanyLogoffDetailDto;
+import com.yxt.anrui.oa.biz.adcompanyregistrationdetail.AdCompanyRegistrationDetailDto;
+import com.yxt.anrui.oa.biz.adcompanytransferdetail.AdCompanyTransferDetailDto;
+import com.yxt.anrui.oa.biz.oaform.OaFormDto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2025/2/7 15:30
+ */
+@Data
+@ApiModel(value = "集团制度会签审批 数据传输对象", description = "集团制度会签审批 数据传输对象")
+public class AdCompanyApplyDto extends OaFormDto {
+ private String sid;
+ @ApiModelProperty("经办人")
+ private String operator;
+ @ApiModelProperty("申请类别key")
+ private String applyTypeKey;
+ @ApiModelProperty("value")
+ private String applyTypeValue;
+ @ApiModelProperty("是否需要个人配合签字")
+ private String isSign;
+ @ApiModelProperty("关联审批sid列表,英文逗号分隔")
+ private String linkFormSids;
+ @ApiModelProperty("基础表单sid")
+ private String formSid;
+ @ApiModelProperty("图片")
+ private List files = new ArrayList<>();
+ @ApiModelProperty("文件")
+ private List appes = new ArrayList<>();
+ private List RegisList=new ArrayList<>();
+ private List changeList=new ArrayList<>();
+ private List logoffList=new ArrayList<>();
+ private List transferList=new ArrayList<>();
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyMapper.java
new file mode 100644
index 0000000000..1a695b80c9
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyMapper.java
@@ -0,0 +1,19 @@
+package com.yxt.anrui.oa.biz.adcompanyapply;
+
+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;
+
+/**
+ * @author wangpengfei
+ * @date 2025/2/7 15:32
+ */
+@Mapper
+public interface AdCompanyApplyMapper extends BaseMapper {
+ AdCompanyApplyDetailVo details(String sid);
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyMapper.xml
new file mode 100644
index 0000000000..c8e2272b8f
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyMapper.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyQuery.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyQuery.java
new file mode 100644
index 0000000000..05fbfa1841
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyQuery.java
@@ -0,0 +1,14 @@
+package com.yxt.anrui.oa.biz.adcompanyapply;
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * @author wangpengfei
+ * @date 2025/2/7 15:31
+ */
+@Data
+@ApiModel(value = "集团制度会签审批 查询条件", description = "集团制度会签审批 查询条件")
+public class AdCompanyApplyQuery implements Query {
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyService.java
new file mode 100644
index 0000000000..de23e02717
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyService.java
@@ -0,0 +1,392 @@
+package com.yxt.anrui.oa.biz.adcompanyapply;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.anrui.oa.biz.adcompanychangedetail.AdCompanyChangeDetailDto;
+import com.yxt.anrui.oa.biz.adcompanychangedetail.AdCompanyChangeDetailService;
+import com.yxt.anrui.oa.biz.adcompanychangedetail.AdCompanyChangeDetailVo;
+import com.yxt.anrui.oa.biz.adcompanychangedetail.AdCompanyChangeListDetailVo;
+import com.yxt.anrui.oa.biz.adcompanylogoffdetail.AdCompanyLogoffDetailDto;
+import com.yxt.anrui.oa.biz.adcompanylogoffdetail.AdCompanyLogoffDetailService;
+import com.yxt.anrui.oa.biz.adcompanylogoffdetail.AdCompanyLogoffDetailVo;
+import com.yxt.anrui.oa.biz.adcompanylogoffdetail.AdCompanyLogoffListDetailVo;
+import com.yxt.anrui.oa.biz.adcompanyregistrationdetail.AdCompanyRegistrationDetailDto;
+import com.yxt.anrui.oa.biz.adcompanyregistrationdetail.AdCompanyRegistrationDetailService;
+import com.yxt.anrui.oa.biz.adcompanyregistrationdetail.AdCompanyRegistrationDetailVo;
+import com.yxt.anrui.oa.biz.adcompanyregistrationdetail.AdCompanyRegistrationListDetailVo;
+import com.yxt.anrui.oa.biz.adcompanytransferdetail.AdCompanyTransferDetailDto;
+import com.yxt.anrui.oa.biz.adcompanytransferdetail.AdCompanyTransferDetailService;
+import com.yxt.anrui.oa.biz.adcompanytransferdetail.AdCompanyTransferDetailVo;
+import com.yxt.anrui.oa.biz.adcompanytransferdetail.AdCompanyTransferListDetailVo;
+import com.yxt.anrui.oa.biz.hrhiredetails.HrHireDetailsDto;
+import com.yxt.anrui.oa.biz.hrhiredetails.HrHireDetailsVo;
+import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService;
+import com.yxt.anrui.oa.biz.oaform.*;
+import com.yxt.anrui.oa.biz.oaform.flowable.*;
+import com.yxt.anrui.oa.feign.file.OaFileEnum;
+import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum;
+import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign;
+import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo;
+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.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+
+/**
+ * @author wangpengfei
+ * @date 2025/2/7 15:31
+ */
+@Service
+public class AdCompanyApplyService extends MybatisBaseService {
+ @Autowired
+ OaFormService oaFormService;
+ @Autowired
+ SysOrganizationFeign sysOrganizationFeign;
+ @Autowired
+ OaAppendixService oaAppendixService;
+ @Autowired
+ AdCompanyRegistrationDetailService adCompanyRegistrationDetailService;
+ @Autowired
+ AdCompanyChangeDetailService adCompanyChangeDetailService;
+ @Autowired
+ AdCompanyLogoffDetailService adCompanyLogoffDetailService;
+ @Autowired
+ AdCompanyTransferDetailService adCompanyTransferDetailService;
+
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ AdCompanyApplyQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ if (query != null) {
+ }
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ for (AdCompanyApplyVo record : pagging.getRecords()) {
+ List files = oaAppendixService.selectByLinkSid(record.getSid());
+ record.setFiles(files);
+ }
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public ResultBean saveOrUpdateDto(AdCompanyApplyDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ String sid = dto.getSid();
+ List files = dto.getFiles();
+ List appes = dto.getAppes();
+
+ if (StringUtils.isBlank(sid)) {
+ // 新建操作
+ AdCompanyApply entity = new AdCompanyApply();
+ BeanUtil.copyProperties(dto, entity, "sid");
+ if(dto.getApplyTypeValue().equals("公司注册")){
+ dto.setBillNo("GSZC");
+ } else if (dto.getApplyTypeValue().equals("公司变更")) {
+ dto.setBillNo("GSBG");
+ } else if ( dto.getApplyTypeValue().equals("公司注销")) {
+ dto.setBillNo("GSZX");
+ }else if ( dto.getApplyTypeValue().equals("公司转让")) {
+ dto.setBillNo("GSZR");
+ }
+ dto.setSid(entity.getSid());
+ dto.setCreateBySid(dto.getCreateBySid());
+ ResultBean resultBean = oaFormService.saveOaForm(dto);
+ if (!resultBean.getSuccess()) {
+ return rb;
+ }
+ entity.setFormSid(resultBean.getData());
+ entity.setCreateBySid(dto.getCreateBySid());
+ baseMapper.insert(entity);
+ sid = entity.getSid();
+ } else {
+ // 更新操作
+ AdCompanyApply entity = fetchBySid(sid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+ saveFiles(sid, files, "", "图片");
+ saveFiles(sid, appes, "", "文件");
+ if(dto.getApplyTypeValue().equals("公司注册")){
+ List list = dto.getRegisList();
+ adCompanyRegistrationDetailService.saveDetails(list, sid);
+ } else if (dto.getApplyTypeValue().equals("公司变更")) {
+ List list = dto.getChangeList();
+ adCompanyChangeDetailService.saveDetails(list, sid);
+ } else if (dto.getApplyTypeValue().equals("公司注销")) {
+ List list = dto.getLogoffList();
+ adCompanyLogoffDetailService.saveDetails(list, sid);
+ }else if (dto.getApplyTypeValue().equals("公司转让")){
+ List list = dto.getTransferList();
+ adCompanyTransferDetailService.saveDetails(list, sid);
+ }
+
+ return rb.success().setData(sid);
+ }
+ public ResultBean getSaveInit(String userSid, String orgPath) {
+ ResultBean rb = ResultBean.fireFail();
+ AdCompanyApplyVo AdGroupSystemApplyVo = new AdCompanyApplyVo();
+ AdGroupSystemApplyVo.setCreateBySid(userSid);
+ AdGroupSystemApplyVo.setOrgSidPath(orgPath);
+ return rb.success().setData(AdGroupSystemApplyVo);
+ }
+
+ public ResultBean getUpdateInit(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ AdCompanyApplyVo adCompanyApplyVo = new AdCompanyApplyVo();
+ AdCompanyApply adCompanyApply = fetchBySid(sid);
+ if (adCompanyApply == null) {
+ return rb.setMsg("该申请不存在");
+ }
+// hrHireApplyVo.setTestPage(hrHireApply.getTestPage());
+ OaForm oaForm = oaFormService.fetchBySid(sid);
+ adCompanyApplyVo.setTaskId(oaForm.getTaskId());
+ adCompanyApplyVo.setProcInsId(oaForm.getProcInstId());
+ //根据部门sid获取orgPath并赋值
+ SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData();
+ String orgSidPath = organizationVo.getOrgSidPath();
+ adCompanyApplyVo.setOrgSidPath(orgSidPath);
+ adCompanyApplyVo.setCreateBySid(oaForm.getCreateBySid());
+ BeanUtil.copyProperties(adCompanyApply, adCompanyApplyVo);
+ FormCommon isFinanceObj = FormCommon.of(adCompanyApply.getApplyTypeKey(), adCompanyApply.getApplyTypeValue());
+ adCompanyApplyVo.setApplyType(isFinanceObj);
+ if(adCompanyApply.getApplyTypeValue().equals("公司注册")){
+ List list = adCompanyRegistrationDetailService.getUpdateInit(sid);
+ list.removeAll(Collections.singleton(null));
+ adCompanyApplyVo.setRegisList(list);
+ } else if (adCompanyApply.getApplyTypeValue().equals("公司变更")) {
+ List list = adCompanyChangeDetailService.getUpdateInit(sid);
+ list.removeAll(Collections.singleton(null));
+ adCompanyApplyVo.setChangeList(list);
+ } else if (adCompanyApply.getApplyTypeValue().equals("公司注销")) {
+ List list = adCompanyLogoffDetailService.getUpdateInit(sid);
+ list.removeAll(Collections.singleton(null));
+ adCompanyApplyVo.setLogoffList(list);
+ }else if (adCompanyApply.getApplyTypeValue().equals("公司转让")){
+ List list = adCompanyTransferDetailService.getUpdateInit(sid);
+ list.removeAll(Collections.singleton(null));
+ adCompanyApplyVo.setTransferList(list);
+ }
+
+ List files = oaAppendixService.selectByLinkSid(sid, "图片");
+ List appes= oaAppendixService.selectByLinkSid(sid, "文件");
+ adCompanyApplyVo.setFiles(files);
+ adCompanyApplyVo.setAppes(appes);
+ adCompanyApplyVo.setSid(sid);
+ return rb.success().setData(adCompanyApplyVo);
+ }
+ // 保存文件
+ private void saveFiles(String sid, List files, String attachType, String fileType) {
+ files.removeAll(Collections.singleton(null));
+ oaAppendixService.saveFile(sid, files, attachType, fileType);
+ }
+
+
+ /**
+ * 详情
+ *
+ * @param sid
+ * @return
+ */
+ public ResultBean details(String sid, String application) {
+ ResultBean rb = ResultBean.fireFail();
+ AdCompanyApplyDetailVo adCompanyApplyDetailVo = baseMapper.details(sid);
+ if(adCompanyApplyDetailVo.getApplyTypeValue().equals("公司注册")){
+ List data = adCompanyRegistrationDetailService.getDetailByMainSid(adCompanyApplyDetailVo.getSid()).getData();
+ adCompanyApplyDetailVo.setRegisList(data);
+ } else if (adCompanyApplyDetailVo.getApplyTypeValue().equals("公司变更")) {
+ List data = adCompanyChangeDetailService.getDetailByMainSid(adCompanyApplyDetailVo.getSid()).getData();
+ adCompanyApplyDetailVo.setChangeList(data);
+ } else if (adCompanyApplyDetailVo.getApplyTypeValue().equals("公司注销")) {
+ List data = adCompanyLogoffDetailService.getDetailByMainSid(adCompanyApplyDetailVo.getSid()).getData();
+ adCompanyApplyDetailVo.setLogoffList(data);
+ }else if (adCompanyApplyDetailVo.getApplyTypeValue().equals("公司转让")){
+ List data = adCompanyTransferDetailService.getDetailByMainSid(adCompanyApplyDetailVo.getSid()).getData();
+ adCompanyApplyDetailVo.setTransferList(data);
+ }
+ if (adCompanyApplyDetailVo == null) {
+ return rb.setMsg("该申请不存在");
+ }
+ List files = oaAppendixService.selectByLinkSid(adCompanyApplyDetailVo.getSid(), "图片");
+ List appes= oaAppendixService.selectByLinkSid(adCompanyApplyDetailVo.getSid(), "文件");
+ adCompanyApplyDetailVo.setFiles(files);
+ adCompanyApplyDetailVo.setAppes(appes);
+ //基础字段赋值
+ BeanUtil.copyProperties(oaFormService.getDetails(sid), adCompanyApplyDetailVo);
+ return rb.success().setData(adCompanyApplyDetailVo);
+ }
+ /**
+ * 提交
+ *
+ * @param dto
+ * @return
+ */
+ public ResultBean submit(AdCompanyApplyDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ ResultBean stringResultBean = saveOrUpdateDto(dto);
+ if (!stringResultBean.getSuccess()) {
+ return rb.setMsg(stringResultBean.getData());
+ }
+ String businessSid = stringResultBean.getData();
+
+ SubmitDto submitDto = new SubmitDto();
+ submitDto.setUserSid(dto.getCreateBySid());
+ submitDto.setBusinessSid(businessSid);
+
+ Map formVariables = new HashMap<>();
+ Map appMap = new HashMap<>();
+ formVariables = getMap(formVariables, businessSid);
+ submitDto.setFormVariables(formVariables);
+ if(dto.getApplyTypeValue().equals("公司注册")){
+ // appMap.put("sid", businessSid);
+ submitDto.setProcDefId("");
+ } else if (dto.getApplyTypeValue().equals("公司变更")) {
+ submitDto.setProcDefId("");
+ } else if (dto.getApplyTypeValue().equals("公司注销")) {
+ submitDto.setProcDefId("");
+ }else if (dto.getApplyTypeValue().equals("公司转让")){
+ submitDto.setProcDefId("");
+ }
+ submitDto.setNextTaskId(dto.getTaskId());
+ submitDto.setRule(OaFormRuleEnum.DIRECTLY_UNDER.getRule());
+ return oaFormService.submit(submitDto);
+ }
+ /**
+ * 驳回
+ *
+ * @param dto
+ * @return
+ */
+ public ResultBean reject(TaskDto dto) {
+ Map formVariables = dto.getFormVariables();
+ formVariables = getMap(formVariables, dto.getBusinessSid());
+ dto.setFormVariables(formVariables);
+
+ return oaFormService.reject(dto);
+ }
+
+ /**
+ * 办理(同意)
+ *
+ * @param dto
+ * @return
+ */
+ public ResultBean complete(CompleteDto dto) {
+ Map formVariables = dto.getFormVariables();
+ formVariables = getMap(formVariables, dto.getBusinessSid());
+ dto.setFormVariables(formVariables);
+ BusinessVariablesDto businessVariablesDto = new BusinessVariablesDto();
+ BeanUtil.copyProperties(dto, businessVariablesDto);
+ return oaFormService.complete(businessVariablesDto);
+ }
+
+ public ResultBean getFlowOperateTitle(NodeQuery query) {
+ // 默认失败返回
+ ResultBean rb = ResultBean.fireFail();
+
+ // 获取next值和formVariables
+ int next = query.getNext();
+
+ // 获取并更新formVariables
+ Map formVariables = getMap(query.getFormVariables(), query.getBusinessSid());
+ query.setFormVariables(formVariables);
+
+ // 校验next参数是否有效(只允许0或1)
+ if (next != 0 && next != 1) {
+ return rb.setMsg("参数错误:next"); // 如果next不是0或1,返回错误信息
+ }
+
+ // 获取节点名称
+ String data = oaFormService.getNodeName(query, next);
+
+ // 如果data为null,表示未获取到有效的节点信息
+ if (data == null) {
+ return rb.setMsg("没有获取到节点信息"); // 返回错误消息
+ }
+
+ // 返回成功的结果和获取到的节点名称
+ return rb.success().setData(data);
+ }
+ public Map getMap(Map formVariables, String sid) {
+ Map appMap = new HashMap<>();
+ appMap.put("sid", sid);
+ AdCompanyApply adCompanyApply = baseMapper.selectOne(new QueryWrapper().eq("formSid", sid));
+ if(adCompanyApply.getApplyTypeValue().equals("公司注册")){
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_EDIT.getType(), OaFormUrlEnum.GROUPSYSTEM_EDIT.getUrl() + sid);
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_DETAIL.getType(), OaFormUrlEnum.GROUPSYSTEM_DETAIL.getUrl() + sid);
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_FLOWOPERATEURL.getType(), OaFormUrlEnum.GROUPSYSTEM_FLOWOPERATEURL.getUrl());
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_AGREEURL.getType(), OaFormUrlEnum.GROUPSYSTEM_AGREEURL.getUrl());
+ appMap.put(OaFormUrlEnum.STOPURL.getType(), OaFormUrlEnum.STOPURL.getUrl());
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_REJECTURL.getType(), OaFormUrlEnum.GROUPSYSTEM_REJECTURL.getUrl());
+ appMap.put(OaFormUrlEnum.RECALLURL.getType(), OaFormUrlEnum.RECALLURL.getUrl());
+ appMap.put(OaFormUrlEnum.SIGNURL.getType(), OaFormUrlEnum.SIGNURL.getUrl());
+ appMap.put(OaFormUrlEnum.TRANSFERURL.getType(), OaFormUrlEnum.TRANSFERURL.getUrl());
+ formVariables.put("app", appMap);
+// //根据组织查询是否是分公司
+ OaForm oaForm = oaFormService.fetchBySid(sid);
+
+ //是否是分公司
+// formVariables.put("isTrue", sysOrganization.getIsDept() == 0);
+ }else if(adCompanyApply.getApplyTypeValue().equals("公司变更")){
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_EDIT.getType(), OaFormUrlEnum.GROUPSYSTEM_EDIT.getUrl() + sid);
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_DETAIL.getType(), OaFormUrlEnum.GROUPSYSTEM_DETAIL.getUrl() + sid);
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_FLOWOPERATEURL.getType(), OaFormUrlEnum.GROUPSYSTEM_FLOWOPERATEURL.getUrl());
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_AGREEURL.getType(), OaFormUrlEnum.GROUPSYSTEM_AGREEURL.getUrl());
+ appMap.put(OaFormUrlEnum.STOPURL.getType(), OaFormUrlEnum.STOPURL.getUrl());
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_REJECTURL.getType(), OaFormUrlEnum.GROUPSYSTEM_REJECTURL.getUrl());
+ appMap.put(OaFormUrlEnum.RECALLURL.getType(), OaFormUrlEnum.RECALLURL.getUrl());
+ appMap.put(OaFormUrlEnum.SIGNURL.getType(), OaFormUrlEnum.SIGNURL.getUrl());
+ appMap.put(OaFormUrlEnum.TRANSFERURL.getType(), OaFormUrlEnum.TRANSFERURL.getUrl());
+ formVariables.put("app", appMap);
+// //根据组织查询是否是分公司
+ OaForm oaForm = oaFormService.fetchBySid(sid);
+ AdCompanyApply adPermissionApply = fetchBySid(sid);
+ SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(oaForm.getUseOrgSid()).getData();
+ //是否是分公司
+// formVariables.put("isTrue", sysOrganization.getIsDept() == 0);
+ } else if (adCompanyApply.getApplyTypeValue().equals("公司注销")) {
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_EDIT.getType(), OaFormUrlEnum.GROUPSYSTEM_EDIT.getUrl() + sid);
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_DETAIL.getType(), OaFormUrlEnum.GROUPSYSTEM_DETAIL.getUrl() + sid);
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_FLOWOPERATEURL.getType(), OaFormUrlEnum.GROUPSYSTEM_FLOWOPERATEURL.getUrl());
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_AGREEURL.getType(), OaFormUrlEnum.GROUPSYSTEM_AGREEURL.getUrl());
+ appMap.put(OaFormUrlEnum.STOPURL.getType(), OaFormUrlEnum.STOPURL.getUrl());
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_REJECTURL.getType(), OaFormUrlEnum.GROUPSYSTEM_REJECTURL.getUrl());
+ appMap.put(OaFormUrlEnum.RECALLURL.getType(), OaFormUrlEnum.RECALLURL.getUrl());
+ appMap.put(OaFormUrlEnum.SIGNURL.getType(), OaFormUrlEnum.SIGNURL.getUrl());
+ appMap.put(OaFormUrlEnum.TRANSFERURL.getType(), OaFormUrlEnum.TRANSFERURL.getUrl());
+ formVariables.put("app", appMap);
+// //根据组织查询是否是分公司
+ OaForm oaForm = oaFormService.fetchBySid(sid);
+ AdCompanyApply adPermissionApply = fetchBySid(sid);
+ SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(oaForm.getUseOrgSid()).getData();
+ //是否是分公司
+// formVariables.put("isTrue", sysOrganization.getIsDept() == 0);
+ } else if (adCompanyApply.getApplyTypeValue().equals("公司转让")) {
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_EDIT.getType(), OaFormUrlEnum.GROUPSYSTEM_EDIT.getUrl() + sid);
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_DETAIL.getType(), OaFormUrlEnum.GROUPSYSTEM_DETAIL.getUrl() + sid);
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_FLOWOPERATEURL.getType(), OaFormUrlEnum.GROUPSYSTEM_FLOWOPERATEURL.getUrl());
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_AGREEURL.getType(), OaFormUrlEnum.GROUPSYSTEM_AGREEURL.getUrl());
+ appMap.put(OaFormUrlEnum.STOPURL.getType(), OaFormUrlEnum.STOPURL.getUrl());
+ appMap.put(OaFormUrlEnum.GROUPSYSTEM_REJECTURL.getType(), OaFormUrlEnum.GROUPSYSTEM_REJECTURL.getUrl());
+ appMap.put(OaFormUrlEnum.RECALLURL.getType(), OaFormUrlEnum.RECALLURL.getUrl());
+ appMap.put(OaFormUrlEnum.SIGNURL.getType(), OaFormUrlEnum.SIGNURL.getUrl());
+ appMap.put(OaFormUrlEnum.TRANSFERURL.getType(), OaFormUrlEnum.TRANSFERURL.getUrl());
+ formVariables.put("app", appMap);
+// //根据组织查询是否是分公司
+ OaForm oaForm = oaFormService.fetchBySid(sid);
+ AdCompanyApply adPermissionApply = fetchBySid(sid);
+ SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(oaForm.getUseOrgSid()).getData();
+ //是否是分公司
+// formVariables.put("isTrue", sysOrganization.getIsDept() == 0);
+ }
+
+
+ return formVariables;
+ }
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyVo.java
new file mode 100644
index 0000000000..cdc44b2ff0
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyapply/AdCompanyApplyVo.java
@@ -0,0 +1,54 @@
+package com.yxt.anrui.oa.biz.adcompanyapply;
+
+import com.yxt.anrui.oa.biz.adcompanychangedetail.AdCompanyChangeDetailVo;
+import com.yxt.anrui.oa.biz.adcompanychangedetail.AdCompanyChangeListDetailVo;
+import com.yxt.anrui.oa.biz.adcompanylogoffdetail.AdCompanyLogoffDetailVo;
+import com.yxt.anrui.oa.biz.adcompanyregistrationdetail.AdCompanyRegistrationDetailVo;
+import com.yxt.anrui.oa.biz.adcompanyregistrationdetail.AdCompanyRegistrationListDetailVo;
+import com.yxt.anrui.oa.biz.adcompanytransferdetail.AdCompanyTransferDetailVo;
+import com.yxt.anrui.oa.biz.oaform.FormCommon;
+import com.yxt.anrui.oa.biz.oaform.OaFormCommonVo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author wangpengfei
+ * @date 2025/2/7 15:31
+ */
+@Data
+@ApiModel(value = "集团制度会签审批 视图数据对象", description = "集团制度会签审批 视图数据对象")
+public class AdCompanyApplyVo extends OaFormCommonVo {
+ private String sid;
+ @ApiModelProperty("经办人")
+ private String operator;
+ @ApiModelProperty("申请类别key")
+ private String applyTypeKey;
+ @ApiModelProperty("value")
+ private String applyTypeValue;
+ private FormCommon applyType;
+ @ApiModelProperty("是否需要个人配合签字key 0否 1是")
+ private String isSignKey;
+ @ApiModelProperty("是否需要个人配合签字")
+ private String isSignValue;
+ @ApiModelProperty("关联审批sid列表,英文逗号分隔")
+ private String linkFormSids;
+ @ApiModelProperty("基础表单sid")
+ private String formSid;
+ @ApiModelProperty("图片")
+ private List files = new ArrayList<>();
+ @ApiModelProperty("附件")
+ private List appes = new ArrayList<>();
+ private String orgSidPath;
+ private String createBySid;
+ private String taskId;
+ @ApiModelProperty("流程实例id")
+ private String procInsId;
+ List regisList=new ArrayList<>();
+ List changeList=new ArrayList<>();
+ List logoffList=new ArrayList<>();
+ List transferList=new ArrayList<>();
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeDetail.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeDetail.java
new file mode 100644
index 0000000000..8d883082f5
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeDetail.java
@@ -0,0 +1,30 @@
+package com.yxt.anrui.oa.biz.adcompanychangedetail;
+
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/16
+ **/
+@Data
+public class AdCompanyChangeDetail extends BaseEntity {
+ private static final long serialVersionUID = 4980172913356706485L;
+ @ApiModelProperty("主表sid")
+ private String mainSid;
+ @ApiModelProperty("公司名称")
+ private String name;
+ @ApiModelProperty("变更事项")
+ private String alteration;
+ @ApiModelProperty("是否更换印章 0否1是")
+ private String isReplaceKey;
+ @ApiModelProperty("value 0否1是")
+ private String isReplaceValue;
+ @ApiModelProperty("需要更换的印章")
+ private Integer seal;
+ @ApiModelProperty("变更后详情")
+ private String details;
+
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeDetailDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeDetailDto.java
new file mode 100644
index 0000000000..f28187d487
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeDetailDto.java
@@ -0,0 +1,29 @@
+package com.yxt.anrui.oa.biz.adcompanychangedetail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/17
+ **/
+@Data
+public class AdCompanyChangeDetailDto {
+ private String sid;
+ @ApiModelProperty("主表sid")
+ private String mainSid;
+ @ApiModelProperty("公司名称")
+ private String name;
+ @ApiModelProperty("变更事项")
+ private String alteration;
+ @ApiModelProperty("是否更换印章 0否1是")
+ private String isReplaceKey;
+ @ApiModelProperty("value 0否1是")
+ private String isReplaceValue;
+ @ApiModelProperty("需要更换的印章")
+ private Integer seal;
+ @ApiModelProperty("变更后详情")
+ private String details;
+
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeDetailMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeDetailMapper.java
new file mode 100644
index 0000000000..d0edf31e9f
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeDetailMapper.java
@@ -0,0 +1,19 @@
+package com.yxt.anrui.oa.biz.adcompanychangedetail;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/17
+ **/
+@Mapper
+public interface AdCompanyChangeDetailMapper extends BaseMapper {
+ List getUpdateInit(String sid);
+
+ List selectByMainSid(String sid);
+ List getDetailByMainSid(String sid);
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeDetailMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeDetailMapper.xml
new file mode 100644
index 0000000000..bf36a7a37f
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeDetailMapper.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeDetailService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeDetailService.java
new file mode 100644
index 0000000000..c659e17147
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeDetailService.java
@@ -0,0 +1,63 @@
+package com.yxt.anrui.oa.biz.adcompanychangedetail;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.yxt.anrui.oa.biz.oaappendix.OaAppendixMapper;
+import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.core.result.ResultBean;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/17
+ **/
+@Service
+public class AdCompanyChangeDetailService extends MybatisBaseService {
+
+ @Autowired
+ private OaAppendixMapper oaAppendixMapper;
+ @Autowired
+ private OaAppendixService oaAppendixService;
+
+ public List getUpdateInit(String sid) {
+ return baseMapper.getUpdateInit(sid);
+ }
+
+ public void saveDetails(List list, String sid) {
+ //根据sid查询明细并删除
+ List list2 = baseMapper.selectByMainSid(sid);
+ list2.removeAll(Collections.singleton(null));
+ if (!list2.isEmpty()) {
+ list2.stream().forEach(v -> {
+ oaAppendixMapper.deleteByLinkSid(v.getSid(), "文件");
+ deleteBySid(v.getSid());
+ });
+ }
+ list.removeAll(Collections.singleton(null));
+ if (!list.isEmpty()) {
+ list.stream().forEach(details -> {
+ AdCompanyChangeDetail adCompanyRegistrationDetail = new AdCompanyChangeDetail();
+ BeanUtil.copyProperties(details, adCompanyRegistrationDetail);
+ adCompanyRegistrationDetail.setMainSid(sid);
+ baseMapper.insert(adCompanyRegistrationDetail);
+ });
+ }
+
+ }
+
+ // 保存文件
+ private void saveFiles(String sid, List files, String attachType, String fileType) {
+ files.removeAll(Collections.singleton(null));
+ oaAppendixService.saveFile(sid, files, attachType, fileType);
+ }
+ public ResultBean> getDetailByMainSid(String sid) {
+ ResultBean> rb = ResultBean.fireFail();
+ List list = baseMapper.getDetailByMainSid(sid);
+ return rb.success().setData(list);
+ }
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeDetailVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeDetailVo.java
new file mode 100644
index 0000000000..76680d9045
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeDetailVo.java
@@ -0,0 +1,31 @@
+package com.yxt.anrui.oa.biz.adcompanychangedetail;
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/16
+ **/
+@Data
+public class AdCompanyChangeDetailVo implements Vo {
+ private static final long serialVersionUID = -3330232160961910852L;
+ private String sid;
+ @ApiModelProperty("主表sid")
+ private String mainSid;
+ @ApiModelProperty("公司名称")
+ private String name;
+ @ApiModelProperty("变更事项")
+ private String alteration;
+ @ApiModelProperty("是否更换印章 0否1是")
+ private String isReplaceKey;
+ @ApiModelProperty("value 0否1是")
+ private String isReplaceValue;
+ @ApiModelProperty("需要更换的印章")
+ private Integer seal;
+ @ApiModelProperty("变更后详情")
+ private String details;
+
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeListDetailVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeListDetailVo.java
new file mode 100644
index 0000000000..f271230beb
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanychangedetail/AdCompanyChangeListDetailVo.java
@@ -0,0 +1,29 @@
+package com.yxt.anrui.oa.biz.adcompanychangedetail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/21
+ **/
+@Data
+public class AdCompanyChangeListDetailVo {
+
+ private String sid;
+ @ApiModelProperty("公司名称")
+ private String name;
+ @ApiModelProperty("变更事项")
+ private String alteration;
+ @ApiModelProperty("是否更换印章 0否1是")
+ private String isReplaceKey;
+ @ApiModelProperty("value 0否1是")
+ private String isReplaceValue;
+ @ApiModelProperty("需要更换的印章")
+ private Integer seal;
+ @ApiModelProperty("变更后详情")
+ private String details;
+
+
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffDetail.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffDetail.java
new file mode 100644
index 0000000000..b16e7af3fe
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffDetail.java
@@ -0,0 +1,23 @@
+package com.yxt.anrui.oa.biz.adcompanylogoffdetail;
+
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/16
+ **/
+@Data
+public class AdCompanyLogoffDetail extends BaseEntity {
+ private static final long serialVersionUID = 4980172913356706485L;
+ @ApiModelProperty("主表sid")
+ private String mainSid;
+ @ApiModelProperty("公司名称")
+ private String name;
+ @ApiModelProperty("法定代表人")
+ private String reason;
+
+
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffDetailDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffDetailDto.java
new file mode 100644
index 0000000000..db9ac205a0
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffDetailDto.java
@@ -0,0 +1,21 @@
+package com.yxt.anrui.oa.biz.adcompanylogoffdetail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/17
+ **/
+@Data
+public class AdCompanyLogoffDetailDto {
+ private String sid;
+ @ApiModelProperty("主表sid")
+ private String mainSid;
+ @ApiModelProperty("公司名称")
+ private String name;
+ @ApiModelProperty("法定代表人")
+ private String reason;
+
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffDetailMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffDetailMapper.java
new file mode 100644
index 0000000000..eb860e090f
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffDetailMapper.java
@@ -0,0 +1,19 @@
+package com.yxt.anrui.oa.biz.adcompanylogoffdetail;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/17
+ **/
+@Mapper
+public interface AdCompanyLogoffDetailMapper extends BaseMapper {
+ List getUpdateInit(String sid);
+
+ List selectByMainSid(String sid);
+ List getDetailByMainSid(String sid);
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffDetailMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffDetailMapper.xml
new file mode 100644
index 0000000000..9c475c17bd
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffDetailMapper.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffDetailService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffDetailService.java
new file mode 100644
index 0000000000..60830fd70a
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffDetailService.java
@@ -0,0 +1,62 @@
+package com.yxt.anrui.oa.biz.adcompanylogoffdetail;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.yxt.anrui.oa.biz.oaappendix.OaAppendixMapper;
+import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.core.result.ResultBean;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/17
+ **/
+@Service
+public class AdCompanyLogoffDetailService extends MybatisBaseService {
+
+ @Autowired
+ private OaAppendixMapper oaAppendixMapper;
+ @Autowired
+ private OaAppendixService oaAppendixService;
+
+ public List getUpdateInit(String sid) {
+ return baseMapper.getUpdateInit(sid);
+ }
+
+ public void saveDetails(List list, String sid) {
+ //根据sid查询明细并删除
+ List list2 = baseMapper.selectByMainSid(sid);
+ list2.removeAll(Collections.singleton(null));
+ if (!list2.isEmpty()) {
+ list2.stream().forEach(v -> {
+ deleteBySid(v.getSid());
+ });
+ }
+ list.removeAll(Collections.singleton(null));
+ if (!list.isEmpty()) {
+ list.stream().forEach(details -> {
+ AdCompanyLogoffDetail adCompanyRegistrationDetail = new AdCompanyLogoffDetail();
+ BeanUtil.copyProperties(details, adCompanyRegistrationDetail);
+ adCompanyRegistrationDetail.setMainSid(sid);
+ baseMapper.insert(adCompanyRegistrationDetail);
+ });
+ }
+
+ }
+
+ // 保存文件
+ private void saveFiles(String sid, List files, String attachType, String fileType) {
+ files.removeAll(Collections.singleton(null));
+ oaAppendixService.saveFile(sid, files, attachType, fileType);
+ }
+ public ResultBean> getDetailByMainSid(String sid) {
+ ResultBean> rb = ResultBean.fireFail();
+ List list = baseMapper.getDetailByMainSid(sid);
+ return rb.success().setData(list);
+ }
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffDetailVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffDetailVo.java
new file mode 100644
index 0000000000..7e5dba2d0f
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffDetailVo.java
@@ -0,0 +1,23 @@
+package com.yxt.anrui.oa.biz.adcompanylogoffdetail;
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/16
+ **/
+@Data
+public class AdCompanyLogoffDetailVo implements Vo {
+ private static final long serialVersionUID = -3330232160961910852L;
+ private String sid;
+ @ApiModelProperty("主表sid")
+ private String mainSid;
+ @ApiModelProperty("公司名称")
+ private String name;
+ @ApiModelProperty("法定代表人")
+ private String reason;
+
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffListDetailVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffListDetailVo.java
new file mode 100644
index 0000000000..bc859d7554
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanylogoffdetail/AdCompanyLogoffListDetailVo.java
@@ -0,0 +1,23 @@
+package com.yxt.anrui.oa.biz.adcompanylogoffdetail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/21
+ **/
+@Data
+public class AdCompanyLogoffListDetailVo {
+
+ private String sid;
+ @ApiModelProperty("主表sid")
+ private String mainSid;
+ @ApiModelProperty("公司名称")
+ private String name;
+ @ApiModelProperty("法定代表人")
+ private String reason;
+
+
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationDetail.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationDetail.java
new file mode 100644
index 0000000000..7d2c2f657f
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationDetail.java
@@ -0,0 +1,34 @@
+package com.yxt.anrui.oa.biz.adcompanyregistrationdetail;
+
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/16
+ **/
+@Data
+public class AdCompanyRegistrationDetail extends BaseEntity {
+ private static final long serialVersionUID = 4980172913356706485L;
+ @ApiModelProperty("主表sid")
+ private String mainSid;
+ @ApiModelProperty("公司名称")
+ private String name;
+ @ApiModelProperty("法定代表人")
+ private String legalRepresentative;
+ @ApiModelProperty("注册资金")
+ private String registeredCapital;
+ @ApiModelProperty("股东及占股比例")
+ private String shareholder;
+ @ApiModelProperty("监事")
+ private Integer supervisor;
+ @ApiModelProperty("地址")
+ private String address;
+ @ApiModelProperty("经营范围")
+ private String businessScope;
+ @ApiModelProperty("印章")
+ private String seal;
+
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationDetailDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationDetailDto.java
new file mode 100644
index 0000000000..561fc35ae4
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationDetailDto.java
@@ -0,0 +1,37 @@
+package com.yxt.anrui.oa.biz.adcompanyregistrationdetail;
+
+import com.yxt.anrui.oa.biz.oaform.FormCommon;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/17
+ **/
+@Data
+public class AdCompanyRegistrationDetailDto {
+ private String sid;
+ @ApiModelProperty("主表sid")
+ private String mainSid;
+ @ApiModelProperty("公司名称")
+ private String name;
+ @ApiModelProperty("法定代表人")
+ private String legalRepresentative;
+ @ApiModelProperty("注册资金")
+ private String registeredCapital;
+ @ApiModelProperty("股东及占股比例")
+ private String shareholder;
+ @ApiModelProperty("监事")
+ private Integer supervisor;
+ @ApiModelProperty("地址")
+ private String address;
+ @ApiModelProperty("经营范围")
+ private String businessScope;
+ @ApiModelProperty("印章")
+ private String seal;
+
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationDetailMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationDetailMapper.java
new file mode 100644
index 0000000000..f33193d1d3
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationDetailMapper.java
@@ -0,0 +1,19 @@
+package com.yxt.anrui.oa.biz.adcompanyregistrationdetail;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/17
+ **/
+@Mapper
+public interface AdCompanyRegistrationDetailMapper extends BaseMapper {
+ List getUpdateInit(String sid);
+
+ List selectByMainSid(String sid);
+ List getDetailByMainSid(String sid);
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationDetailMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationDetailMapper.xml
new file mode 100644
index 0000000000..2a9d71e6e9
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationDetailMapper.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationDetailService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationDetailService.java
new file mode 100644
index 0000000000..42ba2c377a
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationDetailService.java
@@ -0,0 +1,64 @@
+package com.yxt.anrui.oa.biz.adcompanyregistrationdetail;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.yxt.anrui.oa.biz.adcompanyapply.AdCompanyApplyVo;
+import com.yxt.anrui.oa.biz.oaappendix.OaAppendixMapper;
+import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService;
+import com.yxt.anrui.oa.feign.file.OaFileEnum;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.core.result.ResultBean;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/17
+ **/
+@Service
+public class AdCompanyRegistrationDetailService extends MybatisBaseService {
+
+ @Autowired
+ private OaAppendixMapper oaAppendixMapper;
+ @Autowired
+ private OaAppendixService oaAppendixService;
+
+ public List getUpdateInit(String sid) {
+ return baseMapper.getUpdateInit(sid);
+ }
+
+ public void saveDetails(List list, String sid) {
+ //根据sid查询明细并删除
+ List list2 = baseMapper.selectByMainSid(sid);
+ list2.removeAll(Collections.singleton(null));
+ if (!list2.isEmpty()) {
+ list2.stream().forEach(v -> {
+ deleteBySid(v.getSid());
+ });
+ }
+ list.removeAll(Collections.singleton(null));
+ if (!list.isEmpty()) {
+ list.stream().forEach(details -> {
+ AdCompanyRegistrationDetail adCompanyRegistrationDetail = new AdCompanyRegistrationDetail();
+ BeanUtil.copyProperties(details, adCompanyRegistrationDetail);
+ adCompanyRegistrationDetail.setMainSid(sid);
+ baseMapper.insert(adCompanyRegistrationDetail);
+ });
+ }
+
+ }
+
+ // 保存文件
+ private void saveFiles(String sid, List files, String attachType, String fileType) {
+ files.removeAll(Collections.singleton(null));
+ oaAppendixService.saveFile(sid, files, attachType, fileType);
+ }
+ public ResultBean> getDetailByMainSid(String sid) {
+ ResultBean> rb = ResultBean.fireFail();
+ List list = baseMapper.getDetailByMainSid(sid);
+ return rb.success().setData(list);
+ }
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationDetailVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationDetailVo.java
new file mode 100644
index 0000000000..c0d5ea4875
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationDetailVo.java
@@ -0,0 +1,39 @@
+package com.yxt.anrui.oa.biz.adcompanyregistrationdetail;
+
+import com.yxt.anrui.oa.biz.oaform.FormCommon;
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/16
+ **/
+@Data
+public class AdCompanyRegistrationDetailVo implements Vo {
+ private static final long serialVersionUID = -3330232160961910852L;
+ private String sid;
+ @ApiModelProperty("主表sid")
+ private String mainSid;
+ @ApiModelProperty("公司名称")
+ private String name;
+ @ApiModelProperty("法定代表人")
+ private String legalRepresentative;
+ @ApiModelProperty("注册资金")
+ private String registeredCapital;
+ @ApiModelProperty("股东及占股比例")
+ private String shareholder;
+ @ApiModelProperty("监事")
+ private Integer supervisor;
+ @ApiModelProperty("地址")
+ private String address;
+ @ApiModelProperty("经营范围")
+ private String businessScope;
+ @ApiModelProperty("印章")
+ private String seal;
+
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationListDetailVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationListDetailVo.java
new file mode 100644
index 0000000000..0f9287fcf7
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanyregistrationdetail/AdCompanyRegistrationListDetailVo.java
@@ -0,0 +1,36 @@
+package com.yxt.anrui.oa.biz.adcompanyregistrationdetail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/21
+ **/
+@Data
+public class AdCompanyRegistrationListDetailVo {
+
+ private String sid;
+ @ApiModelProperty("公司名称")
+ private String name;
+ @ApiModelProperty("法定代表人")
+ private String legalRepresentative;
+ @ApiModelProperty("注册资金")
+ private String registeredCapital;
+ @ApiModelProperty("股东及占股比例")
+ private String shareholder;
+ @ApiModelProperty("监事")
+ private Integer supervisor;
+ @ApiModelProperty("地址")
+ private String address;
+ @ApiModelProperty("经营范围")
+ private String businessScope;
+ @ApiModelProperty("印章")
+ private String seal;
+
+
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferDetail.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferDetail.java
new file mode 100644
index 0000000000..939ce4c664
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferDetail.java
@@ -0,0 +1,23 @@
+package com.yxt.anrui.oa.biz.adcompanytransferdetail;
+
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/16
+ **/
+@Data
+public class AdCompanyTransferDetail extends BaseEntity {
+ private static final long serialVersionUID = 4980172913356706485L;
+ @ApiModelProperty("主表sid")
+ private String mainSid;
+ @ApiModelProperty("公司名称")
+ private String name;
+ @ApiModelProperty("公司转让情况")
+ private String situation;
+
+
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferDetailDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferDetailDto.java
new file mode 100644
index 0000000000..bf8065270a
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferDetailDto.java
@@ -0,0 +1,21 @@
+package com.yxt.anrui.oa.biz.adcompanytransferdetail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/17
+ **/
+@Data
+public class AdCompanyTransferDetailDto {
+ private String sid;
+ @ApiModelProperty("主表sid")
+ private String mainSid;
+ @ApiModelProperty("公司名称")
+ private String name;
+ @ApiModelProperty("公司转让情况")
+ private String situation;
+
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferDetailMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferDetailMapper.java
new file mode 100644
index 0000000000..7e4a0f876d
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferDetailMapper.java
@@ -0,0 +1,19 @@
+package com.yxt.anrui.oa.biz.adcompanytransferdetail;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/17
+ **/
+@Mapper
+public interface AdCompanyTransferDetailMapper extends BaseMapper {
+ List getUpdateInit(String sid);
+
+ List selectByMainSid(String sid);
+ List getDetailByMainSid(String sid);
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferDetailMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferDetailMapper.xml
new file mode 100644
index 0000000000..965f4ecb31
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferDetailMapper.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferDetailService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferDetailService.java
new file mode 100644
index 0000000000..66c6d690ac
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferDetailService.java
@@ -0,0 +1,62 @@
+package com.yxt.anrui.oa.biz.adcompanytransferdetail;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.yxt.anrui.oa.biz.oaappendix.OaAppendixMapper;
+import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.core.result.ResultBean;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/17
+ **/
+@Service
+public class AdCompanyTransferDetailService extends MybatisBaseService {
+
+ @Autowired
+ private OaAppendixMapper oaAppendixMapper;
+ @Autowired
+ private OaAppendixService oaAppendixService;
+
+ public List getUpdateInit(String sid) {
+ return baseMapper.getUpdateInit(sid);
+ }
+
+ public void saveDetails(List list, String sid) {
+ //根据sid查询明细并删除
+ List list2 = baseMapper.selectByMainSid(sid);
+ list2.removeAll(Collections.singleton(null));
+ if (!list2.isEmpty()) {
+ list2.stream().forEach(v -> {
+ deleteBySid(v.getSid());
+ });
+ }
+ list.removeAll(Collections.singleton(null));
+ if (!list.isEmpty()) {
+ list.stream().forEach(details -> {
+ AdCompanyTransferDetail adCompanyRegistrationDetail = new AdCompanyTransferDetail();
+ BeanUtil.copyProperties(details, adCompanyRegistrationDetail);
+ adCompanyRegistrationDetail.setMainSid(sid);
+ baseMapper.insert(adCompanyRegistrationDetail);
+ });
+ }
+
+ }
+
+ // 保存文件
+ private void saveFiles(String sid, List files, String attachType, String fileType) {
+ files.removeAll(Collections.singleton(null));
+ oaAppendixService.saveFile(sid, files, attachType, fileType);
+ }
+ public ResultBean> getDetailByMainSid(String sid) {
+ ResultBean> rb = ResultBean.fireFail();
+ List list = baseMapper.getDetailByMainSid(sid);
+ return rb.success().setData(list);
+ }
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferDetailVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferDetailVo.java
new file mode 100644
index 0000000000..a8033e2f5d
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferDetailVo.java
@@ -0,0 +1,23 @@
+package com.yxt.anrui.oa.biz.adcompanytransferdetail;
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/16
+ **/
+@Data
+public class AdCompanyTransferDetailVo implements Vo {
+ private static final long serialVersionUID = -3330232160961910852L;
+ private String sid;
+ @ApiModelProperty("主表sid")
+ private String mainSid;
+ @ApiModelProperty("公司名称")
+ private String name;
+ @ApiModelProperty("公司转让情况")
+ private String situation;
+
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferListDetailVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferListDetailVo.java
new file mode 100644
index 0000000000..0fd1e6af7f
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adcompanytransferdetail/AdCompanyTransferListDetailVo.java
@@ -0,0 +1,23 @@
+package com.yxt.anrui.oa.biz.adcompanytransferdetail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: wangpengfei
+ * @date: 2025/1/21
+ **/
+@Data
+public class AdCompanyTransferListDetailVo {
+
+ private String sid;
+ @ApiModelProperty("主表sid")
+ private String mainSid;
+ @ApiModelProperty("公司名称")
+ private String name;
+ @ApiModelProperty("公司转让情况")
+ private String situation;
+
+
+}