package com.product.file.controller;


import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.product.core.config.CoreConst;
import com.product.core.controller.support.AbstractBaseController;
import com.product.core.entity.DataTableEntity;
import com.product.core.entity.FieldSetEntity;
import com.product.core.entity.RequestParameterEntity;
import com.product.core.exception.BaseException;
import com.product.core.spring.context.SpringMVCContextHolder;
import com.product.file.config.CmnConst;
import com.product.file.config.DocumentCode;
import com.product.file.service.DocumentService;
import com.product.file.service.ide.IDocumentService;
import com.product.file.util.ResultInfo;
import com.product.module.sys.version.ApiVersion;
import com.product.util.BaseUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import java.util.*;


/**
 * Copyright LX-BASE
 *
 * @Title: ClaimExpenseController
 * @Project: LX-BASE-SERVER
 * @Date: 2020-11-18 11:30:48
 * @Author: luoxin
 * @Description: 鏂囦欢绠$悊Constoller
 * 鍒嗕负鍗曚綅鏂囦欢澶瑰拰涓汉鏂囦欢澶�   鏈夋壒閲忓垹闄ょЩ鍔ㄧ殑鍔熻兘
 */
@RequestMapping("/api/document")
@RestController
public class DocumentController extends AbstractBaseController {
	@Autowired
	public DocumentService documentService;

	/**
	 * 鏂板鏂囦欢鏁版嵁(涓婁紶)3
	 *
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/addDocument/{version}", method = RequestMethod.POST)
	@ApiVersion(1)
	public String addDocument(HttpServletRequest request) {
		try {
			//鑾峰彇鍙傛暟
			FieldSetEntity fse = BaseUtil.getFieldSetEntity(request);
			IDocumentService service = (IDocumentService) getProxyInstance(documentService);
			String uuids = service.addDocument(fse);
			return OK_Add(uuids);
		} catch (BaseException e) {
			e.printStackTrace();
			SpringMVCContextHolder.getSystemLogger().error(e);
			return this.error(e);
		} catch (Exception e) {
			e.printStackTrace();
			SpringMVCContextHolder.getSystemLogger().error(e);
			return this.error(DocumentCode.DOCUMENT_SAVE_FAIL.getValue(), DocumentCode.DOCUMENT_SAVE_FAIL.getText());
		}
	}

	/**
	 * 閲嶅懡鍚嶏紙缂栬緫锛�4
	 *
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/upDocumentName/{version}", method = RequestMethod.POST)
	@ApiVersion(1)
	public String upDocumentName(HttpServletRequest request) {
		try {
			//鑾峰彇鍙傛暟
			FieldSetEntity fse = null;
			Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
			if (bean != null) {
				RequestParameterEntity reqp = (RequestParameterEntity) bean;
				fse = reqp.getFormData();
			}
			//鍒ゆ柇鍙傛暟鏄惁涓虹┖
			if (fse == null) {
				SpringMVCContextHolder
						.getSystemLogger().error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
				return this.error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
			}
			IDocumentService service = (IDocumentService) getProxyInstance(documentService);
			boolean flag = service.upDocumentName(fse);
			if (flag) {
				return OK();
			}
			return this.error(DocumentCode.DOCUMENT_SAVE_FAIL.getValue(), DocumentCode.DOCUMENT_SAVE_FAIL.getText());
		} catch (BaseException e) {
			SpringMVCContextHolder.getSystemLogger().error(e);
			return this.error(e);
		} catch (Exception e) {
			e.printStackTrace();
			SpringMVCContextHolder.getSystemLogger().error(e);
			return this.error(DocumentCode.DOCUMENT_SAVE_FAIL.getValue(), DocumentCode.DOCUMENT_SAVE_FAIL.getText());
		}
	}

	/**
	 * 鍒犻櫎鏂囦欢锛堟壒閲忓垹闄わ級5
	 *
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/delDocument/{version}", method = RequestMethod.POST)
	@ApiVersion(1)
	public String delDocument(HttpServletRequest request) {
		try {
			//鑾峰彇鍙傛暟
			FieldSetEntity fse = null;
			Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
			if (bean != null) {
				RequestParameterEntity reqp = (RequestParameterEntity) bean;
				fse = reqp.getFormData();
			}
			//鍒ゆ柇鍙傛暟鏄惁涓虹┖
			if (fse == null) {
				SpringMVCContextHolder
						.getSystemLogger().error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
				return this.error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
			}
			IDocumentService service = (IDocumentService) getProxyInstance(documentService);
			boolean flag = service.delDocument(fse);
			if (flag) {
				return OK();
			}
			return this.error(DocumentCode.DOCUMENT_DELETE_FAIL.getValue(), DocumentCode.DOCUMENT_DELETE_FAIL.getText());
		} catch (BaseException e) {
			SpringMVCContextHolder.getSystemLogger().error(e);
			return this.error(e);
		} catch (Exception e) {
			e.printStackTrace();
			SpringMVCContextHolder.getSystemLogger().error(e);
			return this.error(DocumentCode.DOCUMENT_DELETE_FAIL.getValue(), DocumentCode.DOCUMENT_DELETE_FAIL.getText());
		}
	}

	/**
	 * 鏍规嵁鏂囦欢澶硅幏鍙栨枃浠跺垪琛紙鏌ョ湅锛�1
	 *
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/documentAll/{version}", method = RequestMethod.POST)
	@ApiVersion(1)
	public String documentAll(HttpServletRequest request) {
		try {
			//鑾峰彇鍙傛暟
			FieldSetEntity fse = null;
			Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
			if (bean != null) {
				RequestParameterEntity reqp = (RequestParameterEntity) bean;
				fse = reqp.getFormData();
			}
			//鍒ゆ柇鍙傛暟鏄惁涓虹┖
			if (fse == null) {
				SpringMVCContextHolder
						.getSystemLogger().error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
				return this.error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
			}
			DataTableEntity dataTableEntity = documentService.documentAll(fse);
			return OK_List(dataTableEntity);
		} catch (BaseException e) {
			SpringMVCContextHolder.getSystemLogger().error(e);
			return this.error(e);
		} catch (Exception e) {
			e.printStackTrace();
			SpringMVCContextHolder.getSystemLogger().error(e);
			return this.error(DocumentCode.DOCUMENT_GET_LIST_FAIL.getValue(), DocumentCode.DOCUMENT_GET_LIST_FAIL.getText());
		}
	}

	/**
	 * 鑾峰彇鏂囦欢璇︽儏锛堟煡鐪嬶級1
	 *
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/documentInfo/{version}", method = RequestMethod.POST)
	@ApiVersion(1)
	public String documentInfo(HttpServletRequest request) {
		try {
			//鑾峰彇鍙傛暟
			FieldSetEntity fse = null;
			Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
			if (bean != null) {
				RequestParameterEntity reqp = (RequestParameterEntity) bean;
				fse = reqp.getFormData();
			}
			//鍒ゆ柇鍙傛暟鏄惁涓虹┖
			if (fse == null) {
				SpringMVCContextHolder
						.getSystemLogger().error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
				return this.error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
			}
			return OK_List(documentService.documentInfo(fse));
		} catch (BaseException e) {
			SpringMVCContextHolder.getSystemLogger().error(e);
			return this.error(e);
		} catch (Exception e) {
			e.printStackTrace();
			SpringMVCContextHolder.getSystemLogger().error(e);
			return this.error(DocumentCode.DOCUMENT_GET_FAIL.getValue(), DocumentCode.DOCUMENT_GET_FAIL.getText());
		}
	}

	/**
	 * 鑾峰彇褰撳墠鐢ㄦ埛鏂囨。鐩綍鎸夐挳鏉冮檺鏉冮檺
	 * 鍜屾枃浠跺叏璺緞
	 * 鑻ユ湁鏌ョ湅鏉冮檺鏌ョ湅鎵€鏈夋枃浠�
	 * 鏉冮檺1(鏌ョ湅),2(涓嬭浇),3(鏂板{鎵归噺涓婁紶}),4(淇敼),5(鎵归噺鍒犻櫎),6(鎵归噺绉诲姩)
	 *
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/getButtonPermissions/{version}", method = RequestMethod.POST)
	@ApiVersion(1)
	public String getButtonPermissions(HttpServletRequest request) {
		try {
			//鑾峰彇鍙傛暟
			FieldSetEntity fse = null;
			Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
			if (bean != null) {
				RequestParameterEntity reqp = (RequestParameterEntity) bean;
				fse = reqp.getFormData();
			}
			//鍒ゆ柇鍙傛暟鏄惁涓虹┖
			if (fse == null) {
				SpringMVCContextHolder
						.getSystemLogger().error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
				return this.error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
			}
			if (BaseUtil.strIsNull(fse.getString(CmnConst.DIRECTORY_UUID))) {
				return OK();
			}
			FieldSetEntity fieldSet = documentService.getButtonPermissions(fse);
			DataTableEntity dataTableEntity = fieldSet.getSubDataTable("dataTable");
			String str = OK_List(dataTableEntity);
			JSONObject object = JSONObject.parseObject(str);
			JSONArray systemFieldMeta = object.getJSONArray("systemFieldMeta");
			Object systemSeniorQueryString = object.get("systemSeniorQueryString");

			Map<String, Object> map = new HashMap<>();
			map.put("systemFieldMeta", systemFieldMeta);
			map.put("systemSeniorQueryString", systemSeniorQueryString);
			//浼犲叆fieldSet,  鍜岄澶栫殑map  瀵硅薄
			return BaseUtil.success(fieldSet, map);
		} catch (BaseException e) {
			SpringMVCContextHolder.getSystemLogger().error(e);
			return this.error(e);
		} catch (Exception e) {
			e.printStackTrace();
			SpringMVCContextHolder.getSystemLogger().error(e);
			return this.error(DocumentCode.DOCUMENT_GET_LIST_FAIL.getValue(), DocumentCode.DOCUMENT_GET_LIST_FAIL.getText());
		}
	}

	/**
	 * 寮瑰嚭绉诲姩鐩綍妗�
	 *
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/popBoxGetFileDirectory/{version}", method = RequestMethod.POST)
	@ApiVersion(1)
	public String popBoxGetFileDirectory(HttpServletRequest request) {
		try {
			//鑾峰彇鍙傛暟
			FieldSetEntity fse = null;
			Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
			if (bean != null) {
				RequestParameterEntity reqp = (RequestParameterEntity) bean;
				fse = reqp.getFormData();
			}
			//鍒ゆ柇鍙傛暟鏄惁涓虹┖
			if (fse == null) {
				SpringMVCContextHolder
						.getSystemLogger().error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
				return this.error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
			}
			JSONObject obj = documentService.popBoxGetFileDirectory(fse);
			return ResultInfo.success(obj);
		} catch (BaseException e) {
			SpringMVCContextHolder.getSystemLogger().error(e);
			return this.error(e);
		} catch (Exception e) {
			e.printStackTrace();
			SpringMVCContextHolder.getSystemLogger().error(e);
			return this.error(DocumentCode.DOCUMENT_CATALOG_GET_FAIL.getValue(), DocumentCode.DOCUMENT_CATALOG_GET_FAIL.getText());
		}
	}

	/**
	 * 绉诲姩锛堟枃浠舵壒閲忕Щ鍔級6
	 *
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/fileMoveTo/{version}", method = RequestMethod.POST)
	@ApiVersion(1)
	public String fileMoveTo(HttpServletRequest request) {
		try {
			//鑾峰彇鍙傛暟
			FieldSetEntity fse = null;
			Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
			if (bean != null) {
				RequestParameterEntity reqp = (RequestParameterEntity) bean;
				fse = reqp.getFormData();
			}
			//鍒ゆ柇鍙傛暟鏄惁涓虹┖
			if (fse == null) {
				SpringMVCContextHolder
						.getSystemLogger().error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
				return this.error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
			}
			if (documentService.fileMoveTo(fse)) {
				return OK();
			} else {
				return this.error(DocumentCode.DOCUMENT_USER_RIGHT_FAIL.getValue(), DocumentCode.DOCUMENT_USER_RIGHT_FAIL.getText());
			}
		} catch (BaseException e) {
			SpringMVCContextHolder.getSystemLogger().error(e);
			return this.error(e);
		} catch (Exception e) {
			e.printStackTrace();
			SpringMVCContextHolder.getSystemLogger().error(e);
			return this.error(DocumentCode.DOCUMENT_MOVE_FAIL.getValue(), DocumentCode.DOCUMENT_MOVE_FAIL.getText());
		}
	}


	/**
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/getDocumentLog/{version}", method = RequestMethod.POST)
	@ApiVersion(1)
	public String getDocumentLog(HttpServletRequest request) {
		try {
			//鑾峰彇鍙傛暟
			FieldSetEntity fse = null;
			Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
			if (bean != null) {
				RequestParameterEntity reqp = (RequestParameterEntity) bean;
				fse = reqp.getFormData();
			}
			//鍒ゆ柇鍙傛暟鏄惁涓虹┖
			if (fse == null) {
				SpringMVCContextHolder
						.getSystemLogger().error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
				return this.error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
			}
			return OK_List(documentService.getDocumentLog(fse));
		} catch (BaseException e) {
			SpringMVCContextHolder.getSystemLogger().error(e);
			return this.error(e);
		} catch (Exception e) {
			e.printStackTrace();
			SpringMVCContextHolder.getSystemLogger().error(e);
			return this.error(DocumentCode.DOCUMENT_LOG_FAIL.getValue(), DocumentCode.DOCUMENT_LOG_FAIL.getText());
		}
	}

	/**
	 * 鏂囨。鏀惰棌
	 *
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/collection/{version}", method = RequestMethod.POST)
	@ApiVersion(1)
	public String documentCollection(HttpServletRequest request) {
		try {
			//鑾峰彇鍙傛暟
			FieldSetEntity fse = BaseUtil.getFieldSetEntity(request, CmnConst.PRODUCT_OA_DOCUMENT_COLLECTION);
			return OK_Add(documentService.documentCollection(fse));
		} catch (BaseException e) {
			e.printStackTrace();
			return this.error(e);
		} catch (Exception e) {
			e.printStackTrace();
			return this.error(DocumentCode.DOCUMENT_COLLECTION_FAIL.getValue(), DocumentCode.DOCUMENT_COLLECTION_FAIL.getText() + e.getMessage());
		}
	}

	/**
	 * 鏂囨。鍙栨秷鏀惰棌
	 *
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/cancel-collection/{version}", method = RequestMethod.POST)
	@ApiVersion(1)
	public String documentCancelCollection(HttpServletRequest request) {
		try {
			//鑾峰彇鍙傛暟
			FieldSetEntity fse = BaseUtil.getFieldSetEntity(request, CmnConst.PRODUCT_OA_DOCUMENT_COLLECTION);
			if (documentService.documentCancelCollection(fse.getString("document_uuid"))) {
				return OK();
			}
			return error(DocumentCode.DOCUMENT_CANCEL_COLLECTION_FAIL.getValue(), DocumentCode.DOCUMENT_CANCEL_COLLECTION_FAIL.getText());
		} catch (BaseException e) {
			e.printStackTrace();
			return this.error(e);
		} catch (Exception e) {
			e.printStackTrace();
			return this.error(DocumentCode.DOCUMENT_OPERATE_FAIL.getValue(), DocumentCode.DOCUMENT_OPERATE_FAIL.getText() + e.getMessage());
		}
	}

	/**
	 * 鏂囨。鍘嗗彶鐗堟湰
	 *
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/document-history/{version}", method = RequestMethod.POST)
	@ApiVersion(1)
	public String findDocumentHistory(HttpServletRequest request) {
		try {
			//鑾峰彇鍙傛暟
			FieldSetEntity fse = BaseUtil.getFieldSetEntity(request, CmnConst.PRODUCT_OA_DOCUMENT_HISTORY);
			return OK_List(documentService.findDocumentHistory(fse.getUUID()));
		} catch (BaseException e) {
			e.printStackTrace();
			return this.error(e);
		} catch (Exception e) {
			e.printStackTrace();
			return this.error(DocumentCode.DOCUMENT_OPERATE_FAIL.getValue(), DocumentCode.DOCUMENT_OPERATE_FAIL.getText() + e.getMessage());
		}
	}

	/**
	 * 鏂囨。鏈€鏂扮増鏈繚瀛�
	 *
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/document-save-new-version/{version}", method = RequestMethod.POST)
	@ApiVersion(1)
	public String documentSaveNewVersion(HttpServletRequest request) {
		try {
			//鑾峰彇鍙傛暟
			FieldSetEntity fse = BaseUtil.getFieldSetEntity(request, CmnConst.PRODUCT_OA_DOCUMENT);
			if (documentService.documentSaveNewVersion(fse)) {
				return OK();
			}
			return error(DocumentCode.DOCUMENT_SAVE_NEW_VERION_FAIL.getValue(), DocumentCode.DOCUMENT_SAVE_NEW_VERION_FAIL.getText());
		} catch (BaseException e) {
			e.printStackTrace();
			return this.error(e);
		} catch (Exception e) {
			e.printStackTrace();
			return this.error(DocumentCode.DOCUMENT_OPERATE_FAIL.getValue(), DocumentCode.DOCUMENT_OPERATE_FAIL.getText() + e.getMessage());
		}
	}


	@RequestMapping(value = "/getApplyDocument/{version}", method = RequestMethod.POST)
	@ApiVersion(1)
	public String getApplyDocument(HttpServletRequest request) {

		//鑾峰彇鍙傛暟
		FieldSetEntity fse = null;
		Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
		if (bean != null) {
			RequestParameterEntity reqp = (RequestParameterEntity) bean;
			fse = reqp.getFormData();
		}
		//鍒ゆ柇鍙傛暟鏄惁涓虹┖
		if (fse == null) {
			SpringMVCContextHolder
					.getSystemLogger().error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
			return this.error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
		}
		DataTableEntity applyDocument = documentService.getApplyDocument(fse);
		return OK_List(applyDocument);

	}


	/**
	 * 鏂囨。鐢宠淇濆瓨涓庢洿鏂�
	 *
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/addOrUpdateApplyDocument/{version}", method = RequestMethod.POST)
	@ApiVersion(1)
	public String addOrUpdateApplyDocument(HttpServletRequest request) {
		//鑾峰彇鍙傛暟
		FieldSetEntity fse = null;
		Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
		if (bean != null) {
			RequestParameterEntity reqp = (RequestParameterEntity) bean;
			fse = reqp.getFormData();
		}
		//鍒ゆ柇鍙傛暟鏄惁涓虹┖
		if (fse == null) {
			SpringMVCContextHolder
					.getSystemLogger().error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
			return this.error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
		}
		documentService.addOrUpdateApplyDocument(fse);
		return OK();
	}

	/**
	 * 鍊熼槄鏂囨。鎺掑悕
	 *
	 * @return
	 */
	@RequestMapping(value = "/getApplayFileSort/{version}", method = RequestMethod.POST)
	@ApiVersion(1)
	public String getApplayFileSort() {
		DataTableEntity applayFileSort = documentService.getApplyFileSort();
		return OK_List(applayFileSort);
	}


