// Path: demo/demo-service/src/main/java/com/xx/demo/test/domain/CompanyQueryParam.java
// public class CompanyQueryParam extends DefaultDataPermissionQueryParam {
// 	private String name;
// 	@DateTimeFormat(pattern = "yyyy-MM-dd")
// 	private Date registerDateStart;
// 	@DateTimeFormat(pattern = "yyyy-MM-dd")
// 	private Date registerDateEnd;
// 	private String phone;
// 
// 	String orderProperty = "";
// 
// 	String direction = "";
// 
// 	public String getOrderProperty() {
// 		return orderProperty;
// 	}
// 
// 	public void setOrderProperty(String orderProperty) {
// 		this.orderProperty = orderProperty;
// 	}
// 
// 	public String getDirection() {
// 		return direction;
// 	}
// 
// 	public void setDirection(String direction) {
// 		this.direction = direction;
// 	}
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 	public Date getRegisterDateStart() {
// 		return registerDateStart;
// 	}
// 
// 	public void setRegisterDateStart(Date registerDateStart) {
// 		this.registerDateStart = registerDateStart;
// 	}
// 
// 	public Date getRegisterDateEnd() {
// 		return registerDateEnd;
// 	}
// 
// 	public void setRegisterDateEnd(Date registerDateEnd) {
// 		this.registerDateEnd = registerDateEnd;
// 	}
// 
// 	public String getPhone() {
// 		return phone;
// 	}
// 
// 	public void setPhone(String phone) {
// 		this.phone = phone;
// 	}
// }
// 
// Path: demo/demo-service/src/main/java/com/xx/demo/test/domain/entity/CompanyEntity.java
// @Entity
// @Table(name = "demo_company")
// public class CompanyEntity extends BaseEntity {
// 	private static final long serialVersionUID = 1L;
// 	@Column( nullable=true)
//     private String name;
// 	@Column( nullable=true)
//     private Integer registeredCapital;
// 	@Column( nullable=true)
// 	@DateTimeFormat(pattern="yyyy-MM-dd")
//     private Date registerDate;
// 	@Column( nullable=true)
//     private String contactName;
// 	@Column( nullable=true)
//     private String phone;
// 	@Column( nullable=true)
//     private String address;
// 	public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 	public Integer getRegisteredCapital() {
//         return registeredCapital;
//     }
// 
//     public void setRegisteredCapital(Integer registeredCapital) {
//         this.registeredCapital = registeredCapital;
//     }
// 	public Date getRegisterDate() {
//         return registerDate;
//     }
// 
//     public void setRegisterDate(Date registerDate) {
//         this.registerDate = registerDate;
//     }
// 	public String getContactName() {
//         return contactName;
//     }
// 
//     public void setContactName(String contactName) {
//         this.contactName = contactName;
//     }
// 	public String getPhone() {
//         return phone;
//     }
// 
//     public void setPhone(String phone) {
//         this.phone = phone;
//     }
// 	public String getAddress() {
//         return address;
//     }
// 
//     public void setAddress(String address) {
//         this.address = address;
//     }
// }
// 
// Path: demo/demo-service/src/main/java/com/xx/demo/test/repository/CompanyRepository.java
// public interface CompanyRepository extends GenericRepository<CompanyEntity, String> {
// 
//     @Query(value=" from CompanyEntity x where  1=1  ${permissionQL} <notEmpty name='name'> and x.name like  '%${name}%' </notEmpty><notEmpty name='registerDateStart'> and x.registerDate &gt;=  :registerDateStart </notEmpty><notEmpty name='registerDateEnd'> and x.registerDate &lt;=  :registerDateEnd </notEmpty><notEmpty name='phone'> and x.phone like  '%${phone}%' </notEmpty><notEmpty name='orderProperty'>   order by x.${orderProperty} ${direction} </notEmpty>")
//     @DynamicQuery
//     Page<CompanyEntity> findCompanyPage(CompanyQueryParam companyQueryParam, Pageable pageable);
// 
// }


import java.io.IOException;
import java.io.OutputStream;
import java.util.Date;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.loy.e.common.util.DateUtil;
import com.loy.e.core.annotation.ControllerLogExeTime;
import com.loy.e.core.query.Direction;
import com.loy.e.core.util.TableToExcelUtil;
import com.loy.e.data.permission.annotation.DataPermission;
import com.xx.demo.test.domain.CompanyQueryParam;
import com.xx.demo.test.domain.entity.CompanyEntity;
import com.xx.demo.test.repository.CompanyRepository;
package com.xx.demo.test.service.impl;




/**
 * 
 * @author Loy Fu qq群 540553957 website = http://www.17jee.com
 */
@RestController
@RequestMapping(value={"**/company"}, method={RequestMethod.POST, RequestMethod.GET})
@Transactional
public class CompanyServiceImpl{

    @Autowired
    CompanyRepository companyRepository;
    @RequestMapping({ "/page" })
    @ControllerLogExeTime(description = "分页查询公司", log = false)
    @DataPermission(uniqueKey="CompanyServiceImpl.queryPage",findAll=true)
// Path: demo/demo-service/src/main/java/com/xx/demo/test/domain/CompanyQueryParam.java
// public class CompanyQueryParam extends DefaultDataPermissionQueryParam {
// 	private String name;
// 	@DateTimeFormat(pattern = "yyyy-MM-dd")
// 	private Date registerDateStart;
// 	@DateTimeFormat(pattern = "yyyy-MM-dd")
// 	private Date registerDateEnd;
// 	private String phone;
// 
// 	String orderProperty = "";
// 
// 	String direction = "";
// 
// 	public String getOrderProperty() {
// 		return orderProperty;
// 	}
// 
// 	public void setOrderProperty(String orderProperty) {
// 		this.orderProperty = orderProperty;
// 	}
// 
// 	public String getDirection() {
// 		return direction;
// 	}
// 
// 	public void setDirection(String direction) {
// 		this.direction = direction;
// 	}
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 	public Date getRegisterDateStart() {
// 		return registerDateStart;
// 	}
// 
// 	public void setRegisterDateStart(Date registerDateStart) {
// 		this.registerDateStart = registerDateStart;
// 	}
// 
// 	public Date getRegisterDateEnd() {
// 		return registerDateEnd;
// 	}
// 
// 	public void setRegisterDateEnd(Date registerDateEnd) {
// 		this.registerDateEnd = registerDateEnd;
// 	}
// 
// 	public String getPhone() {
// 		return phone;
// 	}
// 
// 	public void setPhone(String phone) {
// 		this.phone = phone;
// 	}
// }
// 
// Path: demo/demo-service/src/main/java/com/xx/demo/test/domain/entity/CompanyEntity.java
// @Entity
// @Table(name = "demo_company")
// public class CompanyEntity extends BaseEntity {
// 	private static final long serialVersionUID = 1L;
// 	@Column( nullable=true)
//     private String name;
// 	@Column( nullable=true)
//     private Integer registeredCapital;
// 	@Column( nullable=true)
// 	@DateTimeFormat(pattern="yyyy-MM-dd")
//     private Date registerDate;
// 	@Column( nullable=true)
//     private String contactName;
// 	@Column( nullable=true)
//     private String phone;
// 	@Column( nullable=true)
//     private String address;
// 	public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 	public Integer getRegisteredCapital() {
//         return registeredCapital;
//     }
// 
//     public void setRegisteredCapital(Integer registeredCapital) {
//         this.registeredCapital = registeredCapital;
//     }
// 	public Date getRegisterDate() {
//         return registerDate;
//     }
// 
//     public void setRegisterDate(Date registerDate) {
//         this.registerDate = registerDate;
//     }
// 	public String getContactName() {
//         return contactName;
//     }
// 
//     public void setContactName(String contactName) {
//         this.contactName = contactName;
//     }
// 	public String getPhone() {
//         return phone;
//     }
// 
//     public void setPhone(String phone) {
//         this.phone = phone;
//     }
// 	public String getAddress() {
//         return address;
//     }
// 
//     public void setAddress(String address) {
//         this.address = address;
//     }
// }
// 
// Path: demo/demo-service/src/main/java/com/xx/demo/test/repository/CompanyRepository.java
// public interface CompanyRepository extends GenericRepository<CompanyEntity, String> {
// 
//     @Query(value=" from CompanyEntity x where  1=1  ${permissionQL} <notEmpty name='name'> and x.name like  '%${name}%' </notEmpty><notEmpty name='registerDateStart'> and x.registerDate &gt;=  :registerDateStart </notEmpty><notEmpty name='registerDateEnd'> and x.registerDate &lt;=  :registerDateEnd </notEmpty><notEmpty name='phone'> and x.phone like  '%${phone}%' </notEmpty><notEmpty name='orderProperty'>   order by x.${orderProperty} ${direction} </notEmpty>")
//     @DynamicQuery
//     Page<CompanyEntity> findCompanyPage(CompanyQueryParam companyQueryParam, Pageable pageable);
// 
// }


// Path: demo/demo-service/src/main/java/com/xx/demo/test/service/impl/CompanyServiceImpl.java
import java.io.IOException;
import java.io.OutputStream;
import java.util.Date;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.loy.e.common.util.DateUtil;
import com.loy.e.core.annotation.ControllerLogExeTime;
import com.loy.e.core.query.Direction;
import com.loy.e.core.util.TableToExcelUtil;
import com.loy.e.data.permission.annotation.DataPermission;
import com.xx.demo.test.domain.CompanyQueryParam;
import com.xx.demo.test.domain.entity.CompanyEntity;
import com.xx.demo.test.repository.CompanyRepository;

package com.xx.demo.test.service.impl;




/**
 * 
 * @author Loy Fu qq群 540553957 website = http://www.17jee.com
 */
@RestController
@RequestMapping(value={"**/company"}, method={RequestMethod.POST, RequestMethod.GET})
@Transactional
public class CompanyServiceImpl{

    @Autowired
    CompanyRepository companyRepository;
    @RequestMapping({ "/page" })
    @ControllerLogExeTime(description = "分页查询公司", log = false)
    @DataPermission(uniqueKey="CompanyServiceImpl.queryPage",findAll=true)
    public Page<CompanyEntity> queryPage(CompanyQueryParam companyQueryParam, Pageable pageable) {