SysParameterSetAction.java
package com.mycim.webapp.actions.setting.system.sysparameterset;
import com.fa.sesa.exception.Assert;
import com.fa.sesa.exception.Errors;
import com.fa.sesa.i18n.I18nUtils;
import com.fa.sesa.threadlocal.LocalContext;
import com.mycim.framework.utils.beans.BeanUtils;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.framework.utils.lang.time.DateUtils;
import com.mycim.valueobject.MessageIdList;
import com.mycim.valueobject.ObjectList;
import com.mycim.valueobject.sys.ReferenceFileDetail;
import com.mycim.valueobject.sys.SysParameterSet;
import com.mycim.webapp.Constants;
import com.mycim.webapp.TemplateLocation;
import com.mycim.webapp.WebUtils;
import com.mycim.webapp.actions.SystemSetupAction;
import com.mycim.webapp.forms.system.SysParameterSetInfoForm;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 系统参数设置 功能
*
* @author Pinyan Song
* @version 6.0.0
* @date 2019-8-20 10:48
**/
public class SysParameterSetAction extends SystemSetupAction {
@Override
public ActionForward init(ActionMapping mapping, ActionForm theform, HttpServletRequest request,
HttpServletResponse response) {
return mapping.getInputForward();
}
/**
* @param form
* @return
*/
public SysParameterSetInfoForm getSysParaSet(SysParameterSetInfoForm form) {
Long menuRrn = form.getMenuParameterRrn();
SysParameterSet sysParameterSet = new SysParameterSet();
if (menuRrn != null) {
sysParameterSet = sysService.getSysParameterSet(menuRrn);
if (sysParameterSet != null) {
BeanUtils.copyProperties(form, sysParameterSet);
}
form.setTransId(Constants.MODIFY_KEY);
} else {
BeanUtils.copyProperties(form, sysParameterSet);
form.setTransId(Constants.CREATE_KEY);
}
return form;
}
public ActionForward exportSysParaSet(ActionMapping mapping, SysParameterSetInfoForm theform,
HttpServletRequest request, HttpServletResponse response) throws Exception {
List<Map> sysParaSetList = (List<Map>) qrySysParaSetList(theform).get("results");
String fileName = "SystemData" + DateUtils.getNowTime(DateUtils.DATE_FORMAT4DAYD) + ".xlsx";
Map<String, Object> titles = WebUtils.getExportTitles(request);
WebUtils.exportExcel(fileName, titles, sysParaSetList, TemplateLocation.SYSTEM_PARAMETER, response);
return WebUtils.NULLActionForward;
}
public void insertOrUpdateSysParaSet(SysParameterSetInfoForm form) throws Exception {
String referenceId = StringUtils.trimToUpperCase(form.getReferenceFileId());
String parameterType = StringUtils.trimToUpperCase(form.getParameterType());
ReferenceFileDetail referenceFile = new ReferenceFileDetail(referenceId,
getNamedSpace(ObjectList.REFERENCE_FILE_KEY,
LocalContext.getFacilityRrn()),
ObjectList.REFERENCE_FILE_KEY);
long referenceFileRrn = getInstanceRrn(referenceFile.getInstanceId(), referenceFile.getNamedSpace(),
referenceFile.getObject());
String autoCreateUrl = null;
if (StringUtils.equalsIgnoreCase(parameterType, "menu")) {
autoCreateUrl = form.getSysParaSetMenuProgram();
form.setReferenceFileId("");
form.setReferenceFileRrn("");
} else if (StringUtils.equalsIgnoreCase(parameterType, "other")) {
autoCreateUrl = form.getSysParaSetOtherProgram();
form.setReferenceFileId("");
form.setReferenceFileRrn("");
form.setMenuId("");
form.setLinkMenuRrn(new Long(0));
} else {
autoCreateUrl = form.getSysParaSetReferenceProgram();
form.setMenuId("");
form.setLinkMenuRrn(new Long(0));
}
SysParameterSet sysParameterSet = new SysParameterSet();
PropertyUtils.copyProperties(sysParameterSet, form);
sysParameterSet.setParameterDesc(StringUtils.trimToUpperCase(sysParameterSet.getParameterDesc()));
sysParameterSet.setParameterType(StringUtils.trimToUpperCase(sysParameterSet.getParameterType()));
sysParameterSet.setReferenceFileRrn(StringUtils.toString(referenceFileRrn));
if (StringUtils.equalsIgnoreCase(form.getParameterType(), "menu")) {
sysParameterSet.setLinkMenuRrn(new Long(form.getLinkMenuRrn()));
}
String userId = LocalContext.getUserId();
sysParameterSet.setLinkUrl(autoCreateUrl);
if (sysParameterSet.getMenuParameterRrn() != null && sysParameterSet.getMenuParameterRrn() > 0) {
sysParameterSet.setUpdatedUserId(userId);
sysService.updateSysParameterSet(sysParameterSet);
} else {
sysParameterSet.setCreatedUserId(userId);
sysParameterSet.setUpdatedUserId(userId);
sysService.insertSysParameterSet(sysParameterSet);
}
}
public void deleteSysParaSet(SysParameterSetInfoForm form) {
Assert.isFalse(StringUtils.isBlank(form.getMenuParameterRrn().toString()),
Errors.create().key(MessageIdList.SYSPARAMETERSET_MISSING_DELETED_RRN)
.content("The deleted RRN is empty!").build());
SysParameterSet sysParameterSet = new SysParameterSet();
sysParameterSet.setMenuParameterRrn(form.getMenuParameterRrn());
sysService.deleteSysParameterSet(sysParameterSet);
}
public Map qrySysParaSetList(SysParameterSetInfoForm form) {
List<Map> sysParaSetList = null;
if (StringUtils.isNotBlank(form.getMenuId())) {
sysParaSetList = sysService.querySysParaSetListById(form.getMenuId(), I18nUtils.getCurrentLanguage());
} else {
sysParaSetList = sysService.querySysParaSetList(I18nUtils.getCurrentLanguage());
}
Map json = new HashMap();
json.put("results", sysParaSetList);
json.put("rows", sysParaSetList.size());
return json;
}
}