📄 serviceordermgrimpl.java
字号:
}
//查找所有的客户
public Page searchCustomers(String customerName,String path,int currentPage,int rowsPerPage){
Page page = null;
List<Customer> customerList = null;
int count = 0;
try {
customerList = serviceOrderDAO.searchCustomers(customerName, path, currentPage, rowsPerPage);
count = serviceOrderDAO.searchCustomersCount(customerName);
page = new Page(path, count, currentPage, rowsPerPage,customerList);
} catch (RuntimeException re) {
logger.debug(re.getMessage());
throw re;
}
return page;
}
//查找所有的联系人
public Page searchContacters(int customerId,String name,String path,int currentPage,int rowsPerPage){
Page page = null;
List<CustomerContact> customerContactList = null;
int count = 0;
try {
customerContactList = serviceOrderDAO.searchContacters(customerId, name, path, currentPage, rowsPerPage);
count = serviceOrderDAO.searchContactersCount(customerId,name);
page = new Page(path, count, currentPage, rowsPerPage,customerContactList);
} catch (RuntimeException re) {
logger.debug(re.getMessage());
throw re;
}
return page;
}
//通过id取客户
public Customer getCustomerById(int customerId){
return serviceOrderDAO.getCustomerById(customerId);
}
//通过id取联系人
public CustomerContact getContactById(int contactId){
return serviceOrderDAO.getContactById(contactId);
}
//通过ID取得服务单
public ServiceOrder findById(int id){
return serviceOrderDAO.findById(id);
}
//通过用户id取得用户
public User getUserById(int userId){
return serviceOrderDAO.getUserById(userId);
}
/******************************自定义选项调用的方法**************************************/
// 保存服务单自定义选项
public void saveUserDefined(UserDefined userDefined)
throws ApplicationException {
try {
serviceOrderDAO.saveUserDefined(userDefined);
} catch (Exception e) {
e.printStackTrace();
throw new ApplicationException(Constants.ADDUSERDEFINEDEXCEPTION);
}
}
// 保存服务单过滤
public void saveUserFilter(UserFilter userFilter)
throws ApplicationException {
try {
serviceOrderDAO.saveUserFilter(userFilter);
} catch (Exception e) {
e.printStackTrace();
throw new ApplicationException(Constants.ADDUFILTEREXCEPTION);
}
}
// 保存服务单显示
public void saveUserField(UserField userField) throws ApplicationException {
try {
serviceOrderDAO.saveUserField(userField);
} catch (Exception e) {
e.printStackTrace();
throw new ApplicationException(Constants.ADDFIELDEXCEPTION);
}
}
// 构造返回构造返回服务单自定义选项进行修改
public ServiceOrderDefinedVo getServiceOrderDefinedVo(
UserDefined serviceOrderDefined) throws ApplicationException {
ServiceOrderDefinedVo serviceOrderDefinedVo = null;
try {
if (serviceOrderDefined != null) {
List<UserFilter> userFilters = serviceOrderDAO
.getServiceOrderUserFilter(serviceOrderDefined);// 过滤条件
UserField userField = serviceOrderDAO
.getServiceOrderUserField(serviceOrderDefined);// 显示字段
List<String> preField = new ArrayList<String>();
String[] fieldArray = userField.getFieldName().split(",");// 将显示字段转换成数组
for (String o : fieldArray) {// 搜索用户自定义客户字段
preField.add(o);
}
List<String> noUserFields = StringTool
.serviceOrderFilterString(preField);// 提取剩余的字段
serviceOrderDefinedVo = new ServiceOrderDefinedVo(
serviceOrderDefined.getId(), serviceOrderDefined
.getDefinedName(), serviceOrderDefined
.getType(),serviceOrderDefined.getIsDefined(),serviceOrderDefined.getIsSysDefined(),userFilters, noUserFields, preField);
}
} catch (Exception e) {
e.printStackTrace();
throw new ApplicationException(Constants.SEARCHOPTIONEXCEPTION);
}
return serviceOrderDefinedVo;
}
//取得用户自定义的默认选项
public UserDefined getUserDefinedOption(int isDefined,User user){
return serviceOrderDAO.getUserDefinedOption(isDefined, user);
}
//更新该用户所有自定义的选项为非默认的搜索选项
public void updateMyAllOption(int type,int isDefined,User user){
serviceOrderDAO.updateMyAllOption(type,isDefined,user);
}
// 创建服务单新选项 hwb
public void newServiceOrderOption(HttpServletRequest request) {
String optionName = request.getParameter("optionName");
String definedFlag = request.getParameter("definedFlag");
User user = SessionMgr.getCustSession(request);
UserDefined userDefined = null;
UserFilter userFilter = null;
try {
if (user != null) {
userDefined = new UserDefined();
if (optionName != null) {
userDefined.setDefinedName(optionName);
}
userDefined.setType(Constants.ALLSERVICEORDER_INT);// 设置服务单新选项的标识
if (definedFlag == null) {
userDefined.setIsDefined(Constants.IS_DEFINED_NO);// 设置非默认的标识
} else {
updateMyAllOption(Constants.ALLSERVICEORDER_INT,
Constants.IS_DEFINED_NO, user);// 设置服务单所有自定义选项为非默认值
userDefined.setIsDefined(Constants.IS_DEFINED_YES);
}
userDefined.setIsSysDefined(Constants.IS_SYS_DEFINED_NO);// 设置非系统的标识,可以更改
userDefined.setInDate(new Date());
userDefined.setUser(user);
serviceOrderDAO.saveUserDefined(userDefined); // 保存用户选项
for (int i = 1; i <= 20; i++) {
userFilter = new UserFilter();
String fieldId = request.getParameter("field" + i);// 字段
logger.debug(fieldId);
String operatorPre = request.getParameter("operator" + i);// 预运算符
logger.debug(operatorPre);
String value = request.getParameter("value" + i);// 值
logger.debug(value);
userFilter.setOperatorName(operatorPre);// 保存操作名
userFilter.setFilter(value);// 保存值
if (!StringTool.isNotBlank(fieldId)
|| !StringTool.isNotBlank(operatorPre)
|| !StringTool.isNotBlank(value)) {// 若字段为空
break;
}
String field = StringTool.getSOFieldName(fieldId);// 字段
logger.debug("field==" + field);
String operator = StringTool.transformStr(operatorPre);// 转换运算符
logger.debug("operator==" + operator);
if (operatorPre.equals(Constants.STARTCHAR)) {// 若运算符是起始字符
value = "'" + value + "%'";
} else if (operator.equals("like")
|| operator.equals("!like")) {// 若是模糊查询
value = "'%" + value + "%'";
} else {// 其余为数值或字符
value = StringTool.transformServiceOrderField(fieldId,
value);
}
logger.debug("value==" + value);
userFilter.setFilterName(field);
userFilter.setOperator(operator);
userFilter.setFilterValue(value);
userFilter.setUserDefined(userDefined);
serviceOrderDAO.saveUserFilter(userFilter);// 保存过滤条件
}
String optionFields = request.getParameter("preOptions"); // 分离预选项
UserField userField = new UserField();
userField.setFieldName(optionFields);
userField.setUserDefined(userDefined);
serviceOrderDAO.saveUserField(userField);// 保存显示字段
logger.debug("显示字段" + userField.getFieldName());
}
} catch (Exception re) {
logger.debug(re.getMessage());
throw new ApplicationException(Constants.ADDUSERDEFINEDEXCEPTION);
}
}
//编辑服务单新选项 hwb
public void editServiceOrderOption(int userDefinedId,HttpServletRequest request) {
String optionName = request.getParameter("optionName");
String definedFlag = request.getParameter("definedFlag");
logger.debug("optionNameoptionName" + optionName);
UserDefined soUserDefined = new UserDefined();
try {
soUserDefined = serviceOrderDAO.getUserDefinedById(userDefinedId);// 通过userDefinedId查找修改对象
serviceOrderDAO.deleteAllUserFilter(userDefinedId);
serviceOrderDAO.deleteAllUserField(userDefinedId);
User user = SessionMgr.getCustSession(request);
UserFilter userFilter = new UserFilter();
if (optionName != null) {
soUserDefined.setDefinedName(optionName);
}
soUserDefined.setType(Constants.ALLSERVICEORDER_INT);// 设置服务单新选项的标识
soUserDefined.setUser(user);
if (definedFlag != null && soUserDefined.getIsDefined()!=Constants.IS_DEFINED_YES){
serviceOrderDAO.updateMyAllOption(
Constants.ALLSERVICEORDER_INT, Constants.IS_DEFINED_NO,
user);
logger.debug("IsDefined:"+soUserDefined.getIsDefined());
soUserDefined.setIsDefined(Constants.IS_DEFINED_YES);
}
serviceOrderDAO.updateUserDefined(soUserDefined); // 保存用户选项
for (int i = 1; i <= 20; i++) {
userFilter = new UserFilter();
String fieldId = request.getParameter("field" + i);// 字段
logger.debug(fieldId);
String operatorPre = request.getParameter("operator" + i);// 预运算符
logger.debug(operatorPre);
String value = request.getParameter("value" + i);// 值
logger.debug(value);
userFilter.setOperatorName(operatorPre);// 保存操作名
userFilter.setFilter(value);// 保存值
if (!StringTool.isNotBlank(fieldId)
|| !StringTool.isNotBlank(operatorPre)
|| !StringTool.isNotBlank(value)) {// 若字段为空
break;
}
String field = StringTool.getSOFieldName(fieldId);// 字段
logger.debug("field==" + field);
String operator = StringTool.transformStr(operatorPre);// 转换运算符
logger.debug("operator==" + operator);
if (operatorPre.equals(Constants.STARTCHAR)) {// 若运算符是起始字符
value = "'" + value + "%'";
} else if (operator.equals("like") || operator.equals("!like")) {// 若是模糊查询
value = "'%" + value + "%'";
} else {// 其余为数值或字符
value = StringTool.transformServiceOrderField(fieldId,
value);
}
logger.debug("value==" + value);
userFilter.setFilterName(field);
userFilter.setOperator(operator);
userFilter.setFilterValue(value);
userFilter.setUserDefined(soUserDefined);
serviceOrderDAO.saveUserFilter(userFilter);// 保存过滤条件
}
String optionFields = request.getParameter("preOptions"); // 分离预选项
UserField userField = new UserField();
userField.setFieldName(optionFields);
userField.setUserDefined(soUserDefined);
serviceOrderDAO.saveUserField(userField);// 保存显示字段
logger.debug("显示字段" + userField.getFieldName());
request.setAttribute("isSuccess", Constants.MODIFYSUCCESS);
} catch (Exception re) {
logger.debug(re.getMessage());
throw new ApplicationException(Constants.UPDATEOPTIONEXCEPTION);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -