收入合同添加校验

This commit is contained in:
梁琦涛
2021-09-08 15:20:27 +08:00
parent 1007a43357
commit 05f9858c40
15 changed files with 316 additions and 21 deletions
@@ -20,6 +20,7 @@ import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.entity.PayIncomeContractAssociated; import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.entity.PayIncomeContractAudit; import com.jero.contract.entity.PayIncomeContractAudit;
import com.jero.contract.entity.PayIncomeContractInstallment; import com.jero.contract.entity.PayIncomeContractInstallment;
import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.contract.service.IPayIncomeContractAuditService; import com.jero.contract.service.IPayIncomeContractAuditService;
import com.jero.contract.service.IPayIncomeContractInstallmentService; import com.jero.contract.service.IPayIncomeContractInstallmentService;
import com.jero.contract.service.IPayIncomeContractService; import com.jero.contract.service.IPayIncomeContractService;
@@ -64,6 +65,9 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
private Environment env; private Environment env;
@Autowired @Autowired
private ISysBaseAPI sysBaseAPI; private ISysBaseAPI sysBaseAPI;
@Autowired
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
// todo 缺少定时任务验证分期信息发送短信 // todo 缺少定时任务验证分期信息发送短信
/** /**
@@ -116,6 +120,83 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
PayIncomeContract payIncomeContract = payIncomeContractService.addPayIncomeContractInput(input); PayIncomeContract payIncomeContract = payIncomeContractService.addPayIncomeContractInput(input);
return Result.OK("添加成功!",payIncomeContract); return Result.OK("添加成功!",payIncomeContract);
} }
/**
* 验证合同编号是否存在
*
* @param contractNum 合同编号
* @return
*/
@ApiOperation(value="收入合同-验证合同编号是否存在", notes="收入合同-验证合同编号是否存在")
@GetMapping(value = "/getContractNum")
public Result<?> getContractNum(@RequestParam(name="contractNum") String contractNum) {
if(StringUtils.isBlank(contractNum)){
return Result.error("合同编号不能为空!");
}
try {
LambdaQueryWrapper<PayIncomeContract> query = new LambdaQueryWrapper<>();
query.eq(PayIncomeContract::getContractNum,contractNum);
PayIncomeContract payIncomeContract = payIncomeContractService.getOne(query);
if(!Objects.isNull(payIncomeContract)){
return Result.OK("合同编号存在!");
}
}catch (Exception e){
log.error("普通项目管理-验证合同编号是否存在异常",e);
return Result.OK("合同编号存在!");
}
return Result.error("合同编号不存在!");
}
/**
* 验证合同名称是否存在
*
* @param contractName 合同名称
* @return
*/
@ApiOperation(value="收入合同-验证合同名称是否存在", notes="收入合同-验证合同名称是否存在")
@GetMapping(value = "/getContractName")
public Result<?> getContractName(@RequestParam(name="contractName") String contractName) {
if(StringUtils.isBlank(contractName)){
return Result.error("合同名称不能为空!");
}
try {
LambdaQueryWrapper<PayIncomeContract> query = new LambdaQueryWrapper<>();
query.eq(PayIncomeContract::getContractName,contractName);
PayIncomeContract payIncomeContract = payIncomeContractService.getOne(query);
if(!Objects.isNull(payIncomeContract)){
return Result.OK("合同名称存在!");
}
}catch (Exception e){
log.error("普通项目管理-验证合同编号是否存在异常",e);
return Result.OK("合同名称存在!");
}
return Result.error("合同名称不存在!");
}
/**
* 通过id查询该项目是否关联了合同
*
* @param id 普通项目管理id
* @return
*/
@ApiOperation(value="收入合同-通过id查询该项目是否关联了合同", notes="收入合同-通过id查询该项目是否关联了合同")
@GetMapping(value = "/getContractById")
public Result<?> getContractById(@RequestParam(name="id") String id) {
if(StringUtils.isBlank(id)){
return Result.error("id不能为空!");
}
try {
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
query.eq(PayIncomeContractAssociated::getProjectId,id);
PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(query);
if(Objects.isNull(payIncomeContractAssociated)){
return Result.OK("可以操作!");
}
}catch (Exception e){
log.error("普通项目管理-通过id查询该项目是否关联了合同异常",e);
return Result.error("已关联合同不可操作!");
}
return Result.error("已关联合同不可操作!");
}
/** /**
* 编辑 * 编辑
@@ -143,8 +224,8 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
List<ProjectOutput> list = payIncomeContractService.getAssociated(contractId); List<ProjectOutput> list = payIncomeContractService.getAssociated(contractId);
if(!CollectionUtils.isEmpty(list)){ if(!CollectionUtils.isEmpty(list)){
list.forEach(p->{ list.forEach(p->{
if(!StringUtils.isBlank(p.getChargeUse())){ if(!Objects.isNull(p.getChargeUse())){
p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",p.getChargeUse())); p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",String.valueOf(p.getChargeUse())));
} }
}); });
} }
@@ -318,8 +399,8 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
} }
if(!CollectionUtils.isEmpty(listProject)){ if(!CollectionUtils.isEmpty(listProject)){
listProject.forEach(p->{ listProject.forEach(p->{
if(!StringUtils.isBlank(p.getChargeUse())){ if(!Objects.isNull(p.getChargeUse())){
p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",p.getChargeUse())); p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",String.valueOf(p.getChargeUse())));
} }
}); });
payIncomeContractDetailOutput.setListProject(listProject); payIncomeContractDetailOutput.setListProject(listProject);
@@ -107,7 +107,7 @@
pwgs.id AS projectId, pwgs.id AS projectId,
'2' AS projectType, '2' AS projectType,
pwg.working_group_project AS chargeProject, pwg.working_group_project AS chargeProject,
'' AS chargeUse, pwgs.charge_use AS chargeUse,
pwgs.charge_company_temporary_name AS chargeCompanyName, pwgs.charge_company_temporary_name AS chargeCompanyName,
pwgs.receivable_amount AS receivableAmount, pwgs.receivable_amount AS receivableAmount,
pwgs.paid_amount AS paidAmount, pwgs.paid_amount AS paidAmount,
@@ -122,4 +122,13 @@ public interface IPayIncomeContractService extends IService<PayIncomeContract> {
* @Exception * @Exception
*/ */
void deletePayIncomeContractInputByIds(List<String> ids); void deletePayIncomeContractInputByIds(List<String> ids);
/**
* @Description 校验合同编号是否存在
* @Author lqt
* @Date 2021/9/8
* @Param contractNum 合同编号
* @Return
* @Exception
*/
void checkContractNum(String contractNum);
} }
@@ -269,6 +269,9 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){ if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
LambdaUpdateWrapper<PayCommonProject> updatePayCommonProject = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<PayCommonProject> updatePayCommonProject = new LambdaUpdateWrapper<>();
updatePayCommonProject.eq(PayCommonProject::getId,p.getProjectId()); updatePayCommonProject.eq(PayCommonProject::getId,p.getProjectId());
if(!StringUtils.isBlank(payCommonProject.getContractNum())){
updatePayCommonProject.set(PayCommonProject::getContractNum,payIncomeContract.getContractNum());
}
updatePayCommonProject.set(PayCommonProject::getPack,PayIncomeContractCommon.PACK1); updatePayCommonProject.set(PayCommonProject::getPack,PayIncomeContractCommon.PACK1);
updatePayCommonProject.set(PayCommonProject::getUpdateBy,sysUser.getUsername()); updatePayCommonProject.set(PayCommonProject::getUpdateBy,sysUser.getUsername());
updatePayCommonProject.set(PayCommonProject::getUpdateTime,new Date()); updatePayCommonProject.set(PayCommonProject::getUpdateTime,new Date());
@@ -309,6 +312,9 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getUpdateBy,sysUser.getUsername()); updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getUpdateBy,sysUser.getUsername());
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getUpdateTime,new Date()); updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getUpdateTime,new Date());
if(!StringUtils.isBlank(listPayWorkingGroupSubItem.get(0).getContractNum())){
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getContractNum,payIncomeContract.getContractNum());
}
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getPack,PayIncomeContractCommon.PACK1); updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getPack,PayIncomeContractCommon.PACK1);
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId,listPayWorkingGroupSubItem.get(0).getId()); updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId,listPayWorkingGroupSubItem.get(0).getId());
payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem); payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem);
@@ -600,4 +606,18 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
updatePayIncomeContractAudit.in(PayIncomeContractAudit::getContractId,ids); updatePayIncomeContractAudit.in(PayIncomeContractAudit::getContractId,ids);
payIncomeContractAuditService.remove(updatePayIncomeContractAudit); payIncomeContractAuditService.remove(updatePayIncomeContractAudit);
} }
@Override
public void checkContractNum(String contractNum) {
if(StringUtils.isBlank(contractNum)){
throw new JeroBootException("合同编号不能为空!");
}else{
LambdaQueryWrapper<PayIncomeContract> query = new LambdaQueryWrapper<>();
query.eq(PayIncomeContract::getContractNum,contractNum);
List<PayIncomeContract> payIncomeContract = payIncomeContractService.list(query);
if(CollectionUtils.isEmpty(payIncomeContract)){
throw new JeroBootException("合同编号不存在!");
}
}
}
} }
@@ -39,7 +39,7 @@ public class ProjectOutput implements Serializable {
* 来款用途 * 来款用途
*/ */
@ApiModelProperty(value = "来款用途") @ApiModelProperty(value = "来款用途")
private String chargeUse; private Integer chargeUse;
/** /**
* 来款用途 * 来款用途
*/ */
@@ -79,4 +79,9 @@ public class PayProjectCommon {
* 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目) * 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目)
*/ */
public final static String PROJECT_TYPE5 = "5"; public final static String PROJECT_TYPE5 = "5";
/**
* 来款用途 :1工作组是标准制定工作组经费
*/
public final static Integer CHARGE_USE1 = 1;
} }
@@ -23,6 +23,8 @@ import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.entity.PayIncomeContractAssociated; import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService; import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.contract.service.IPayIncomeContractService; import com.jero.contract.service.IPayIncomeContractService;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import com.jero.pack.service.IPayPackCompanyService; import com.jero.pack.service.IPayPackCompanyService;
import com.jero.project.common.PayProjectCommon; import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayWorkingGroup; import com.jero.project.entity.PayWorkingGroup;
@@ -63,6 +65,8 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
private IPayIncomeContractService payIncomeContractService; private IPayIncomeContractService payIncomeContractService;
@Autowired @Autowired
private IPayPackCompanyService payPackCompanyService; private IPayPackCompanyService payPackCompanyService;
@Autowired
private ISysUserService sysUserService;
/** /**
* 分页列表查询 * 分页列表查询
* *
@@ -94,19 +98,41 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
* *
* @param payCommonProject 普通项目管理 * @param payCommonProject 普通项目管理
* @param contractId 合同id * @param contractId 合同id
* @param departId 科室id
* @return * @return
*/ */
@ApiOperation(value="普通项目管理-列表", notes="普通项目管理-列表") @ApiOperation(value="普通项目管理-列表", notes="普通项目管理-列表")
@GetMapping(value = "/listAll") @GetMapping(value = "/listAll")
public Result<?> listAll(PayCommonProject payCommonProject,String contractId,HttpServletRequest req) { public Result<?> listAll(PayCommonProject payCommonProject,String departId, String contractId,HttpServletRequest req) {
if(StringUtils.isBlank(payCommonProject.getChargeCompanyId())){
return Result.error("企业id不能为空!");
}
PayIncomeContract payIncomeContract = payIncomeContractService.getById(contractId); PayIncomeContract payIncomeContract = payIncomeContractService.getById(contractId);
if(Objects.isNull(payIncomeContract)){ if(Objects.isNull(payIncomeContract)){
return Result.error("合同不存在!"); return Result.error("合同不存在!");
} }
QueryWrapper<PayCommonProject> queryWrapper = QueryGenerator.initQueryWrapper(payCommonProject, req.getParameterMap());
LambdaQueryWrapper<PayCommonProject> queryWrapper = new LambdaQueryWrapper<>();
if(StringUtils.isBlank(payCommonProject.getChargeCompanyId())){
return Result.error("企业id不能为空!");
}else{
queryWrapper.eq(PayCommonProject::getChargeCompanyId,payCommonProject.getChargeCompanyId());
}
// 负责人不为空
if(!StringUtils.isBlank(payCommonProject.getPrincipalId())){
queryWrapper.eq(PayCommonProject::getPrincipalId,payCommonProject.getPrincipalId());
}else{
// 科室不为空&&负责人为空,查询科室下的所有负责人
if(!StringUtils.isBlank(departId)){
LambdaQueryWrapper<SysUser> queryUserWrapper = new LambdaQueryWrapper<>();
queryUserWrapper.eq(SysUser::getDepartIds,departId);
List<SysUser> pageList = sysUserService.list(queryUserWrapper);
if(!CollectionUtils.isEmpty(pageList)){
List<String> listUserId = pageList.stream().map(SysUser::getId).collect(Collectors.toList());
queryWrapper.in(PayCommonProject::getPrincipalId,listUserId);
}
}
}
if(!StringUtils.isBlank(payCommonProject.getYear())){
queryWrapper.eq(PayCommonProject::getYear,payCommonProject.getYear());
}
List<PayCommonProject> list = payCommonProjectService.list(queryWrapper); List<PayCommonProject> list = payCommonProjectService.list(queryWrapper);
List<PayCommonProjectOutput> listNew = new ArrayList<>(); List<PayCommonProjectOutput> listNew = new ArrayList<>();
List<PayCommonProjectOutput> listPayCommonProjectOutputNew = new ArrayList<>(); List<PayCommonProjectOutput> listPayCommonProjectOutputNew = new ArrayList<>();
@@ -132,8 +158,8 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
if(!CollectionUtils.isEmpty(finalListProjectId) && finalListProjectId.contains(p.getId())){ if(!CollectionUtils.isEmpty(finalListProjectId) && finalListProjectId.contains(p.getId())){
return; return;
} }
if(!StringUtils.isBlank(p.getChargeUse())){ if(!Objects.isNull(p.getChargeUse())){
p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",p.getChargeUse())); p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",String.valueOf(p.getChargeUse())));
} }
listPayCommonProjectOutputNew.add(p); listPayCommonProjectOutputNew.add(p);
}); });
@@ -189,6 +215,17 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
if(StringUtils.isBlank(id)){ if(StringUtils.isBlank(id)){
return Result.error("id不能为空!"); return Result.error("id不能为空!");
} }
try {
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
query.eq(PayIncomeContractAssociated::getProjectId,id);
PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(query);
if(!Objects.isNull(payIncomeContractAssociated)){
return Result.error("已关联合同不可删除!");
}
}catch (Exception e){
log.error("普通项目管理-批量删除异常",e);
return Result.error("已关联合同不可删除!");
}
payCommonProjectService.removeById(id); payCommonProjectService.removeById(id);
return Result.OK("删除成功!"); return Result.OK("删除成功!");
} }
@@ -211,6 +248,12 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
return Result.error("id不能为空!"); return Result.error("id不能为空!");
} }
} }
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
query.in(PayIncomeContractAssociated::getProjectId,Arrays.asList(ids.split(",")));
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(query);
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
return Result.error("已关联合同不可删除!");
}
this.payCommonProjectService.removeByIds(Arrays.asList(ids.split(","))); this.payCommonProjectService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!"); return Result.OK("批量删除成功!");
} }
@@ -15,6 +15,8 @@ import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.ValidUtil; import com.jero.common.util.ValidUtil;
import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.project.common.PayProjectCommon; import com.jero.project.common.PayProjectCommon;
import com.jero.project.vo.PayWorkingGroupPayment; import com.jero.project.vo.PayWorkingGroupPayment;
import com.jero.project.vo.PayWorkingGroupVO; import com.jero.project.vo.PayWorkingGroupVO;
@@ -278,7 +280,7 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
if(StringUtils.isBlank(id)){ if(StringUtils.isBlank(id)){
return Result.error("id不能为空!"); return Result.error("id不能为空!");
} }
payWorkingGroupService.removeById(id); payWorkingGroupService.deleteById(id);
return Result.OK("删除成功!"); return Result.OK("删除成功!");
} }
@@ -300,7 +302,7 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
return Result.error("id不能为空!"); return Result.error("id不能为空!");
} }
} }
this.payWorkingGroupService.removeByIds(Arrays.asList(ids.split(","))); payWorkingGroupService.deleteByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!"); return Result.OK("批量删除成功!");
} }
@@ -13,6 +13,8 @@ import com.jero.common.service.ProjectDetailService;
import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.ValidUtil; import com.jero.common.util.ValidUtil;
import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.project.common.PayProjectCommon; import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayWorkingGroup; import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.entity.PayWorkingGroupSubItem; import com.jero.project.entity.PayWorkingGroupSubItem;
@@ -43,6 +45,8 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService; private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
@Autowired @Autowired
private ProjectDetailService projectDetailService; private ProjectDetailService projectDetailService;
@Autowired
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
/** /**
* 分页列表查询 * 分页列表查询
@@ -116,6 +120,17 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
if(StringUtils.isBlank(id)){ if(StringUtils.isBlank(id)){
return Result.error("id不能为空!"); return Result.error("id不能为空!");
} }
try {
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
query.eq(PayIncomeContractAssociated::getProjectId,id);
PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(query);
if(!Objects.isNull(payIncomeContractAssociated)){
return Result.error("已关联合同不可删除!");
}
}catch (Exception e){
log.error("普通项目管理-批量删除异常",e);
return Result.error("已关联合同不可删除!");
}
payWorkingGroupSubItemService.removeById(id); payWorkingGroupSubItemService.removeById(id);
return Result.OK("删除成功!"); return Result.OK("删除成功!");
} }
@@ -138,7 +153,13 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
return Result.error("id不能为空!"); return Result.error("id不能为空!");
} }
} }
this.payWorkingGroupSubItemService.removeByIds(Arrays.asList(ids.split(","))); LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
query.in(PayIncomeContractAssociated::getProjectId,Arrays.asList(ids.split(",")));
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(query);
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
return Result.error("已关联合同不可删除!");
}
payWorkingGroupSubItemService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!"); return Result.OK("批量删除成功!");
} }
/** /**
@@ -78,7 +78,7 @@ public class PayCommonProject implements Serializable {
@ApiModelProperty(value = "来款用途(字典表)") @ApiModelProperty(value = "来款用途(字典表)")
@Dict(dicCode = "payment_charge_use") @Dict(dicCode = "payment_charge_use")
@NotNull(message = "来款用途不能为空!") @NotNull(message = "来款用途不能为空!")
private String chargeUse; private Integer chargeUse;
/**联系人id*/ /**联系人id*/
@Excel(name = "联系人id", width = 15) @Excel(name = "联系人id", width = 15)
@ApiModelProperty(value = "联系人id") @ApiModelProperty(value = "联系人id")
@@ -99,6 +99,11 @@ public class PayWorkingGroupSubItem implements Serializable {
@ApiModelProperty(value = "实收金额(元)") @ApiModelProperty(value = "实收金额(元)")
@Max(value = 999999999,message = "实收金额(元)格式错误") @Max(value = 999999999,message = "实收金额(元)格式错误")
private java.lang.Integer paidAmount; private java.lang.Integer paidAmount;
/**来款用途(字典表)*/
@Excel(name = "来款用途(字典表)", width = 15)
@ApiModelProperty(value = "来款用途(字典表)")
@Dict(dicCode = "payment_charge_use")
private Integer chargeUse;
/**邮寄联系人id*/ /**邮寄联系人id*/
@ApiModelProperty(value = "邮寄联系人id") @ApiModelProperty(value = "邮寄联系人id")
@Size(max = 32,message = "邮寄联系人id长度不能大于32个字符") @Size(max = 32,message = "邮寄联系人id长度不能大于32个字符")
@@ -42,4 +42,22 @@ public interface IPayWorkingGroupService extends IService<PayWorkingGroup> {
* @Exception * @Exception
*/ */
List<PayWorkingGroup> queryListByNotCompany(String companyId); List<PayWorkingGroup> queryListByNotCompany(String companyId);
/**
* @Description 根据id删除
* @Author lqt
* @Date 2021/9/8
* @Param
* @Return
* @Exception
*/
void deleteById(String id);
/**
* @Description 批量删除
* @Author lqt
* @Date 2021/9/8
* @Param
* @Return
* @Exception
*/
void deleteByIds(List<String> ids);
} }
@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result; import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.common.service.ProjectDetailService; import com.jero.common.service.ProjectDetailService;
import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.service.IPayIncomeContractService;
import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.ISysUserService;
import com.jero.project.common.PayProjectCommon; import com.jero.project.common.PayProjectCommon;
@@ -17,6 +19,8 @@ import com.jero.temporary.entity.PayContactsManagementTemporary;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService; import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
import com.jero.temporary.service.IPayContactsManagementTemporaryService; import com.jero.temporary.service.IPayContactsManagementTemporaryService;
import lombok.extern.slf4j.Slf4j; 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -25,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
import java.util.Objects; import java.util.Objects;
/** /**
@@ -48,6 +53,8 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService; private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
@Autowired @Autowired
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService; private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
@Autowired
private IPayIncomeContractService payIncomeContractService;
@Override @Override
@@ -70,6 +77,10 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
log.info("普通项目管理-添加异常",e); log.info("普通项目管理-添加异常",e);
throw new JeroBootException("来款项目已存在!"); throw new JeroBootException("来款项目已存在!");
} }
// 来款方式为合同,校验合同编号
if(Objects.equals(payCommonProject.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
payIncomeContractService.checkContractNum(payCommonProject.getContractNum());
}
setPayCommonProject(payCommonProject); setPayCommonProject(payCommonProject);
payCommonProject.setPack(PayProjectCommon.PACKAGING0); payCommonProject.setPack(PayProjectCommon.PACKAGING0);
payCommonProject.setInAccount(PayProjectCommon.IN_ACCOUNT0); payCommonProject.setInAccount(PayProjectCommon.IN_ACCOUNT0);
@@ -94,7 +105,10 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
log.info("普通项目管理-编辑异常",e); log.info("普通项目管理-编辑异常",e);
throw new JeroBootException("来款项目已存在!"); throw new JeroBootException("来款项目已存在!");
} }
// 来款方式为合同,校验合同编号
if(Objects.equals(payCommonProject.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
payIncomeContractService.checkContractNum(payCommonProject.getContractNum());
}
setPayCommonProject(payCommonProject); setPayCommonProject(payCommonProject);
// 先删除临时表企业信息,联系人信息,邮寄联系人信息 // 先删除临时表企业信息,联系人信息,邮寄联系人信息
PayCommonProject payCommonProjectOld = payCommonProjectService.getById(payCommonProject.getId()); PayCommonProject payCommonProjectOld = payCommonProjectService.getById(payCommonProject.getId());
@@ -1,17 +1,31 @@
package com.jero.project.service.impl; package com.jero.project.service.impl;
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.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException;
import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.modules.system.service.ISysUserService;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.project.vo.PayWorkingGroupVO; import com.jero.project.vo.PayWorkingGroupVO;
import com.jero.project.service.IPayWorkingGroupService; import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.entity.PayWorkingGroup; import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.mapper.PayWorkingGroupMapper; import com.jero.project.mapper.PayWorkingGroupMapper;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
@@ -22,7 +36,12 @@ import java.util.List;
*/ */
@Service @Service
public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMapper, PayWorkingGroup> implements IPayWorkingGroupService { public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMapper, PayWorkingGroup> implements IPayWorkingGroupService {
@Autowired
private IPayWorkingGroupService payWorkingGroupService;
@Autowired
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
@Autowired
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
@Resource @Resource
private PayWorkingGroupMapper payWorkingGroupMapper; private PayWorkingGroupMapper payWorkingGroupMapper;
@Override @Override
@@ -39,4 +58,49 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
public List<PayWorkingGroup> queryListByNotCompany(String companyId) { public List<PayWorkingGroup> queryListByNotCompany(String companyId) {
return payWorkingGroupMapper.queryListByNotCompany(companyId); return payWorkingGroupMapper.queryListByNotCompany(companyId);
} }
@Override
@Transactional
public void deleteById(String id) {
LambdaQueryWrapper<PayWorkingGroupSubItem> query = new LambdaQueryWrapper<>();
query.eq(PayWorkingGroupSubItem::getWorkingGroupId,id);
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(query);
getPayIncomeContractAssociated(listPayWorkingGroupSubItem);
payWorkingGroupService.removeById(id);
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getWorkingGroupId,id);
payWorkingGroupSubItemService.remove(updatePayWorkingGroupSubItem);
}
@Override
@Transactional
public void deleteByIds(List<String> ids) {
LambdaQueryWrapper<PayWorkingGroupSubItem> query = new LambdaQueryWrapper<>();
query.in(PayWorkingGroupSubItem::getWorkingGroupId, ids);
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(query);
getPayIncomeContractAssociated(listPayWorkingGroupSubItem);
payWorkingGroupService.removeByIds(ids);
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
updatePayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getWorkingGroupId,ids);
payWorkingGroupSubItemService.remove(updatePayWorkingGroupSubItem);
}
/**
* @Description 校验是存在关联合同的项目
* @Author lqt
* @Date 2021/9/8
* @Param
* @Return
* @Exception
*/
private void getPayIncomeContractAssociated(List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem){
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
List<String> list = listPayWorkingGroupSubItem.stream().map(PayWorkingGroupSubItem::getId).collect(Collectors.toList());
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
queryPayIncomeContractAssociated.in(PayIncomeContractAssociated::getProjectId,list);
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated);
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
throw new JeroBootException("已关联合同不可删除!");
}
}
}
} }
@@ -10,7 +10,10 @@ import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement; import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService; import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService; import com.jero.company.service.IPayContactsManagementService;
import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.service.IPayIncomeContractService;
import com.jero.project.common.PayProjectCommon; import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroup; import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.service.IPayWorkingGroupService; import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.service.IPayWorkingGroupSubItemService; import com.jero.project.service.IPayWorkingGroupSubItemService;
@@ -68,6 +71,8 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
private IPayWorkingGroupService payWorkingGroupService; private IPayWorkingGroupService payWorkingGroupService;
@Autowired @Autowired
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService; private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
@Autowired
private IPayIncomeContractService payIncomeContractService;
@Override @Override
public void updateBatchSetCharge(SetChargeInput input) { public void updateBatchSetCharge(SetChargeInput input) {
@@ -119,12 +124,16 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
log.info("工作组成员-添加异常",e); log.info("工作组成员-添加异常",e);
throw new JeroBootException("工作组成员单位已存在!"); throw new JeroBootException("工作组成员单位已存在!");
} }
// 来款方式为合同,校验合同编号
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
payIncomeContractService.checkContractNum(payWorkingGroupSubItem.getContractNum());
}
payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem); payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem);
payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING0); payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING0);
payWorkingGroupSubItem.setInAccount(PayProjectCommon.IN_ACCOUNT0); payWorkingGroupSubItem.setInAccount(PayProjectCommon.IN_ACCOUNT0);
payWorkingGroupSubItem.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0); payWorkingGroupSubItem.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
payWorkingGroupSubItem.setMail(PayProjectCommon.MAIL0); payWorkingGroupSubItem.setMail(PayProjectCommon.MAIL0);
payWorkingGroupSubItem.setChargeUse(PayProjectCommon.CHARGE_USE1);
payWorkingGroupSubItemService.save(payWorkingGroupSubItem); payWorkingGroupSubItemService.save(payWorkingGroupSubItem);
} }
@@ -167,8 +176,12 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
log.info("工作组成员-编辑异常",e); log.info("工作组成员-编辑异常",e);
throw new JeroBootException("工作组成员单位已存在!"); throw new JeroBootException("工作组成员单位已存在!");
} }
// 来款方式为合同,校验合同编号
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
payIncomeContractService.checkContractNum(payWorkingGroupSubItem.getContractNum());
}
payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem); payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem);
payWorkingGroupSubItem.setChargeUse(PayProjectCommon.CHARGE_USE1);
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem); payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
} }