From 5a1f5afd32b2b43e524bed156a25cb735c12519b Mon Sep 17 00:00:00 2001 From: Yen Date: Tue, 14 Mar 2023 14:47:25 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=B9=E7=94=A8=E6=B7=BB=E5=8A=A0=E5=90=88?= =?UTF-8?q?=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TbsCostApplyController.java | 5 ++ .../controller/TbsCostContractController.java | 57 +++++++++++++------ .../modules/tbs/entity/TbsCostApply.java | 7 +++ .../modules/tbs/entity/TbsCostContract.java | 12 ++-- .../modules/tbs/entity/bo/TbsCostApplyBo.java | 5 ++ .../tbs/entity/bo/TbsCostContractBo.java | 10 ++-- .../tbs/service/TbsCostContractService.java | 2 + .../impl/TbsCostContractServiceImpl.java | 21 +++++++ 8 files changed, 90 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java index cf06845e..758196b3 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java @@ -18,6 +18,7 @@ import com.qs.serve.modules.seeyon.entity.CtpAffair; import com.qs.serve.modules.seeyon.entity.CtpAffairCommit; import com.qs.serve.modules.seeyon.entity.CtpAffairQo; import com.qs.serve.modules.seeyon.service.SeeYonService; +import com.qs.serve.modules.sys.entity.SysAttach; import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.service.SysConfigService; import com.qs.serve.modules.sys.service.SysUserSalesService; @@ -60,6 +61,7 @@ import java.util.stream.Collectors; @RequestMapping("tbs/costApply") public class TbsCostApplyController { + private TbsCostContractService costContractService; private TbsCostApplyService tbsCostApplyService; private TbsActivityService tbsActivityService; private TbsActivityTemplateService tbsActivityTemplateService; @@ -178,6 +180,8 @@ public class TbsCostApplyController { @PreAuthorize("hasRole('tbs:costApply:query')") public R getById(@PathVariable("id") String id){ TbsCostApply tbsCostApply = tbsCostApplyService.getById(id); + TbsCostContract contract = costContractService.getByCostApplyId(tbsCostApply.getId()); + tbsCostApply.setContractInfo(contract); return R.ok(tbsCostApply); } @@ -207,6 +211,7 @@ public class TbsCostApplyController { entity.setId(param.getId()); entity.setRemark(param.getRemark()); entity.setChargeTheme(param.getChargeTheme()); + entity.setContractFlag(param.getContractFlag()); tbsCostApplyService.updateById(entity); return R.ok(); } diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostContractController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostContractController.java index 12b57345..07b5a86d 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostContractController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostContractController.java @@ -44,7 +44,7 @@ public class TbsCostContractController { * @param param * @return */ - @GetMapping("/list") + //@GetMapping("/list") @PreAuthorize("hasRole('tbs:costApply:query')") public R> getList(TbsCostContract param){ LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); @@ -65,7 +65,7 @@ public class TbsCostContractController { * @param param * @return */ - @GetMapping("/page") + //@GetMapping("/page") @PreAuthorize("hasRole('tbs:costApply:query')") public R> getPage(TbsCostContract param){ LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); @@ -86,12 +86,12 @@ public class TbsCostContractController { * @param id * @return */ - @GetMapping("/getById/{id}") + @GetMapping("/getByCostApplyId/{id}") @SysLog(module = SystemModule.Budget, title = "费用合同", biz = BizType.QUERY) @PreAuthorize("hasRole('tbs:costApply:query')") - public R getById(@PathVariable("id") String id){ - TbsCostContract contract = tbsCostContractService.getById(id); - if(CollectionUtil.isNotEmpty(contract.getAttachIds())){ + public R getById(@PathVariable("id") Long id){ + TbsCostContract contract = tbsCostContractService.getByCostApplyId(id); + if(contract!=null&&CollectionUtil.isNotEmpty(contract.getAttachIds())){ List attachIds = Arrays.asList(contract.getAttachIds()); List attachList = attachService.listByIds(attachIds); contract.setAttachInfoList(attachList); @@ -100,18 +100,28 @@ public class TbsCostContractController { } - /** * 更新 * @param param * @return */ - @PostMapping("/updateById") + //@PostMapping("/updateByCostApplyId") @SysLog(module = SystemModule.Budget, title = "费用合同", biz = BizType.UPDATE) @PreAuthorize("hasRole('tbs:costApply:update')") public R updateById(@RequestBody @Valid TbsCostContractBo param){ - TbsCostContract entity = CopierUtil.copy(param,new TbsCostContract()); - boolean result = tbsCostContractService.updateById(entity); + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(TbsCostContract::getCostApplyId,param.getCostApplyId()); + TbsCostContract contract = tbsCostContractService.getOne(lqw,false); + if(contract==null){ + return R.error2(); + } + contract.setContractName(param.getContractName()); + contract.setContractAmount(param.getContractAmount()); + contract.setContractCondition(param.getContractCondition()); + contract.setAttachIds(param.getAttachIds()); + contract.setSignTime(param.getSignTime()); + contract.setExpireTime(param.getExpireTime()); + boolean result = tbsCostContractService.updateById(contract); return R.isTrue(result); } @@ -124,22 +134,35 @@ public class TbsCostContractController { @SysLog(module = SystemModule.Budget, title = "费用合同", biz = BizType.INSERT) @PreAuthorize("hasRole('tbs:costApply:insert')") public R save(@RequestBody @Valid TbsCostContractBo param){ - TbsCostContract entity = CopierUtil.copy(param,new TbsCostContract()); - boolean result = tbsCostContractService.save(entity); + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(TbsCostContract::getCostApplyId,param.getCostApplyId()); + TbsCostContract contract = tbsCostContractService.getOne(lqw,false); + if(contract==null){ + contract = CopierUtil.copy(param,new TbsCostContract()); + }else { + contract.setContractName(param.getContractName()); + contract.setContractAmount(param.getContractAmount()); + contract.setContractCondition(param.getContractCondition()); + contract.setAttachIds(param.getAttachIds()); + contract.setSignTime(param.getSignTime()); + contract.setExpireTime(param.getExpireTime()); + } + boolean result = tbsCostContractService.saveOrUpdate(contract); return R.isTrue(result); } /** * 删除 - * @param ids + * @param id * @return */ - @DeleteMapping("/deleteById/{ids}") + @DeleteMapping("/deleteByCostApplyId/{id}") @SysLog(module = SystemModule.Budget, title = "费用合同", biz = BizType.DELETE) @PreAuthorize("hasRole('tbs:costApply:delete')") - public R deleteById(@PathVariable("ids") String ids){ - List idsLong = StringUtils.splitIdLong(ids); - boolean result = tbsCostContractService.removeByIds(idsLong); + public R deleteById(@PathVariable("id") String id){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(TbsCostContract::getCostApplyId,id); + boolean result = tbsCostContractService.remove(lqw); return R.isTrue(result); } diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java index 2093c322..c26e0dd3 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostApply.java @@ -81,6 +81,11 @@ public class TbsCostApply implements Serializable { private String syFlowId; + /** + * 合同类型:0->无;1->有合同 + */ + private Integer contractFlag; + /** 创建时间 */ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @@ -126,5 +131,7 @@ public class TbsCostApply implements Serializable { @TableField(exist = false) private String affairId; + @TableField(exist = false) + private Object contractInfo; } diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostContract.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostContract.java index f929d547..fdf2064b 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostContract.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostContract.java @@ -54,14 +54,14 @@ public class TbsCostContract implements Serializable { private String[] attachIds; /** 签约时间 */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private LocalDateTime signTime; + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private LocalDate signTime; /** 到期时间 */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - private LocalDateTime expireTime; + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private LocalDate expireTime; /** 备注 */ @Length(max = 255,message = "备注长度不能超过255字") diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsCostApplyBo.java b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsCostApplyBo.java index fdb02985..a337b23c 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsCostApplyBo.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsCostApplyBo.java @@ -41,5 +41,10 @@ public class TbsCostApplyBo implements Serializable { @Length(max = 255,message = "备注长度不能超过255字") private String remark; + /** + * 合同类型:0->无;1->有合同 + */ + private Integer contractFlag; + } diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsCostContractBo.java b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsCostContractBo.java index 3387e238..eabb5c2e 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsCostContractBo.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsCostContractBo.java @@ -25,8 +25,6 @@ public class TbsCostContractBo implements Serializable { private static final long serialVersionUID = 1L; - /** id */ - private Long id; /** 费用申请id */ @NotNull(message = "费用申请id不能为空") @@ -46,12 +44,12 @@ public class TbsCostContractBo implements Serializable { private String[] attachIds; /** 签约时间 */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime signTime; + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate signTime; /** 到期时间 */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime expireTime; + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate expireTime; } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsCostContractService.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsCostContractService.java index 8791a8ab..bcabfaa5 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsCostContractService.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsCostContractService.java @@ -10,5 +10,7 @@ import com.qs.serve.modules.tbs.entity.TbsCostContract; */ public interface TbsCostContractService extends IService { + TbsCostContract getByCostApplyId(Long id); + } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostContractServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostContractServiceImpl.java index 94f7766d..f9d465d9 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostContractServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostContractServiceImpl.java @@ -1,6 +1,10 @@ package com.qs.serve.modules.tbs.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qs.serve.common.util.CollectionUtil; +import com.qs.serve.modules.sys.entity.SysAttach; +import com.qs.serve.modules.sys.service.SysAttachService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -8,6 +12,9 @@ import com.qs.serve.modules.tbs.entity.TbsCostContract; import com.qs.serve.modules.tbs.service.TbsCostContractService; import com.qs.serve.modules.tbs.mapper.TbsCostContractMapper; +import java.util.Arrays; +import java.util.List; + /** * 费用合同 服务实现类 * @author YenHex @@ -18,5 +25,19 @@ import com.qs.serve.modules.tbs.mapper.TbsCostContractMapper; @AllArgsConstructor public class TbsCostContractServiceImpl extends ServiceImpl implements TbsCostContractService { + private SysAttachService attachService; + + @Override + public TbsCostContract getByCostApplyId(Long id) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(TbsCostContract::getCostApplyId,id); + TbsCostContract contract = this.getOne(lqw,false); + if(contract!=null&&CollectionUtil.isNotEmpty(contract.getAttachIds())){ + List attachIds = Arrays.asList(contract.getAttachIds()); + List attachList = attachService.listByIds(attachIds); + contract.setAttachInfoList(attachList); + } + return contract; + } }