Commit 2222b1b4 by chongli

销售后台提交发票

parent cc534d89
package com.ctrip.fun.golf.api.basic;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ctrip.fun.common.vo.Request;
import com.ctrip.fun.common.vo.Response;
import com.ctrip.fun.common.vo.ResponseStatusEnum;
import com.ctrip.fun.common.vo.basic.InvoiceRequestBean;
import com.ctrip.fun.common.vo.basic.InvoiceRequestQuery;
import com.ctrip.fun.golf.api.GenericController;
import com.ctrip.fun.golf.service.basic.InvoiceRequestService;
@Controller
@RequestMapping(value = "/invoiceRequest")
public class InvoiceRequestController extends GenericController<InvoiceRequestService, InvoiceRequestBean, Integer, InvoiceRequestQuery>{
@Autowired
private InvoiceRequestService InvoiceRequestService = null;
@ResponseBody
@RequestMapping(value = "/excelList", method = RequestMethod.POST)
public Response<List<InvoiceRequestBean>> excelList(@RequestBody Request<InvoiceRequestQuery> request) {
Response<List<InvoiceRequestBean>> response = new Response<List<InvoiceRequestBean>>();
response.setStatus(ResponseStatusEnum.SUCCESS.getValue());
response.setMessage(ResponseStatusEnum.SUCCESS.getMsg());
List<InvoiceRequestBean> list = InvoiceRequestService.excelList(request.getBody());
response.setBody(list);
return response;
}
@ResponseBody
@RequestMapping(value = "/batchUpdate", method = RequestMethod.POST)
public Response<Integer> batchUpdate(@RequestBody Request<List<InvoiceRequestBean>> request) {
Response<Integer> response = new Response<Integer>();
response.setStatus(ResponseStatusEnum.SUCCESS.getValue());
response.setMessage(ResponseStatusEnum.SUCCESS.getMsg());
InvoiceRequestService.updateInvoiceRequests(request.getBody());
response.setBody(1);
return response;
}
@Override
public InvoiceRequestService getEntityService() {
// TODO Auto-generated method stub
return this.InvoiceRequestService;
}
public InvoiceRequestService getInvoiceRequestService() {
return InvoiceRequestService;
}
public void setInvoiceRequestService(InvoiceRequestService InvoiceRequestService) {
this.InvoiceRequestService = InvoiceRequestService;
}
}
package com.ctrip.fun.golf.dao.basic;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.criterion.Restrictions;
import com.ctrip.fun.golf.dao.GenericHibernateDao;
import com.ctrip.fun.golf.domain.basic.InvoiceOrderInfo;
public class InvoiceOrderInfoDao extends GenericHibernateDao<InvoiceOrderInfo, Integer>{
public List<InvoiceOrderInfo> findByRequestId(Integer rquestId){
Criteria criteria = this.getCriteria(InvoiceOrderInfo.class);
criteria.add(Restrictions.eq("requestId", rquestId));
List<InvoiceOrderInfo> result = criteria.list();
return result;
}
public int deleteByRequestId(Integer rquestId){
Query query = this.getSession().createQuery("delete InvoiceOrderInfo where requestId=:requestId");
query.setParameter("requestId", rquestId);
return query.executeUpdate();
}
}
package com.ctrip.fun.golf.dao.basic;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import com.ctrip.fun.common.vo.SortDirectionEnum;
import com.ctrip.fun.common.vo.basic.InvoiceRequestQuery;
import com.ctrip.fun.golf.dao.GenericHibernateDao;
import com.ctrip.fun.golf.domain.basic.InvoiceRequest;
import com.ctrip.fun.golf.vo.PagedEntityBean;
public class InvoiceRequestDao extends GenericHibernateDao<InvoiceRequest, Integer>{
public PagedEntityBean<InvoiceRequest> queryList(Object queryCon) {
InvoiceRequestQuery queryBean = (InvoiceRequestQuery) queryCon;
Criteria criteria = this.getCriteria(InvoiceRequest.class);
if (null != queryBean.getContactName() && !"".equals(queryBean.getContactName())) {
criteria.add(Restrictions.like("contactName", queryBean.getContactName(), MatchMode.ANYWHERE));
}
if (null != queryBean.getRequestPerson()&& !"".equals(queryBean.getRequestPerson())) {
criteria.add(Restrictions.like("requestPerson", queryBean.getRequestPerson(), MatchMode.ANYWHERE));
}
if (null != queryBean.getStatus()&& 0 != queryBean.getStatus()) {
criteria.add(Restrictions.eq("status", queryBean.getStatus()));
}
if (queryBean.getCreateTimeStart() != null) {
criteria.add(Restrictions.ge("createTime", queryBean.getCreateTimeStart()));
}
if (queryBean.getCreateTimeEnd() != null) {
criteria.add(Restrictions.le("createTime", queryBean.getCreateTimeEnd()));
}
criteria.setFirstResult(queryBean.getPagerOffset());
criteria.setMaxResults(queryBean.getPagerPerPage());
if (queryBean.getSortDirection().equals(SortDirectionEnum.ASC)) {
criteria.addOrder(Order.asc("id"));
} else {
criteria.addOrder(Order.desc("id"));
}
List<InvoiceRequest> result = criteria.list();
criteria.setFirstResult(0);
Long count = (Long) criteria.setProjection(Projections.rowCount())
.uniqueResult();
PagedEntityBean<InvoiceRequest> pagedEntityBean = new PagedEntityBean<InvoiceRequest>();
pagedEntityBean.setCount(count);
pagedEntityBean.setResult(result);
return pagedEntityBean;
}
public List<InvoiceRequest> excelList(Object queryCon) {
InvoiceRequestQuery queryBean = (InvoiceRequestQuery) queryCon;
Criteria criteria = this.getCriteria(InvoiceRequest.class);
if (null != queryBean.getContactName() && !"".equals(queryBean.getContactName())) {
criteria.add(Restrictions.like("contactName", queryBean.getContactName(), MatchMode.ANYWHERE));
}
if (null != queryBean.getRequestPerson()&& !"".equals(queryBean.getRequestPerson())) {
criteria.add(Restrictions.like("requestPerson", queryBean.getRequestPerson(), MatchMode.ANYWHERE));
}
if (queryBean.getCreateTimeStart() != null) {
criteria.add(Restrictions.ge("createTime", queryBean.getCreateTimeStart()));
}
if (queryBean.getCreateTimeEnd() != null) {
criteria.add(Restrictions.le("createTime", queryBean.getCreateTimeEnd()));
}
if (queryBean.getSortDirection().equals(SortDirectionEnum.ASC)) {
criteria.addOrder(Order.asc("id"));
} else {
criteria.addOrder(Order.desc("id"));
}
List<InvoiceRequest> result = criteria.list();
return result;
}
}
package com.ctrip.fun.golf.domain.basic;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "ord_invoiceOrderInfo")
public class InvoiceOrderInfo {
private Integer id;
private Integer requestId;
private String orderNo;
private String courseName;
private String amount;
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "id", unique = true)
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Column(name = "requestId")
public Integer getRequestId() {
return requestId;
}
public void setRequestId(Integer requestId) {
this.requestId = requestId;
}
@Column(name = "orderNo", unique = true)
public String getOrderNo() {
return orderNo;
}
public void setOrderNo(String orderNo) {
this.orderNo = orderNo;
}
@Column(name = "courseName", unique = true)
public String getCourseName() {
return courseName;
}
public void setCourseName(String courseName) {
this.courseName = courseName;
}
@Column(name = "amount", unique = true)
public String getAmount() {
return amount;
}
public void setAmount(String amount) {
this.amount = amount;
}
}
package com.ctrip.fun.golf.domain.basic;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* 标签
* @author zgsong
*
*/
@Entity
@Table(name = "ord_invoiceRequest")
public class InvoiceRequest implements java.io.Serializable {
/**
* serialVersionUID
*/
private static final long serialVersionUID = 7667707067634311302L;
//发票申请id
private Integer id;
//快递费用归属部门
private String costOfDepart;
//发票抬头
private String invoiceTitle;
//纳税识别号
private String taxIdNum;
//寄送联系人
private String contactName;
//联系方式
private String contactTel;
//寄送地址
private String contactAddress;
//开票备注
private String invoiceRemark;
//快递单号
private String expressNo;
//发票邮递时间
private Date sendTime;
//未开票原因
private String refusedReason;
//发票申请提交时间
private Date createTime;
//发票申请提交时间
private Integer status;
//提交人
private String requestPerson;
//销售备注
private String salesRemark;
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "ID", unique = true)
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
@Column(name = "costOfDepart")
public String getCostOfDepart() {
return costOfDepart;
}
public void setCostOfDepart(String costOfDepart) {
this.costOfDepart = costOfDepart;
}
@Column(name = "invoiceTitle")
public String getInvoiceTitle() {
return invoiceTitle;
}
public void setInvoiceTitle(String invoiceTitle) {
this.invoiceTitle = invoiceTitle;
}
@Column(name = "taxIdNum")
public String getTaxIdNum() {
return taxIdNum;
}
public void setTaxIdNum(String taxIdNum) {
this.taxIdNum = taxIdNum;
}
@Column(name = "contactName")
public String getContactName() {
return contactName;
}
public void setContactName(String contactName) {
this.contactName = contactName;
}
@Column(name = "contactTel")
public String getContactTel() {
return contactTel;
}
public void setContactTel(String contactTel) {
this.contactTel = contactTel;
}
@Column(name = "contactAddress")
public String getContactAddress() {
return contactAddress;
}
public void setContactAddress(String contactAddress) {
this.contactAddress = contactAddress;
}
@Column(name = "invoiceRemark")
public String getInvoiceRemark() {
return invoiceRemark;
}
public void setInvoiceRemark(String invoiceRemark) {
this.invoiceRemark = invoiceRemark;
}
@Column(name = "expressNo")
public String getExpressNo() {
return expressNo;
}
public void setExpressNo(String expressNo) {
this.expressNo = expressNo;
}
@Column(name = "sendTime")
public Date getSendTime() {
return sendTime;
}
public void setSendTime(Date sendTime) {
this.sendTime = sendTime;
}
@Column(name = "refusedReason")
public String getRefusedReason() {
return refusedReason;
}
public void setRefusedReason(String refusedReason) {
this.refusedReason = refusedReason;
}
@Column(name = "createTime")
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
@Column(name = "status")
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
@Column(name = "requestPerson")
public String getRequestPerson() {
return requestPerson;
}
public void setRequestPerson(String requestPerson) {
this.requestPerson = requestPerson;
}
@Column(name = "salesRemark")
public String getSalesRemark() {
return salesRemark;
}
public void setSalesRemark(String salesRemark) {
this.salesRemark = salesRemark;
}
}
package com.ctrip.fun.golf.service.basic;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import com.ctrip.fun.common.core.util.BeanConverter;
import com.ctrip.fun.common.vo.basic.InvoiceOrderInfoBean;
import com.ctrip.fun.common.vo.basic.InvoiceRequestBean;
import com.ctrip.fun.common.vo.basic.InvoiceRequestQuery;
import com.ctrip.fun.golf.dao.basic.InvoiceOrderInfoDao;
import com.ctrip.fun.golf.dao.basic.InvoiceRequestDao;
import com.ctrip.fun.golf.domain.basic.InvoiceOrderInfo;
import com.ctrip.fun.golf.domain.basic.InvoiceRequest;
import com.ctrip.fun.golf.exceptions.DaoException;
import com.ctrip.fun.golf.service.GenericService;
import com.ctrip.fun.golf.utils.GenericManager;
public class InvoiceRequestService extends GenericService<InvoiceRequestDao, InvoiceRequest, Integer, InvoiceRequestBean>{
@Autowired
private InvoiceRequestDao invoiceRequestDao = null;
@Autowired
private InvoiceOrderInfoDao invoiceOrderInfoDao = null;
public Integer save(InvoiceRequestBean invoiceRequestBean) {
InvoiceRequest invoiceRequest = new InvoiceRequest();
BeanConverter.copyProperties(invoiceRequest, invoiceRequestBean);
invoiceRequest.setCreateTime(new Date());
invoiceRequest.setStatus(1);
Integer invoiceRequestId = invoiceRequestDao.save(invoiceRequest);
List<InvoiceOrderInfoBean> invoiceOrderInfos = invoiceRequestBean.getInvoiceOrderInfoBeans();
if(invoiceOrderInfos!=null){
for(InvoiceOrderInfoBean invoiceOrderInfoBean:invoiceOrderInfos){
InvoiceOrderInfo invoiceOrderInfo = new InvoiceOrderInfo();
BeanConverter.copyProperties(invoiceOrderInfo, invoiceOrderInfoBean);
invoiceOrderInfo.setRequestId(invoiceRequestId);
invoiceOrderInfoDao.save(invoiceOrderInfo);
}
}
return 1;
}
public List<InvoiceRequestBean> excelList(InvoiceRequestQuery invoiceRequestQuery) {
List<InvoiceRequest> entiys = invoiceRequestDao.excelList(invoiceRequestQuery);
List<InvoiceRequestBean> invoiceRequestBeans = new ArrayList<InvoiceRequestBean>();
for(InvoiceRequest invoiceRequest: entiys){
InvoiceRequestBean invoiceRequestBean = new InvoiceRequestBean();
BeanConverter.copyProperties(invoiceRequestBean, invoiceRequest);
List<InvoiceOrderInfoBean> invoiceOrderInfoBeans = new ArrayList<InvoiceOrderInfoBean>();
List<InvoiceOrderInfo> list = invoiceOrderInfoDao.findByRequestId(invoiceRequestBean.getId());
for(InvoiceOrderInfo InvoiceOrderInfo:list){
InvoiceOrderInfoBean bean = new InvoiceOrderInfoBean();
BeanConverter.copyProperties(bean, InvoiceOrderInfo);
invoiceOrderInfoBeans.add(bean);
}
invoiceRequestBean.setInvoiceOrderInfoBeans(invoiceOrderInfoBeans);
invoiceRequestBeans.add(invoiceRequestBean);
}
return invoiceRequestBeans;
}
public InvoiceRequestBean get(Integer id) {
InvoiceRequest entiy = invoiceRequestDao.findById(id);
InvoiceRequestBean invoiceRequestBean = new InvoiceRequestBean();
BeanConverter.copyProperties(invoiceRequestBean, entiy);
List<InvoiceOrderInfoBean> invoiceOrderInfoBeans = new ArrayList<InvoiceOrderInfoBean>();
List<InvoiceOrderInfo> list = invoiceOrderInfoDao.findByRequestId(invoiceRequestBean.getId());
for(InvoiceOrderInfo InvoiceOrderInfo:list){
InvoiceOrderInfoBean bean = new InvoiceOrderInfoBean();
BeanConverter.copyProperties(bean, InvoiceOrderInfo);
invoiceOrderInfoBeans.add(bean);
}
invoiceRequestBean.setInvoiceOrderInfoBeans(invoiceOrderInfoBeans);
return invoiceRequestBean;
}
public void updateInvoiceRequests(List<InvoiceRequestBean> list) {
for(InvoiceRequestBean bean:list){
this.update(bean);
}
}
public void update(InvoiceRequestBean invoiceRequestBean) {
InvoiceRequest dbRequest = invoiceRequestDao.findById(invoiceRequestBean.getId());
InvoiceRequest entity = new InvoiceRequest();
List<InvoiceOrderInfoBean> invoiceOrderInfos = invoiceRequestBean.getInvoiceOrderInfoBeans();
if(invoiceOrderInfos!=null){
BeanConverter.copyProperties(entity, invoiceRequestBean);
entity.setCreateTime(dbRequest.getCreateTime());
entity.setStatus(1);
invoiceOrderInfoDao.deleteByRequestId(entity.getId());
for(InvoiceOrderInfoBean invoiceOrderInfoBean:invoiceOrderInfos){
InvoiceOrderInfo invoiceOrderInfo = new InvoiceOrderInfo();
BeanConverter.copyProperties(invoiceOrderInfo, invoiceOrderInfoBean);
invoiceOrderInfo.setRequestId(entity.getId());
invoiceOrderInfoDao.save(invoiceOrderInfo);
}
}else{
BeanConverter.copyProperties(entity, dbRequest);
entity.setExpressNo(invoiceRequestBean.getExpressNo());
entity.setRefusedReason(invoiceRequestBean.getRefusedReason());
entity.setSendTime(invoiceRequestBean.getSendTime());
entity.setStatus(2);
}
getEntityDao().merge(entity);
}
public InvoiceRequestDao getInvoiceRequestDao() {
return this.invoiceRequestDao;
}
public void setInvoiceRequestDao(InvoiceRequestDao invoiceRequestDao) {
this.invoiceRequestDao = invoiceRequestDao;
}
@Override
public InvoiceRequestDao getEntityDao() {
// TODO Auto-generated method stub
return invoiceRequestDao;
}
public InvoiceOrderInfoDao getInvoiceOrderInfoDao() {
return invoiceOrderInfoDao;
}
public void setInvoiceOrderInfoDao(InvoiceOrderInfoDao invoiceOrderInfoDao) {
this.invoiceOrderInfoDao = invoiceOrderInfoDao;
}
}
......@@ -282,6 +282,16 @@
<bean name="luckActivityDao" class="com.ctrip.fun.golf.dao.basic.LuckActivityDao">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean name="invoiceOrderInfoDao" class="com.ctrip.fun.golf.dao.basic.InvoiceOrderInfoDao">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean name="invoiceRequestDao" class="com.ctrip.fun.golf.dao.basic.InvoiceRequestDao">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean name="luckStockDao" class="com.ctrip.fun.golf.dao.basic.LuckStockDao">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
......@@ -295,6 +305,9 @@
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean name="luckActivityService" class="com.ctrip.fun.golf.service.basic.LuckActivityService" />
<bean name="invoiceRequestService" class="com.ctrip.fun.golf.service.basic.InvoiceRequestService" />
<bean name="luckStockService" class="com.ctrip.fun.golf.service.basic.LuckStockService" />
<bean name="luckPrizeService" class="com.ctrip.fun.golf.service.basic.LuckPrizeService" />
<bean name="luckParticipateService" class="com.ctrip.fun.golf.service.basic.LuckParticipateService" />
......
......@@ -215,6 +215,9 @@
<mapping class="com.ctrip.fun.golf.domain.arc.GolfHabit" />
<mapping class="com.ctrip.fun.golf.domain.arc.CommunicationRecord" />
<mapping class="com.ctrip.fun.golf.domain.arc.PurchaseHabit" />
<mapping class="com.ctrip.fun.golf.domain.basic.InvoiceRequest" />
<mapping class="com.ctrip.fun.golf.domain.basic.InvoiceOrderInfo" />
</session-factory>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment