From b71392d7ba628a56005706b6123fad95da829756 Mon Sep 17 00:00:00 2001 From: Yen Date: Mon, 24 Jul 2023 18:31:41 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=AE=A1=E6=89=B9=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=95=B4=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/seeyon/SeeYonController.java | 75 +++++++++++++++++ .../seeyon/entity/bo/SeeYonApproveQuery.java | 81 +++++++++++++++++++ .../seeyon/entity/vo/SeeYonApproveDataVo.java | 63 +++++++++++++++ 3 files changed, 219 insertions(+) create mode 100644 src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java create mode 100644 src/main/java/com/qs/serve/modules/seeyon/entity/bo/SeeYonApproveQuery.java create mode 100644 src/main/java/com/qs/serve/modules/seeyon/entity/vo/SeeYonApproveDataVo.java diff --git a/src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java b/src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java new file mode 100644 index 00000000..ee65547a --- /dev/null +++ b/src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java @@ -0,0 +1,75 @@ +package com.qs.serve.modules.seeyon; + +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.util.AuthContextUtils; +import com.qs.serve.common.util.CollectionUtil; +import com.qs.serve.common.util.JsonUtil; +import com.qs.serve.modules.seeyon.entity.CtpAffair; +import com.qs.serve.modules.seeyon.entity.bo.SeeYonApproveQuery; +import com.qs.serve.modules.seeyon.entity.vo.SeeYonApproveDataVo; +import com.qs.serve.modules.seeyon.service.impl.SeeYonRequestBaseService; +import com.qs.serve.modules.sys.entity.SysUser; +import com.qs.serve.modules.sys.service.SysUserService; +import com.qs.serve.modules.tbs.common.TbsSeeYonConst; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; +/** + * 致远通用服务 + * @author YenHex + * @since 2023/7/24 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("seeyon") +public class SeeYonController { + + private SeeYonRequestBaseService seeYonRequestBaseService; + private SysUserService sysUserService; + + /** + * 我的审批列表 + * @param query + * @return + */ + @GetMapping("listMyCheck") + public R> listMyCheck(SeeYonApproveQuery query){ + String userId = AuthContextUtils.getSysUserId(); + SysUser sysUser = sysUserService.getById(userId); + sysUser.checkSyAccount(); + query.setMemberId(sysUser.getSyUserId()); + return listAllCha(query); + } + + /** + * 所有审批 + * @param query + * @return + */ + @GetMapping("listCheckList") + public R> listAllCha(SeeYonApproveQuery query){ + R result = seeYonRequestBaseService.postBase(TbsSeeYonConst.API_LIST_AFFAIR,query,""); + if(result.getStatus()==200){ + PageVo pageVo = JsonUtil.jsonToPojo(result.getData(),PageVo.class); + List affairList = new ArrayList<>(); + if(CollectionUtil.isNotEmpty(pageVo.getList())){ + for (Object o : pageVo.getList()) { + String json = JsonUtil.objectToJson(o); + SeeYonApproveDataVo obj = JsonUtil.jsonToPojo(json,SeeYonApproveDataVo.class); + affairList.add(obj); + } + } + PageVo resultVo = PageVo.initNewList(pageVo,affairList); + return R.ok(resultVo); + } + return null; + } + +} diff --git a/src/main/java/com/qs/serve/modules/seeyon/entity/bo/SeeYonApproveQuery.java b/src/main/java/com/qs/serve/modules/seeyon/entity/bo/SeeYonApproveQuery.java new file mode 100644 index 00000000..5231965a --- /dev/null +++ b/src/main/java/com/qs/serve/modules/seeyon/entity/bo/SeeYonApproveQuery.java @@ -0,0 +1,81 @@ +package com.qs.serve.modules.seeyon.entity.bo; + +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDate; + +/** + * @author YenHex + * @since 2023/7/24 + */ +@Data +public class SeeYonApproveQuery { + + /** + * OA的员工iD + */ + private String memberId; + + /** + * 模板编码 + */ + private String templateCode; + + + private String targetId; + + /** + * 标题 + */ + private String targetTitle; + + /** + * 编码 + */ + private String targetCode; + + /** + * 申请人信息 + */ + private String applyUserCode; + private String applyUserName; + + /** + * 客户 + */ + private String supplierCode; + private String supplierName; + + /** + * 区域 + */ + private String bizRegion; + private String saleRegion; + + /** + * 状态:3-待审批;4->已审 + */ + private Integer affairState; + + /** + * 申请开始时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate applyStartDate; + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate applyEndDate; + + /** + * 评论结束时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate commitEndDate; + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate commitStartDate; + + private Integer pageNum; + + private Integer pageSize; + +} diff --git a/src/main/java/com/qs/serve/modules/seeyon/entity/vo/SeeYonApproveDataVo.java b/src/main/java/com/qs/serve/modules/seeyon/entity/vo/SeeYonApproveDataVo.java new file mode 100644 index 00000000..5364028c --- /dev/null +++ b/src/main/java/com/qs/serve/modules/seeyon/entity/vo/SeeYonApproveDataVo.java @@ -0,0 +1,63 @@ +package com.qs.serve.modules.seeyon.entity.vo; + +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * @author YenHex + * @since 2023/7/24 + */ +@Data +public class SeeYonApproveDataVo { + + private String templateCode; + + /** + * 标题 + */ + private String targetTitle; + + /** + * 编码 + */ + private String targetCode; + + private String targetId; + + /** + * 申请人信息 + */ + private String applyUserCode; + private String applyUserName; + + /** + * 客户 + */ + private String supplierCode; + private String supplierName; + + /** + * 区域 + */ + private String bizRegion; + private String saleRegion; + + /** + * 状态:0-待审批;1->已审 + */ + private String affairState; + + private String memberId; + + /** + * 申请时间 + */ + private LocalDateTime applyTime; + + /** + * 评论时间 + */ + private LocalDateTime commitTime; + +} From cd15d41e5b1d2e21eb4df15957a36e90d756ec24 Mon Sep 17 00:00:00 2001 From: Yen Date: Tue, 25 Jul 2023 09:19:58 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=AE=A1=E6=89=B9=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=95=B4=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QsJsonLocalDateTimeDeserializer.java | 28 +++++++++++++++++++ .../modules/seeyon/SeeYonController.java | 11 ++++++-- .../seeyon/entity/vo/SeeYonApproveDataVo.java | 5 ++++ .../modules/tbs/common/TbsSeeYonConst.java | 1 + 4 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/qs/serve/common/util/model/QsJsonLocalDateTimeDeserializer.java diff --git a/src/main/java/com/qs/serve/common/util/model/QsJsonLocalDateTimeDeserializer.java b/src/main/java/com/qs/serve/common/util/model/QsJsonLocalDateTimeDeserializer.java new file mode 100644 index 00000000..ad46dfb6 --- /dev/null +++ b/src/main/java/com/qs/serve/common/util/model/QsJsonLocalDateTimeDeserializer.java @@ -0,0 +1,28 @@ +package com.qs.serve.common.util.model; + +import com.fasterxml.jackson.core.JacksonException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; + +import java.io.IOException; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +/** + * @author YenHex + * @since 2023/7/25 + */ +public class QsJsonLocalDateTimeDeserializer extends JsonDeserializer { + + final DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + @Override + public LocalDateTime deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { + String val = jsonParser.getText(); + if (val==null||val.isEmpty()){ + return null; + } + return LocalDateTime.parse(val,df); + } +} diff --git a/src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java b/src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java index ee65547a..d9fafce2 100644 --- a/src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java +++ b/src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java @@ -55,7 +55,7 @@ public class SeeYonController { */ @GetMapping("listCheckList") public R> listAllCha(SeeYonApproveQuery query){ - R result = seeYonRequestBaseService.postBase(TbsSeeYonConst.API_LIST_AFFAIR,query,""); + R result = seeYonRequestBaseService.postBase(TbsSeeYonConst.API_LIST_CHECK,query,""); if(result.getStatus()==200){ PageVo pageVo = JsonUtil.jsonToPojo(result.getData(),PageVo.class); List affairList = new ArrayList<>(); @@ -63,7 +63,14 @@ public class SeeYonController { for (Object o : pageVo.getList()) { String json = JsonUtil.objectToJson(o); SeeYonApproveDataVo obj = JsonUtil.jsonToPojo(json,SeeYonApproveDataVo.class); - affairList.add(obj); + if(obj!=null&&obj.getTargetCode()!=null){ + //tempCode不参与业务。统一类型重新赋值,方便前端跳转 + String tempCode = obj.getTargetCode().replace("_Test",""); + tempCode = tempCode.replace("contractApply","CostBill"); + obj.setTemplateCode(tempCode); + + affairList.add(obj); + } } } PageVo resultVo = PageVo.initNewList(pageVo,affairList); diff --git a/src/main/java/com/qs/serve/modules/seeyon/entity/vo/SeeYonApproveDataVo.java b/src/main/java/com/qs/serve/modules/seeyon/entity/vo/SeeYonApproveDataVo.java index 5364028c..4a5f645f 100644 --- a/src/main/java/com/qs/serve/modules/seeyon/entity/vo/SeeYonApproveDataVo.java +++ b/src/main/java/com/qs/serve/modules/seeyon/entity/vo/SeeYonApproveDataVo.java @@ -1,5 +1,7 @@ package com.qs.serve.modules.seeyon.entity.vo; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.qs.serve.common.util.model.QsJsonLocalDateTimeDeserializer; import lombok.Data; import java.time.LocalDateTime; @@ -47,17 +49,20 @@ public class SeeYonApproveDataVo { * 状态:0-待审批;1->已审 */ private String affairState; + private String affairId; private String memberId; /** * 申请时间 */ + @JsonDeserialize(using = QsJsonLocalDateTimeDeserializer.class) private LocalDateTime applyTime; /** * 评论时间 */ + @JsonDeserialize(using = QsJsonLocalDateTimeDeserializer.class) private LocalDateTime commitTime; } diff --git a/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java b/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java index 7d373232..d75ccb76 100644 --- a/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java +++ b/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java @@ -43,6 +43,7 @@ public interface TbsSeeYonConst { String API_PAGE_AFFAIR = "/process/pageMemberAffair"; String API_CHECK_AFFAIR = "/process/checkAffair"; String API_LIST_AFFAIR = "/process/listFormAffair"; + String API_LIST_CHECK = "/process/getCheckList"; String API_ADD_NODE = "/process/addNode"; String API_COUNT_NOT_OK = "/process/countUnfinished"; String API_CHECK_SUMMERY = "/process/checkAffairSummery"; From df29727e3ba23ea62649a7eca5dde6f093fa9dfd Mon Sep 17 00:00:00 2001 From: Yen Date: Tue, 25 Jul 2023 09:50:33 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=AE=A1=E6=89=B9=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=95=B4=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java b/src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java index d9fafce2..73e09bbd 100644 --- a/src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java +++ b/src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java @@ -65,7 +65,7 @@ public class SeeYonController { SeeYonApproveDataVo obj = JsonUtil.jsonToPojo(json,SeeYonApproveDataVo.class); if(obj!=null&&obj.getTargetCode()!=null){ //tempCode不参与业务。统一类型重新赋值,方便前端跳转 - String tempCode = obj.getTargetCode().replace("_Test",""); + String tempCode = obj.getTemplateCode().replace("_Test",""); tempCode = tempCode.replace("contractApply","CostBill"); obj.setTemplateCode(tempCode);