add 企业人员查询参与项目的邮寄信息

This commit is contained in:
lijiarao
2023-07-20 15:58:34 +08:00
parent dfb5c2cc21
commit 8e1db4ef32
5 changed files with 230 additions and 1 deletions
@@ -164,6 +164,49 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
return Result.OK(pageList);
}
/**
* 分页列表查询
*
* @param payMailBillSearch
* @param pageNo
* @param pageSize
* @param
* @return
*/
@ApiOperation(value="邮寄票据-企业人员查询")
@GetMapping(value = "/contactsSearch")
public Result<?> contactsSearch(PayMailBillSearch payMailBillSearch,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
QueryWrapper<PayMailBill> queryWrapper = new QueryWrapper<>();
Page<PayMailBill> 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<PayMailBill> pageList = payMailBillService.contactsSearchPageList(page, sysUser.getId(), queryWrapper);
getMobile(pageList.getRecords());
return Result.OK(pageList);
}
/**
* 邮寄票据-修改
*
@@ -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<PayMailBill> {
Integer updateTax(@Param("id") String id);
Integer updateNoTaxAmount(@Param("id") String id);
IPage<PayMailBill> contactsSearchPageList(Page<PayMailBill> page, @Param("userId") String userId, @Param("queryWrapper") QueryWrapper<PayMailBill> queryWrapper);
}
@@ -39,6 +39,8 @@
<result property="sendDate" column="send_date"></result>
<result property="remark" column="remark"></result>
<result property="projectName" column="project_name"></result>
<result property="projectId" column="projectId"></result>
<result property="projectType" column="project_type"></result>
</resultMap>
<select id="selectCommonProjectMailBillVO" resultMap="MailBillVO">
@@ -248,4 +250,180 @@
set pmb.no_tax_amount = (select sum(pmbp.no_tax_amount) from pay_mail_bill_project pmbp where bill_id = #{id})
where id = #{id}
</update>
<select id="contactsSearchPageList" resultMap="MailBillVO">
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
</select>
</mapper>
@@ -95,4 +95,6 @@ public interface IPayMailBillService extends IService<PayMailBill> {
*/
void updateContactByProjectId(String ContactId,String projectId);
IPage<PayMailBill> contactsSearchPageList(Page<PayMailBill> page, String userId, QueryWrapper<PayMailBill> queryWrapper);
}
@@ -585,6 +585,11 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
payMailBillMapper.updateByProjectId(payMailBill,projectId);
}
@Override
public IPage<PayMailBill> contactsSearchPageList(Page<PayMailBill> page, String userId, QueryWrapper<PayMailBill> queryWrapper) {
return payMailBillMapper.contactsSearchPageList(page,userId,queryWrapper);
}
//校验不同项目是否属于同一个公司,开票金额是否大于当前未开票金额,企业名称是否审核
private String checkCompanyProject(List<PayMailBillProject> bmpList) {