diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApply.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApply.java new file mode 100644 index 0000000000..0f6474525a --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApply.java @@ -0,0 +1,103 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.scm.api.scmstandrecordapply; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.math.BigDecimal; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-scm(合作二级站备案申请)
+ * File: ScmStandRecordApply.java
+ * Class: com.yxt.anrui.scm.api.scmstandrecordapply.ScmStandRecordApply
+ * Description: 合作二级站备案申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-10-22 16:05:59
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "合作二级站备案申请", description = "合作二级站备案申请") +@TableName("scm_stand_record_apply") +public class ScmStandRecordApply extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("创建人姓名") + private String createByName; // 创建人姓名 + @ApiModelProperty("申请部门sid") + private String deptSid; // 申请部门sid + @ApiModelProperty("申请部门名称") + private String deptName; // 申请部门名称 + @ApiModelProperty("申请编号") + private String billNo; + @ApiModelProperty("二级站名称") + private String siteName; // 二级站名称 + @ApiModelProperty("法人") + private String legalPerson; // 法人 + @ApiModelProperty("法人电话") + private String phone; // 法人电话 + @ApiModelProperty("负责人") + private String directorName; // 负责人 + @ApiModelProperty("负责人电话") + private String directorPhone; // 负责人电话 + @ApiModelProperty("社会统一信用代码") + private String unifiedCreditCode; // 社会统一信用代码 + @ApiModelProperty("证件有效期") + private String termValidity; // 证件有效期 + @ApiModelProperty("地址") + private String address; // 地址 + @ApiModelProperty("合作有效期") + private String limitedTerm; // 合作有效期 + @ApiModelProperty("授信金额") + private BigDecimal creditGranting; // 授信金额 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("流程定义的id") + private String procDefId; // 流程定义的id + @ApiModelProperty("环节定义的sid") + private String nodeSid; // 环节定义的sid + @ApiModelProperty("流程实例的sid") + private String procInstId; // 流程实例的sid + @ApiModelProperty("taskId") + private String taskId; // taskId + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @ApiModelProperty("办结时间") + private Date finishTime; // 办结时间 + +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApplyDetailsVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApplyDetailsVo.java new file mode 100644 index 0000000000..8a577645f5 --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApplyDetailsVo.java @@ -0,0 +1,116 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.scm.api.scmstandrecordapply; + + +import com.yxt.common.core.vo.Vo; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-scm(合作二级站备案申请)
+ * File: ScmStandRecordApplyVo.java
+ * Class: com.yxt.anrui.scm.api.scmstandrecordapply.ScmStandRecordApplyVo
+ * Description: 合作二级站备案申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-10-22 16:05:59
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "合作二级站备案申请 视图数据详情", description = "合作二级站备案申请 视图数据详情") +public class ScmStandRecordApplyDetailsVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("创建人sid") + private String createBySid; + @ApiModelProperty("备注") + private String remarks; // 备注 + @ApiModelProperty("申请日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date createTime; + @ApiModelProperty("创建人姓名") + private String createByName; // 创建人姓名 + @ApiModelProperty("申请编号") + private String billNo; + @ApiModelProperty("申请部门sid") + private String deptSid; // 申请部门sid + @ApiModelProperty("申请部门名称") + private String deptName; // 申请部门名称 + @ApiModelProperty("二级站名称") + private String siteName; // 二级站名称 + @ApiModelProperty("法人") + private String legalPerson; // 法人 + @ApiModelProperty("法人电话") + private String phone; // 法人电话 + @ApiModelProperty("负责人") + private String directorName; // 负责人 + @ApiModelProperty("负责人电话") + private String directorPhone; // 负责人电话 + @ApiModelProperty("社会统一信用代码") + private String unifiedCreditCode; // 社会统一信用代码 + @ApiModelProperty("证件有效期") + private String termValidity; // 证件有效期 + @ApiModelProperty("地址") + private String address; // 地址 + @ApiModelProperty("合作有效期") + private String limitedTerm; // 合作有效期 + @ApiModelProperty("授信金额") + private BigDecimal creditGranting; // 授信金额 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("流程定义的id") + private String procDefId; // 流程定义的id + @ApiModelProperty("环节定义的sid") + private String nodeSid; // 环节定义的sid + @ApiModelProperty("流程实例的sid") + private String procInstId; // 流程实例的sid + @ApiModelProperty("taskId") + private String taskId; // taskId + @ApiModelProperty("营业执照") + private List businessLicenseFile = new ArrayList<>(); + @ApiModelProperty("合作协议") + private List agreementFile = new ArrayList<>(); + @ApiModelProperty("其他资料") + private List otherFile = new ArrayList<>(); +} \ No newline at end of file diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApplyDto.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApplyDto.java new file mode 100644 index 0000000000..78ac8d0b9c --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApplyDto.java @@ -0,0 +1,113 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.scm.api.scmstandrecordapply; + + +import com.yxt.common.core.dto.Dto; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-scm(合作二级站备案申请)
+ * File: ScmStandRecordApplyDto.java
+ * Class: com.yxt.anrui.scm.api.scmstandrecordapply.ScmStandRecordApplyDto
+ * Description: 合作二级站备案申请 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-10-22 16:05:59
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "合作二级站备案申请 数据传输对象", description = "合作二级站备案申请 数据传输对象") +public class ScmStandRecordApplyDto implements Dto { + + private String sid; // sid + + @ApiModelProperty("创建人sid") + private String createBySid; + @ApiModelProperty("备注") + private String remarks; // 备注 + @ApiModelProperty("创建人姓名") + private String createByName; // 创建人姓名 + @ApiModelProperty("申请编号") + private String billNo; + @ApiModelProperty("申请部门sid") + private String deptSid; // 申请部门sid + @ApiModelProperty("申请部门名称") + private String deptName; // 申请部门名称 + @ApiModelProperty("二级站名称") + private String siteName; // 二级站名称 + @ApiModelProperty("法人") + private String legalPerson; // 法人 + @ApiModelProperty("法人电话") + private String phone; // 法人电话 + @ApiModelProperty("负责人") + private String directorName; // 负责人 + @ApiModelProperty("负责人电话") + private String directorPhone; // 负责人电话 + @ApiModelProperty("社会统一信用代码") + private String unifiedCreditCode; // 社会统一信用代码 + @ApiModelProperty("证件有效期") + private String termValidity; // 证件有效期 + @ApiModelProperty("地址") + private String address; // 地址 + @ApiModelProperty("合作有效期") + private String limitedTerm; // 合作有效期 + @ApiModelProperty("授信金额") + private BigDecimal creditGranting; // 授信金额 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("流程定义的id") + private String procDefId; // 流程定义的id + @ApiModelProperty("环节定义的sid") + private String nodeSid; // 环节定义的sid + @ApiModelProperty("流程实例的sid") + private String procInstId; // 流程实例的sid + @ApiModelProperty("taskId") + private String taskId; // taskId + @ApiModelProperty("营业执照") + private List businessLicenseFile = new ArrayList<>(); + @ApiModelProperty("合作协议") + private List agreementFile = new ArrayList<>(); + @ApiModelProperty("其他资料") + private List otherFile = new ArrayList<>(); +} \ No newline at end of file diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApplyFeign.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApplyFeign.java new file mode 100644 index 0000000000..23c0290aa4 --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApplyFeign.java @@ -0,0 +1,77 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.scm.api.scmstandrecordapply; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * Project: anrui-scm(合作二级站备案申请)
+ * File: ScmStandRecordApplyFeign.java
+ * Class: com.yxt.anrui.scm.api.scmstandrecordapply.ScmStandRecordApplyFeign
+ * Description: 合作二级站备案申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-10-22 16:05:59
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "合作二级站备案申请") +@FeignClient( + contextId = "anrui-scm-ScmStandRecordApply", + name = "anrui-scm", + path = "v1/scmstandrecordapply") +public interface ScmStandRecordApplyFeign { + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + @ResponseBody + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("新增或修改") + @PostMapping("/save") + @ResponseBody + public ResultBean save(@RequestBody ScmStandRecordApplyDto dto); + + @ApiOperation("根据sid删除记录") + @DeleteMapping("/delBySids") + @ResponseBody + public ResultBean delBySids(@RequestBody String[] sids); + + @ApiOperation("根据SID获取一条记录") + @GetMapping("/fetchDetailsBySid/{sid}") + @ResponseBody + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); +} \ No newline at end of file diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApplyQuery.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApplyQuery.java new file mode 100644 index 0000000000..c90fc2bffb --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApplyQuery.java @@ -0,0 +1,78 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.scm.api.scmstandrecordapply; + + +import com.yxt.common.core.query.Query; + +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-scm(合作二级站备案申请)
+ * File: ScmStandRecordApplyQuery.java
+ * Class: com.yxt.anrui.scm.api.scmstandrecordapply.ScmStandRecordApplyQuery
+ * Description: 合作二级站备案申请 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-10-22 16:05:59
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "合作二级站备案申请 查询条件", description = "合作二级站备案申请 查询条件") +public class ScmStandRecordApplyQuery implements Query { + + @ApiModelProperty("分公司名称") + private String useOrgName; + @ApiModelProperty("申请部门名称") + private String deptName; + @ApiModelProperty("创建人姓名") + private String createByName; + @ApiModelProperty("申请日期") + private String createTimeStart; + private String createTimeEnd; + @ApiModelProperty("办结时间") + private String finishTimeStart; + private String finishTimeEnd; + @ApiModelProperty("二级站名称") + private String siteName; + @ApiModelProperty("法人") + private String legalPerson; + @ApiModelProperty("合作有效期") + private String limitedTermStart; + private String limitedTermEnd; + + private String userSid; + private String orgPath; + private String menuUrl; + private String menuSid; +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApplyUrl.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApplyUrl.java new file mode 100644 index 0000000000..80d189803e --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApplyUrl.java @@ -0,0 +1,40 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.scm.api.scmstandrecordapply; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class ScmStandRecordApplyUrl implements Vo { + + private String url; +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApplyVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApplyVo.java new file mode 100644 index 0000000000..c309e46363 --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmstandrecordapply/ScmStandRecordApplyVo.java @@ -0,0 +1,86 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.scm.api.scmstandrecordapply; + + +import com.yxt.common.core.vo.Vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-scm(合作二级站备案申请)
+ * File: ScmStandRecordApplyVo.java
+ * Class: com.yxt.anrui.scm.api.scmstandrecordapply.ScmStandRecordApplyVo
+ * Description: 合作二级站备案申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-10-22 16:05:59
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "合作二级站备案申请 视图数据对象", description = "合作二级站备案申请 视图数据对象") +public class ScmStandRecordApplyVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("流程状态") + private String nodeState; + @ApiModelProperty("分公司名称") + private String useOrgName; + @ApiModelProperty("申请部门名称") + private String deptName; + @ApiModelProperty("创建人姓名") + private String createByName; + @ApiModelProperty("申请日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date createTime; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("办结时间") + private Date finishTime; + @ApiModelProperty("二级站名称") + private String siteName; + @ApiModelProperty("法人") + private String legalPerson; + @ApiModelProperty("法人电话") + private String phone; + @ApiModelProperty("负责人") + private String directorName; + @ApiModelProperty("合作有效期") + private String limitedTerm; + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("流程定义的id") + private String procDefId; + @ApiModelProperty("流程实例的sid") + private String procInstId; +} diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmstandrecordapply/ScmStandRecordApplyMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmstandrecordapply/ScmStandRecordApplyMapper.java new file mode 100644 index 0000000000..deb2fbf7c7 --- /dev/null +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmstandrecordapply/ScmStandRecordApplyMapper.java @@ -0,0 +1,57 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.scm.biz.scmstandrecordapply; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import com.yxt.anrui.scm.api.scmstandrecordapply.ScmStandRecordApply; +import com.yxt.anrui.scm.api.scmstandrecordapply.ScmStandRecordApplyVo; + +import java.util.List; + +/** + * Project: anrui-scm(合作二级站备案申请)
+ * File: ScmStandRecordApplyMapper.java
+ * Class: com.yxt.anrui.scm.biz.scmstandrecordapply.ScmStandRecordApplyMapper
+ * Description: 合作二级站备案申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-10-22 16:05:59
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface ScmStandRecordApplyMapper extends BaseMapper { + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); +} \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmstandrecordapply/ScmStandRecordApplyMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmstandrecordapply/ScmStandRecordApplyMapper.xml new file mode 100644 index 0000000000..b509761546 --- /dev/null +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmstandrecordapply/ScmStandRecordApplyMapper.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmstandrecordapply/ScmStandRecordApplyRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmstandrecordapply/ScmStandRecordApplyRest.java new file mode 100644 index 0000000000..ef5e91487e --- /dev/null +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmstandrecordapply/ScmStandRecordApplyRest.java @@ -0,0 +1,92 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.scm.biz.scmstandrecordapply; + +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.web.bind.annotation.*; + +import java.util.List; +import com.yxt.anrui.scm.api.scmstandrecordapply.ScmStandRecordApply; +import com.yxt.anrui.scm.api.scmstandrecordapply.ScmStandRecordApplyQuery; +import com.yxt.anrui.scm.api.scmstandrecordapply.ScmStandRecordApplyVo; +import com.yxt.anrui.scm.api.scmstandrecordapply.ScmStandRecordApplyDetailsVo; +import com.yxt.anrui.scm.api.scmstandrecordapply.ScmStandRecordApplyDto; +import com.yxt.anrui.scm.api.scmstandrecordapply.ScmStandRecordApplyFeign; + +/** + * Project: anrui-scm(合作二级站备案申请)
+ * File: ScmStandRecordApplyFeignFallback.java
+ * Class: com.yxt.anrui.scm.biz.scmstandrecordapply.ScmStandRecordApplyRest
+ * Description: 合作二级站备案申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-10-22 16:05:59
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "合作二级站备案申请") +@RestController +@RequestMapping("v1/scmstandrecordapply") +public class ScmStandRecordApplyRest implements ScmStandRecordApplyFeign { + + @Autowired + private ScmStandRecordApplyService scmStandRecordApplyService; + + @Override + public ResultBean> listPage(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = scmStandRecordApplyService.listPageVo(pq); + return rb.success().setData(pv); + } + + @Override + public ResultBean save(@RequestBody ScmStandRecordApplyDto dto){ + ResultBean rb = ResultBean.fireFail(); + scmStandRecordApplyService.saveOrUpdateDto(dto); + return rb.success(); + } + + @Override + public ResultBean delBySids(@RequestBody String[] sids){ + ResultBean rb = ResultBean.fireFail(); + scmStandRecordApplyService.delBySids(sids); + return rb.success(); + } + + @Override + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){ + ResultBean rb = ResultBean.fireFail(); + ScmStandRecordApplyDetailsVo vo = scmStandRecordApplyService.fetchDetailsVoBySid(sid); + return rb.success().setData(vo); + } +} diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmstandrecordapply/ScmStandRecordApplyService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmstandrecordapply/ScmStandRecordApplyService.java new file mode 100644 index 0000000000..e4ef46fafa --- /dev/null +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmstandrecordapply/ScmStandRecordApplyService.java @@ -0,0 +1,210 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.scm.biz.scmstandrecordapply; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.base.common.utils.Rule; +import com.yxt.anrui.flowable.api.flow.FlowableFeign; +import com.yxt.anrui.flowable.api.flow2.FlowFeign; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; +import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.scm.api.scmstandrecordapply.*; +import com.yxt.anrui.scm.api.scmvehrebatecheckapply.ScmVehrebateCheckapplyVo; +import org.apache.commons.lang3.StringUtils; +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.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Project: anrui-scm(合作二级站备案申请)
+ * File: ScmStandRecordApplyService.java
+ * Class: com.yxt.anrui.scm.biz.scmstandrecordapply.ScmStandRecordApplyService
+ * Description: 合作二级站备案申请 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-10-22 16:05:59
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class ScmStandRecordApplyService extends MybatisBaseService { + + @Autowired + private FlowableFeign flowableFeign; + @Autowired + private FlowTaskFeign flowTaskFeign; + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private FlowFeign flowFeign; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + + public PagerVo listPageVo(PagerQuery pq) { + ScmStandRecordApplyQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //========================================数据授权开始 + if (StringUtils.isNotBlank(query.getMenuUrl())) { + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setMenuSid(query.getMenuSid()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("so.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("so.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("so.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("so.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("sa.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } + if (StringUtils.isNotBlank(query.getUseOrgName())) { + qw.eq("sa.useOrgName", query.getUseOrgName()); + } + if (StringUtils.isNotBlank(query.getDeptName())) { + qw.like("sa.deptName", query.getDeptName()); + } + if (StringUtils.isNotBlank(query.getCreateByName())) { + qw.like("sa.createByName", query.getCreateByName()); + } + if (StringUtils.isNotBlank(query.getSiteName())) { + qw.like("sa.siteName", query.getSiteName()); + } + if (StringUtils.isNotBlank(query.getLegalPerson())) { + qw.like("sa.legalPerson", query.getLegalPerson()); + } + String createStartTime = query.getCreateTimeStart(); + String createEndTime = query.getCreateTimeEnd(); + qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (sa.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(createEndTime), "date_format (sa.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" + ); + String finishTimeStart = query.getFinishTimeStart(); + String finishTimeEnd = query.getFinishTimeEnd(); + qw.apply(StringUtils.isNotBlank(finishTimeStart), "date_format (sa.finishTime,'%Y-%m-%d') >= date_format('" + finishTimeStart + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(finishTimeEnd), "date_format (sa.finishTim,'%Y-%m-%d') <= date_format('" + finishTimeEnd + "','%Y-%m-%d')" + ); + String limitedTermStart = query.getLimitedTermStart(); + String limitedTermEnd = query.getLimitedTermEnd(); + qw.apply(StringUtils.isNotBlank(limitedTermStart), "sa.limitedTerm >=" + "'" + limitedTermStart + "'"). + apply(StringUtils.isNotBlank(limitedTermEnd), "sa.limitedTerm <=" + "'" + limitedTermEnd + "'"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public void saveOrUpdateDto(ScmStandRecordApplyDto dto){ + String dtoSid = dto.getSid(); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(dto.getUseOrgSid()).getData(); + List businessLicenseFile = dto.getBusinessLicenseFile(); + List agreementFile = dto.getAgreementFile(); + List otherFile = dto.getOtherFile(); + if (StringUtils.isBlank(dtoSid)) { + //生成单据编号 + String billNo = ""; + String date = DateUtil.format(DateUtil.date(), "yyyyMM"); + billNo = "WXJSBA" + organizationVo.getOrgCode() + date; + /*String i = baseMapper.selectNum(billNo); + if (StringUtils.isNotBlank(i)) { + billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue()); + } else { + billNo = Rule.getBillNo(billNo, 0); + }*/ + dto.setBillNo(billNo); + String sid = this.insertByDto(dto); + for (ScmStandRecordApplyUrl scmStandRecordApplyUrl : businessLicenseFile) { + + } + return; + } + this.updateByDto(dto); + } + + public String insertByDto(ScmStandRecordApplyDto dto){ + ScmStandRecordApply entity = new ScmStandRecordApply(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + entity.setNodeState("待提交"); + baseMapper.insert(entity); + return entity.getSid(); + } + + public void updateByDto(ScmStandRecordApplyDto dto){ + String dtoSid = dto.getSid(); + if (StringUtils.isBlank(dtoSid)) { + return; + } + ScmStandRecordApply entity = fetchBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + + public ScmStandRecordApplyDetailsVo fetchDetailsVoBySid(String sid){ + ScmStandRecordApply entity = fetchBySid(sid); + ScmStandRecordApplyDetailsVo vo = new ScmStandRecordApplyDetailsVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } +} \ No newline at end of file diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillService.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillService.java index 86702cb2ac..dc075bcb79 100644 --- a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillService.java +++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillService.java @@ -30,6 +30,7 @@ import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.yxt.common.core.result.ResultBean; import com.yxt.pms.biz.pms.pmspurchasebackbill.flowable.*; import com.yxt.pms.biz.pms.pmspurchasebackdetail.PmsPurchasebackDetailDetailsVo; @@ -61,12 +62,14 @@ import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.vo.PagerVo; +import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; +import java.util.concurrent.*; import java.util.stream.Collectors; /** @@ -302,16 +305,31 @@ public class PmsPurchasebackBillService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + PmsPurchasebackBill purchasebackBill = pmsPurchasebackBill; + Future future1 = pool.submit(() -> { + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("采购退货单申请"); + messageFlowableQuery.setMsgContent(purchasebackBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("采购退货单申请"); + messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } + //==================================添加线程 return voResultBean; } if (r == 2) { diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java index 19d026f508..debb235000 100644 --- a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java +++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java @@ -440,14 +440,6 @@ public class PmsPurchaseBillService extends MybatisBaseService appMap = new HashMap<>(); appMap.put("sid", businessSid); variables.put("app", appMap); - FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); - if (StringUtils.isBlank(pmsPurchaseBill.getProcDefId())) { - flowProcessMapQuery.setProDefKey(bv.getModelId()); - } else { - flowProcessMapQuery.setProDefKey(pmsPurchaseBill.getProcDefId()); - } - flowProcessMapQuery.setVariables(variables); - variables = flowableFeign.getMap(flowProcessMapQuery).getData(); //======================================= bv.setFormVariables(variables); SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(pmsPurchaseBill.getDeptSid()).getData();