合同管理功能开发
This commit is contained in:
+49
@@ -0,0 +1,49 @@
|
||||
package com.jero.contract.common;
|
||||
|
||||
public class PayIncomeContractCommon {
|
||||
/**
|
||||
* 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档)
|
||||
*/
|
||||
public final static Integer STATUS1 = 1;
|
||||
/**
|
||||
* 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档)
|
||||
*/
|
||||
public final static Integer STATUS2 = 2;
|
||||
/**
|
||||
* 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档)
|
||||
*/
|
||||
public final static Integer STATUS3 = 3;
|
||||
/**
|
||||
* 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档)
|
||||
*/
|
||||
public final static Integer STATUS4 = 4;
|
||||
/**
|
||||
* 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档)
|
||||
*/
|
||||
public final static Integer STATUS5 = 5;
|
||||
/**
|
||||
* 是否打包(1:是,0:否)
|
||||
*/
|
||||
public final static Integer PACK1 = 1;
|
||||
/**
|
||||
* 是否打包(1:是,0:否)
|
||||
*/
|
||||
public final static Integer PACK0 = 0;
|
||||
/**
|
||||
* 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目)
|
||||
*/
|
||||
public final static String PROJECT_TYPE1 = "1";
|
||||
/**
|
||||
* 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目)
|
||||
*/
|
||||
public final static String PROJECT_TYPE2 = "2";
|
||||
/**
|
||||
* 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目)
|
||||
*/
|
||||
public final static String PROJECT_TYPE3 = "3";
|
||||
/**
|
||||
* 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目)
|
||||
*/
|
||||
public final static String PROJECT_TYPE4 = "4";
|
||||
|
||||
}
|
||||
+7
-7
@@ -25,7 +25,7 @@ import io.swagger.annotations.ApiOperation;
|
||||
* @Date: 2021-09-03
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="收入合同关联")
|
||||
//@Api(tags="收入合同关联")
|
||||
@RestController
|
||||
@RequestMapping("/contract/payIncomeContractAssociated")
|
||||
@Slf4j
|
||||
@@ -43,7 +43,7 @@ public class PayIncomeContractAssociatedController extends JeroController<PayInc
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "收入合同关联-分页列表查询")
|
||||
@ApiOperation(value="收入合同关联-分页列表查询", notes="收入合同关联-分页列表查询")
|
||||
// @ApiOperation(value="收入合同关联-分页列表查询", notes="收入合同关联-分页列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<?> queryPageList(PayIncomeContractAssociated payIncomeContractAssociated,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@@ -62,7 +62,7 @@ public class PayIncomeContractAssociatedController extends JeroController<PayInc
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "收入合同关联-添加")
|
||||
@ApiOperation(value="收入合同关联-添加", notes="收入合同关联-添加")
|
||||
// @ApiOperation(value="收入合同关联-添加", notes="收入合同关联-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<?> add(@RequestBody PayIncomeContractAssociated payIncomeContractAssociated) {
|
||||
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
|
||||
@@ -76,7 +76,7 @@ public class PayIncomeContractAssociatedController extends JeroController<PayInc
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "收入合同关联-编辑")
|
||||
@ApiOperation(value="收入合同关联-编辑", notes="收入合同关联-编辑")
|
||||
// @ApiOperation(value="收入合同关联-编辑", notes="收入合同关联-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<?> edit(@RequestBody PayIncomeContractAssociated payIncomeContractAssociated) {
|
||||
payIncomeContractAssociatedService.updateById(payIncomeContractAssociated);
|
||||
@@ -90,7 +90,7 @@ public class PayIncomeContractAssociatedController extends JeroController<PayInc
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "收入合同关联-通过id删除")
|
||||
@ApiOperation(value="收入合同关联-通过id删除", notes="收入合同关联-通过id删除")
|
||||
// @ApiOperation(value="收入合同关联-通过id删除", notes="收入合同关联-通过id删除")
|
||||
@GetMapping(value = "/delete")
|
||||
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
|
||||
payIncomeContractAssociatedService.removeById(id);
|
||||
@@ -104,7 +104,7 @@ public class PayIncomeContractAssociatedController extends JeroController<PayInc
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "收入合同关联-批量删除")
|
||||
@ApiOperation(value="收入合同关联-批量删除", notes="收入合同关联-批量删除")
|
||||
// @ApiOperation(value="收入合同关联-批量删除", notes="收入合同关联-批量删除")
|
||||
@GetMapping(value = "/deleteBatch")
|
||||
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||
this.payIncomeContractAssociatedService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
@@ -118,7 +118,7 @@ public class PayIncomeContractAssociatedController extends JeroController<PayInc
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "收入合同关联-通过id查询")
|
||||
@ApiOperation(value="收入合同关联-通过id查询", notes="收入合同关联-通过id查询")
|
||||
// @ApiOperation(value="收入合同关联-通过id查询", notes="收入合同关联-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
|
||||
PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getById(id);
|
||||
|
||||
+11
-13
@@ -1,9 +1,5 @@
|
||||
package com.jero.contract.controller;
|
||||
|
||||
import java.util.Arrays;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -17,8 +13,10 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @Description: 审核记录
|
||||
@@ -26,7 +24,7 @@ import io.swagger.annotations.ApiOperation;
|
||||
* @Date: 2021-09-03
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="审核记录")
|
||||
// @Api(tags="审核记录")
|
||||
@RestController
|
||||
@RequestMapping("/contract/payIncomeContractAudit")
|
||||
@Slf4j
|
||||
@@ -44,7 +42,7 @@ public class PayIncomeContractAuditController extends JeroController<PayIncomeCo
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "审核记录-分页列表查询")
|
||||
@ApiOperation(value="审核记录-分页列表查询", notes="审核记录-分页列表查询")
|
||||
// @ApiOperation(value="审核记录-分页列表查询", notes="审核记录-分页列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<?> queryPageList(PayIncomeContractAudit payIncomeContractAudit,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@@ -63,7 +61,7 @@ public class PayIncomeContractAuditController extends JeroController<PayIncomeCo
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "审核记录-添加")
|
||||
@ApiOperation(value="审核记录-添加", notes="审核记录-添加")
|
||||
// @ApiOperation(value="审核记录-添加", notes="审核记录-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<?> add(@RequestBody PayIncomeContractAudit payIncomeContractAudit) {
|
||||
payIncomeContractAuditService.save(payIncomeContractAudit);
|
||||
@@ -77,7 +75,7 @@ public class PayIncomeContractAuditController extends JeroController<PayIncomeCo
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "审核记录-编辑")
|
||||
@ApiOperation(value="审核记录-编辑", notes="审核记录-编辑")
|
||||
// @ApiOperation(value="审核记录-编辑", notes="审核记录-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<?> edit(@RequestBody PayIncomeContractAudit payIncomeContractAudit) {
|
||||
payIncomeContractAuditService.updateById(payIncomeContractAudit);
|
||||
@@ -91,7 +89,7 @@ public class PayIncomeContractAuditController extends JeroController<PayIncomeCo
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "审核记录-通过id删除")
|
||||
@ApiOperation(value="审核记录-通过id删除", notes="审核记录-通过id删除")
|
||||
// @ApiOperation(value="审核记录-通过id删除", notes="审核记录-通过id删除")
|
||||
@GetMapping(value = "/delete")
|
||||
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
|
||||
payIncomeContractAuditService.removeById(id);
|
||||
@@ -105,7 +103,7 @@ public class PayIncomeContractAuditController extends JeroController<PayIncomeCo
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "审核记录-批量删除")
|
||||
@ApiOperation(value="审核记录-批量删除", notes="审核记录-批量删除")
|
||||
// @ApiOperation(value="审核记录-批量删除", notes="审核记录-批量删除")
|
||||
@GetMapping(value = "/deleteBatch")
|
||||
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||
this.payIncomeContractAuditService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
@@ -119,7 +117,7 @@ public class PayIncomeContractAuditController extends JeroController<PayIncomeCo
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "审核记录-通过id查询")
|
||||
@ApiOperation(value="审核记录-通过id查询", notes="审核记录-通过id查询")
|
||||
// @ApiOperation(value="审核记录-通过id查询", notes="审核记录-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
|
||||
PayIncomeContractAudit payIncomeContractAudit = payIncomeContractAuditService.getById(id);
|
||||
|
||||
+304
-17
@@ -1,23 +1,52 @@
|
||||
package com.jero.contract.controller;
|
||||
|
||||
import java.util.Arrays;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
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;
|
||||
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.DateUtils;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.contract.common.PayIncomeContractCommon;
|
||||
import com.jero.contract.entity.PayIncomeContract;
|
||||
import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||
import com.jero.contract.entity.PayIncomeContractAudit;
|
||||
import com.jero.contract.entity.PayIncomeContractInstallment;
|
||||
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||
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 lombok.extern.slf4j.Slf4j;
|
||||
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;
|
||||
import com.jero.contract.vo.*;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import com.jero.project.service.IPayCommonProjectService;
|
||||
import com.jero.project.service.IPayWorkingGroupService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.jeecgframework.poi.excel.def.MapExcelConstants;
|
||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
import org.jeecgframework.poi.excel.entity.params.ExcelExportEntity;
|
||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description: 收入合同
|
||||
@@ -32,6 +61,20 @@ import io.swagger.annotations.ApiOperation;
|
||||
public class PayIncomeContractController extends JeroController<PayIncomeContract, IPayIncomeContractService> {
|
||||
@Autowired
|
||||
private IPayIncomeContractService payIncomeContractService;
|
||||
@Autowired
|
||||
private IPayIncomeContractInstallmentService payIncomeContractInstallmentService;
|
||||
@Autowired
|
||||
private IPayCommonProjectService payCommonProjectService;
|
||||
@Autowired
|
||||
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
|
||||
@Autowired
|
||||
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
|
||||
@Autowired
|
||||
private IPayWorkingGroupService payWorkingGroupService;
|
||||
@Autowired
|
||||
private IPayIncomeContractAuditService payIncomeContractAuditService;
|
||||
@Autowired
|
||||
private Environment env;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
@@ -50,10 +93,15 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
@RequestParam(name="chargeStatus",required = false) String chargeStatus,
|
||||
@RequestParam(name="projectName",required = false) String projectName,
|
||||
@RequestParam(name="startTime",required = false) String startTime,
|
||||
@RequestParam(name="endTime",required = false) String endTime) {
|
||||
Page<PayIncomeContract> page = new Page<>(pageNo, pageSize);
|
||||
IPage<PayIncomeContract> pageList = payIncomeContractService.queryPageList(page, payIncomeContract,chargeStatus,startTime,endTime);
|
||||
// todo 缺少验证,缺少会议,会员项目
|
||||
Page<PayIncomeContractOutput> page = new Page<>(pageNo, pageSize);
|
||||
IPage<PayIncomeContractOutput> pageList = payIncomeContractService.queryPageList(page, payIncomeContract,chargeStatus,projectName,startTime,endTime);
|
||||
pageList.getRecords().forEach(p->{
|
||||
System.out.println(JSONObject.toJSONString(p));
|
||||
});
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
@@ -82,6 +130,79 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
|
||||
payIncomeContractService.editPayIncomeContractInput(input);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联
|
||||
*
|
||||
* @param input
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "收入合同-关联")
|
||||
@ApiOperation(value="收入合同-关联", notes="收入合同-关联")
|
||||
@PostMapping(value = "/associated")
|
||||
public Result<?> associated(@RequestBody PayIncomeContractAssociatedInput input) {
|
||||
List<ProjectOutput> list = payIncomeContractService.associated(input);
|
||||
return Result.OK("关联成功!",list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 取消关联
|
||||
*
|
||||
* @param payIncomeContractAssociated
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "收入合同-取消关联")
|
||||
@ApiOperation(value="收入合同-取消关联", notes="收入合同-取消关联")
|
||||
@PostMapping(value = "/cancelAssociated")
|
||||
public Result<?> cancelAssociated(@RequestBody PayIncomeContractAssociated payIncomeContractAssociated) {
|
||||
payIncomeContractService.cancelAssociated(payIncomeContractAssociated);
|
||||
return Result.OK("关联成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 提交审核
|
||||
*
|
||||
* @param payIncomeContract 收入合同
|
||||
*/
|
||||
@AutoLog(value = "收入合同-提交审核")
|
||||
@ApiOperation(value="收入合同-提交审核", notes="收入合同-提交审核")
|
||||
@PostMapping(value = "/submitAudit")
|
||||
public Result<?> submitAudit(@RequestBody PayIncomeContract payIncomeContract) {
|
||||
payIncomeContractService.submitAudit(payIncomeContract);
|
||||
return Result.OK("提交审核成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核
|
||||
*
|
||||
* @param payIncomeContractAudit 审核记录
|
||||
*/
|
||||
@AutoLog(value = "收入合同-审核")
|
||||
@ApiOperation(value="收入合同-审核", notes="收入合同-审核")
|
||||
@PostMapping(value = "/audit")
|
||||
public Result<?> audit(@RequestBody PayIncomeContractAudit payIncomeContractAudit) {
|
||||
if(StringUtils.isBlank(payIncomeContractAudit.getContractId())){
|
||||
return Result.error("id不能为空!");
|
||||
}
|
||||
payIncomeContractService.updateAudit(payIncomeContractAudit);
|
||||
return Result.OK("审核成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 归档
|
||||
*
|
||||
* @param payIncomeContract 收入合同
|
||||
*/
|
||||
@AutoLog(value = "收入合同-归档")
|
||||
@ApiOperation(value="收入合同-归档", notes="收入合同-归档")
|
||||
@PostMapping(value = "/archive")
|
||||
public Result<?> archive(@RequestBody PayIncomeContract payIncomeContract) {
|
||||
if(StringUtils.isBlank(payIncomeContract.getId())){
|
||||
return Result.error("id不能为空!");
|
||||
}
|
||||
payIncomeContractService.updateArchive(payIncomeContract.getId());
|
||||
return Result.OK("归档成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
@@ -120,21 +241,103 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
|
||||
payIncomeContractService.deletePayIncomeContractInputByIds(Arrays.asList(ids.split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
* 通过id查询详情
|
||||
*
|
||||
* @param id 合同id
|
||||
*/
|
||||
@AutoLog(value = "收入合同-通过id查询")
|
||||
@ApiOperation(value="收入合同-通过id查询", notes="收入合同-通过id查询")
|
||||
@AutoLog(value = "收入合同-通过id查询详情")
|
||||
@ApiOperation(value="收入合同-通过id查询详情", notes="收入合同-通过id查询详情")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<?> queryById(@RequestParam(name="id") String id) {
|
||||
if(StringUtils.isBlank(id)){
|
||||
return Result.error("id不能为空!");
|
||||
}
|
||||
PayIncomeContract payIncomeContract = payIncomeContractService.getById(id);
|
||||
if(payIncomeContract==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(payIncomeContract);
|
||||
// 获取分期信息
|
||||
LambdaQueryWrapper<PayIncomeContractInstallment> queryPayIncomeContractInstallment = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContractInstallment.eq(PayIncomeContractInstallment::getContractId,payIncomeContract.getId());
|
||||
List<PayIncomeContractInstallment> listPayIncomeContractInstallment = payIncomeContractInstallmentService.list(queryPayIncomeContractInstallment);
|
||||
|
||||
// 获取关联项目id
|
||||
List<ProjectOutput> listProject = new ArrayList<>();
|
||||
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getContractId,id);
|
||||
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated);
|
||||
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
|
||||
List<String> listId = listPayIncomeContractAssociated.stream().map(PayIncomeContractAssociated::getProjectId).collect(Collectors.toList());
|
||||
if(!CollectionUtils.isEmpty(listId)){
|
||||
// 普通项目
|
||||
LambdaQueryWrapper<PayCommonProject> queryPayCommonProject = new LambdaQueryWrapper<>();
|
||||
queryPayCommonProject.in(PayCommonProject::getId,listId);
|
||||
List<PayCommonProject> listPayCommonProject = payCommonProjectService.list(queryPayCommonProject);
|
||||
if(!CollectionUtils.isEmpty(listPayCommonProject)){
|
||||
listPayCommonProject.forEach(p->{
|
||||
ProjectOutput projectOutput = new ProjectOutput();
|
||||
projectOutput.setProjectId(p.getId());
|
||||
projectOutput.setProjectType(PayIncomeContractCommon.PROJECT_TYPE1);
|
||||
projectOutput.setChargeProject(p.getChargeProject());
|
||||
projectOutput.setChargeUse(p.getChargeUse());
|
||||
projectOutput.setChargeCompanyName(p.getChargeCompanyTemporaryName());
|
||||
projectOutput.setContactsName(p.getChargeCompanyTemporaryName());
|
||||
projectOutput.setPaidAmount(p.getPaidAmount());
|
||||
projectOutput.setReceivableAmount(p.getReceivableAmount());
|
||||
listProject.add(projectOutput);
|
||||
});
|
||||
}
|
||||
// 工作组项目
|
||||
LambdaQueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>();
|
||||
queryPayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getId,listId);
|
||||
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(queryPayWorkingGroupSubItem);
|
||||
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
|
||||
listPayWorkingGroupSubItem.forEach(p->{
|
||||
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(p.getWorkingGroupId());
|
||||
ProjectOutput projectOutput = new ProjectOutput();
|
||||
projectOutput.setProjectId(p.getId());
|
||||
projectOutput.setProjectType(PayIncomeContractCommon.PROJECT_TYPE2);
|
||||
if(Objects.isNull(payWorkingGroup)){
|
||||
projectOutput.setChargeProject(payWorkingGroup.getWorkingGroupProject());
|
||||
}
|
||||
projectOutput.setChargeProject(p.getChargeProject());
|
||||
projectOutput.setChargeCompanyName(p.getChargeCompanyTemporaryName());
|
||||
projectOutput.setContactsName(p.getChargeCompanyTemporaryName());
|
||||
projectOutput.setPaidAmount(p.getPaidAmount());
|
||||
projectOutput.setReceivableAmount(p.getReceivableAmount());
|
||||
listProject.add(projectOutput);
|
||||
});
|
||||
}
|
||||
// todo 会议项目
|
||||
// todo 会员项目
|
||||
}
|
||||
}
|
||||
// 获取存档记录
|
||||
LambdaQueryWrapper<PayIncomeContractAudit> queryPayIncomeContractAudit = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContractAudit.in(PayIncomeContractAudit::getContractId,id);
|
||||
List<PayIncomeContractAudit> listPayIncomeContractAudit = payIncomeContractAuditService.list(queryPayIncomeContractAudit);
|
||||
List<PayIncomeContractAudit> listArchive = listPayIncomeContractAudit.stream().filter(p->Objects.equals(p.getContractStatus(), PayIncomeContractCommon.STATUS5)).collect(Collectors.toList());
|
||||
// 获取审核记录
|
||||
List<PayIncomeContractAudit> listAudit = listPayIncomeContractAudit.stream().filter(p->!Objects.equals(p.getContractStatus(), PayIncomeContractCommon.STATUS5)).collect(Collectors.toList());
|
||||
|
||||
String str = JSON.toJSONString(payIncomeContract);
|
||||
PayIncomeContractDetailOutput payIncomeContractDetailOutput = JSONObject.parseObject(str,PayIncomeContractDetailOutput.class);
|
||||
if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)){
|
||||
payIncomeContractDetailOutput.setListInstallment(listPayIncomeContractInstallment);
|
||||
}
|
||||
if(!CollectionUtils.isEmpty(listProject)){
|
||||
listProject.sort((m1,m2)->m2.getCreateTime().compareToIgnoreCase(m1.getCreateTime()));
|
||||
payIncomeContractDetailOutput.setListProject(listProject);
|
||||
}
|
||||
if(!CollectionUtils.isEmpty(listArchive)){
|
||||
payIncomeContractDetailOutput.setListArchive(listArchive);
|
||||
}
|
||||
if(!CollectionUtils.isEmpty(listAudit)){
|
||||
payIncomeContractDetailOutput.setListAudit(listAudit);
|
||||
}
|
||||
return Result.OK(payIncomeContractDetailOutput);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -143,9 +346,93 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
|
||||
* @param request
|
||||
* @param payIncomeContract 收入合同
|
||||
*/
|
||||
@ApiOperation(value="收入合同-导出excel", notes="收入合同-导出excel")
|
||||
@RequestMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, PayIncomeContract payIncomeContract) {
|
||||
return super.exportXls(request, payIncomeContract, PayIncomeContract.class, "pay_income_contract");
|
||||
// Step.1 组装查询条件
|
||||
QueryWrapper<PayIncomeContract> queryWrapper = QueryGenerator.initQueryWrapper(payIncomeContract, request.getParameterMap());
|
||||
// Step.2 获取导出数据
|
||||
List<PayIncomeContract> pageList = payIncomeContractService.list(queryWrapper);
|
||||
List<PayIncomeContract> exportList = null;
|
||||
|
||||
// 过滤选中数据
|
||||
String selections = request.getParameter("selections");
|
||||
if (oConvertUtils.isNotEmpty(selections)) {
|
||||
List<String> selectionList = Arrays.asList(selections.split(","));
|
||||
exportList = pageList.stream().filter(item -> selectionList.contains(payIncomeContract.getId())).collect(Collectors.toList());
|
||||
} else {
|
||||
exportList = pageList;
|
||||
}
|
||||
List<Map<String,String>> list = new ArrayList<>();
|
||||
// excel字段长度
|
||||
// todo 缺少字典转换
|
||||
Map<String,Integer> mapCount = new HashMap<>();
|
||||
mapCount.put("count",0);
|
||||
if(!CollectionUtils.isEmpty(exportList)){
|
||||
List<String> listId = exportList.stream().map(PayIncomeContract::getId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<PayIncomeContractInstallment> query = new LambdaQueryWrapper<>();
|
||||
query.in(PayIncomeContractInstallment::getContractId,listId);
|
||||
List<PayIncomeContractInstallment> listPayIncomeContractInstallment = payIncomeContractInstallmentService.list(query);
|
||||
if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)){
|
||||
exportList.forEach(p->{
|
||||
String str = JSON.toJSONString(p);
|
||||
Map<String,String> map = JSONObject.parseObject(str,Map.class);
|
||||
List<PayIncomeContractInstallment> listSub = listPayIncomeContractInstallment.stream().filter(item->
|
||||
Objects.equals(p.getId(),item.getContractId())).collect(Collectors.toList());
|
||||
if(!CollectionUtils.isEmpty(listSub)){
|
||||
int count = mapCount.get("count");
|
||||
if(count < listSub.size()){
|
||||
mapCount.put("count",listSub.size());
|
||||
}
|
||||
listSub.forEach(p1->{
|
||||
int n = listSub.indexOf(p1);
|
||||
map.put("phaseName" + n,p1.getPhaseName());
|
||||
map.put("accountsReceivableAmount" + n,p1.getAccountsReceivableAmount());
|
||||
map.put("accountsReceivableTime" + n, DateUtils.date2Str(p1.getAccountsReceivableTime(),new SimpleDateFormat("yyyy-MM-dd")));
|
||||
map.put("paidAmount" + n,p1.getPaidAmount());
|
||||
map.put("paidTime" + n,DateUtils.date2Str(p1.getPaidTime(),new SimpleDateFormat("yyyy-MM-dd")));
|
||||
});
|
||||
}
|
||||
list.add(map);
|
||||
});
|
||||
}
|
||||
}
|
||||
// 设置表头样式
|
||||
List<ExcelExportEntity> filedsList = new ArrayList<>();
|
||||
filedsList.add(new ExcelExportEntity("合同编号", "contractNum"));
|
||||
filedsList.add(new ExcelExportEntity("合同名称", "contractName"));
|
||||
filedsList.add(new ExcelExportEntity("签订单位", "signedCompanyTemporaryName"));
|
||||
filedsList.add(new ExcelExportEntity("签订单位联系人", "signedContactsTemporaryName"));
|
||||
filedsList.add(new ExcelExportEntity("是否开口", "opening"));
|
||||
filedsList.add(new ExcelExportEntity("负责人", "principalName"));
|
||||
filedsList.add(new ExcelExportEntity("部门名称", "departmentName"));
|
||||
filedsList.add(new ExcelExportEntity("签订合同总金额", "contractAmount"));
|
||||
filedsList.add(new ExcelExportEntity("税率", "rate"));
|
||||
filedsList.add(new ExcelExportEntity("未税金额", "noTaxAmount"));
|
||||
filedsList.add(new ExcelExportEntity("合同签订日期", "contractDate"));
|
||||
filedsList.add(new ExcelExportEntity("合同终止日期", "terminationDate"));
|
||||
filedsList.add(new ExcelExportEntity("合同约定主要时点", "contractTimePoints"));
|
||||
int count = mapCount.get("count");
|
||||
if(count > 0){
|
||||
for (int i = 1; i <= count; i++){
|
||||
filedsList.add(new ExcelExportEntity(i + "阶段", "phaseName" + i));
|
||||
filedsList.add(new ExcelExportEntity(i + "期应收", "accountsReceivableAmount" + i));
|
||||
filedsList.add(new ExcelExportEntity(i + "期应收时间", "accountsReceivableTime" + i));
|
||||
filedsList.add(new ExcelExportEntity(i + "期实收", "paidAmount" + i));
|
||||
filedsList.add(new ExcelExportEntity(i + "期实收时间", "paidTime" + i));
|
||||
}
|
||||
}
|
||||
// Step.3 AutoPoi 导出Excel
|
||||
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
|
||||
mv.addObject(MapExcelConstants.FILE_NAME, "收入合同"); //此处设置的filename无效 ,前端会重更新设置一下
|
||||
mv.addObject(MapExcelConstants.ENTITY_LIST, filedsList);
|
||||
//update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置--------------------
|
||||
ExportParams exportParams=new ExportParams("收入合同", "收入合同");
|
||||
exportParams.setImageBasePath(env.getProperty("jero.path.upload"));
|
||||
//update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置----------------------
|
||||
mv.addObject(MapExcelConstants.PARAMS,exportParams);
|
||||
mv.addObject(MapExcelConstants.MAP_LIST, list);
|
||||
return mv;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+7
-7
@@ -26,7 +26,7 @@ import io.swagger.annotations.ApiOperation;
|
||||
* @Date: 2021-09-03
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="分期信息")
|
||||
// @Api(tags="分期信息")
|
||||
@RestController
|
||||
@RequestMapping("/contract/payIncomeContractInstallment")
|
||||
@Slf4j
|
||||
@@ -44,7 +44,7 @@ public class PayIncomeContractInstallmentController extends JeroController<PayIn
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "分期信息-分页列表查询")
|
||||
@ApiOperation(value="分期信息-分页列表查询", notes="分期信息-分页列表查询")
|
||||
// @ApiOperation(value="分期信息-分页列表查询", notes="分期信息-分页列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<?> queryPageList(PayIncomeContractInstallment payIncomeContractInstallment,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@@ -63,7 +63,7 @@ public class PayIncomeContractInstallmentController extends JeroController<PayIn
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "分期信息-添加")
|
||||
@ApiOperation(value="分期信息-添加", notes="分期信息-添加")
|
||||
// @ApiOperation(value="分期信息-添加", notes="分期信息-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<?> add(@RequestBody PayIncomeContractInstallment payIncomeContractInstallment) {
|
||||
payIncomeContractInstallmentService.save(payIncomeContractInstallment);
|
||||
@@ -77,7 +77,7 @@ public class PayIncomeContractInstallmentController extends JeroController<PayIn
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "分期信息-编辑")
|
||||
@ApiOperation(value="分期信息-编辑", notes="分期信息-编辑")
|
||||
// @ApiOperation(value="分期信息-编辑", notes="分期信息-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<?> edit(@RequestBody PayIncomeContractInstallment payIncomeContractInstallment) {
|
||||
payIncomeContractInstallmentService.updateById(payIncomeContractInstallment);
|
||||
@@ -91,7 +91,7 @@ public class PayIncomeContractInstallmentController extends JeroController<PayIn
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "分期信息-通过id删除")
|
||||
@ApiOperation(value="分期信息-通过id删除", notes="分期信息-通过id删除")
|
||||
// @ApiOperation(value="分期信息-通过id删除", notes="分期信息-通过id删除")
|
||||
@GetMapping(value = "/delete")
|
||||
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
|
||||
payIncomeContractInstallmentService.removeById(id);
|
||||
@@ -105,7 +105,7 @@ public class PayIncomeContractInstallmentController extends JeroController<PayIn
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "分期信息-批量删除")
|
||||
@ApiOperation(value="分期信息-批量删除", notes="分期信息-批量删除")
|
||||
// @ApiOperation(value="分期信息-批量删除", notes="分期信息-批量删除")
|
||||
@GetMapping(value = "/deleteBatch")
|
||||
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||
this.payIncomeContractInstallmentService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
@@ -119,7 +119,7 @@ public class PayIncomeContractInstallmentController extends JeroController<PayIn
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "分期信息-通过id查询")
|
||||
@ApiOperation(value="分期信息-通过id查询", notes="分期信息-通过id查询")
|
||||
// @ApiOperation(value="分期信息-通过id查询", notes="分期信息-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
|
||||
PayIncomeContractInstallment payIncomeContractInstallment = payIncomeContractInstallmentService.getById(id);
|
||||
|
||||
+1
-1
@@ -144,7 +144,7 @@ public class PayIncomeContract implements Serializable {
|
||||
/**已收金额*/
|
||||
@Excel(name = "已收金额", width = 15)
|
||||
@ApiModelProperty(value = "已收金额")
|
||||
@NotNull(message = "应收金额不能为空!")
|
||||
@NotNull(message = "已收金额不能为空!")
|
||||
@Max(value = 999999999,message = "应收金额格式错误")
|
||||
private java.lang.Integer amountReceived;
|
||||
/**未收金额*/
|
||||
|
||||
+4
-4
@@ -47,16 +47,16 @@ public class PayIncomeContractAssociated implements Serializable {
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private java.lang.String createBy;
|
||||
/**创建时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private java.util.Date createTime;
|
||||
/**更新人*/
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private java.lang.String updateBy;
|
||||
/**更新时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private java.util.Date updateTime;
|
||||
}
|
||||
|
||||
+4
-4
@@ -47,16 +47,16 @@ public class PayIncomeContractAudit implements Serializable {
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private java.lang.String createBy;
|
||||
/**创建时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private java.util.Date createTime;
|
||||
/**更新人*/
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private java.lang.String updateBy;
|
||||
/**更新时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private java.util.Date updateTime;
|
||||
}
|
||||
|
||||
+11
-11
@@ -35,17 +35,17 @@ public class PayIncomeContractInstallment implements Serializable {
|
||||
@Excel(name = "合同id", width = 15)
|
||||
@ApiModelProperty(value = "合同id")
|
||||
private java.lang.String contractId;
|
||||
/**阶段名称*/
|
||||
@Excel(name = "阶段名称", width = 15)
|
||||
@ApiModelProperty(value = "阶段名称")
|
||||
/**阶段*/
|
||||
@Excel(name = "阶段", width = 15)
|
||||
@ApiModelProperty(value = "阶段")
|
||||
private java.lang.String phaseName;
|
||||
/**应收金额*/
|
||||
@Excel(name = "应收金额", width = 15)
|
||||
@ApiModelProperty(value = "应收金额")
|
||||
private java.lang.String accountsReceivableAmount;
|
||||
/**应收时间*/
|
||||
@Excel(name = "应收时间", width = 15, format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "应收时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "应收时间")
|
||||
private java.util.Date accountsReceivableTime;
|
||||
@@ -54,8 +54,8 @@ public class PayIncomeContractInstallment implements Serializable {
|
||||
@ApiModelProperty(value = "实收金额")
|
||||
private java.lang.String paidAmount;
|
||||
/**实收时间*/
|
||||
@Excel(name = "实收时间", width = 15, format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "实收时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "实收时间")
|
||||
private java.util.Date paidTime;
|
||||
@@ -63,16 +63,16 @@ public class PayIncomeContractInstallment implements Serializable {
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private java.lang.String createBy;
|
||||
/**创建时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private java.util.Date createTime;
|
||||
/**更新人*/
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private java.lang.String updateBy;
|
||||
/**更新时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private java.util.Date updateTime;
|
||||
}
|
||||
|
||||
+4
-2
@@ -5,6 +5,7 @@ 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 org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
@@ -23,6 +24,7 @@ public interface PayIncomeContractMapper extends BaseMapper<PayIncomeContract> {
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
IPage<PayIncomeContract> queryPageList(Page<PayIncomeContract> page, @Param("payIncomeContract") PayIncomeContract payIncomeContract,
|
||||
@Param("chargeStatus") String chargeStatus,@Param("startTime") String startTime,@Param("endTime") String endTime);
|
||||
IPage<PayIncomeContractOutput> queryPageList(Page<PayIncomeContractOutput> page, @Param("payIncomeContract") PayIncomeContract payIncomeContract,
|
||||
@Param("chargeStatus") String chargeStatus,@Param("projectName") String projectName,
|
||||
@Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||
}
|
||||
|
||||
+30
-17
@@ -1,14 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.contract.mapper.PayIncomeContractMapper">
|
||||
|
||||
<select id="queryPageList" resultType="com.jero.contract.entity.PayIncomeContract">
|
||||
<!--缺少会议项目,会员项目-->
|
||||
<select id="queryPageList" resultType="com.jero.contract.vo.PayIncomeContractOutput">
|
||||
SELECT
|
||||
pic.id,
|
||||
pic.contract_num AS contractNum,
|
||||
pic.contract_name AS contractName,
|
||||
pic.signed_company AS signedCompany,
|
||||
pic.signed_company_id AS signedCompanyId,
|
||||
pic.signed_company_temporary_id AS signedCompanyTemporaryId,
|
||||
pic.signed_company_temporary_name AS signedCompanyTemporaryName,
|
||||
pic.signed_contacts_id AS signedContactsId,
|
||||
pic.signed_contacts_temporary_id AS signedContactsTemporaryId,
|
||||
pic.signed_contacts_temporary_name AS signedContactsTemporaryName,
|
||||
pic.opening,
|
||||
pic.principal_id AS principalId,
|
||||
pic.principal_name AS principalName,
|
||||
@@ -25,30 +29,36 @@
|
||||
pic.account_status AS accountStatus,
|
||||
pic.contract_payment_times AS contractPaymentTimes,
|
||||
pic.pack,
|
||||
pic.package_year AS packageYear,
|
||||
pic.pack_year AS packYear,
|
||||
pic.status,
|
||||
pic.create_by AS createBy,
|
||||
pic.create_time AS createTime,
|
||||
pic.update_by AS updateBy,
|
||||
pic.update_time AS updateTime,
|
||||
if(count(pici.id) > 0,1,0) AS chargeStatus
|
||||
FROM pay_income_contract pic
|
||||
LEFT JOIN pay_income_contract_installment pici ON pic.id=pici.contract_id
|
||||
AND pici.accounts_receivable_time > DATE_FORMAT(NOW(),'%Y-%m-%d') AND pici.accounts_receivable_amount != 0 AND pici.accounts_receivable_amount < pici.paid_amount
|
||||
if(pic.chargeStatus > 0,1,0) AS chargeStatus
|
||||
FROM
|
||||
(
|
||||
select pay_income_contract.*,(select count(*) from pay_income_contract_installment
|
||||
where contract_id = pay_income_contract.id AND accounts_receivable_time > DATE_FORMAT(NOW(),'%Y-%m-%d')
|
||||
AND accounts_receivable_amount != 0 AND accounts_receivable_amount < paid_amount) AS chargeStatus
|
||||
FROM pay_income_contract
|
||||
) pic
|
||||
LEFT JOIN pay_income_contract_associated pica ON pica.contract_id = pic.id
|
||||
LEFT JOIN pay_common_project pcp ON pcp.id = pcp.project_id
|
||||
LEFT JOIN pay_common_project pcp ON pcp.id = pica.project_id
|
||||
LEFT JOIN pay_working_group_subitem pwgs ON pwgs.id = pica.project_id
|
||||
LEFT JOIN pay_working_group pwg ON pwg.id = pwgs.working_group_id
|
||||
<where>
|
||||
<if test="chargeStatus != null and chargeStatus != ''">
|
||||
pici.id != null
|
||||
</if>
|
||||
<if test="payIncomeContract.contractNum != null and payIncomeContract.contractNum != ''">
|
||||
AND pic.contract_num = #{payIncomeContract.contractNum}
|
||||
AND pic.contract_num LIKE CONCAT('%',CONCAT(#{payIncomeContract.contractNum},'%'))
|
||||
</if>
|
||||
<if test="payIncomeContract.contractName != null and payIncomeContract.contractName != ''">
|
||||
AND pic.contract_name = #{payIncomeContract.contractName}
|
||||
AND pic.contract_name LIKE CONCAT('%',CONCAT(#{payIncomeContract.contractName},'%'))
|
||||
</if>
|
||||
<if test="projectId != null and projectId != ''">
|
||||
AND pica.project_id = #{projectId}
|
||||
<if test="projectName != null and projectName != ''">
|
||||
AND (
|
||||
pcp.charge_project LIKE CONCAT('%',CONCAT(#{projectName},'%'))
|
||||
OR pwg.working_group_project LIKE CONCAT('%',CONCAT(#{projectName},'%'))
|
||||
)
|
||||
</if>
|
||||
<if test="startTime != null and startTime != ''">
|
||||
AND pic.create_time >= #{startTime}
|
||||
@@ -59,7 +69,10 @@
|
||||
<if test="payIncomeContract.status != null and payIncomeContract.status != ''">
|
||||
AND pic.status = #{payIncomeContract.status}
|
||||
</if>
|
||||
<if test="chargeStatus != null and chargeStatus != ''">
|
||||
AND pic.chargeStatus = #{chargeStatus}
|
||||
</if>
|
||||
</where>
|
||||
order by pic.create_time desc
|
||||
GROUP BY pic.id ORDER BY pic.create_time desc
|
||||
</select>
|
||||
</mapper>
|
||||
+59
-6
@@ -4,7 +4,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
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;
|
||||
|
||||
@@ -19,16 +24,19 @@ public interface IPayIncomeContractService extends IService<PayIncomeContract> {
|
||||
* @Description 分页列表
|
||||
* @Author lqt
|
||||
* @Date 2021/9/3
|
||||
* @Param
|
||||
* @Param payIncomeContract 收入合同
|
||||
* @Param chargeStatus 来款状态
|
||||
* @Param startTime 开始时间
|
||||
* @Param endTime 结束时间
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
IPage<PayIncomeContract> queryPageList(Page<PayIncomeContract> page,PayIncomeContract payIncomeContract,String chargeStatus,String startTime,String endTime);
|
||||
IPage<PayIncomeContractOutput> queryPageList(Page<PayIncomeContractOutput> page, PayIncomeContract payIncomeContract, String chargeStatus,String projectName, String startTime, String endTime);
|
||||
/**
|
||||
* @Description 添加
|
||||
* @Author lqt
|
||||
* @Date 2021/9/3
|
||||
* @Param
|
||||
* @Param input 收入合同
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
@@ -37,16 +45,61 @@ public interface IPayIncomeContractService extends IService<PayIncomeContract> {
|
||||
* @Description 编辑
|
||||
* @Author lqt
|
||||
* @Date 2021/9/3
|
||||
* @Param
|
||||
* @Param input 收入合同
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
void editPayIncomeContractInput(PayIncomeContractInput input);
|
||||
/**
|
||||
* @Description 收入合同-关联
|
||||
* @Author lqt
|
||||
* @Date 2021/9/5
|
||||
* @Param input 关联项目
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
List<ProjectOutput> associated(PayIncomeContractAssociatedInput input);
|
||||
/**
|
||||
* @Description 取消关联
|
||||
* @Author lqt
|
||||
* @Date 2021/9/5
|
||||
* @Param payIncomeContractAssociated 取消关联
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
void cancelAssociated(PayIncomeContractAssociated payIncomeContractAssociated);
|
||||
/**
|
||||
* @Description 提交审核
|
||||
* @Author lqt
|
||||
* @Date 2021/9/5
|
||||
* @Param payIncomeContract 收入合同
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
void submitAudit(PayIncomeContract payIncomeContract);
|
||||
/**
|
||||
* @Description 审核
|
||||
* @Author lqt
|
||||
* @Date 2021/9/5
|
||||
* @Param payIncomeContractAudit 审核记录
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
void updateAudit(PayIncomeContractAudit payIncomeContractAudit);
|
||||
/**
|
||||
* @Description 归档
|
||||
* @Author lqt
|
||||
* @Date 2021/9/5
|
||||
* @Param id 合同id
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
void updateArchive(String id);
|
||||
/**
|
||||
* @Description 删除
|
||||
* @Author lqt
|
||||
* @Date 2021/9/3
|
||||
* @Param
|
||||
* @Param id 合同id
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
@@ -55,7 +108,7 @@ public interface IPayIncomeContractService extends IService<PayIncomeContract> {
|
||||
* @Description 批量删除
|
||||
* @Author lqt
|
||||
* @Date 2021/9/3
|
||||
* @Param
|
||||
* @Param id 合同id
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
|
||||
+354
-24
@@ -3,12 +3,14 @@ package com.jero.contract.service.impl;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
import com.jero.contract.common.PayIncomeContractCommon;
|
||||
import com.jero.contract.entity.PayIncomeContract;
|
||||
import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||
import com.jero.contract.entity.PayIncomeContractAudit;
|
||||
@@ -18,7 +20,22 @@ import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||
import com.jero.contract.service.IPayIncomeContractAuditService;
|
||||
import com.jero.contract.service.IPayIncomeContractInstallmentService;
|
||||
import com.jero.contract.service.IPayIncomeContractService;
|
||||
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 com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import com.jero.project.service.IPayCommonProjectService;
|
||||
import com.jero.project.service.IPayWorkingGroupService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemService;
|
||||
import com.jero.temporary.entity.PayCompanyManagementTemporary;
|
||||
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
|
||||
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -52,10 +69,22 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
|
||||
@Autowired
|
||||
private IPayIncomeContractAuditService payIncomeContractAuditService;
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
@Autowired
|
||||
private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
|
||||
@Autowired
|
||||
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
|
||||
@Autowired
|
||||
private IPayCommonProjectService payCommonProjectService;
|
||||
@Autowired
|
||||
private IPayWorkingGroupService payWorkingGroupService;
|
||||
@Autowired
|
||||
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
|
||||
|
||||
@Override
|
||||
public IPage<PayIncomeContract> queryPageList(Page<PayIncomeContract> page, PayIncomeContract payIncomeContract, String chargeStatus,String startTime,String endTime) {
|
||||
return payIncomeContractMapper.queryPageList(page,payIncomeContract,chargeStatus,startTime,endTime);
|
||||
public IPage<PayIncomeContractOutput> queryPageList(Page<PayIncomeContractOutput> page, PayIncomeContract payIncomeContract, String chargeStatus,String projectName, String startTime, String endTime) {
|
||||
return payIncomeContractMapper.queryPageList(page,payIncomeContract,chargeStatus,projectName,startTime,endTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -101,19 +130,26 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
log.info("收入合同-添加异常",e);
|
||||
throw new JeroBootException("合同名称已存在!");
|
||||
}
|
||||
setPayIncomeContract(payIncomeContract);
|
||||
payIncomeContract.setStatus(PayIncomeContractCommon.STATUS1);
|
||||
payIncomeContractService.save(payIncomeContract);
|
||||
StringBuilder msgPayIncomeContractInstallment = new StringBuilder();
|
||||
if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)){
|
||||
List<PayIncomeContractInstallment> finalListPayIncomeContractInstallment = listPayIncomeContractInstallment;
|
||||
listPayIncomeContractInstallment.forEach(p->{
|
||||
p.setContractId(payIncomeContract.getId());
|
||||
msgPayIncomeContractInstallment.append("第").append(finalListPayIncomeContractInstallment.indexOf(p)).append("阶段:").append(ValidUtil.validateAll(p));
|
||||
StringBuilder sb = ValidUtil.validateAll(p);
|
||||
if(!StringUtils.isBlank(sb)){
|
||||
msgPayIncomeContractInstallment.append("第").append(finalListPayIncomeContractInstallment.indexOf(p)).append("阶段:").append(sb);
|
||||
}
|
||||
|
||||
});
|
||||
payIncomeContractInstallmentService.saveBatch(listPayIncomeContractInstallment);
|
||||
}
|
||||
if(!StringUtils.isBlank(msgPayIncomeContractInstallment)){
|
||||
throw new JeroBootException(msgPayIncomeContractInstallment.toString());
|
||||
}
|
||||
// todo 缺少发送消息
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -133,6 +169,17 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
if(!StringUtils.isBlank(msgPayIncomeContract)){
|
||||
throw new JeroBootException(msgPayIncomeContract.toString());
|
||||
}
|
||||
if(StringUtils.isBlank(payIncomeContract.getId())){
|
||||
throw new JeroBootException("收入合同id不能为空!");
|
||||
}
|
||||
PayIncomeContract payIncomeContractStatus = payIncomeContractService.getById(payIncomeContract.getId());
|
||||
if(Objects.isNull(payIncomeContractStatus)){
|
||||
throw new JeroBootException("收入合同不存在!");
|
||||
}
|
||||
if(!Objects.equals(payIncomeContractStatus.getStatus(),PayIncomeContractCommon.STATUS1)
|
||||
&& !Objects.equals(payIncomeContractStatus.getStatus(),PayIncomeContractCommon.STATUS4)){
|
||||
throw new JeroBootException("收入合同不可编辑!");
|
||||
}
|
||||
List<PayIncomeContractInstallment> listPayIncomeContractInstallment = new ArrayList<>();
|
||||
if(!StringUtils.isBlank(input.getInstallment())){
|
||||
listPayIncomeContractInstallment = JSONArray.parseArray(input.getInstallment(),PayIncomeContractInstallment.class);
|
||||
@@ -160,49 +207,332 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
throw new JeroBootException("合同名称已存在!");
|
||||
}
|
||||
StringBuilder msgPayIncomeContractInstallment = new StringBuilder();
|
||||
if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)){
|
||||
List<String> list = listPayIncomeContractInstallment.stream().map(PayIncomeContractInstallment::getId).collect(Collectors.toList());
|
||||
// 删除历史
|
||||
LambdaQueryWrapper<PayIncomeContractInstallment> queryPayIncomeContractInstallment = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContractInstallment.eq(PayIncomeContractInstallment::getContractId,payIncomeContract.getId());
|
||||
List<PayIncomeContractInstallment> listPayIncomeContractInstallmentOld = payIncomeContractInstallmentService.list(queryPayIncomeContractInstallment);
|
||||
if(!CollectionUtils.isEmpty(listPayIncomeContractInstallmentOld)){
|
||||
List<String> list = listPayIncomeContractInstallmentOld.stream().map(PayIncomeContractInstallment::getId).collect(Collectors.toList());
|
||||
payIncomeContractInstallmentService.removeByIds(list);
|
||||
}
|
||||
// 新增
|
||||
if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)){
|
||||
List<PayIncomeContractInstallment> finalListPayIncomeContractInstallment = listPayIncomeContractInstallment;
|
||||
listPayIncomeContractInstallment.forEach(p->{
|
||||
p.setContractId(payIncomeContract.getId());
|
||||
msgPayIncomeContractInstallment.append("第").append(finalListPayIncomeContractInstallment.indexOf(p)).append("阶段:").append(ValidUtil.validateAll(p));
|
||||
StringBuilder sb = ValidUtil.validateAll(p);
|
||||
if(!StringUtils.isBlank(sb)){
|
||||
msgPayIncomeContractInstallment.append("第").append(finalListPayIncomeContractInstallment.indexOf(p)).append("阶段:").append(sb);
|
||||
}
|
||||
});
|
||||
payIncomeContractInstallmentService.saveBatch(listPayIncomeContractInstallment);
|
||||
}
|
||||
if(!StringUtils.isBlank(msgPayIncomeContractInstallment)){
|
||||
throw new JeroBootException(msgPayIncomeContractInstallment.toString());
|
||||
}
|
||||
setPayIncomeContract(payIncomeContract);
|
||||
payIncomeContractService.updateById(payIncomeContract);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public List<ProjectOutput> associated(PayIncomeContractAssociatedInput input) {
|
||||
if(StringUtils.isBlank(input.getAssociated())){
|
||||
throw new JeroBootException("关联项目不能为空!");
|
||||
}
|
||||
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = JSONArray.parseArray(input.getAssociated(),PayIncomeContractAssociated.class);
|
||||
if(CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
|
||||
throw new JeroBootException("关联项目不能为空!");
|
||||
}
|
||||
List<ProjectOutput> listProjectOutput = new ArrayList<>();
|
||||
listPayIncomeContractAssociated.forEach(p->{
|
||||
ProjectOutput projectOutput = new ProjectOutput();
|
||||
StringBuilder msgPayIncomeContractAssociated = ValidUtil.validateAll(p);
|
||||
if(!StringUtils.isBlank(msgPayIncomeContractAssociated)){
|
||||
throw new JeroBootException(msgPayIncomeContractAssociated.toString());
|
||||
}
|
||||
PayIncomeContract payIncomeContract = payIncomeContractService.getById(p.getContractId());
|
||||
if(Objects.isNull(payIncomeContract)){
|
||||
throw new JeroBootException("合同不存在!");
|
||||
}
|
||||
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getContractId,p.getContractId());
|
||||
queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getProjectId,p.getProjectId());
|
||||
List<PayIncomeContractAssociated> listPayIncomeContractAssociatedNew = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated);
|
||||
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociatedNew)){
|
||||
throw new JeroBootException("项目已被其他合同关联!");
|
||||
}
|
||||
// 查看项目类型
|
||||
switch (String.valueOf(p.getProjectType())){
|
||||
case PayIncomeContractCommon.PROJECT_TYPE1:
|
||||
// 普通项目
|
||||
// 验证项目是否存在
|
||||
PayCommonProject payCommonProject = payCommonProjectService.getById(p.getProjectId());
|
||||
if(Objects.isNull(payCommonProject)){
|
||||
throw new JeroBootException("项目不存在!");
|
||||
}
|
||||
// 合同选择打包,运行年份不是打包企业,添加打包企业
|
||||
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
||||
LambdaUpdateWrapper<PayCommonProject> updatePayCommonProject = new LambdaUpdateWrapper<>();
|
||||
updatePayCommonProject.eq(PayCommonProject::getPack,PayIncomeContractCommon.PACK1);
|
||||
updatePayCommonProject.eq(PayCommonProject::getId,p.getProjectId());
|
||||
payCommonProjectService.update(updatePayCommonProject);
|
||||
// todo 添加打包企业
|
||||
}
|
||||
projectOutput.setProjectId(payCommonProject.getId());
|
||||
projectOutput.setProjectType(PayIncomeContractCommon.PROJECT_TYPE1);
|
||||
projectOutput.setChargeProject(payCommonProject.getChargeProject());
|
||||
projectOutput.setChargeUse(payCommonProject.getChargeUse());
|
||||
projectOutput.setChargeCompanyName(payCommonProject.getChargeCompanyTemporaryName());
|
||||
projectOutput.setContactsName(payCommonProject.getChargeCompanyTemporaryName());
|
||||
projectOutput.setPaidAmount(payCommonProject.getPaidAmount());
|
||||
projectOutput.setReceivableAmount(payCommonProject.getReceivableAmount());
|
||||
break;
|
||||
case PayIncomeContractCommon.PROJECT_TYPE2:
|
||||
// 工作组项目
|
||||
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(p.getProjectId());
|
||||
if(Objects.isNull(payWorkingGroup)){
|
||||
throw new JeroBootException("工作组项目不存在!");
|
||||
}
|
||||
LambdaQueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>();
|
||||
queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getWorkingGroupId,payWorkingGroup.getId());
|
||||
queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getChargeCompanyId,payIncomeContract.getSignedCompanyId());
|
||||
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(queryPayWorkingGroupSubItem);
|
||||
if(CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
|
||||
throw new JeroBootException("工作组成员单位不存在!");
|
||||
}
|
||||
// 更新项目id
|
||||
p.setProjectId(listPayWorkingGroupSubItem.get(0).getId());
|
||||
// 打包,将关联项目设置成打包
|
||||
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
|
||||
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getPack,PayIncomeContractCommon.PACK1);
|
||||
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId,listPayWorkingGroupSubItem.get(0).getId());
|
||||
payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem);
|
||||
projectOutput.setProjectId(listPayWorkingGroupSubItem.get(0).getId());
|
||||
projectOutput.setProjectType(PayIncomeContractCommon.PROJECT_TYPE2);
|
||||
projectOutput.setChargeProject(payWorkingGroup.getWorkingGroupProject());
|
||||
projectOutput.setChargeProject(listPayWorkingGroupSubItem.get(0).getChargeProject());
|
||||
projectOutput.setChargeCompanyName(listPayWorkingGroupSubItem.get(0).getChargeCompanyTemporaryName());
|
||||
projectOutput.setContactsName(listPayWorkingGroupSubItem.get(0).getChargeCompanyTemporaryName());
|
||||
projectOutput.setPaidAmount(listPayWorkingGroupSubItem.get(0).getPaidAmount());
|
||||
projectOutput.setReceivableAmount(listPayWorkingGroupSubItem.get(0).getReceivableAmount());
|
||||
break;
|
||||
case PayIncomeContractCommon.PROJECT_TYPE3:
|
||||
// todo 会议项目
|
||||
break;
|
||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||
// todo 会员项目
|
||||
break;
|
||||
default:break;
|
||||
}
|
||||
listProjectOutput.add(projectOutput);
|
||||
payIncomeContractAssociatedService.save(p);
|
||||
});
|
||||
return listProjectOutput;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void cancelAssociated(PayIncomeContractAssociated payIncomeContractAssociated) {
|
||||
PayIncomeContract payIncomeContract = payIncomeContractService.getById(payIncomeContractAssociated.getContractId());
|
||||
if(Objects.isNull(payIncomeContract)){
|
||||
throw new JeroBootException("合同不存在!");
|
||||
}
|
||||
// 查看项目类型
|
||||
switch (String.valueOf(payIncomeContractAssociated.getProjectType())){
|
||||
case PayIncomeContractCommon.PROJECT_TYPE1:
|
||||
// 普通项目
|
||||
// 验证项目是否存在
|
||||
PayCommonProject payCommonProject = payCommonProjectService.getById(payIncomeContractAssociated.getProjectId());
|
||||
if(Objects.isNull(payCommonProject)){
|
||||
throw new JeroBootException("项目不存在!");
|
||||
}
|
||||
// 将关联项目取消打包
|
||||
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
||||
LambdaUpdateWrapper<PayCommonProject> updatePayCommonProject = new LambdaUpdateWrapper<>();
|
||||
updatePayCommonProject.eq(PayCommonProject::getPack,PayIncomeContractCommon.PACK0);
|
||||
updatePayCommonProject.eq(PayCommonProject::getId,payIncomeContractAssociated.getProjectId());
|
||||
payCommonProjectService.update(updatePayCommonProject);
|
||||
}
|
||||
break;
|
||||
case PayIncomeContractCommon.PROJECT_TYPE2:
|
||||
// 工作组项目
|
||||
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payIncomeContractAssociated.getProjectId());
|
||||
if(Objects.isNull(payWorkingGroup)){
|
||||
throw new JeroBootException("工作组项目不存在!");
|
||||
}
|
||||
LambdaQueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>();
|
||||
queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getWorkingGroupId,payWorkingGroup.getId());
|
||||
queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getChargeCompanyId,payIncomeContract.getSignedCompanyId());
|
||||
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(queryPayWorkingGroupSubItem);
|
||||
if(CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
|
||||
throw new JeroBootException("工作组成员单位不存在!");
|
||||
}
|
||||
// 更新项目id
|
||||
payIncomeContractAssociated.setProjectId(listPayWorkingGroupSubItem.get(0).getId());
|
||||
// 将关联项目取消打包
|
||||
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
|
||||
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getPack,PayIncomeContractCommon.PACK0);
|
||||
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId,listPayWorkingGroupSubItem.get(0).getId());
|
||||
payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem);
|
||||
break;
|
||||
case PayIncomeContractCommon.PROJECT_TYPE3:
|
||||
// todo 会议项目
|
||||
break;
|
||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||
// todo 会员项目
|
||||
break;
|
||||
default:break;
|
||||
}
|
||||
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void submitAudit(PayIncomeContract payIncomeContract) {
|
||||
StringBuilder msgPayIncomeContractAudit = ValidUtil.validateAll(payIncomeContract);
|
||||
if(!StringUtils.isBlank(msgPayIncomeContractAudit)){
|
||||
throw new JeroBootException(msgPayIncomeContractAudit.toString());
|
||||
}
|
||||
if(StringUtils.isBlank(payIncomeContract.getId())){
|
||||
throw new JeroBootException("合同id不能为空!");
|
||||
}
|
||||
PayIncomeContract payIncomeContractNew = payIncomeContractService.getById(payIncomeContract.getId());
|
||||
if(Objects.isNull(payIncomeContractNew)){
|
||||
throw new JeroBootException("合同不存在!");
|
||||
}
|
||||
LambdaUpdateWrapper<PayIncomeContract> updatePayIncomeContract = new LambdaUpdateWrapper<>();
|
||||
updatePayIncomeContract.eq(PayIncomeContract::getId,payIncomeContract.getId());
|
||||
updatePayIncomeContract.eq(PayIncomeContract::getStatus,PayIncomeContractCommon.STATUS3);
|
||||
payIncomeContractService.update(updatePayIncomeContract);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description 插入企业信息,联系人信息到临时表,更新项目记录
|
||||
* @Author lqt
|
||||
* @Date 2021/8/31
|
||||
* @Param payCommonProject
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
private void setPayIncomeContract(PayIncomeContract payIncomeContract){
|
||||
// 企业
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payIncomeContract.getSignedCompanyId());
|
||||
if(Objects.isNull(chargeCompanyName)){
|
||||
throw new JeroBootException("企业名称为空!");
|
||||
}
|
||||
// 联系人
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payIncomeContract.getSignedContactsId());
|
||||
if(Objects.isNull(contactsName)){
|
||||
throw new JeroBootException("联系人名称为空!");
|
||||
}
|
||||
// 负责人名称
|
||||
SysUser principalName = sysUserService.getById(payIncomeContract.getPrincipalId());
|
||||
if(Objects.isNull(principalName)){
|
||||
throw new JeroBootException("负责人名称为空!");
|
||||
}
|
||||
payIncomeContract.setPrincipalId(principalName.getId());
|
||||
payIncomeContract.setPrincipalName(principalName.getRealname());
|
||||
payIncomeContract.setSignedContactsTemporaryId(contactsName.getId());
|
||||
payIncomeContract.setSignedContactsTemporaryName(contactsName.getName());
|
||||
payIncomeContract.setSignedCompanyTemporaryId(chargeCompanyName.getId());
|
||||
payIncomeContract.setSignedCompanyTemporaryName(chargeCompanyName.getCompanyName());
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void updateAudit(PayIncomeContractAudit payIncomeContractAudit) {
|
||||
PayIncomeContract payIncomeContractStatus = payIncomeContractService.getById(payIncomeContractAudit.getContractId());
|
||||
if(Objects.isNull(payIncomeContractStatus)){
|
||||
throw new JeroBootException("收入合同不存在!");
|
||||
}
|
||||
// 校验合同状态是否为待审核
|
||||
if(!Objects.equals(payIncomeContractStatus.getStatus(),PayIncomeContractCommon.STATUS2)){
|
||||
throw new JeroBootException("收入合同不可审核!");
|
||||
}
|
||||
if(Objects.isNull(payIncomeContractAudit.getContractStatus()) ||
|
||||
(!Objects.equals(payIncomeContractAudit.getContractStatus(),PayIncomeContractCommon.STATUS3)
|
||||
&& !Objects.equals(payIncomeContractAudit.getContractStatus(),PayIncomeContractCommon.STATUS4))){
|
||||
throw new JeroBootException("收入合同审核状态不正确!");
|
||||
}
|
||||
if(Objects.equals(payIncomeContractAudit.getContractStatus(),PayIncomeContractCommon.STATUS4)
|
||||
&& StringUtils.isBlank(payIncomeContractAudit.getExplainRemarks())){
|
||||
throw new JeroBootException("请输入拒绝说明!");
|
||||
}
|
||||
LambdaUpdateWrapper<PayIncomeContract> update = new LambdaUpdateWrapper();
|
||||
update.eq(PayIncomeContract::getId,payIncomeContractAudit.getContractId());
|
||||
update.eq(PayIncomeContract::getStatus, payIncomeContractAudit.getContractStatus());
|
||||
payIncomeContractService.update(update);
|
||||
// 添加审核记录
|
||||
payIncomeContractAuditService.save(payIncomeContractAudit);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void updateArchive(String id) {
|
||||
PayIncomeContract payIncomeContractStatus = payIncomeContractService.getById(id);
|
||||
if(Objects.isNull(payIncomeContractStatus)){
|
||||
throw new JeroBootException("收入合同不存在!");
|
||||
}
|
||||
// 校验合同状态是否为已通过
|
||||
if(!Objects.equals(payIncomeContractStatus.getStatus(),PayIncomeContractCommon.STATUS3)){
|
||||
throw new JeroBootException("收入合同不可归档!");
|
||||
}
|
||||
LambdaUpdateWrapper<PayIncomeContract> update = new LambdaUpdateWrapper();
|
||||
update.eq(PayIncomeContract::getId,id);
|
||||
update.eq(PayIncomeContract::getStatus, PayIncomeContractCommon.STATUS5);
|
||||
payIncomeContractService.update(update);
|
||||
// 添加归档记录
|
||||
PayIncomeContractAudit payIncomeContractAudit = new PayIncomeContractAudit();
|
||||
payIncomeContractAudit.setContractId(id);
|
||||
payIncomeContractAudit.setContractStatus(PayIncomeContractCommon.STATUS5);
|
||||
payIncomeContractAuditService.save(payIncomeContractAudit);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void deletePayIncomeContractInputById(String id) {
|
||||
PayIncomeContract payIncomeContractStatus = payIncomeContractService.getById(id);
|
||||
if(Objects.isNull(payIncomeContractStatus)){
|
||||
throw new JeroBootException("收入合同不存在!");
|
||||
}
|
||||
if(!Objects.equals(payIncomeContractStatus.getStatus(),PayIncomeContractCommon.STATUS1)
|
||||
&& !Objects.equals(payIncomeContractStatus.getStatus(),PayIncomeContractCommon.STATUS4)){
|
||||
throw new JeroBootException("收入合同不可删除!");
|
||||
}
|
||||
payIncomeContractService.removeById(id);
|
||||
LambdaQueryWrapper<PayIncomeContractInstallment> queryPayIncomeContractInstallment = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContractInstallment.eq(PayIncomeContractInstallment::getContractId,id);
|
||||
payIncomeContractInstallmentService.remove(queryPayIncomeContractInstallment);
|
||||
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getContractId,id);
|
||||
payIncomeContractAssociatedService.remove(queryPayIncomeContractAssociated);
|
||||
LambdaQueryWrapper<PayIncomeContractAudit> queryPayIncomeContractAudit = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContractAudit.eq(PayIncomeContractAudit::getContractId,id);
|
||||
payIncomeContractAuditService.remove(queryPayIncomeContractAudit);
|
||||
LambdaUpdateWrapper<PayIncomeContractInstallment> updatePayIncomeContractInstallment = new LambdaUpdateWrapper<>();
|
||||
updatePayIncomeContractInstallment.eq(PayIncomeContractInstallment::getContractId,id);
|
||||
payIncomeContractInstallmentService.remove(updatePayIncomeContractInstallment);
|
||||
LambdaUpdateWrapper<PayIncomeContractAssociated> updatePayIncomeContractAssociated = new LambdaUpdateWrapper<>();
|
||||
updatePayIncomeContractAssociated.eq(PayIncomeContractAssociated::getContractId,id);
|
||||
payIncomeContractAssociatedService.remove(updatePayIncomeContractAssociated);
|
||||
LambdaUpdateWrapper<PayIncomeContractAudit> updatePayIncomeContractAudit = new LambdaUpdateWrapper<>();
|
||||
updatePayIncomeContractAudit.eq(PayIncomeContractAudit::getContractId,id);
|
||||
payIncomeContractAuditService.remove(updatePayIncomeContractAudit);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void deletePayIncomeContractInputByIds(List<String> ids) {
|
||||
ids.forEach(p->{
|
||||
PayIncomeContract payIncomeContractStatus = payIncomeContractService.getById(p);
|
||||
if(Objects.isNull(payIncomeContractStatus)){
|
||||
throw new JeroBootException("收入合同不存在!");
|
||||
}
|
||||
if(!Objects.equals(payIncomeContractStatus.getStatus(),PayIncomeContractCommon.STATUS1)
|
||||
&& !Objects.equals(payIncomeContractStatus.getStatus(),PayIncomeContractCommon.STATUS4)){
|
||||
throw new JeroBootException("收入合同不可删除!");
|
||||
}
|
||||
});
|
||||
payIncomeContractService.removeByIds(ids);
|
||||
LambdaQueryWrapper<PayIncomeContractInstallment> queryPayIncomeContractInstallment = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContractInstallment.in(PayIncomeContractInstallment::getContractId,ids);
|
||||
payIncomeContractInstallmentService.remove(queryPayIncomeContractInstallment);
|
||||
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContractAssociated.in(PayIncomeContractAssociated::getContractId,ids);
|
||||
payIncomeContractAssociatedService.remove(queryPayIncomeContractAssociated);
|
||||
LambdaQueryWrapper<PayIncomeContractAudit> queryPayIncomeContractAudit = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContractAudit.in(PayIncomeContractAudit::getContractId,ids);
|
||||
payIncomeContractAuditService.remove(queryPayIncomeContractAudit);
|
||||
LambdaUpdateWrapper<PayIncomeContractInstallment> updatePayIncomeContractInstallment = new LambdaUpdateWrapper<>();
|
||||
updatePayIncomeContractInstallment.in(PayIncomeContractInstallment::getContractId,ids);
|
||||
payIncomeContractInstallmentService.remove(updatePayIncomeContractInstallment);
|
||||
LambdaUpdateWrapper<PayIncomeContractAssociated> updatePayIncomeContractAssociated = new LambdaUpdateWrapper<>();
|
||||
updatePayIncomeContractAssociated.in(PayIncomeContractAssociated::getContractId,ids);
|
||||
payIncomeContractAssociatedService.remove(updatePayIncomeContractAssociated);
|
||||
LambdaUpdateWrapper<PayIncomeContractAudit> updatePayIncomeContractAudit = new LambdaUpdateWrapper<>();
|
||||
updatePayIncomeContractAudit.in(PayIncomeContractAudit::getContractId,ids);
|
||||
payIncomeContractAuditService.remove(updatePayIncomeContractAudit);
|
||||
}
|
||||
}
|
||||
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
package com.jero.contract.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class PayIncomeContractAssociatedInput implements Serializable {
|
||||
/**
|
||||
* 关联项目集合
|
||||
*/
|
||||
@ApiModelProperty(value = "关联项目集合")
|
||||
private String associated;
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
package com.jero.contract.vo;
|
||||
|
||||
import com.jero.contract.entity.PayIncomeContract;
|
||||
import com.jero.contract.entity.PayIncomeContractAudit;
|
||||
import com.jero.contract.entity.PayIncomeContractInstallment;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class PayIncomeContractDetailOutput extends PayIncomeContract implements Serializable {
|
||||
/**
|
||||
* 分期记录
|
||||
*/
|
||||
@ApiModelProperty(value = "分期记录集合")
|
||||
private List<PayIncomeContractInstallment> listInstallment;
|
||||
/**
|
||||
* 关联项目
|
||||
*/
|
||||
@ApiModelProperty(value = "关联项目集合")
|
||||
private List<ProjectOutput> listProject;
|
||||
/**
|
||||
* 归档记录
|
||||
*/
|
||||
@ApiModelProperty(value = "归档记录")
|
||||
private List<PayIncomeContractAudit> listArchive;
|
||||
/**
|
||||
* 审核记录
|
||||
*/
|
||||
@ApiModelProperty(value = "审核记录")
|
||||
private List<PayIncomeContractAudit> listAudit;
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package com.jero.contract.vo;
|
||||
|
||||
import com.jero.contract.entity.PayIncomeContract;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class PayIncomeContractOutput extends PayIncomeContract implements Serializable {
|
||||
/**
|
||||
* 来款状态 0:全部 1:到期未付款
|
||||
*/
|
||||
private String chargeStatus;
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
package com.jero.contract.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@ApiModel(value="关联项目", description="关联项目")
|
||||
public class ProjectOutput implements Serializable {
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
@ApiModelProperty(value = "项目id")
|
||||
private String projectId;
|
||||
/**
|
||||
* 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目)
|
||||
*/
|
||||
@ApiModelProperty(value = "项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目)")
|
||||
private String projectType;
|
||||
/**
|
||||
* 来款项目
|
||||
*/
|
||||
@ApiModelProperty(value = "来款项目")
|
||||
private String chargeProject;
|
||||
/**
|
||||
* 来款用途
|
||||
*/
|
||||
@ApiModelProperty(value = "来款用途")
|
||||
private String chargeUse;
|
||||
/**
|
||||
* 来款单位
|
||||
*/
|
||||
@ApiModelProperty(value = "来款单位")
|
||||
private String chargeCompanyName;
|
||||
/**
|
||||
* 应收金额
|
||||
*/
|
||||
@ApiModelProperty(value = "应收金额")
|
||||
private Integer receivableAmount;
|
||||
/**
|
||||
* 实收金额
|
||||
*/
|
||||
@ApiModelProperty(value = "实收金额")
|
||||
private Integer paidAmount;
|
||||
/**
|
||||
* 负责人
|
||||
*/
|
||||
@ApiModelProperty(value = "负责人")
|
||||
private String principalName;
|
||||
/**
|
||||
* 企业联系人
|
||||
*/
|
||||
@ApiModelProperty(value = "企业联系人")
|
||||
private String contactsName;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private String createTime;
|
||||
}
|
||||
+19
@@ -1,15 +1,19 @@
|
||||
package com.jero.project.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.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.service.ProjectDetailService;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.service.IPayCommonProjectService;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@@ -62,6 +66,21 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
|
||||
IPage<PayCommonProject> pageList = payCommonProjectService.queryPageList(page, payCommonProject, paymentDate);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表
|
||||
*
|
||||
* @param payCommonProject 普通项目管理
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value="普通项目管理-列表", notes="普通项目管理-列表")
|
||||
@GetMapping(value = "/listAll")
|
||||
public Result<?> listAll(PayCommonProject payCommonProject,HttpServletRequest req) {
|
||||
QueryWrapper<PayCommonProject> queryWrapper = QueryGenerator.initQueryWrapper(payCommonProject, req.getParameterMap());
|
||||
List<PayCommonProject> list = payCommonProjectService.list(queryWrapper);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 添加
|
||||
|
||||
+28
-10
@@ -110,20 +110,38 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param payWorkingGroup 工作组项目
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "工作组项目-列表查询")
|
||||
@ApiOperation(value="工作组项目-列表查询", notes="工作组项目-列表查询")
|
||||
@GetMapping(value = "/listAll")
|
||||
public Result<?> queryList(PayWorkingGroup payWorkingGroup,HttpServletRequest req) {
|
||||
QueryWrapper<PayWorkingGroup> queryWrapper = QueryGenerator.initQueryWrapper(payWorkingGroup, req.getParameterMap());
|
||||
List<PayWorkingGroup> list = payWorkingGroupService.list(queryWrapper);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
* 根据成员单位列表查询
|
||||
*
|
||||
* @param payWorkingGroup 工作组项目
|
||||
* @param req
|
||||
* @param companyId 成员id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "工作组项目-列表查询")
|
||||
@ApiOperation(value="工作组项目-列表查询", notes="工作组项目-列表查询")
|
||||
@GetMapping(value = "/listAll")
|
||||
public Result<?> queryList(PayWorkingGroup payWorkingGroup,HttpServletRequest req) {
|
||||
QueryWrapper<PayWorkingGroup> queryWrapper = QueryGenerator.initQueryWrapper(payWorkingGroup, req.getParameterMap());
|
||||
List<PayWorkingGroup> list = payWorkingGroupService.list(queryWrapper);
|
||||
return Result.OK(list);
|
||||
@AutoLog(value = "工作组项目-根据成员单位列表查询")
|
||||
@ApiOperation(value="工作组项目-根据成员单位列表查询", notes="工作组项目-根据单位列表查询")
|
||||
@GetMapping(value = "/queryListByCompany")
|
||||
public Result<?> queryListByCompany(@RequestParam(name = "companyId") String companyId,
|
||||
@RequestParam(name = "year",required = false) String year) {
|
||||
if(StringUtils.isBlank(companyId)){
|
||||
return Result.error("企业id不能为空!");
|
||||
}
|
||||
List<PayWorkingGroup> list = payWorkingGroupService.queryListByCompany(companyId,year);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+4
@@ -6,11 +6,15 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.service.ProjectDetailService;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
|
||||
+12
@@ -7,6 +7,8 @@ import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: pay_working_group
|
||||
* @Author: jeecg-boot
|
||||
@@ -24,4 +26,14 @@ public interface PayWorkingGroupMapper extends BaseMapper<PayWorkingGroup> {
|
||||
*/
|
||||
IPage<PayWorkingGroupVO> queryPageList(Page<PayWorkingGroupVO> page, @Param("payWorkingGroup") PayWorkingGroup payWorkingGroup);
|
||||
|
||||
/**
|
||||
* @Description 根据企业查询列表
|
||||
* @Author lqt
|
||||
* @Date 2021/9/5
|
||||
* @Param
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
List<PayWorkingGroup> queryListByCompany(@Param("companyId") String companyId,@Param("year") String year);
|
||||
|
||||
}
|
||||
|
||||
+35
@@ -38,4 +38,39 @@
|
||||
</where>
|
||||
ORDER BY create_time DESC
|
||||
</select>
|
||||
<select id="queryListByCompany" resultType="com.jero.project.entity.PayWorkingGroup">
|
||||
SELECT
|
||||
pwg.id,
|
||||
pwg.working_group_project AS workingGroupProject,
|
||||
pwg.year,
|
||||
pwg.principal_id_a AS principalIdA,
|
||||
pwg.principal_name_a AS principalNameA,
|
||||
pwg.principal_id_b AS principalIdB,
|
||||
pwg.principal_name_b AS principalNameB,
|
||||
pwg.convoke_num AS convokeNum,
|
||||
pwg.operation_cycle AS operationCycle,
|
||||
pwg.year_charge_a AS yearChargeA,
|
||||
pwg.charge_notice_no_a AS chargeNoticeNoA,
|
||||
pwg.charge_notice_a_id AS chargeNoticeAId,
|
||||
pwg.year_charge_b AS yearChargeB,
|
||||
pwg.charge_notice_no_b AS chargeNoticeNoB,
|
||||
pwg.charge_notice_b_id AS chargeNoticeBId,
|
||||
pwg.mission_and_objectives AS missionAndObjectives,
|
||||
pwg.remarks,
|
||||
pwg.create_by AS createBy,
|
||||
pwg.create_time AS createTime,
|
||||
pwg.update_by AS updateBy,
|
||||
pwg.update_time AS updateTime
|
||||
FROM pay_working_group pwg
|
||||
LEFT JOIN pay_working_group_subitem pwgs ON pwg.id = pwgs.working_group_id
|
||||
<where>
|
||||
<if test="companyId != null and companyId != ''">
|
||||
AND pwgs.charge_company_id = #{companyId}
|
||||
</if>
|
||||
<if test="year != null and year != ''">
|
||||
AND pwg.year = #{year}
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY pwg.id ORDER BY pwg.create_time DESC
|
||||
</select>
|
||||
</mapper>
|
||||
+11
@@ -6,6 +6,8 @@ import com.jero.project.vo.PayWorkingGroupVO;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: pay_working_group
|
||||
* @Author: jeecg-boot
|
||||
@@ -22,4 +24,13 @@ public interface IPayWorkingGroupService extends IService<PayWorkingGroup> {
|
||||
* @Exception
|
||||
*/
|
||||
IPage<PayWorkingGroupVO> queryPageList(Page<PayWorkingGroupVO> page, PayWorkingGroup payWorkingGroup);
|
||||
/**
|
||||
* @Description 根据企业查询列表
|
||||
* @Author lqt
|
||||
* @Date 2021/9/5
|
||||
* @Param
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
List<PayWorkingGroup> queryListByCompany(String companyId,String year);
|
||||
}
|
||||
|
||||
+3
-4
@@ -70,7 +70,7 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
log.info("普通项目管理-添加异常",e);
|
||||
throw new JeroBootException("来款项目已存在!");
|
||||
}
|
||||
payCommonProject = setPayCommonProject(payCommonProject);
|
||||
setPayCommonProject(payCommonProject);
|
||||
payCommonProject.setPack(PayProjectCommon.PACKAGING0);
|
||||
payCommonProject.setInAccount(PayProjectCommon.IN_ACCOUNT0);
|
||||
payCommonProject.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
|
||||
@@ -95,7 +95,7 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
throw new JeroBootException("来款项目已存在!");
|
||||
}
|
||||
|
||||
payCommonProject = setPayCommonProject(payCommonProject);
|
||||
setPayCommonProject(payCommonProject);
|
||||
// 先删除临时表企业信息,联系人信息,邮寄联系人信息
|
||||
PayCommonProject payCommonProjectOld = payCommonProjectService.getById(payCommonProject.getId());
|
||||
if(Objects.isNull(payCommonProjectOld)){
|
||||
@@ -114,7 +114,7 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
private PayCommonProject setPayCommonProject(PayCommonProject payCommonProject){
|
||||
private void setPayCommonProject(PayCommonProject payCommonProject){
|
||||
// 企业
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payCommonProject.getChargeCompanyId());
|
||||
if(Objects.isNull(chargeCompanyName)){
|
||||
@@ -143,6 +143,5 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
payCommonProject.setMailContactsTemporaryName(mailContactsName.getName());
|
||||
payCommonProject.setChargeCompanyTemporaryId(chargeCompanyName.getId());
|
||||
payCommonProject.setChargeCompanyTemporaryName(chargeCompanyName.getCompanyName());
|
||||
return payCommonProject;
|
||||
}
|
||||
}
|
||||
|
||||
+6
@@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
@@ -28,4 +29,9 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
|
||||
public IPage<PayWorkingGroupVO> queryPageList(Page<PayWorkingGroupVO> page, PayWorkingGroup payWorkingGroup) {
|
||||
return payWorkingGroupMapper.queryPageList(page,payWorkingGroup);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PayWorkingGroup> queryListByCompany(String companyId, String year) {
|
||||
return payWorkingGroupMapper.queryListByCompany(companyId,year);
|
||||
}
|
||||
}
|
||||
|
||||
+13
-15
@@ -108,15 +108,15 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
LambdaQueryWrapper<PayWorkingGroupSubItem> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(PayWorkingGroupSubItem::getWorkingGroupId,payWorkingGroupSubItem.getWorkingGroupId());
|
||||
queryWrapper.eq(PayWorkingGroupSubItem::getChargeCompanyId,payWorkingGroupSubItem.getChargeCompanyId());
|
||||
queryWrapper.eq(PayWorkingGroupSubItem::getContactsIdOne,payWorkingGroupSubItem.getContactsIdOne());
|
||||
// queryWrapper.eq(PayWorkingGroupSubItem::getContactsIdOne,payWorkingGroupSubItem.getContactsIdOne());
|
||||
PayWorkingGroupSubItem payWorkingGroupSubItemNew = payWorkingGroupSubItemService.getOne(queryWrapper);
|
||||
// 企业和联系人同时存在,则校验不通过
|
||||
if(!Objects.isNull(payWorkingGroupSubItemNew)) {
|
||||
throw new RuntimeException("工作组成员已存在!");
|
||||
throw new RuntimeException("工作组成员单位已存在!");
|
||||
}
|
||||
}catch (Exception e){
|
||||
log.info("工作组成员-添加异常",e);
|
||||
throw new RuntimeException("工作组成员已存在!");
|
||||
throw new RuntimeException("工作组成员单位已存在!");
|
||||
}
|
||||
|
||||
payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem);
|
||||
@@ -155,16 +155,16 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
LambdaQueryWrapper<PayWorkingGroupSubItem> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(PayWorkingGroupSubItem::getWorkingGroupId,payWorkingGroupSubItem.getWorkingGroupId());
|
||||
queryWrapper.eq(PayWorkingGroupSubItem::getChargeCompanyId,payWorkingGroupSubItem.getChargeCompanyId());
|
||||
queryWrapper.eq(PayWorkingGroupSubItem::getContactsIdOne,payWorkingGroupSubItem.getContactsIdOne());
|
||||
// queryWrapper.eq(PayWorkingGroupSubItem::getContactsIdOne,payWorkingGroupSubItem.getContactsIdOne());
|
||||
PayWorkingGroupSubItem payWorkingGroupSubItemNew = payWorkingGroupSubItemService.getOne(queryWrapper);
|
||||
// 来款项目存在,并且编辑id与查询不同,则校验不通过
|
||||
if(!Objects.isNull(payWorkingGroupSubItemNew)
|
||||
&& !Objects.equals(payWorkingGroupSubItemNew.getId(),payWorkingGroupSubItem.getId())) {
|
||||
throw new RuntimeException("工作组成员已存在!");
|
||||
throw new RuntimeException("工作组成员单位已存在!");
|
||||
}
|
||||
}catch (Exception e){
|
||||
log.info("工作组成员-编辑异常",e);
|
||||
throw new RuntimeException("工作组成员已存在!");
|
||||
throw new RuntimeException("工作组成员单位已存在!");
|
||||
}
|
||||
|
||||
payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem);
|
||||
@@ -284,12 +284,11 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
}
|
||||
}
|
||||
}
|
||||
// 校验工作组是否已存在成员
|
||||
if(!StringUtils.isBlank(p.getChargeCompanyId()) && !StringUtils.isBlank(p.getContactsIdOne())){
|
||||
List<PayWorkingGroupSubItem> listDateNew = listData.stream().filter(item->Objects.equals(p.getChargeCompanyId(),item.getChargeCompanyId())
|
||||
&& Objects.equals(p.getContactsIdOne(),item.getContactsIdOne())).collect(Collectors.toList());
|
||||
// 校验工作组成员单位是否已存在
|
||||
if(!StringUtils.isBlank(p.getChargeCompanyId())){
|
||||
List<PayWorkingGroupSubItem> listDateNew = listData.stream().filter(item->Objects.equals(p.getChargeCompanyId(),item.getChargeCompanyId())).collect(Collectors.toList());
|
||||
if(!CollectionUtils.isEmpty(listDateNew)){
|
||||
msg.append("第 ").append(count + 3).append(" 行:工作组成员已存在,请修改。</br>");
|
||||
msg.append("第 ").append(count + 3).append(" 行:工作组成员单位已存在,请修改。</br>");
|
||||
}
|
||||
}
|
||||
// 校验联系人二
|
||||
@@ -340,13 +339,12 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
}
|
||||
}
|
||||
// 校验成员唯一性
|
||||
List<PayWorkingGroupSubItem> listCompanyAndContactsNew = listCompanyAndContacts.stream().filter(item->Objects.equals(p.getChargeCompanyTemporaryName(),item.getChargeCompanyTemporaryName())
|
||||
&& Objects.equals(p.getContactsTemporaryNameOne(),item.getContactsTemporaryNameOne())).collect(Collectors.toList());
|
||||
List<PayWorkingGroupSubItem> listCompanyAndContactsNew = listCompanyAndContacts.stream().filter(item->Objects.equals(p.getChargeCompanyTemporaryName(),item.getChargeCompanyTemporaryName())).collect(Collectors.toList());
|
||||
if(!CollectionUtils.isEmpty(listCompanyAndContactsNew)){
|
||||
msg.append("第 ").append(count + 3).append(" 行:工作组成员重复出现,请修改。</br>");
|
||||
msg.append("第 ").append(count + 3).append(" 行:工作组成员单位重复出现,请修改。</br>");
|
||||
}
|
||||
listCompanyAndContacts.add(p);
|
||||
|
||||
// 校验
|
||||
if(Objects.equals(p.getChargeWay(), PayProjectCommon.CHARGE_WAY2)){
|
||||
if(Objects.isNull(p.getReceivableAmount())){
|
||||
msg.append("第 ").append(count + 3).append(" 行:应收金额不能为空,请修改。</br>");
|
||||
|
||||
Reference in New Issue
Block a user