⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 servicebizimpl.java

📁 主要实现管理客户以及客户信息和其公司的服务管理
💻 JAVA
字号:
package biz.service.impl;

import java.sql.Date;
import java.util.List;

import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;

import web.condition.service.DealCondition;
import web.condition.service.ServiceCondition;
import biz.service.IServiceBIZ;
import dao.service.IDealDAO;
import dao.service.IServiceDAO;
import dao.userinfo.IUserInfoDAO;
import entity.Deal;
import entity.Service;
import entity.UserInfo;

public class ServiceBIZImpl implements IServiceBIZ {
	IServiceDAO sdao = null;
	IUserInfoDAO udao = null;
    IDealDAO ddao = null;
	public IServiceDAO getSdao() {
		return sdao;
	}

	public void setSdao(IServiceDAO sdao) {
		this.sdao = sdao;
	}
	/* (non-Javadoc)
	 * @see biz.service.impl.IServiceBIZ#addService(entity.Service)
	 * 创建服务
	 */
	public void addService(Service service){
		sdao.save(service);
	}
	/* (non-Javadoc)
	 * @see biz.service.impl.IServiceBIZ#assignService(java.lang.Integer, java.lang.Integer)
	 * 指派服务
	 */
	public void assignService(Integer serviceID,Integer userId){
		Service service = sdao.get(serviceID);
	    UserInfo userinfo = udao.get(userId);
	    service.setServiceStatus(2);
	    service.setServiceDatetime(this.getNow());
	    service.setUserInfoByServiceAssignId(userinfo);
	    sdao.update(service);
	}
    /* (non-Javadoc)
	 * @see biz.service.impl.IServiceBIZ#searchServiceByCondition(web.condition.service.ServiceCondition)
	 * 查询服务
	 */
    public List searchServiceByCondition(ServiceCondition condition){
    	List list = null;
    	DetachedCriteria criteria=DetachedCriteria.forClass(Service.class);
    	if(null!=condition&&null!=condition.getCustomersName()&&!"".equalsIgnoreCase(condition.getCustomersName())){
    		criteria.add(Restrictions.like("customersName", condition.getCustomersName(),MatchMode.ANYWHERE));
    	}
    	if(null!=condition&&null!=condition.getServiceSummary()&&!"".equalsIgnoreCase(condition.getServiceSummary())){
    		criteria.add(Restrictions.like("serviceSummary", condition.getServiceSummary(),MatchMode.ANYWHERE));
    	}
    	if(null!=condition&&null!=condition.getServiceStatus()){
    		criteria.add(Restrictions.eq("serviceStatus", condition.getServiceStatus()));
    	}
    	if(null!=condition&&null!=condition.getUserInfoByServiceAssignId()){
    		criteria.add(Restrictions.eq("userInfoByServiceAssignId", condition.getUserInfoByServiceAssignId()));
    	}
    	if(null!=condition&&null!=condition.getCreaterDatetimeStr()&&""!=condition.getCreaterDatetimeStr()){
    		String datestr = condition.getCreaterDatetimeStr();
    		Date date = null;
    		Date date2 = null;
    		try{
    		 date = this.valueOf(datestr,0,0,0);
    		 date2 = this.valueOf(datestr, 0, 0, 1);
    		}catch(IllegalArgumentException ex){
    			String year = datestr.substring(0,4);
    			date = this.valueOf(year+"-01-01", 0, 0, 0);
    			date2 = this.valueOf(year+"-01-01", 1, 0, 0);
    		}
    		criteria.add(Restrictions.between("createrDatetime",date, date2));
   
    	}
    	if(null!=condition&&null!=condition.getUserInfoByServiceAssignId()){
    		criteria.add(Restrictions.eq("userInfoByServiceAssignId", condition.getUserInfoByServiceAssignId()));
    	}
    	if(null!=condition&&null!=condition.getType()&&""!=condition.getType()){
    		criteria.createAlias("serviceTypeId", "type").add(Restrictions.eq("type.baseTypeName", "服务类型")).add(Restrictions.eq("type.baseName", condition.getType()));
    	}
    	criteria.addOrder(Order.desc("createrDatetime"));
    	list = sdao.search(criteria, (Integer.parseInt(condition.getPageNo())-1)*Integer.parseInt(condition.getMaxReuslts()), Integer.parseInt(condition.getMaxReuslts()));
    	
    	return list;
    }
    /* (non-Javadoc)
	 * @see biz.service.impl.IServiceBIZ#dealService(java.lang.Integer, entity.UserInfo, entity.Deal)
	 * 处理服务
	 */
    public void dealService(Integer serviceId,UserInfo dealUser,Deal deal){
    	Service service = sdao.get(serviceId);
    	deal.setService(service);
    	deal.setUserInfo(dealUser);
    	ddao.save(deal);
    	service.setServiceStatus(3);
    	sdao.update(service);
    }
    /* (non-Javadoc)
	 * @see biz.service.impl.IServiceBIZ#searchAllDealResultsById(web.condition.service.DealCondition)
	 * 查询服务措施
	 */
    public List searchAllDealResultsById(DealCondition condition){
    	List list = null;
    	DetachedCriteria criteria=DetachedCriteria.forClass(Deal.class);
    	if(null!=condition&&null!=condition.getService()){
    		criteria.add(Restrictions.eq("service", condition.getService()));
    	}
    	criteria.addOrder(Order.desc("managerDatetime"));
    	list = ddao.search(criteria, (Integer.parseInt(condition.getPageNo())-1)*Integer.parseInt(condition.getMaxReuslts()), Integer.parseInt(condition.getMaxReuslts()));
    	return list;
    }
    /* (non-Javadoc)
	 * @see biz.service.impl.IServiceBIZ#feedbackService(web.condition.service.ServiceCondition)
	 * 反馈服务
	 */
    public void feedbackService(Integer serviceId,String result,Integer resultFlag){
    	Service service = sdao.get(serviceId);
    	service.setServiceResult(result);
    	service.setServiceManYi(resultFlag);
    	if(resultFlag>=3){
    		service.setServiceStatus(4);
    	}
    	else
    		service.setServiceStatus(2);
    	sdao.update(service);
    }
    /* (non-Javadoc)
	 * @see biz.service.impl.IServiceBIZ#getServiceById(java.lang.Integer)
	 * 根据ID查询服务
	 */
    public Service getServiceById(Integer id){
    	return sdao.get(id);
    }
    /* (non-Javadoc)
	 * @see biz.service.impl.IServiceBIZ#deleteService(java.lang.Integer)
	 * 根据ID删除服务
	 */
    public void deleteService(Integer id){
    	Service service = sdao.get(id);
    	service.setServiceStatus(0);
    	sdao.update(service);
    }
	public IUserInfoDAO getUdao() {
		return udao;
	}

