diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java index fe8e8046..50b8b687 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/common/PayIncomeContractCommon.java @@ -64,6 +64,14 @@ public class PayIncomeContractCommon { * 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目) */ public final static String PROJECT_TYPE5 = "5"; + /** + * 来款状态 0:全部 1:到期未付款 + */ + public final static String CHARGE_STATUS0 = "0"; + /** + * 来款状态 0:全部 1:到期未付款 + */ + public final static String CHARGE_STATUS1 = "1"; /** * 支出合同excel表头 */ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java index 8b0d6883..c003be5c 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java @@ -96,15 +96,12 @@ public class PayIncomeContractController extends JeroController 50){ return Result.error("合同名称长度不能大于50个字符!"); } - // todo 缺少会议,会员项目,标协会员 - Page page = new Page<>(pageNo, pageSize); - IPage pageList = payIncomeContractService.queryPageList(page, payIncomeContract,chargeStatus,projectName,startTime,endTime); - if(!CollectionUtils.isEmpty(pageList.getRecords())){ - List list = pageList.getRecords(); - list.forEach(p->{ - - }); + if(Objects.equals(chargeStatus,PayIncomeContractCommon.CHARGE_STATUS0)){ + chargeStatus = ""; } + // todo 缺少会议,会员项目,标协会员 + Page page = new Page<>(pageNo, pageSize); + IPage pageList = payIncomeContractService.queryPageList(page, payIncomeContract,chargeStatus,projectName,startTime,endTime); return Result.OK(pageList); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PaySpendingContractController.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PaySpendingContractController.java index f178c995..d1240b35 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PaySpendingContractController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PaySpendingContractController.java @@ -21,6 +21,7 @@ import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; import com.jero.common.util.DateUtils; import com.jero.common.util.oConvertUtils; +import com.jero.contract.common.PayIncomeContractCommon; import com.jero.contract.entity.*; import com.jero.contract.service.IPaySpendingContractInstallmentService; import com.jero.contract.service.IPaySpendingContractService; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContract.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContract.java index 166c9bf7..8a7edffb 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContract.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContract.java @@ -4,6 +4,7 @@ import java.io.Serializable; import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.jero.common.aspect.annotation.Dict; @@ -200,4 +201,18 @@ public class PayIncomeContract implements Serializable { @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "更新时间") private java.util.Date updateTime; + + /** + * 来款状态 0:全部 1:到期未付款 + */ + @TableField(exist = false) + @ApiModelProperty(value = "来款状态 0:全部 1:到期未付款") + private Integer chargeStatus; + + /** + * 关联项目 + */ + @TableField(exist = false) + @ApiModelProperty(value = "关联项目") + private String associatedProject; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PaySpendingContract.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PaySpendingContract.java index 81282f0d..b6157c2f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PaySpendingContract.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PaySpendingContract.java @@ -4,6 +4,7 @@ import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.jero.common.aspect.annotation.Dict; @@ -180,4 +181,11 @@ public class PaySpendingContract implements Serializable { @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "更新时间") private Date updateTime; + + /** + * 来款状态 0:全部 1:到期未付款 + */ + @TableField(exist = false) + @ApiModelProperty(value = "来款状态 0:全部 1:到期未付款") + private Integer chargeStatus; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/PayIncomeContractMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/PayIncomeContractMapper.java index ce7f8b08..c32c51d8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/PayIncomeContractMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/PayIncomeContractMapper.java @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.contract.entity.PayIncomeContract; -import com.jero.contract.vo.PayIncomeContractOutput; import com.jero.contract.vo.ProjectOutput; import org.apache.ibatis.annotations.Param; @@ -27,7 +26,7 @@ public interface PayIncomeContractMapper extends BaseMapper { * @Return * @Exception */ - IPage queryPageList(Page page, @Param("payIncomeContract") PayIncomeContract payIncomeContract, + IPage queryPageList(Page page, @Param("payIncomeContract") PayIncomeContract payIncomeContract, @Param("chargeStatus") String chargeStatus,@Param("projectName") String projectName, @Param("startTime") String startTime, @Param("endTime") String endTime); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml index 5134bf41..65471748 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml @@ -2,7 +2,7 @@ - SELECT * FROM ( SELECT diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java index e7c20fe4..1184b468 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java @@ -6,9 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.jero.contract.entity.PayIncomeContract; import com.jero.contract.entity.PayIncomeContractAssociated; import com.jero.contract.entity.PayIncomeContractAudit; -import com.jero.contract.vo.PayIncomeContractAssociatedInput; import com.jero.contract.vo.PayIncomeContractInput; -import com.jero.contract.vo.PayIncomeContractOutput; import com.jero.contract.vo.ProjectOutput; import java.util.List; @@ -31,7 +29,7 @@ public interface IPayIncomeContractService extends IService { * @Return * @Exception */ - IPage queryPageList(Page page, PayIncomeContract payIncomeContract, String chargeStatus,String projectName, String startTime, String endTime); + IPage queryPageList(Page page, PayIncomeContract payIncomeContract, String chargeStatus,String projectName, String startTime, String endTime); /** * @Description 添加 * @Author lqt diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java index 7087d23a..74beda59 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java @@ -19,7 +19,6 @@ import com.jero.contract.service.IPayIncomeContractAuditService; import com.jero.contract.service.IPayIncomeContractInstallmentService; import com.jero.contract.service.IPayIncomeContractService; import com.jero.contract.vo.PayIncomeContractInput; -import com.jero.contract.vo.PayIncomeContractOutput; import com.jero.contract.vo.ProjectOutput; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; @@ -43,7 +42,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -84,7 +82,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl queryPageList(Page page, PayIncomeContract payIncomeContract, String chargeStatus,String projectName, String startTime, String endTime) { + public IPage queryPageList(Page page, PayIncomeContract payIncomeContract, String chargeStatus,String projectName, String startTime, String endTime) { return payIncomeContractMapper.queryPageList(page,payIncomeContract,chargeStatus,projectName,startTime,endTime); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PayIncomeContractOutput.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PayIncomeContractOutput.java deleted file mode 100644 index 6e3fe3e2..00000000 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PayIncomeContractOutput.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.jero.contract.vo; - -import com.jero.contract.entity.PayIncomeContract; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; - -@Data -public class PayIncomeContractOutput extends PayIncomeContract implements Serializable { - /** - * 来款状态 0:全部 1:到期未付款 - */ - @ApiModelProperty(value = "来款状态 0:全部 1:到期未付款") - private Integer chargeStatus; - /** - * 关联项目 - */ - @ApiModelProperty(value = "关联项目") - private String associatedProject; -} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PaySpendingContractOutput.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PaySpendingContractOutput.java deleted file mode 100644 index 63561c54..00000000 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PaySpendingContractOutput.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.jero.contract.vo; - -import com.jero.contract.entity.PaySpendingContract; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import java.io.Serializable; -/** - * @Description: pay_spending_contract - * @Author: jeecg-boot - * @Date: 2021-09-07 - * @Version: V1.0 - */ -@Data -public class PaySpendingContractOutput extends PaySpendingContract implements Serializable { - /** - * 来款状态 0:全部 1:到期未付款 - */ - @ApiModelProperty(value = "来款状态 0:全部 1:到期未付款") - private Integer chargeStatus; -} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/common/PackCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/common/PackCommon.java new file mode 100644 index 00000000..36025276 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/common/PackCommon.java @@ -0,0 +1,22 @@ +package com.jero.pack.common; + +public class PackCommon { + + /** + * 打包(1:是,0:否) + */ + public final static Integer PACKAGING0 = 0; + /** + * 打包(1:是,0:否) + */ + public final static Integer PACKAGING1 = 1; + + /** + * 来源(1:收入合同,2:打包管理) + */ + public final static Integer COME1 = 1; + /** + * 来源(1:收入合同,2:打包管理) + */ + public final static Integer COME2 = 2; +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java index 01f37d7b..2e9a150e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java @@ -1,6 +1,7 @@ package com.jero.pack.controller; import java.util.Arrays; +import java.util.List; import java.util.Objects; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -15,8 +16,11 @@ import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; import com.jero.common.util.ValidUtil; import com.jero.pack.entity.PayPackCompany; +import com.jero.pack.entity.PayPackCompanyProject; +import com.jero.pack.service.IPayPackCompanyProjectService; import com.jero.pack.service.IPayPackCompanyService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -37,7 +41,9 @@ import io.swagger.annotations.ApiOperation; public class PayPackCompanyController extends JeroController { @Autowired private IPayPackCompanyService payPackCompanyService; - + @Autowired + private IPayPackCompanyProjectService payPackCompanyProjectService; + /** * 分页列表查询 * @@ -80,11 +86,11 @@ public class PayPackCompanyController extends JeroController query = new LambdaQueryWrapper<>(); + query.eq(PayPackCompanyProject::getPackId,id); + List list = payPackCompanyProjectService.list(query); + if(!CollectionUtils.isEmpty(list)){ + return Result.error("该企业下有项目不可删除!"); + } payPackCompanyService.removeById(id); return Result.OK("删除成功!"); } @@ -157,6 +169,12 @@ public class PayPackCompanyController extends JeroController query = new LambdaQueryWrapper<>(); + query.in(PayPackCompanyProject::getPackId,Arrays.asList(ids.split(","))); + List list = payPackCompanyProjectService.list(query); + if(!CollectionUtils.isEmpty(list)){ + return Result.error("该企业下有项目不可删除!"); + } this.payPackCompanyService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("批量删除成功!"); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyProjectController.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyProjectController.java index 8d4d9b9a..dca04c53 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyProjectController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyProjectController.java @@ -1,9 +1,12 @@ package com.jero.pack.controller; import java.util.Arrays; +import java.util.List; +import java.util.Objects; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -11,9 +14,17 @@ import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; +import com.jero.common.util.ValidUtil; +import com.jero.pack.common.PackCommon; +import com.jero.pack.entity.PayPackCompany; import com.jero.pack.entity.PayPackCompanyProject; import com.jero.pack.service.IPayPackCompanyProjectService; +import com.jero.pack.service.IPayPackCompanyService; +import com.jero.pack.vo.PayPackCompanyProjectInput; +import com.jero.project.entity.PayCommonProject; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; @@ -21,18 +32,20 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; /** - * @Description: pay_pack_company_project + * @Description: 打包项目维护 * @Author: jeecg-boot * @Date: 2021-09-07 * @Version: V1.0 */ -@Api(tags="pay_pack_company_project") +@Api(tags="打包项目维护") @RestController @RequestMapping("/pack/payPackCompanyProject") @Slf4j public class PayPackCompanyProjectController extends JeroController { @Autowired private IPayPackCompanyProjectService payPackCompanyProjectService; + @Autowired + private IPayPackCompanyService payPackCompanyService; /** * 分页列表查询 @@ -43,8 +56,8 @@ public class PayPackCompanyProjectController extends JeroController queryPageList(PayPackCompanyProject payPackCompanyProject, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @@ -55,20 +68,119 @@ public class PayPackCompanyProjectController extends JeroController pageList = payPackCompanyProjectService.page(page, queryWrapper); return Result.OK(pageList); } - + + /** + * 列表查询 + * + * @param input 参数 + * @return + */ + @AutoLog(value = "打包项目维护-列表查询") + @ApiOperation(value="打包项目维护-列表查询", notes="打包项目维护-列表查询") + @GetMapping(value = "/listAll") + public Result queryListAll(PayPackCompanyProjectInput input) { + if(Objects.isNull(input.getPack())){ + return Result.error("打包id不能为空"); + } + PayPackCompany payPackCompany = payPackCompanyService.getById(input.getPackId()); + if(Objects.isNull(payPackCompany)){ + return Result.error("打包企业不存在"); + } + input.setCompanyId(payPackCompany.getCompanyId()); + input.setPackYear(payPackCompany.getPackYear()); + List list = payPackCompanyProjectService.queryListAll(input); + return Result.OK(list); + } + + + /** + * 未打包列表查询 + * + * @param input 参数 + * @return + */ + @AutoLog(value = "打包项目维护-未打包列表查询") + @ApiOperation(value="打包项目维护-未打包列表查询", notes="打包项目维护-未打包列表查询") + @GetMapping(value = "/queryNotPackListAll") + public Result queryNotPackListAll(PayPackCompanyProjectInput input) { + if(StringUtils.isBlank(input.getPackId())){ + return Result.error("打包id不能为空"); + } + PayPackCompany payPackCompany = payPackCompanyService.getById(input.getPackId()); + if(Objects.isNull(payPackCompany)){ + return Result.error("打包企业不存在"); + } + input.setCompanyId(payPackCompany.getCompanyId()); + input.setPack(PackCommon.PACKAGING0); + List list = payPackCompanyProjectService.queryPackListAll(input); + return Result.OK(list); + } + /** - * 添加 + * 添加打包 * * @param payPackCompanyProject * @return */ - @AutoLog(value = "pay_pack_company_project-添加") - @ApiOperation(value="pay_pack_company_project-添加", notes="pay_pack_company_project-添加") + @AutoLog(value = "打包项目维护-添加打包") + @ApiOperation(value="打包项目维护-添加打包", notes="打包项目维护-添加打包") @PostMapping(value = "/add") public Result add(@RequestBody PayPackCompanyProject payPackCompanyProject) { - payPackCompanyProjectService.save(payPackCompanyProject); + payPackCompanyProjectService.addPayPackCompanyProject(payPackCompanyProject); return Result.OK("添加成功!"); } + /** + * 取消打包 + * + * @param payPackCompanyProject + * @return + */ + @AutoLog(value = "打包项目维护-取消打包") + @ApiOperation(value="打包项目维护-取消打包", notes="打包项目维护-取消打包") + @PostMapping(value = "/remove") + public Result remove(@RequestBody PayPackCompanyProject payPackCompanyProject) { + if(StringUtils.isBlank(payPackCompanyProject.getId())){ + return Result.error("关联id不能为空!"); + } + PayPackCompanyProject payPackCompanyProjectNew = payPackCompanyProjectService.getById(payPackCompanyProject.getId()); + if(Objects.isNull(payPackCompanyProjectNew)){ + return Result.error("不存在打包项目!"); + } + if(Objects.equals(payPackCompanyProjectNew.getCome(),PackCommon.COME2)){ + return Result.error("此项目已在合同处创建关联,请先从合同处取消关联!"); + } + payPackCompanyProjectService.removeById(payPackCompanyProject.getId()); + return Result.OK("添加成功!"); + } + /** + * 批量取消打包 + * + * @param payPackCompanyProject + * @return + */ + @AutoLog(value = "打包项目维护-批量取消打包") + @ApiOperation(value="打包项目维护-批量取消打包", notes="打包项目维护-批量取消打包") + @PostMapping(value = "/removeBatch") + public Result removeBatch(@RequestBody PayPackCompanyProject payPackCompanyProject) { + if(StringUtils.isBlank(payPackCompanyProject.getPackProjectIds())){ + return Result.error("关联id不能为空!"); + } + String[] s = payPackCompanyProject.getPackProjectIds().split(","); + for (String s1 : s) { + if(StringUtils.isBlank(s1)){ + return Result.error("id不能为空!"); + } + PayPackCompanyProject payPackCompanyProjectNew = payPackCompanyProjectService.getById(payPackCompanyProject.getId()); + if(Objects.isNull(payPackCompanyProjectNew)){ + return Result.error("不存在打包项目!"); + } + if(Objects.equals(payPackCompanyProjectNew.getCome(),PackCommon.COME2)){ + return Result.error("此项目已在合同处创建关联,请先从合同处取消关联!"); + } + } + payPackCompanyProjectService.removeByIds(Arrays.asList(payPackCompanyProject.getPackProjectIds())); + return Result.OK("添加成功!"); + } /** * 编辑 @@ -77,8 +189,8 @@ public class PayPackCompanyProjectController extends JeroController edit(@RequestBody PayPackCompanyProject payPackCompanyProject) { payPackCompanyProjectService.updateById(payPackCompanyProject); return Result.OK("编辑成功!"); @@ -91,8 +203,8 @@ public class PayPackCompanyProjectController extends JeroController delete(@RequestParam(name="id",required=true) String id) { payPackCompanyProjectService.removeById(id); return Result.OK("删除成功!"); @@ -105,8 +217,8 @@ public class PayPackCompanyProjectController extends JeroController deleteBatch(@RequestParam(name="ids",required=true) String ids) { this.payPackCompanyProjectService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("批量删除成功!"); @@ -119,7 +231,7 @@ public class PayPackCompanyProjectController extends JeroController queryById(@RequestParam(name="id",required=true) String id) { PayPackCompanyProject payPackCompanyProject = payPackCompanyProjectService.getById(id); @@ -135,7 +247,7 @@ public class PayPackCompanyProjectController extends JeroController importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, PayPackCompanyProject.class); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/entity/PayPackCompany.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/entity/PayPackCompany.java index 4d0dc2a2..ec7a97b0 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/entity/PayPackCompany.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/entity/PayPackCompany.java @@ -58,11 +58,9 @@ public class PayPackCompany implements Serializable { @ApiModelProperty(value = "企业联系人") private java.lang.String companyContactTemporaryName; /**打包年份*/ - @Excel(name = "打包年份", width = 15, format = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern="yyyy-MM-dd") + @Excel(name = "打包年份", width = 15) @ApiModelProperty(value = "打包年份") - private java.util.Date packYear; + private java.lang.String packYear; /**打包联系人id*/ @Excel(name = "打包联系人id", width = 15) @ApiModelProperty(value = "打包联系人id") diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/entity/PayPackCompanyProject.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/entity/PayPackCompanyProject.java index 054bf6d3..a310024e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/entity/PayPackCompanyProject.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/entity/PayPackCompanyProject.java @@ -2,10 +2,12 @@ package com.jero.pack.entity; import java.io.Serializable; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; +import org.hibernate.annotations.Table; import org.springframework.format.annotation.DateTimeFormat; import org.jeecgframework.poi.excel.annotation.Excel; import io.swagger.annotations.ApiModel; @@ -13,6 +15,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import javax.validation.constraints.NotEmpty; + /** * @Description: pay_pack_company_project * @Author: jeecg-boot @@ -31,18 +35,24 @@ public class PayPackCompanyProject implements Serializable { @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "id") private java.lang.String id; + /**打包id*/ + @Excel(name = "打包id", width = 15) + @ApiModelProperty(value = "打包id") + @NotEmpty(message = "打包id不能为空!") + private java.lang.String packId; /**项目id*/ @Excel(name = "项目id", width = 15) @ApiModelProperty(value = "项目id") + @NotEmpty(message = "项目id不能为空!") private java.lang.String projectId; - /**企业id*/ - @Excel(name = "企业id", width = 15) - @ApiModelProperty(value = "企业id") - private java.lang.String companyId; /**来源(1:收入合同,2:打包管理)*/ @Excel(name = "来源(1:收入合同,2:打包管理)", width = 15) @ApiModelProperty(value = "来源(1:收入合同,2:打包管理)") private java.lang.Integer come; + /**项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目)*/ + @Excel(name = "项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目)", width = 15) + @ApiModelProperty(value = "项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目)") + private java.lang.Integer projectType; /**创建人*/ @ApiModelProperty(value = "创建人") private java.lang.String createBy; @@ -59,4 +69,12 @@ public class PayPackCompanyProject implements Serializable { @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "更新日期") private java.util.Date updateTime; + + @TableField(exist = false) + @ApiModelProperty(value = "项目ids,逗号分割") + private String projectIds; + + @TableField(exist = false) + @ApiModelProperty(value = "关联ids,逗号分割") + private String packProjectIds; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyProjectMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyProjectMapper.java index 6085dcd8..a88b48ee 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyProjectMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyProjectMapper.java @@ -3,6 +3,11 @@ package com.jero.pack.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.jero.pack.entity.PayPackCompanyProject; +import com.jero.pack.vo.PayPackCompanyProjectInput; +import com.jero.project.entity.PayCommonProject; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @Description: pay_pack_company_project @@ -11,5 +16,23 @@ import com.jero.pack.entity.PayPackCompanyProject; * @Version: V1.0 */ public interface PayPackCompanyProjectMapper extends BaseMapper { + /** + * @Description 列表查询 + * @Author lqt + * @Date 2021/9/10 + * @Param + * @Return + * @Exception + */ + List queryListAll(PayPackCompanyProjectInput input); + /** + * @Description 未打包列表查询 + * @Author lqt + * @Date 2021/9/10 + * @Param + * @Return + * @Exception + */ + List queryPackListAll(PayPackCompanyProjectInput input); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml index e7f2b1bb..6749e3ba 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml @@ -2,4 +2,205 @@ + + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyProjectService.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyProjectService.java index 5405e5a0..3f2b4fc1 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyProjectService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyProjectService.java @@ -3,6 +3,10 @@ package com.jero.pack.service; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.pack.entity.PayPackCompanyProject; +import com.jero.pack.vo.PayPackCompanyProjectInput; +import com.jero.project.entity.PayCommonProject; + +import java.util.List; /** * @Description: pay_pack_company_project @@ -11,5 +15,29 @@ import com.jero.pack.entity.PayPackCompanyProject; * @Version: V1.0 */ public interface IPayPackCompanyProjectService extends IService { - + /** + * @Description 列表查询 + * @Author lqt + * @Date 2021/9/10 + * @Return + * @Exception + */ + List queryListAll(PayPackCompanyProjectInput input); + /** + * @Description 未打包列表查询 + * @Author lqt + * @Date 2021/9/10 + * @Return + * @Exception + */ + List queryPackListAll(PayPackCompanyProjectInput input); + /** + * @Description + * @Author lqt + * @Date 2021/9/10 + * @Param + * @Return + * @Exception + */ + void addPayPackCompanyProject(PayPackCompanyProject payPackCompanyProject); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java index 778d6494..573f6aa4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java @@ -1,11 +1,27 @@ package com.jero.pack.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.api.vo.Result; +import com.jero.common.exception.JeroBootException; +import com.jero.pack.entity.PayPackCompany; import com.jero.pack.entity.PayPackCompanyProject; import com.jero.pack.mapper.PayPackCompanyProjectMapper; import com.jero.pack.service.IPayPackCompanyProjectService; +import com.jero.pack.service.IPayPackCompanyService; +import com.jero.pack.vo.PayPackCompanyProjectInput; +import com.jero.project.entity.PayCommonProject; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; + /** * @Description: pay_pack_company_project * @Author: jeecg-boot @@ -15,4 +31,58 @@ import org.springframework.stereotype.Service; @Service public class PayPackCompanyProjectServiceImpl extends ServiceImpl implements IPayPackCompanyProjectService { + @Resource + private PayPackCompanyProjectMapper payPackCompanyProjectMapper; + @Autowired + private IPayPackCompanyProjectService payPackCompanyProjectService; + @Autowired + private IPayPackCompanyService payPackCompanyService; + + + @Override + public List queryListAll(PayPackCompanyProjectInput input) { + return payPackCompanyProjectMapper.queryListAll(input); + } + + @Override + public List queryPackListAll(PayPackCompanyProjectInput input) { + return payPackCompanyProjectMapper.queryPackListAll(input); + } + + @Override + public void addPayPackCompanyProject(PayPackCompanyProject payPackCompanyProject) { + PayPackCompany payPackCompany = payPackCompanyService.getById(payPackCompanyProject.getPackId()); + if(Objects.isNull(payPackCompany)){ + throw new JeroBootException("打包企业不存在"); + } + + if(StringUtils.isBlank(payPackCompanyProject.getProjectIds())){ + throw new JeroBootException("请选择项目"); + } + String[] s = payPackCompanyProject.getProjectIds().split(","); + List listPayPackCompanyProject = new ArrayList<>(); + for (String s1 : s) { + if(StringUtils.isBlank(s1)){ + throw new JeroBootException("项目id不能为空!"); + } + PayPackCompanyProjectInput input = new PayPackCompanyProjectInput(); + input.setProjectId(s1); + input.setCompanyId(payPackCompany.getCompanyId()); + List list = payPackCompanyProjectService.queryPackListAll(input); + if(CollectionUtils.isEmpty(list)){ + throw new JeroBootException("项目下企业不匹配!"); + } + payPackCompanyProject.setProjectId(s1); + listPayPackCompanyProject.add(payPackCompanyProject); + } + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.in(PayPackCompanyProject::getProjectId, Arrays.asList(payPackCompanyProject.getProjectIds())); + List listPayPackCompanyProjectNew = payPackCompanyProjectService.list(query); + if(!CollectionUtils.isEmpty(listPayPackCompanyProjectNew)){ + throw new JeroBootException("项目已被打包!"); + } + if(!CollectionUtils.isEmpty(listPayPackCompanyProject)){ + payPackCompanyProjectService.save(payPackCompanyProject); + } + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/vo/PayPackCompanyProjectInput.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/vo/PayPackCompanyProjectInput.java new file mode 100644 index 00000000..ab93f911 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/vo/PayPackCompanyProjectInput.java @@ -0,0 +1,50 @@ +package com.jero.pack.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class PayPackCompanyProjectInput implements Serializable { + /** + * 打包id + */ + @ApiModelProperty(value = "打包id") + private String packId; + /** + * 项目名称 + */ + @ApiModelProperty(value = "项目名称") + private String projectName; + /** + * 企业id + */ + @ApiModelProperty(value = "企业id") + private String companyId; + /** + * 运行年份 + */ + @ApiModelProperty(value = "运行年份") + private String year; + /** + * 打包(1:是,0:否) + */ + @ApiModelProperty(value = "打包(1:是,0:否)") + private Integer pack; + /** + * 打包年份 + */ + @ApiModelProperty(value = "打包年份") + private String packYear; + /** + * 项目id + */ + @ApiModelProperty(value = "项目id") + private String projectId; + /** + * 项目ids,逗号分割 + */ + @ApiModelProperty(value = "项目ids,逗号分割") + private String projectIds; +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java index 1193e91f..3bab39bb 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java @@ -197,4 +197,11 @@ public class PayCommonProject implements Serializable { @Dict(dicCode = "project_type") @ApiModelProperty(value = "项目类型") private Integer projectType; + /** + * 来源(1:收入合同,2:打包管理) + */ + @TableField(exist = false) + @ApiModelProperty(value = "来源(1:收入合同,2:打包管理)") + private Integer come; + }