	/**
	 * 鏂囨。鍊熼槄浜哄憳鎺掑悕
	 *
	 * @return
	 */
	@RequestMapping(value = "/getApplayUserSort/{version}", method = RequestMethod.POST)
	@ApiVersion(1)
	public String getApplayUserSort() {
		DataTableEntity applayFileSort = documentService.getApplyUserSort();
		return OK_List(applayFileSort);
	}

	/**
	 * 鑾峰彇鍊熼槄璇︽儏淇℃伅
	 *
	 * @param request
	 */

	@RequestMapping(value = "/getApplayInfo/{version}", method = RequestMethod.POST)
	@ApiVersion(1)
	public String getApplayInfo(HttpServletRequest request) {
		//鑾峰彇鍙傛暟
		FieldSetEntity fse = null;
		Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
		if (bean != null) {
			RequestParameterEntity reqp = (RequestParameterEntity) bean;
			fse = reqp.getFormData();
		}
		//鍒ゆ柇鍙傛暟鏄惁涓虹┖
		if (fse == null) {
			SpringMVCContextHolder
					.getSystemLogger().error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
			return this.error(DocumentCode.DOCUMENT_FORM_NODATA.getValue(), DocumentCode.DOCUMENT_FORM_NODATA.getText());
		}
		FieldSetEntity applayInfo = documentService.getApplyInfo(fse);
		return OK_List(applayInfo);
	}

}