diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/controller/PayMailBillController.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/controller/PayMailBillController.java index 01d8e758..f954bfe8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/controller/PayMailBillController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/controller/PayMailBillController.java @@ -164,6 +164,49 @@ public class PayMailBillController extends JeroController contactsSearch(PayMailBillSearch payMailBillSearch, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = new Page<>(pageNo, pageSize); + if (ObjectUtil.isNotEmpty(payMailBillSearch.getStartTime()) && ObjectUtil.isNotEmpty(payMailBillSearch.getEndTime())) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(payMailBillSearch.getEndTime()); + calendar.add(Calendar.HOUR, 23);//时 + calendar.add(Calendar.MINUTE, 59);//时 + calendar.add(Calendar.SECOND, 59);//秒 + queryWrapper.ge("sendDate", payMailBillSearch.getStartTime()); + queryWrapper.le("sendDate", calendar.getTime()); + } else if (ObjectUtil.isNotEmpty(payMailBillSearch.getStartTime())) { + queryWrapper.ge("sendDate", payMailBillSearch.getStartTime()); + } else if (ObjectUtil.isNotEmpty(payMailBillSearch.getEndTime())) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(payMailBillSearch.getEndTime()); + calendar.add(Calendar.HOUR, 23);//时 + calendar.add(Calendar.MINUTE, 59);//时 + calendar.add(Calendar.SECOND, 59);//秒 + queryWrapper.le("sendDate", calendar.getTime()); + } + if (ObjectUtil.isNotEmpty(payMailBillSearch.getProjectName())) { + queryWrapper.like("projectName", oConvertUtils.replaceAllPercent(payMailBillSearch.getProjectName())); + } + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + IPage pageList = payMailBillService.contactsSearchPageList(page, sysUser.getId(), queryWrapper); + getMobile(pageList.getRecords()); + return Result.OK(pageList); + } + /** * 邮寄票据-修改 * diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/PayMailBillMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/PayMailBillMapper.java index 68cf753d..bea13b8a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/PayMailBillMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/PayMailBillMapper.java @@ -12,7 +12,6 @@ import com.jero.mail.entity.PayMailBill; import com.jero.mail.entity.PayMailBillSearch; import org.apache.ibatis.annotations.Param; -import java.math.BigDecimal; import java.util.List; /** @@ -78,4 +77,6 @@ public interface PayMailBillMapper extends BaseMapper { Integer updateTax(@Param("id") String id); Integer updateNoTaxAmount(@Param("id") String id); + + IPage contactsSearchPageList(Page page, @Param("userId") String userId, @Param("queryWrapper") QueryWrapper queryWrapper); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/xml/PayMailBillMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/xml/PayMailBillMapper.xml index a4046a97..70e746e2 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/xml/PayMailBillMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/xml/PayMailBillMapper.xml @@ -39,6 +39,8 @@ + + + select * + from ( + SELECT pmb.id, + project_name as projectName, + bill_no AS billNo, + pmb.invoice_amount as invoiceAmount, + principal_id, + su.phone as principal_phone, + principal_name as principalName, + charge_company_name as chargeCompanyName, + contact_name as contactName, + contact_mobile as contactMobile, + post_status as postStatus, + send_method as sendMethod, + pmbp.project_id as projectId, + pmbp.project_type, + pmb.create_time, + postal_code as postalCode, + mailer, + post_no as postNo, + send_date as sendDate, + contact_address as contactAddress, + pmb.remark + from pay_mail_bill pmb + left join pay_mail_bill_project pmbp on (pmb.id = pmbp.bill_id) + left join pay_working_group_subitem_contacts pwgsc on pwgsc.working_group_sub_id = pmbp.project_id + left join sys_user su on pmb.principal_id = su.id + where pwgsc.contacts_id = #{userId} + group by pmb.id + union all + SELECT pmb.id, + project_name as projectName, + bill_no AS billNo, + pmb.invoice_amount as invoiceAmount, + pmb.principal_id, + su.phone as principal_phone, + pmb.principal_name as principalName, + charge_company_name as chargeCompanyName, + contact_name as contactName, + contact_mobile as contactMobile, + post_status as postStatus, + send_method as sendMethod, + pmbp.project_id as projectId, + pmbp.project_type, + pmb.create_time, + postal_code as postalCode, + mailer, + post_no as postNo, + send_date as sendDate, + contact_address as contactAddress, + pmb.remark + from pay_mail_bill pmb + left join pay_mail_bill_project pmbp on (pmb.id = pmbp.bill_id) + left join pay_common_project pcp on pcp.id = pmbp.project_id + left join sys_user su on pmb.principal_id = su.id + where pcp.contacts_id = #{userId} + group by pmb.id + union all + SELECT pmb.id, + project_name as projectName, + bill_no AS billNo, + pmb.invoice_amount as invoiceAmount, + pmb.principal_id, + su.phone as principal_phone, + pmb.principal_name as principalName, + charge_company_name as chargeCompanyName, + contact_name as contactName, + contact_mobile as contactMobile, + post_status as postStatus, + send_method as sendMethod, + pmbp.project_id as projectId, + pmbp.project_type, + pmb.create_time, + postal_code as postalCode, + mailer, + post_no as postNo, + send_date as sendDate, + contact_address as contactAddress, + pmb.remark + from pay_mail_bill pmb + left join pay_mail_bill_project pmbp on (pmb.id = pmbp.bill_id) + left join pay_meeting_situation pms on pms.id = pmbp.project_id + left join sys_user su on pmb.principal_id = su.id + where pms.company_contact_id = #{userId} + group by pmb.id + union all + SELECT pmb.id, + project_name as projectName, + bill_no AS billNo, + pmb.invoice_amount as invoiceAmount, + pmb.principal_id, + su.phone as principal_phone, + pmb.principal_name as principalName, + charge_company_name as chargeCompanyName, + contact_name as contactName, + contact_mobile as contactMobile, + post_status as postStatus, + send_method as sendMethod, + pmbp.project_id as projectId, + pmbp.project_type, + pmb.create_time, + postal_code as postalCode, + mailer, + post_no as postNo, + send_date as sendDate, + contact_address as contactAddress, + pmb.remark + from pay_mail_bill pmb + left join pay_mail_bill_project pmbp on (pmb.id = pmbp.bill_id) + left join pay_member_project_subitem pmps on pmps.id = pmbp.project_id + left join sys_user su on pmb.principal_id = su.id + where pmps.company_contact_id = #{userId} + group by pmb.id + union all + SELECT pmb.id, + project_name as projectName, + bill_no AS billNo, + pmb.invoice_amount as invoiceAmount, + pmb.principal_id, + su.phone as principal_phone, + pmb.principal_name as principalName, + charge_company_name as chargeCompanyName, + contact_name as contactName, + contact_mobile as contactMobile, + post_status as postStatus, + send_method as sendMethod, + pmbp.project_id as projectId, + pmbp.project_type, + pmb.create_time, + postal_code as postalCode, + mailer, + post_no as postNo, + send_date as sendDate, + contact_address as contactAddress, + pmb.remark + from pay_mail_bill pmb + left join pay_mail_bill_project pmbp on (pmb.id = pmbp.bill_id) + left join tb_member_project_subitem tmps on tmps.id = pmbp.project_id + left join sys_user su on pmb.principal_id = su.id + where tmps.liaison_man_id = #{userId} + group by pmb.id + union all + SELECT pmb.id, + project_name as projectName, + bill_no AS billNo, + pmb.invoice_amount as invoiceAmount, + pmb.principal_id, + su.phone as principal_phone, + pmb.principal_name as principalName, + charge_company_name as chargeCompanyName, + contact_name as contactName, + contact_mobile as contactMobile, + post_status as postStatus, + send_method as sendMethod, + pmbp.project_id as projectId, + pmbp.project_type, + pmb.create_time, + postal_code as postalCode, + mailer, + post_no as postNo, + send_date as sendDate, + contact_address as contactAddress, + pmb.remark + from pay_mail_bill pmb + left join pay_mail_bill_project pmbp on (pmb.id = pmbp.bill_id) + left join tb_certificate_payment tcp on tcp.id = pmbp.project_id + left join sys_user su on pmb.principal_id = su.id + where tcp.liaison_man_id = #{userId} + group by pmb.id + ) t + ${queryWrapper.customSqlSegment} + ORDER BY create_time + desc + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/IPayMailBillService.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/IPayMailBillService.java index 5a1b6b92..bce85cba 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/IPayMailBillService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/IPayMailBillService.java @@ -95,4 +95,6 @@ public interface IPayMailBillService extends IService { */ void updateContactByProjectId(String ContactId,String projectId); + IPage contactsSearchPageList(Page page, String userId, QueryWrapper queryWrapper); + } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java index 2f67509b..7b989898 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java @@ -585,6 +585,11 @@ public class PayMailBillServiceImpl extends ServiceImpl contactsSearchPageList(Page page, String userId, QueryWrapper queryWrapper) { + return payMailBillMapper.contactsSearchPageList(page,userId,queryWrapper); + } + //校验不同项目是否属于同一个公司,开票金额是否大于当前未开票金额,企业名称是否审核 private String checkCompanyProject(List bmpList) {