	public void setUdao(IUserInfoDAO udao) {
		this.udao = udao;
	}

	public IDealDAO getDdao() {
		return ddao;
	}

	public void setDdao(IDealDAO ddao) {
		this.ddao = ddao;
	}

	public int getCountOfServices(ServiceCondition condition) {
		// TODO Auto-generated method stub
		DetachedCriteria criteria = DetachedCriteria.forClass(Service.class);
	  	if(null!=condition&&null!=condition.getCustomersName()&&!"".equalsIgnoreCase(condition.getCustomersName())){
    		criteria.add(Restrictions.like("customersName", condition.getCustomersName(),MatchMode.ANYWHERE));
    	}
    	if(null!=condition&&null!=condition.getServiceSummary()&&!"".equalsIgnoreCase(condition.getServiceSummary())){
    		criteria.add(Restrictions.like("serviceSummary", condition.getServiceSummary(),MatchMode.ANYWHERE));
    	}
    	if(null!=condition&&null!=condition.getServiceStatus()){
    		criteria.add(Restrictions.eq("serviceStatus", condition.getServiceStatus()));
    	}
    	if(null!=condition&&null!=condition.getCreaterDatetimeStr()&&""!=condition.getCreaterDatetimeStr()){
     		String datestr = condition.getCreaterDatetimeStr();
    		Date date = null;
    		Date date2 = null;
    		try{
    		 date = this.valueOf(datestr,0,0,0);
    		 date2 = this.valueOf(datestr, 0, 0, 1);
    		}catch(IllegalArgumentException ex){
    			String year = datestr.substring(0,4);
    			date = this.valueOf(year+"-01-01", 0, 0, 0);
    			date2 = this.valueOf(year+"-01-01", 1, 0, 0);
    		}
    		criteria.add(Restrictions.between("createrDatetime",date, date2));
    	}
     	if(null!=condition&&null!=condition.getType()&&""!=condition.getType()){
    		criteria.createAlias("serviceTypeId", "type").add(Restrictions.eq("type.baseTypeName", "服务类型")).add(Restrictions.eq("type.baseName", condition.getType().trim()));
    	}
		return sdao.getCount(criteria);
	}
	 private static Date valueOf(String s,int years,int months,int days) {
			int year;
			int month;
			int day;
			int firstDash;
			int secondDash;

			if (s == null) throw new java.lang.IllegalArgumentException();

			firstDash = s.indexOf('-');
			secondDash = s.indexOf('-', firstDash+1);
			if ((firstDash > 0) & (secondDash > 0) & (secondDash < s.length()-1)) {
			    year = Integer.parseInt(s.substring(0, firstDash)) - 1900;
			    month = Integer.parseInt(s.substring(firstDash+1, secondDash)) - 1;
			    day = Integer.parseInt(s.substring(secondDash+1));	 
			} else {
			    throw new java.lang.IllegalArgumentException();
			}
					
			return new Date(year+years, month+months, day+days);
		    }
	private static java.util.Date getNow(){
		java.util.Calendar now = java.util.Calendar.getInstance();
		return now.getTime();
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -