/**
* @Title: ParComContactTypeService.java
* @Package com.glacier.global.service.ParComContactType
* @author wuting
* @email 920339213@qq.com
* @date 2015-1-8
* @company (开发公司) 珠海市冰川软件有限公司
* @copyright (版权) 本文件归属珠海市冰川软件有限公司所有
* @version V1.00
* @Review (审核人) :wuting
*
*/
package com.glacier.frame.service.basicdatas;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import com.glacier.basic.util.JackJson;
import com.glacier.basic.util.RandomGUID;
import com.glacier.frame.dao.basicdatas.ParComContactTypeMapper;
import com.glacier.frame.dto.query.basicdatas.ParComContactTypeQueryDTO;
import com.glacier.frame.entity.basicdatas.ParComContactType;
import com.glacier.frame.entity.basicdatas.ParComContactTypeExample;
import com.glacier.frame.entity.basicdatas.ParComContactTypeExample.Criteria;
import com.glacier.frame.entity.system.User;
import com.glacier.frame.util.MethodLog;
import com.glacier.jqueryui.util.JqGridReturn;
import com.glacier.jqueryui.util.JqPager;
import com.glacier.jqueryui.util.JqReturnJson;
/***
* @ClassName: ParComContactTypeService
* @Description: TODO(联系人类型表业务类)
* @author wuting
* @email 920339213@QQ.com
* @date 2015-1-8
*/
@Service
@Transactional(readOnly = true ,propagation = Propagation.REQUIRED)
public class ParComContactTypeService {
@Autowired
private ParComContactTypeMapper parComContactTypeMapper;
/**
* @Title: listAsGrid
* @Description: TODO(获取所有联系人类型信息)
* @param @param pager
* @param @return 设定文件
* @return Object 返回类型
* @throws
*/
public Object listAsGrid(JqPager jqPager, ParComContactTypeQueryDTO deliverTypeQueryDTO) {
JqGridReturn returnResult = new JqGridReturn();
ParComContactTypeExample parComContactTypeExample = new ParComContactTypeExample();
Criteria queryCriteria = parComContactTypeExample.createCriteria();
deliverTypeQueryDTO.setQueryCondition(queryCriteria);
if (null != jqPager.getPage() && null != jqPager.getRows()) {// 设置排序信息
parComContactTypeExample.setLimitStart((jqPager.getPage() - 1) * jqPager.getRows());
parComContactTypeExample.setLimitEnd(jqPager.getRows());
}
if (StringUtils.isNotBlank(jqPager.getSort()) && StringUtils.isNotBlank(jqPager.getOrder())) {// 设置排序信息
parComContactTypeExample.setOrderByClause(jqPager.getOrderBy("temp_par_com_contact_type_"));
}
List<ParComContactType> parComContactTypeList = parComContactTypeMapper.selectByExample(parComContactTypeExample); // 查询所有联系人类型列表
int total = parComContactTypeMapper.countByExample(parComContactTypeExample); // 查询总页数
returnResult.setRows(parComContactTypeList);
returnResult.setTotal(total);
return returnResult;// 返回ExtGrid表
}
/**
* @Title: getParComContactType
* @Description: TODO(根据联系人类型Id获取联系人类型信息)
* @param @param deliverTypeId
* @param @return 设定文件
* @return Object 返回类型
* @throws
*/
public Object getParComContactType(String deliverTypeId) {
ParComContactType parComContactType = parComContactTypeMapper.selectByPrimaryKey(deliverTypeId);
return parComContactType;
}
/**
* @Title: addParComContactType
* @Description: TODO(新增联系人类型)
* @param @param parComContactType
* @param @return 设定文件
* @return Object 返回类型
* @throws
*/
@Transactional(readOnly = false)
@MethodLog(opera = "ContactTypeList_add")
public Object addParComContactType(ParComContactType parComContactType) {
Subject pricipalSubject = SecurityUtils.getSubject();
User pricipalUser = (User) pricipalSubject.getPrincipal();
JqReturnJson returnResult = new JqReturnJson();// 构建返回结果,默认结果为false
ParComContactTypeExample parComContactTypeExample = new ParComContactTypeExample();
int count = 0;
// 防止联系人类型名称重复
parComContactTypeExample.createCriteria().andContactTypeNameEqualTo(parComContactType.getContactTypeName());
count = parComContactTypeMapper.countByExample(parComContactTypeExample);
if (count > 0) {
returnResult.setMsg("联系人类型名称重复");
returnResult.setSuccess(false);
return returnResult;
}
parComContactType.setContactTypeId(RandomGUID.getRandomGUID());
parComContactType.setCreater(pricipalUser.getUserCnName());
parComContactType.setCreateTime(new Date());
parComContactType.setUpdater(pricipalUser.getUserCnName());
parComContactType.setUpdateTime(new Date());
count = parComContactTypeMapper.insert(parComContactType);
if (count == 1) {
returnResult.setSuccess(true);
returnResult.setMsg("[" + parComContactType.getContactTypeName() + "] 联系人类型信息已保存");
} else {
returnResult.setMsg("发生未知错误,联系人类型信息保存失败");
}
return returnResult;
}
/**
* @Title: editParComContactType
* @Description: TODO(修改联系人类型信息)
* @param @param parComContactType
* @param @return 设定文件
* @return Object 返回类型
* @throws
*/
@Transactional(readOnly = false)
@MethodLog(opera = "ContactTypeList_edit")
public Object editParComContactType(ParComContactType parComContactType) {
Subject pricipalSubject = SecurityUtils.getSubject();
User pricipalUser = (User) pricipalSubject.getPrincipal();
JqReturnJson returnResult = new JqReturnJson();// 构建返回结果,默认结果为false
ParComContactTypeExample parComContactTypeExample = new ParComContactTypeExample();
int count = 0;
// 防止联系人类型名称重复
parComContactTypeExample.createCriteria().andContactTypeNameEqualTo(parComContactType.getContactTypeName()).andContactTypeIdNotEqualTo(parComContactType.getContactTypeId());
count = parComContactTypeMapper.countByExample(parComContactTypeExample);
if (count > 0) {
returnResult.setMsg("联系人类型名称重复");
return returnResult;
}
//更新更新人和更新时间
parComContactType.setUpdater(pricipalUser.getUserCnName());
parComContactType.setUpdateTime(new Date());
count = parComContactTypeMapper.updateByPrimaryKeySelective(parComContactType);
if (count == 1) {
returnResult.setSuccess(true);
returnResult.setMsg("[" + parComContactType.getContactTypeName() + "] 联系人类型信息已保存");
} else {
returnResult.setMsg("发生未知错误,联系人类型信息保存失败");
}
return returnResult;
}
/**
* @Title: delParComContactType
* @Description: TODO(删除联系人类型)
* @param @param gradeIds
* @param @return 设定文件
* @return Object 返回类型
* @throws
*/
@Transactional(readOnly = false)
@MethodLog(opera = "ContactTypeList_del")
public Object delParComContactType(List<String> contactTypeIds) {
JqReturnJson returnResult = new JqReturnJson();// 构建返回结果,默认结果为false
int count = 0;
if (contactTypeIds.size() > 0) {
ParComContactTypeExample parComContactTypeExample = new ParComContactTypeExample();
parComContactTypeExample.createCriteria().andContactTypeIdIn(contactTypeIds);
count = parComContactTypeMapper.deleteByExample(parComContactTypeExample);
if (count > 0) {
returnResult.setSuccess(true);
returnResult.setMsg("成功删除了【" + count + " 】条联系人类型信息");
} else {
returnResult.setMsg("发生未知错误,联系人类型信息删除失败");
}
}
return returnResult;
}
/**
*
* @Title: getContactTypeCombo
* @Description: TODO(供应商联系人类型下拉项显示)
* @param @return 设定文件
* @return Object 返回类型
* @throws
*/
public Object getContactTypeCombo() {
ParComContactTypeExample parComContactTypeExample=new ParComContactTypeExample();
parComContactTypeExample.createCriteria().andEnabledEqualTo("enable");
return JackJson.fromObjectToJson(parComContactTypeMapper.selectByExample(parComContactTypeExample));
}
}