/*
* @(#)ParComCompanySizeService.java
* @author songjundong
* Copyright (c) 2015 Glacier SoftWare Company Limited. All Rights Reserved.
*/
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.CollectionsUtil;
import com.glacier.basic.util.JackJson;
import com.glacier.basic.util.RandomGUID;
import com.glacier.frame.dao.basicdatas.ParComCompanySizeMapper;
import com.glacier.frame.dto.query.basicdatas.ParComCompanySizeQueryDTO;
import com.glacier.frame.entity.basicdatas.ParComCompanySize;
import com.glacier.frame.entity.basicdatas.ParComCompanySizeExample;
import com.glacier.frame.entity.basicdatas.ParComCompanySizeExample.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: ParComCompanySizeService
* @Description: TODO(公司规模service)
* @author songjundong
* @email 985776597@QQ.com
* @date 2015-1-8 上午9:31:57
*/
@Service
@Transactional(readOnly = true, propagation = Propagation.REQUIRED)
public class ParComCompanySizeService {
@Autowired
private ParComCompanySizeMapper parComCompanySizeMapper;
/***
* @Title: getParComCompanySize
* @Description: TODO(根据id获取公司规模)
* @param @param parComCompanySizeId
* @param @return 设定文件
* @return Object 返回类型
* @throws
*/
public Object getParComCompanySize(String parComCompanySizeId) {
return parComCompanySizeMapper.selectByPrimaryKey(parComCompanySizeId);
}
/**
* @Title: listAsGrid
* @Description: TODO(获取所有公司规模信息)
* @param @param optgroupId
* @param @param pager
* @param @return 设定文件
* @return Object 返回类型
* @throws
*/
public Object listAsGrid(JqPager jqPager, ParComCompanySizeQueryDTO parComCompanySizeQueryDTO) {
JqGridReturn returnResult = new JqGridReturn();
ParComCompanySizeExample parComCompanySizeExample = new ParComCompanySizeExample();
Criteria queryCriteria = parComCompanySizeExample.createCriteria();
parComCompanySizeQueryDTO.setQueryCondition(queryCriteria);
if (null != jqPager.getPage() && null != jqPager.getRows()) {// 设置排序信息
parComCompanySizeExample.setLimitStart((jqPager.getPage() - 1) * jqPager.getRows());
parComCompanySizeExample.setLimitEnd(jqPager.getRows());
}
if (StringUtils.isNotBlank(jqPager.getSort()) && StringUtils.isNotBlank(jqPager.getOrder())) {// 设置排序信息
parComCompanySizeExample.setOrderByClause(jqPager.getOrderBy("temp_par_com_company_size_"));
}
List<ParComCompanySize> carrierCarTypeList = parComCompanySizeMapper.selectByExample(parComCompanySizeExample); // 查询所有公司规模列表
int total = parComCompanySizeMapper.countByExample(parComCompanySizeExample); // 查询总页数
returnResult.setRows(carrierCarTypeList);
returnResult.setTotal(total);
return returnResult;// 返回ExtGrid表
}
/**
* @Title: getParComCompanySizeCombo
* @Description: TODO(用于Combo的数据绑定)
* @param @param clientTypeId
* @param @return
* @throws
* 备注<p>已检查测试:Green<p>
*/
public Object getParComCompanySizeCombo() {
ParComCompanySizeExample parComCompanySizeExample = new ParComCompanySizeExample();
parComCompanySizeExample.createCriteria().andEnabledEqualTo("enable");
List<ParComCompanySize> parComCompanySizes = parComCompanySizeMapper.selectByExample(parComCompanySizeExample);
return JackJson.fromObjectToJson(parComCompanySizes);
}
/**
*
* @Title: addParComCompanySize
* @Description: TODO(新增公司规模)
* @param @param parComCompanySize
* @param @return 设定文件
* @return Object 返回类型
* @throws
*/
@Transactional(readOnly = false)
@MethodLog(opera = "ComCompanySizeList_add")
public Object addParComCompanySize(ParComCompanySize parComCompanySize) {
Subject pricipalSubject = SecurityUtils.getSubject();
User pricipalUser = (User) pricipalSubject.getPrincipal();
JqReturnJson returnResult = new JqReturnJson();// 构建返回结果,默认结果为false
ParComCompanySizeExample parComCompanySizeExample = new ParComCompanySizeExample();
int count = 0;
//防止名称重复
parComCompanySizeExample.createCriteria().andCompanySizeNameEqualTo(parComCompanySize.getCompanySizeName());
count = parComCompanySizeMapper.countByExample(parComCompanySizeExample);
if (count > 0) {
returnResult.setMsg("公司规模名称重复");
returnResult.setSuccess(false);
return returnResult;
}
parComCompanySize.setCompanySizeId(RandomGUID.getRandomGUID());
parComCompanySize.setCreater(pricipalUser.getUserCnName());
parComCompanySize.setCreateTime(new Date());
parComCompanySize.setUpdater(pricipalUser.getUserCnName());
parComCompanySize.setUpdateTime(new Date());
count = parComCompanySizeMapper.insert(parComCompanySize);
if (count == 1) {
returnResult.setSuccess(true);
returnResult.setMsg("信息已保存");
} else {
returnResult.setMsg("发生未知错误,信息保存失败");
}
return returnResult;
}
/**
* @Title: editParComCompanySize
* @Description: TODO(这修改公司规模信息)
* @param @param parComCompanySize
* @param @return 设定文件
* @return Object 返回类型
* @throws
*/
@Transactional(readOnly = false)
@MethodLog(opera = "ComCompanySizeList_edit")
public Object editParComCompanySize(ParComCompanySize parComCompanySize) {
Subject pricipalSubject = SecurityUtils.getSubject();
User pricipalUser = (User) pricipalSubject.getPrincipal();
JqReturnJson returnResult = new JqReturnJson();// 构建返回结果,默认结果为false
ParComCompanySizeExample parComCompanySizeExample = new ParComCompanySizeExample();
int count = 0;
//防止名称重复
parComCompanySizeExample.createCriteria().andCompanySizeNameEqualTo(parComCompanySize.getCompanySizeName()).andCompanySizeIdNotEqualTo(parComCompanySize.getCompanySizeId());
count = parComCompanySizeMapper.countByExample(parComCompanySizeExample);
if (count > 0) {
returnResult.setMsg("公司规模名称重复");
returnResult.setSuccess(false);
return returnResult;
}
parComCompanySize.setUpdater(pricipalUser.getUserCnName());
parComCompanySize.setUpdateTime(new Date());
count = parComCompanySizeMapper.updateByPrimaryKeySelective(parComCompanySize);
if (count == 1) {
returnResult.setSuccess(true);
returnResult.setMsg("信息已保存");
} else {
returnResult.setMsg("发生未知错误,信息保存失败");
}
return returnResult;
}
/**
* @Title: delCarType
* @Description: TODO(删除公司规模信息)
* @param @param parComCompanySizeIds
* @param @param parComCompanyNames
* @param @return 设定文件
* @return Object 返回类型
* @throws
*/
@Transactional(readOnly = false)
@MethodLog(opera = "ComCompanySizeList_del")
public Object delCarType(List<String> parComCompanySizeIds, List<String> parComCompanyNames) {
JqReturnJson returnResult = new JqReturnJson();// 构建返回结果,默认结果为false
int count = 0;
if (parComCompanySizeIds.size() > 0) {
ParComCompanySizeExample parComCompanySizeExample = new ParComCompanySizeExample();
parComCompanySizeExample.createCriteria().andCompanySizeIdIn(parComCompanySizeIds);
count = parComCompanySizeMapper.deleteByExample(parComCompanySizeExample);
if (count > 0) {
returnResult.setSuccess(true);
returnResult.setMsg("成功删除了公司规模为:[ " + CollectionsUtil.convertToString(parComCompanyNames, ",") + " ]的信息");
} else {
returnResult.setMsg("发生未知错误,信息删除失败");
}
}
return returnResult;
}
}