diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/AuthenticationUtils.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/AuthenticationUtils.java index e7ef8bbd..d0ac3e59 100644 --- a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/AuthenticationUtils.java +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/AuthenticationUtils.java @@ -96,8 +96,9 @@ public class AuthenticationUtils { public static void checkResult(String response) { JSONObject jsonObject = JSONObject.parseObject(response); String code = jsonObject.getString("code"); + String message = jsonObject.getString("message"); if (!"200".equals(code)){ - throw new JeroBootException("数据同步失败!"); + throw new JeroBootException("数据同步失败!"+message); } } @@ -136,4 +137,21 @@ public class AuthenticationUtils { String post = HttpUtil.post(urlBuilder.toString(), paramMap); checkResult(post); } + + /** + * 调用会员系统get接口 + * @param methodName + */ + public static void get(String methodName, HashMap paramMap) { + Map stringStringMap = encryptByRsaPriKey(); + paramMap.put("pushToken", stringStringMap.get("token")); + paramMap.put("publicKey", stringStringMap.get("publicKey")); + //拼接url路径 + StringBuilder urlBuilder = new StringBuilder(AuthenticationUtils.URL); + urlBuilder.append(methodName); + urlBuilder.append("?"); + paramMap.forEach((k,v) -> urlBuilder.append(k).append("=").append(v).append("&")); + String get = HttpUtil.get(urlBuilder.toString()); + checkResult(get); + } } diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/ValidUtil.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/ValidUtil.java index 6dd11713..b8fae457 100644 --- a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/ValidUtil.java +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/ValidUtil.java @@ -66,6 +66,22 @@ public class ValidUtil { return list; } + /** + * 手动校验@Vaild并抛出异常信息list + * + * @param object 待校验对象 + * @param groups 待校验的组 + * @return errorList + */ + public static List validateReturnListWithNum(Object object, int errorRowNum, Class... groups){ + List list = new ArrayList<>(); + Set> set = validator.validate(object, groups); + for (ConstraintViolation constraintViolation : set) { + list.add("第" + errorRowNum + "行:"+constraintViolation.getMessage()); + } + return list; + } + /** * @Description 校验全部数据格式 * @Author lqt diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectPackServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectPackServiceImpl.java index ce402bec..ce8d186e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectPackServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectPackServiceImpl.java @@ -99,7 +99,7 @@ public class ProjectPackServiceImpl implements ProjectPackService { throw new JeroBootException("企业不匹配!"); } //审核不通过不允许打包 - if (!Objects.equals(payMeetingSituationOld.getCheckResult(), MeetingSubitemCommon.SIGNUP_STATUS_1)) { + if (!Objects.equals(payMeetingSituationOld.getRegisterCheckResult(), MeetingSubitemCommon.SIGNUP_STATUS_1)) { throw new JeroBootException("项目未审核通过!"); } LambdaUpdateWrapper payMeetingSituation = new LambdaUpdateWrapper<>(); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java index 1de119b5..97ad8074 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/SendMessageServiceImpl.java @@ -77,12 +77,14 @@ public class SendMessageServiceImpl implements SendMessageService { if(!Objects.isNull(map)) { // 替换企业端系统url与小程序名称 // todo 替换系统地址,小程序名称 - if(Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG2.getCode()) + if(Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG1.getCode()) + ||Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG2.getCode()) || Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG3.getCode()) || Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG4.getCode()) || Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG6.getCode()) || Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG7.getCode()) - || Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG12.getCode())){ + || Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG12.getCode()) + || Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG13.getCode())){ map.put("systemAddress",env.getProperty("message.systemUrl")); map.put("wxName",env.getProperty("message.wxName")); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java index 5c1d005d..64b89b48 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java @@ -816,6 +816,10 @@ public class PayCompanyManagementController extends JeroController excelData = super.getExcelData(request, PayCompanyManagement.class); + if (excelData.isEmpty()) { + throw new JeroBootException("导入数据为空,请填写数据之后重新导入!"); + } MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map fileMap = multipartRequest.getFileMap(); for (Map.Entry entity : fileMap.entrySet()) { diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java index 0a7f16f4..fa991dde 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java @@ -17,6 +17,7 @@ import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.exception.JeroBootException; import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; +import com.jero.common.system.vo.LoginUser; import com.jero.common.util.ImportExcelUtil; import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; @@ -42,6 +43,7 @@ import com.jero.project.service.IPayWorkingGroupSubItemService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jeecgframework.poi.excel.ExcelImportCheckUtil; import org.jeecgframework.poi.excel.ExcelImportUtil; @@ -201,10 +203,6 @@ public class PayContactsManagementController extends JeroController queryByIdMeeting(@RequestParam(name="id") String id) { - PayContactsManagement payContactsManagement = payContactsManagementService.getById(id); - if(payContactsManagement == null) { - return Result.error("未找到对应数据"); + PayContactsManagement payContactsManagement = payContactsManagementService.getById(id); + if (payContactsManagement == null) { + return Result.error("未找到对应数据"); + } + if (!StringUtils.isBlank(payContactsManagement.getPhone())) { + payContactsManagement.setPhone(PasswordUtil.decrypt(payContactsManagement.getPhone())); + } + if (!StringUtils.isBlank(payContactsManagement.getEmail())) { + payContactsManagement.setEmail(PasswordUtil.decrypt(payContactsManagement.getEmail())); + } + return Result.OK(payContactsManagement); + } + + + /** + * 企业端通过id查询联系人信息 + * + * @param id + * @return + */ + @ApiOperation(value="企业端-通过id查询联系人信息", notes="企业端-通过id查询联系人信息") + @GetMapping(value = "/queryByIdGetContract") + public Result queryByIdGetContract(@RequestParam(name="id") String id) { + LoginUser sysUser =(LoginUser) SecurityUtils.getSubject().getPrincipal(); + if(sysUser.getId().equals(id)) { + PayContactsManagement payContactsManagement = payContactsManagementService.getById(id); + if (payContactsManagement == null) { + return Result.error("未找到对应数据"); + } + if (!StringUtils.isBlank(payContactsManagement.getPhone())) { + payContactsManagement.setPhone(PasswordUtil.decrypt(payContactsManagement.getPhone())); + } + if (!StringUtils.isBlank(payContactsManagement.getEmail())) { + payContactsManagement.setEmail(PasswordUtil.decrypt(payContactsManagement.getEmail())); + } + return Result.OK(payContactsManagement); + }else{ + return Result.OK("权限异常"); } - if (!StringUtils.isBlank(payContactsManagement.getPhone())){ - payContactsManagement.setPhone(PasswordUtil.decrypt(payContactsManagement.getPhone())); - } - if (!StringUtils.isBlank(payContactsManagement.getEmail())){ - payContactsManagement.setEmail(PasswordUtil.decrypt(payContactsManagement.getEmail())); - } - return Result.OK(payContactsManagement); } /** @@ -799,6 +825,10 @@ public class PayContactsManagementController extends JeroController importExcel(HttpServletRequest request, HttpServletResponse response) { + List excelData = super.getExcelData(request, PayContactsManagement.class); + if (excelData.isEmpty()) { + throw new JeroBootException("导入数据为空,请填写数据之后重新导入!"); + } MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map fileMap = multipartRequest.getFileMap(); for (Map.Entry entity : fileMap.entrySet()) { diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java index 7ab8f04d..4dd653b9 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java @@ -585,6 +585,10 @@ public class PayIncomeContractController extends JeroController pageList = payIncomeContractService.queryList( payIncomeContract,chargeStatus,projectName,startTime,endTime); List exportList = null; @@ -596,6 +600,7 @@ public class PayIncomeContractController extends JeroController> list = new ArrayList<>(); // excel字段长度 Map mapCount = new HashMap<>(); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PaySpendingContractController.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PaySpendingContractController.java index b3a8c737..04225069 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PaySpendingContractController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PaySpendingContractController.java @@ -3,11 +3,9 @@ package com.jero.contract.controller; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; - import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; - import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -23,7 +21,6 @@ import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.DateUtils; import com.jero.common.util.oConvertUtils; -import com.jero.contract.common.PayIncomeContractCommon; import com.jero.contract.entity.*; import com.jero.contract.service.IPaySpendingContractAuditService; import com.jero.contract.service.IPaySpendingContractInstallmentService; @@ -322,8 +319,11 @@ public class PaySpendingContractController extends JeroController pageList = paySpendingContractService.queryList( paySpendingContract.getContractNum(), + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if(!sysUser.getRoleCode().contains(RoleCommon.CWRY)){ + paySpendingContract.setPrincipalId(sysUser.getId()); + } + List pageList = paySpendingContractService.queryList(paySpendingContract.getPrincipalId(), paySpendingContract.getContractNum(), paySpendingContract.getContractName(),startTime,endTime); List exportList = null; @@ -352,7 +352,6 @@ public class PaySpendingContractController extends JeroController listSub = listPaySpendingContractInstallment.stream().filter(item-> Objects.equals(p.getId(),item.getContractId())).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(listSub)){ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PaySpendingContract.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PaySpendingContract.java index c928d672..942a989b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PaySpendingContract.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PaySpendingContract.java @@ -134,25 +134,25 @@ public class PaySpendingContract implements Serializable { @ApiModelProperty(value = "合同约定主要时点") @Size(max = 200, message = "合同约定主要时点不能大于200个字符") private String contractTimePoints; - /**应付金额*/ - @Excel(name = "应付金额", width = 15) - @ApiModelProperty(value = "应付金额") - @NotNull(message = "应付金额不能为空") + /**应收金额*/ + @Excel(name = "应收金额", width = 15) + @ApiModelProperty(value = "应收金额") + @NotNull(message = "应收金额不能为空") @JsonFormat(shape = JsonFormat.Shape.STRING) - @DecimalMax(value = "9999999999.99",message = "应付金额格式错误") + @DecimalMax(value = "9999999999.99",message = "应收金额格式错误") private BigDecimal accountsReceivableAmount; - /**已付金额*/ - @Excel(name = "已付金额", width = 15) - @ApiModelProperty(value = "已付金额") - @NotNull(message = "已付金额不能为空") + /**已收金额*/ + @Excel(name = "已收金额", width = 15) + @ApiModelProperty(value = "已收金额") + @NotNull(message = "已收金额不能为空") @JsonFormat(shape = JsonFormat.Shape.STRING) - @DecimalMax(value = "9999999999.99",message = "已付金额格式错误") + @DecimalMax(value = "9999999999.99",message = "已收金额格式错误") private BigDecimal amountReceived; - /**未付金额*/ - @Excel(name = "未付金额", width = 15) - @ApiModelProperty(value = "未付金额") + /**未收金额*/ + @Excel(name = "未收金额", width = 15) + @ApiModelProperty(value = "未收金额") @JsonFormat(shape = JsonFormat.Shape.STRING) - @DecimalMax(value = "9999999999.99",message = "未付金额格式错误") + @DecimalMax(value = "9999999999.99",message = "未收金额格式错误") private BigDecimal outstandingAmount; /**账款状态(1:未支付,2:部分支付,3:已付全款)*/ @Excel(name = "账款状态(1:未支付,2:部分支付,3:已付全款)", width = 15) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PaySpendingContractInstallment.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PaySpendingContractInstallment.java index e3ec4ae0..eb3d8d60 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PaySpendingContractInstallment.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PaySpendingContractInstallment.java @@ -47,30 +47,30 @@ public class PaySpendingContractInstallment implements Serializable { @NotEmpty(message = "阶段不能为空") @Size(max = 50, message = "阶段长度不能大于50个字符") private String phaseName; - /**应付金额*/ - @Excel(name = "阶段应付金额", width = 15) - @ApiModelProperty(value = "应付金额") - @NotNull(message = "阶段应付不能为空") - @DecimalMax(value = "9999999999.99",message = "阶段应付格式错误") + /**应收金额*/ + @Excel(name = "阶段应收金额", width = 15) + @ApiModelProperty(value = "应收金额") + @NotNull(message = "阶段应收不能为空") + @DecimalMax(value = "9999999999.99",message = "阶段应收格式错误") @JsonFormat(shape = JsonFormat.Shape.STRING) private BigDecimal accountsReceivableAmount; - /**应付时间*/ - @Excel(name = "阶段应付时间", width = 15, format = "yyyy-MM-dd") + /**应收时间*/ + @Excel(name = "阶段应收时间", width = 15, format = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") - @ApiModelProperty(value = "应付时间") + @ApiModelProperty(value = "应收时间") private Date accountsReceivableTime; - /**实付金额*/ - @Excel(name = "阶段实付金额", width = 15) - @ApiModelProperty(value = "阶段实付金额") - @DecimalMax(value = "9999999999.99",message = "阶段实付格式错误") + /**实收金额*/ + @Excel(name = "阶段实收金额", width = 15) + @ApiModelProperty(value = "阶段实收金额") + @DecimalMax(value = "9999999999.99",message = "阶段实收格式错误") @JsonFormat(shape = JsonFormat.Shape.STRING) private BigDecimal paidAmount; - /**实付时间*/ - @Excel(name = "实付时间", width = 15, format = "yyyy-MM-dd") + /**实收时间*/ + @Excel(name = "实收时间", width = 15, format = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") - @ApiModelProperty(value = "实付时间") + @ApiModelProperty(value = "实收时间") private Date paidTime; /**创建人*/ @ApiModelProperty(value = "创建人") diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/PaySpendingContractMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/PaySpendingContractMapper.java index 0a760973..0eadf172 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/PaySpendingContractMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/PaySpendingContractMapper.java @@ -36,7 +36,7 @@ public interface PaySpendingContractMapper extends BaseMapper queryList(@Param("contractNum") String contractNum, + List queryList(@Param("principalId") String principalId, @Param("contractNum") String contractNum, @Param("contractName") String contractName,@Param("startTime") String startTime, @Param("endTime") String endTime); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml index a56aac43..ebb12161 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml @@ -293,6 +293,9 @@ AND aa.associatedProject LIKE CONCAT('%',CONCAT(#{projectName},'%')) + + AND aa.principalId = #{payIncomeContract.principalId} + ORDER BY aa.chargeStatus desc,aa.statusOrder desc, aa.createTime desc diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PaySpendingContractMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PaySpendingContractMapper.xml index 25d13871..ae85f392 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PaySpendingContractMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PaySpendingContractMapper.xml @@ -117,6 +117,9 @@ AND DATE_FORMAT(create_time,'%Y-%m-%d') <= #{endTime} + + AND principal_id = #{principalId} + ORDER BY chargeStatus desc,create_time desc diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PaySpendingContractServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PaySpendingContractServiceImpl.java index d2d0af36..b574b947 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PaySpendingContractServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PaySpendingContractServiceImpl.java @@ -344,9 +344,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl queryList(String contractNum, String contractName, String startTime, String endTime) { - return paySpendingContractMapper.queryList( contractNum, contractName, startTime, endTime); + public List queryList(String principalId,String contractNum, String contractName, String startTime, String endTime) { + return paySpendingContractMapper.queryList(principalId, contractNum, contractName, startTime, endTime); } @Override diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/data/controller/PayCaseCommitteeController.java b/jero-boot-incoming-payment/src/main/java/com/jero/data/controller/PayCaseCommitteeController.java index 23cae957..45d50dc8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/data/controller/PayCaseCommitteeController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/data/controller/PayCaseCommitteeController.java @@ -132,7 +132,7 @@ public class PayCaseCommitteeController extends JeroController queryPayMeetingSysUser = new LambdaQueryWrapper<>(); + queryPayMeetingSysUser.eq(SysUser::getId,payMeeting.getDirectorId()); + List sysPayMeetingUser = sysUserService.list(queryPayMeetingSysUser); //逗号拼接邮寄信息 if(i==0){ projectName.append(payMeeting.getMeetingName()); chargeCompanyName.append(meeting.getCompanyName()); - principalName.append(payMeeting.getDirectorName()); + if(!CollectionUtils.isEmpty(sysPayMeetingUser)) { + principalName.append(sysPayMeetingUser.get(0).getRealname()); + } principalId.append(payMeeting.getDirectorId()); }else{ projectName.append(",").append(payMeeting.getMeetingName()); chargeCompanyName.append(",").append(meeting.getCompanyName()); - principalName.append(",").append(payMeeting.getDirectorName()); + if(!CollectionUtils.isEmpty(sysPayMeetingUser)) { + principalName.append(",").append(sysPayMeetingUser.get(0).getRealname()); + } principalId.append(",").append(payMeeting.getDirectorId()); } break; @@ -572,16 +583,23 @@ public class PayMailBillServiceImpl extends ServiceImpl queryPayMemberProjectSysUser = new LambdaQueryWrapper<>(); + queryPayMemberProjectSysUser.eq(SysUser::getId,payMemberProject.getDirectorId()); + List sysPayMemberProjectUser = sysUserService.list(queryPayMemberProjectSysUser); //逗号拼接邮寄信息 if(i==0){ projectName.append(payMemberProject.getProjectName()); chargeCompanyName.append(memberProject.getCompanyName()); - principalName.append(payMemberProject.getDirectorName()); + if(!CollectionUtils.isEmpty(sysPayMemberProjectUser)) { + principalName.append(sysPayMemberProjectUser.get(0).getRealname()); + } principalId.append(payMemberProject.getDirectorId()); }else{ projectName.append(",").append(payMemberProject.getProjectName()); chargeCompanyName.append(",").append(memberProject.getCompanyName()); - principalName.append(",").append(payMemberProject.getDirectorName()); + if(!CollectionUtils.isEmpty(sysPayMemberProjectUser)) { + principalName.append(",").append(sysPayMemberProjectUser.get(0).getRealname()); + } principalId.append(",").append(payMemberProject.getDirectorId()); } break; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingController.java index e5234433..18afad05 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingController.java @@ -9,6 +9,7 @@ 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.enums.CompanyMessageEnums; import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.base.controller.JeroController; @@ -331,7 +332,7 @@ public class CommitteeMeetingController extends JeroController publishReminder(@RequestBody PublishReminderVO publishReminderVO) { - payMeetingService.publishReminder(publishReminderVO); + payMeetingService.publishReminder(publishReminderVO, CompanyMessageEnums.MSG13,"C_OPEN_TYPE13"); return Result.OK(); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingSituationController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingSituationController.java index 9a4e4083..3fd89d39 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingSituationController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingSituationController.java @@ -8,8 +8,10 @@ import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.aspect.annotation.DictPoint; import com.jero.common.exception.JeroBootException; +import com.jero.common.service.RolePermissionService; import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; +import com.jero.common.system.vo.LoginUser; import com.jero.common.util.AuthenticationUtils; import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; @@ -19,7 +21,9 @@ import com.jero.company.entity.PayContactsManagement; import com.jero.company.service.IPayCompanyManagementService; import com.jero.company.service.IPayContactsManagementService; import com.jero.meeting.common.MeetingCommon; +import com.jero.meeting.entity.PayMeeting; import com.jero.meeting.entity.PayMeetingSituation; +import com.jero.meeting.service.IPayMeetingService; import com.jero.meeting.service.IPayMeetingSituationService; import com.jero.meeting.vo.*; import com.jero.meeting.vo.excel.*; @@ -28,6 +32,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; @@ -56,11 +61,15 @@ public class CommitteeMeetingSituationController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap()); String particularYear = req.getParameter("particularYear"); - if (StringUtils.isNotBlank(particularYear)){ - queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear); + if (StringUtils.isNotBlank(particularYear)) { + queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )", particularYear); } + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (!rolePermissionService.getRolePermission("committeeMeetingSituation:search")) { + queryWrapper.eq("pm.director_id", loginUser.getId()); + } + queryWrapper.eq("pm.meeting_type",MEETING_TYPE); Page page = new Page<>(pageNo, pageSize); IPage pageList = payMeetingSituationService.pageListContract(page, queryWrapper); List situationList = pageList.getRecords(); for (PayMeetingSituation meetingSituation : situationList) { Integer payMode = meetingSituation.getPayMode(); //汇款并且缴费凭证为空 - if (Objects.equals(payMode,1) && StringUtils.isBlank(meetingSituation.getPaymentRecord())){ + if (Objects.equals(payMode, 1) && StringUtils.isBlank(meetingSituation.getPaymentRecord())) { meetingSituation.setIdentification(PayProjectCommon.YES); - }else { + } else { meetingSituation.setIdentification(PayProjectCommon.NO); } } @@ -100,6 +118,11 @@ public class CommitteeMeetingSituationController extends JeroController add(@RequestBody PayMeetingSituation payMeetingSituation) { + String meetingId = payMeetingSituation.getMeetingId(); + PayMeeting payMeeting = meetingService.getById(meetingId); + if (!Objects.equals(payMeeting.getMeetingType(),MEETING_TYPE)){ + throw new JeroBootException("数据权限不足"); + } payMeetingSituationService.add(payMeetingSituation); return Result.OK("添加成功!"); } @@ -124,6 +147,7 @@ public class CommitteeMeetingSituationController extends JeroController edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) { + payMeetingSituationService.checkCan(payMeetingSituationVO.getId(),MEETING_TYPE); payMeetingSituationService.editById(payMeetingSituationVO); return Result.OK("编辑成功!"); } @@ -136,6 +160,7 @@ public class CommitteeMeetingSituationController extends JeroController delete(@RequestParam(name = "id") String id) { + payMeetingSituationService.checkCan(id,MEETING_TYPE); payMeetingSituationService.deleteById(id); return Result.OK("删除成功!"); } @@ -148,7 +173,11 @@ public class CommitteeMeetingSituationController extends JeroController deleteBatch(@RequestParam(name = "ids") String ids) { - this.payMeetingSituationService.deleteByIds(Arrays.asList(ids.split(","))); + List stringList = Arrays.asList(ids.split(",")); + for (String id : stringList) { + payMeetingSituationService.checkCan(id,MEETING_TYPE); + } + this.payMeetingSituationService.deleteByIds(stringList); return Result.OK("批量删除成功!"); } @@ -160,6 +189,7 @@ public class CommitteeMeetingSituationController extends JeroController queryById(@RequestParam(name = "id") String id) { + payMeetingSituationService.checkCan(id,MEETING_TYPE); PayMeetingSituation payMeetingSituation = payMeetingSituationService.queryById(id); if (payMeetingSituation == null) { return Result.error("未找到对应数据"); @@ -188,6 +218,11 @@ public class CommitteeMeetingSituationController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, request.getParameterMap()); List pageList = payMeetingSituationService.list(queryWrapper); // 过滤选中数据 @@ -277,6 +312,10 @@ public class CommitteeMeetingSituationController extends JeroController addDock(@RequestBody AddDockVO addDockVO) { + List meetingSituationIds = addDockVO.getMeetingSituationIds(); + for (String id : meetingSituationIds) { + payMeetingSituationService.checkCan(id,MEETING_TYPE); + } payMeetingSituationService.addDock(addDockVO); return Result.OK("设置对接人成功!"); } @@ -289,6 +328,7 @@ public class CommitteeMeetingSituationController extends JeroController check(@RequestBody CheckVO checkVO) { + payMeetingSituationService.checkCan(checkVO.getId(),MEETING_TYPE); payMeetingSituationService.check(checkVO); return Result.OK("审核成功!"); } @@ -301,6 +341,7 @@ public class CommitteeMeetingSituationController extends JeroController checkRegister(@RequestBody CheckVO checkVO) { + payMeetingSituationService.checkCan(checkVO.getId(),MEETING_TYPE); payMeetingSituationService.checkRegister(checkVO); return Result.OK("审核成功!"); } @@ -316,6 +357,4 @@ public class CommitteeMeetingSituationController extends JeroController delete(@RequestParam(name = "id") String id) { - payMeetingService.deleteById(id); - return Result.OK("删除成功!"); - } + ///** + // * 通过id删除 + //@RequiresPermissions("meeting:delete") + //@AutoLog(value = "会议管理-通过id删除") + //@ApiOperation(value = "会议管理-通过id删除", notes = "会议管理-通过id删除") + //@GetMapping(value = "/delete") + //public Result delete(@RequestParam(name = "id") String id) { + // payMeetingService.deleteById(id); + // return Result.OK("删除成功!"); + //}*/ - /** - * 批量删除 - */ - @RequiresPermissions("meeting:batchDel") - @AutoLog(value = "会议管理-批量删除") - @ApiOperation(value = "会议管理-批量删除", notes = "会议管理-批量删除") - @GetMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestParam(name = "ids") String ids) { - this.payMeetingService.deleteByIds(Arrays.asList(ids.split(","))); - return Result.OK("批量删除成功!"); - } + + + ///** + // * 批量删除 + // */ + //@RequiresPermissions("meeting:batchDel") + //@AutoLog(value = "会议管理-批量删除") + //@ApiOperation(value = "会议管理-批量删除", notes = "会议管理-批量删除") + //@GetMapping(value = "/deleteBatch") + //public Result deleteBatch(@RequestParam(name = "ids") String ids) { + // this.payMeetingService.deleteByIds(Arrays.asList(ids.split(","))); + // return Result.OK("批量删除成功!"); + //} /** * 通过id查询 @@ -426,18 +427,6 @@ public class PayMeetingController extends JeroController publishReminder(@RequestBody PublishReminderVO publishReminderVO) { - payMeetingService.publishReminder(publishReminderVO); - return Result.OK(); - } - @ApiOperation(value = "生成base64") @GetMapping(value = "/createBase64") @ApiImplicitParam(name = "contact", value = "内容", required = true, paramType = "query") diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingController.java index c53b140e..a1720918 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingController.java @@ -45,6 +45,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; @@ -145,8 +146,21 @@ public class StandardsMeetingController extends JeroController delete(@RequestParam(name = "id") String id) { extracted(id); + payMeetingService.deleteById(id); + HashMap paramMap = new HashMap<>(); + paramMap.put("id",id); + AuthenticationUtils.get("/stablecrosstraining/stableCrossTraining/deleteIncome",paramMap); + return Result.OK("删除成功!"); + } + + /** + * 会员系统删除会议 + */ + @GetMapping(value = "/deleteStandard") + public Result deleteStandard(@RequestParam(name = "id") String id) { payMeetingService.deleteById(id); return Result.OK("删除成功!"); } @@ -158,12 +172,25 @@ public class StandardsMeetingController extends JeroController deleteBatch(@RequestParam(name = "ids") String ids) { List idList = Arrays.asList(ids.split(",")); for (String id : idList) { extracted(id); } this.payMeetingService.deleteByIds(idList); + HashMap paramMap = new HashMap<>(); + paramMap.put("ids",ids); + AuthenticationUtils.get("/stablecrosstraining/stableCrossTraining/deleteBatchIncome",paramMap); + return Result.OK("批量删除成功!"); + } + + /** + * 会员系统删除会议 + */ + @GetMapping(value = "/deleteBatchStandard") + public Result deleteBatchStandard(@RequestParam(name = "ids") String ids) { + this.payMeetingService.deleteByIds(Arrays.asList(ids.split(","))); return Result.OK("批量删除成功!"); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/WorkGroupMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/WorkGroupMeetingController.java index d04c169d..e59941c0 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/WorkGroupMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/WorkGroupMeetingController.java @@ -9,6 +9,7 @@ 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.enums.CompanyMessageEnums; import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.base.controller.JeroController; @@ -332,7 +333,7 @@ public class WorkGroupMeetingController extends JeroController publishReminder(@RequestBody PublishReminderVO publishReminderVO) { - payMeetingService.publishReminder(publishReminderVO); + payMeetingService.publishReminder(publishReminderVO, CompanyMessageEnums.MSG1,"C_OPEN_TYPE1"); return Result.OK(); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml index fe384642..f685734d 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml @@ -155,6 +155,7 @@ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingService.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingService.java index 6f2abb5c..9b05b720 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingService.java @@ -3,6 +3,7 @@ package com.jero.meeting.service; 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.enums.CompanyMessageEnums; import com.jero.meeting.entity.PayMeeting; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.meeting.vo.PayMeetingVO; @@ -61,9 +62,8 @@ public interface IPayMeetingService extends IService { * @param publishReminderVO * @author lijiarao * @date 2021/9/27 - * @return void */ - void publishReminder(PublishReminderVO publishReminderVO); + void publishReminder(PublishReminderVO publishReminderVO, CompanyMessageEnums companyMessageEnums, String busType); IPage pageListContract(Page page, QueryWrapper queryWrapper, String now); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java index 423fadb8..5d437106 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java @@ -4,6 +4,7 @@ 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.meeting.common.MeetingCommon; import com.jero.meeting.entity.PayMeetingSituation; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.meeting.vo.*; @@ -77,4 +78,6 @@ public interface IPayMeetingSituationService extends IService pageListContract(Page page, QueryWrapper queryWrapper); + + void checkCan(String situationId, Integer meetingCommon); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java index bca796ec..f0c68529 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java @@ -385,10 +385,6 @@ public class PayMeetingServiceImpl extends ServiceImpl 0) { throw new JeroBootException("该会议有参会人无法删除"); } - PayMeeting payMeeting = getById(id); - if (payMeeting.getMeetingType().equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) { - stableCrossTrainingService.delete(id); - } removeById(id); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(PayMeetingHotelContacts::getMeetingId, id); @@ -411,12 +407,6 @@ public class PayMeetingServiceImpl extends ServiceImpl 0) { throw new JeroBootException(meetingList + "会议下有参会人,无法删除"); } - for (String id : ids) { - PayMeeting payMeeting = getById(id); - if (payMeeting.getMeetingType().equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) { - stableCrossTrainingService.delete(id); - } - } removeByIds(ids); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.in(PayMeetingHotelContacts::getMeetingId, ids); @@ -441,7 +431,7 @@ public class PayMeetingServiceImpl extends ServiceImpl meetingIds = publishReminderVO.getMeetingIds(); List subitemIds = publishReminderVO.getSubitemIds(); Integer projectType = publishReminderVO.getProjectType(); @@ -532,9 +522,9 @@ public class PayMeetingServiceImpl extends ServiceImpl meetingSituationIds = addDockVO.getMeetingSituationIds(); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String sysUserId = sysUser.getId(); for (String meetingSituationId : meetingSituationIds) { PayMeetingSituation payMeetingSituation = getById(meetingSituationId); String meetingId = payMeetingSituation.getMeetingId(); PayMeeting payMeeting = meetingService.getById(meetingId); Integer meetingType = payMeeting.getMeetingType(); + //只有会议负责人可以设置对接人 + if (!payMeeting.getDirectorId().equals(sysUserId)) { + throw new JeroBootException("只有会议负责人可以设置对接人"); + } //只有国际研讨会议可以设置对接人 if (!meetingType.equals(Integer.parseInt(MeetingCommon.INTERNATIONAL_MEETING))) { throw new JeroBootException("只有国际研讨会议可以设置对接人"); @@ -1154,4 +1176,13 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl errorMessage = new ArrayList<>(); + //来款方式 + List paymentType = sysBaseAPI.queryDictItemsByCode("payment_type"); + Map paymentTypeMap = paymentType.stream().collect(Collectors.toMap(DictModel::getText, DictModel::getValue)); + //需要发票 + List invoiceType = sysBaseAPI.queryDictItemsByCode("invoice_type"); + Map invoiceTypeMap = invoiceType.stream().collect(Collectors.toMap(DictModel::getText, DictModel::getValue)); for (Object obj : excelData) { errorRowNum += 1; //复制属性 PayMemberProjectSubitemExcel projectSubitemExcel = (PayMemberProjectSubitemExcel) obj; projectSubitemExcel.setProjectId(projectId); PayMemberProjectSubitem projectSubitem = new PayMemberProjectSubitem(); - + errorMessage.addAll(ValidUtil.validateReturnListWithNum(projectSubitemExcel,errorRowNum)); //应收金额 String amountReceivable = projectSubitemExcel.getAmountReceivable(); - if (!NumberUtil.isNumber(amountReceivable)) { - errorMessage.add("第" + errorRowNum + "行:应收金额格式错误"); - } else { + if (errorMessage.isEmpty()) { projectSubitem.setAmountReceivable(new BigDecimal(amountReceivable)); } //来款方式 - List paymentType = sysBaseAPI.queryDictItemsByCode("payment_type"); - Map paymentTypeMap = paymentType.stream().collect(Collectors.toMap(DictModel::getText, DictModel::getValue)); String paymentMethod = projectSubitemExcel.getPaymentMethod(); - if (StringUtils.isBlank(paymentMethod)){ - errorMessage.add("第" + errorRowNum + "行:来款方式不能为空"); - }else if (paymentTypeMap.containsKey(paymentMethod)) { - projectSubitem.setPaymentMethod(Integer.parseInt(paymentTypeMap.get(paymentMethod))); - } else { - errorMessage.add("第" + errorRowNum + "行:来款方式不符合规范"); + if (errorMessage.isEmpty()) { + if (paymentTypeMap.containsKey(paymentMethod)) { + projectSubitem.setPaymentMethod(Integer.parseInt(paymentTypeMap.get(paymentMethod))); + } else { + errorMessage.add("第" + errorRowNum + "行:来款方式格式错误"); + } } //需要发票 - List invoiceType = sysBaseAPI.queryDictItemsByCode("invoice_type"); - Map invoiceTypeMap = invoiceType.stream().collect(Collectors.toMap(DictModel::getText, DictModel::getValue)); String needInvoice = projectSubitemExcel.getNeedInvoice(); - if (StringUtils.isBlank(needInvoice)){ - errorMessage.add("第" + errorRowNum + "行:需要发票不能为空"); - }else if (invoiceTypeMap.containsKey(needInvoice)) { - projectSubitem.setNeedInvoice(Integer.parseInt(invoiceTypeMap.get(needInvoice))); - } else { - errorMessage.add("第" + errorRowNum + "行:需要发票不符合规范"); + if (errorMessage.isEmpty()) { + if (invoiceTypeMap.containsKey(needInvoice)) { + projectSubitem.setNeedInvoice(Integer.parseInt(invoiceTypeMap.get(needInvoice))); + } else { + errorMessage.add("第" + errorRowNum + "行:需要发票不符合规范"); + } } if (Objects.equals(Integer.parseInt(paymentTypeMap.get(paymentMethod)), PayProjectCommon.CHARGE_WAY2)) { // 合同编号验证 @@ -277,7 +277,7 @@ public class PayMemberProjectSubitemController extends JeroController errors = new ArrayList<>(); // 企业 - PayCompanyManagementTemporary chargeCompanyName = companyManagementTemporaryService.insertCompanyManagementTemporary(payMemberProjectSubitem.getCompanyId()); - if(Objects.isNull(chargeCompanyName)){ - throw new JeroBootException("企业名称为空!"); + try { + PayCompanyManagementTemporary chargeCompanyName = companyManagementTemporaryService.insertCompanyManagementTemporary(payMemberProjectSubitem.getCompanyId()); + if (Objects.isNull(chargeCompanyName)) { + throw new JeroBootException("企业名称为空!"); + } + payMemberProjectSubitem.setCompanyTemporaryId(chargeCompanyName.getId()); + payMemberProjectSubitem.setCompanyName(chargeCompanyName.getCompanyName()); + } catch (JeroBootException e) { + errors.add("会员单位不存在"); } - payMemberProjectSubitem.setCompanyTemporaryId(chargeCompanyName.getId()); - payMemberProjectSubitem.setCompanyName(chargeCompanyName.getCompanyName()); - // 联系人 - PayContactsManagementTemporary contactsName = contactsManagementTemporaryService.insertContactsManagementTemporary(payMemberProjectSubitem.getCompanyContactId()); - if(Objects.isNull(contactsName)){ - throw new JeroBootException("联系人名称为空!"); + try { + PayContactsManagementTemporary contactsName = contactsManagementTemporaryService.insertContactsManagementTemporary(payMemberProjectSubitem.getCompanyContactId()); + if (Objects.isNull(contactsName)) { + throw new JeroBootException("联系人名称为空!"); + } + payMemberProjectSubitem.setCompanyContactTemporaryId(contactsName.getId()); + payMemberProjectSubitem.setCompanyContactName(contactsName.getName()); + } catch (JeroBootException e) { + errors.add("企业联系人不存在"); } - payMemberProjectSubitem.setCompanyContactTemporaryId(contactsName.getId()); - payMemberProjectSubitem.setCompanyContactName(contactsName.getName()); - - // 联系人 - PayContactsManagementTemporary postContactsName = contactsManagementTemporaryService.insertContactsManagementTemporary(payMemberProjectSubitem.getPostContactId()); - if(Objects.isNull(postContactsName)){ - throw new JeroBootException("邮寄联系人为空!"); + try { + // 联系人 + PayContactsManagementTemporary postContactsName = contactsManagementTemporaryService.insertContactsManagementTemporary(payMemberProjectSubitem.getPostContactId()); + if (Objects.isNull(postContactsName)) { + throw new JeroBootException("邮寄联系人为空!"); + } + payMemberProjectSubitem.setPostContactTemporaryId(postContactsName.getId()); + payMemberProjectSubitem.setPostContactName(postContactsName.getName()); + } catch (JeroBootException e) { + errors.add("邮寄联系人不存在"); } - payMemberProjectSubitem.setPostContactTemporaryId(postContactsName.getId()); - payMemberProjectSubitem.setPostContactName(postContactsName.getName()); + if (!errors.isEmpty()) { + throw new JeroBootException(StringUtils.join(errors, ",")); + } //校验来款方式 Integer paymentMethod = payMemberProjectSubitem.getPaymentMethod(); //合同 - if (Objects.equals(paymentMethod,2)){ + if (Objects.equals(paymentMethod, 2)) { ValidUtil.validate(payMemberProjectSubitem, Contract.class); } //收费通知 - if (Objects.equals(paymentMethod,3)){ + if (Objects.equals(paymentMethod, 3)) { ValidUtil.validate(payMemberProjectSubitem, ChargeNotice.class); } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/vo/PayMemberProjectSubitemExcel.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/vo/PayMemberProjectSubitemExcel.java index 9344a050..5f4a9f69 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/vo/PayMemberProjectSubitemExcel.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/vo/PayMemberProjectSubitemExcel.java @@ -40,7 +40,7 @@ public class PayMemberProjectSubitemExcel { /** * 企业联系人id */ - @Excel(name = "企业联系人名称", width = 15, dictTable = "pay_contacts_management", dicText = "name", dicCode = "id",orderNum = "2") + @Excel(name = "企业联系人", width = 15, dictTable = "pay_contacts_management", dicText = "name", dicCode = "id",orderNum = "2") @ApiModelProperty(value = "企业联系人id") @NotBlank(message = "企业联系人不能为空") @Size(max = 50, message = "企业联系人最大为50字符") @@ -49,7 +49,7 @@ public class PayMemberProjectSubitemExcel { /** * 邮寄联系人id */ - @Excel(name = "邮寄联系人姓名", width = 15, dictTable = "pay_contacts_management", dicText = "name", dicCode = "id",orderNum = "3") + @Excel(name = "邮寄联系人", width = 15, dictTable = "pay_contacts_management", dicText = "name", dicCode = "id",orderNum = "3") @ApiModelProperty(value = "邮寄联系人id") @NotBlank(message = "邮寄联系人不能为空") private String postContactId; @@ -59,8 +59,8 @@ public class PayMemberProjectSubitemExcel { */ @Excel(name = "应收金额", width = 15,orderNum = "4") @ApiModelProperty(value = "应收金额") - @NotNull(message = "应收金额不能为空") - @DecimalMax(value = "9999999999.99", message = "应收金额格式错误") + @NotBlank(message = "应收金额不能为空") + @Pattern(regexp = "^[0-9]{1,10}(\\.[0-9]{1,2})?$",message = "应收金额格式错误") private String amountReceivable; @@ -69,6 +69,7 @@ public class PayMemberProjectSubitemExcel { */ @Excel(name = "来款方式", width = 15, orderNum = "7") @ApiModelProperty(value = "来款方式(2:合同,3:收费通知)") + @NotBlank(message = "来款方式不能为空") private String paymentMethod; /** @@ -109,6 +110,7 @@ public class PayMemberProjectSubitemExcel { */ @Excel(name = "需要发票", width = 15, orderNum = "6") @ApiModelProperty(value = "需要发票") + @NotBlank(message = "需要发票不能为空") private String needInvoice; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml index 561b9f9a..5abf6657 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml @@ -30,7 +30,8 @@ from ( - select c.id,c.charge_project,c.invoice_amount, c.charge_use, c.principal_id,c.principal_name,c.contacts_temporary_id,c.contacts_temporary_name,c.charge_company_temporary_name,c.receivable_amount,c.paid_amount,c.need_invoice,c.pack,c.in_account,c.make_invoice,c.mail,c.create_time,1 as projectType,'' as phone,'' as email + select c.id,c.charge_project,c.invoice_amount, c.charge_use, c.principal_id,c.principal_name,c.contacts_temporary_id,c.contacts_temporary_name,c.charge_company_temporary_name,c.receivable_amount, + if(c.paid_amount is null or c.paid_amount = '','0.00',c.paid_amount) as paid_amount,c.need_invoice,c.pack,c.in_account,c.make_invoice,c.mail,c.create_time,1 as projectType,'' as phone,'' as email from pay_common_project c @@ -45,7 +46,8 @@ UNION ALL - select gsub.id,g.working_group_project,gsub.invoice_amount, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.contacts_temporary_id_one,gsub.contacts_temporary_name_one,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2,'','' + select gsub.id,g.working_group_project,gsub.invoice_amount, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.contacts_temporary_id_one,gsub.contacts_temporary_name_one,gsub.charge_company_temporary_name,gsub.receivable_amount, + if(gsub.paid_amount is null or gsub.paid_amount = '','0.00',gsub.paid_amount) as paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2,'','' from pay_working_group g inner join pay_working_group_subitem gsub on g.id = gsub.working_group_id @@ -61,7 +63,8 @@ UNION ALL - select sit.id,meeting.meeting_name,sit.invoice_amount,sit.charge_use, meeting.director_id, meeting.director_name,sit.company_contact_temporary_id,sit.company_contact_name,sit.company_name,sit.amount_receivable,sit.paid_amount,sit.need_invoice,sit.pack,sit.in_account,sit.make_invoice,sit.mail,sit.create_time,3,sit.phone,'' + select sit.id,meeting.meeting_name,sit.invoice_amount,sit.charge_use, meeting.director_id, meeting.director_name,sit.company_contact_temporary_id,sit.company_contact_name,sit.company_name,sit.amount_receivable, + if(sit.paid_amount is null or sit.paid_amount = '','0.00',sit.paid_amount) as paid_amount,sit.need_invoice,sit.pack,sit.in_account,sit.make_invoice,sit.mail,sit.create_time,3,sit.phone,'' from pay_meeting meeting inner join pay_meeting_situation sit on meeting.id = sit.meeting_id @@ -78,7 +81,8 @@ UNION ALL - select msub.id,pmp.project_name,msub.invoice_amount,msub.charge_use,pmp.director_id,pmp.director_name,msub.company_contact_temporary_id,msub.company_contact_name,msub.company_name,msub.amount_receivable,msub.paid_amount,msub.need_invoice,msub.pack,msub.in_account,msub.make_invoice,msub.mail,msub.create_time,4,'','' + select msub.id,pmp.project_name,msub.invoice_amount,msub.charge_use,pmp.director_id,pmp.director_name,msub.company_contact_temporary_id,msub.company_contact_name,msub.company_name,msub.amount_receivable, + if(msub.paid_amount is null or msub.paid_amount = '','0.00',msub.paid_amount) as paid_amount,msub.need_invoice,msub.pack,msub.in_account,msub.make_invoice,msub.mail,msub.create_time,4,'','' from pay_member_project pmp inner join pay_member_project_subitem msub on pmp.id = msub.project_id @@ -94,7 +98,8 @@ UNION ALL - select tmsub.id,tmember.project_name,tmsub.invoice_amount,tmsub.charge_use,'','','',tmsub.liaison_man,tmsub.company_name,tmsub.amount_receivable,tmsub.paid_amount,tmsub.invoice_requirements,tmsub.pack,tmsub.in_account,tmsub.make_invoice,tmsub.mail,tmsub.create_time,5,mobile,email + select tmsub.id,tmember.project_name,tmsub.invoice_amount,tmsub.charge_use,'','','',tmsub.liaison_man,tmsub.company_name,tmsub.amount_receivable, + if(tmsub.paid_amount is null or tmsub.paid_amount = '','0.00',tmsub.paid_amount) as paid_amount,tmsub.invoice_requirements,tmsub.pack,tmsub.in_account,tmsub.make_invoice,tmsub.mail,tmsub.create_time,5,mobile,email from tb_member_project tmember inner join tb_member_project_subitem tmsub on tmember.id=tmsub.project_id @@ -120,7 +125,7 @@ AND DATE_FORMAT(ppr.payment_date,'%Y') = #{paymentDate} - GROUP BY ppcp.project_id ORDER BY project.paid_amount asc,ppcp.create_time desc + GROUP BY ppcp.project_id ORDER BY project.paid_amount asc,project.create_time desc