package com.ld.igds.oa.view; import java.io.File; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.util.*; import com.bstek.dorado.uploader.UploadFile; import com.bstek.dorado.uploader.annotation.FileResolver; import com.ld.igds.file.CoreFileService; import com.ld.igds.models.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.bstek.dorado.annotation.DataProvider; import com.bstek.dorado.annotation.DataResolver; import com.bstek.dorado.annotation.Expose; import com.bstek.dorado.data.provider.Page; import com.ld.igds.oa.OAUtil; import com.ld.igds.oa.service.HOfficeAutoService; import com.ld.igds.util.ContextUtil; /** * OA模块-PR * * @author: andy.jia * @description: * @version: * @data:2020年5月29日 */ @Component("oaPR") public class OfficeAutoPR { @Autowired private HOfficeAutoService service; @Autowired private GpsConfManager gpsConfManager; @Autowired private CoreFileService fileService; // =====================考勤管理=====================// /** * oaPR#pageAttendance * * @param page * @param param * @throws Exception */ @DataProvider public void pageAttendance(Page page, Map param) throws Exception { service.pageAttendance(page, param); } /** * oaPR#saveAttendance * * @param data */ @DataResolver public void saveAttendance(OAAttendance data) { service.saveAttendance(data); } /** * oaPR#delAttendance * * @param data * @return */ @Expose public String delAttendance(OAAttendance data) { return service.delAttendance(data); } // =====================绩效管理=====================// /** * oaPR#pageAppraisal * * @param page * @param param * @throws Exception */ @DataProvider public void pageAppraisal(Page page, Map param) throws Exception { service.pageAppraisal(page, param); } /** * oaPR#listAppraisalDetail * * @param id * @return */ @DataProvider public List listAppraisalDetail(String id) { return service.listAppraisalDetail(id); } /** * oaPR#saveAppraisal * * @param data */ @DataResolver public void saveAppraisal(OAAppraisal data) { service.saveAppraisal(data); } /** * oaPR#delAppraisal * * @param data * @return */ @Expose public String delAppraisal(OAAppraisal data) { return service.delAppraisal(data); } /** * oaPR#delAppraisalDetail * * @param data * @return */ @Expose public String delAppraisalDetail(OAAppraisalDetail data) { return service.delAppraisalDetail(data); } // =====================工资管理=====================// /** * oaPR#pageSalary * * @param page * @param param * @throws Exception */ @DataProvider public void pageSalary(Page page, Map param) throws Exception { service.pageSalary(page, param); } /** * oaPR#saveSalary * * @param data */ @DataResolver public void saveSalary(OASalary data) { service.saveSalary(data); } /** * oaPR#delSalary * * @param data * @return */ @Expose public String delSalary(OASalary data) { return service.delSalary(data); } // =====================档案管理=====================// /** * oaPR#pageArchives * * @param page * @param param * @throws Exception */ @DataProvider public void pageArchives(Page page, Map param) throws Exception { service.pageArchives(page, param); } /** * oaPR#saveArchives * * @param data */ @DataResolver public void saveArchives(OAArchives data) { String orderId = service.saveArchives(data); // 附件 List files = data.getFileData(); fileService.saveFiles(files, orderId, null); } /** * oaPR#delArchives * * @param data * @return */ @Expose public String delArchives(OAArchives data) throws Exception { List list = data.getFileData(); if (!list.isEmpty()) { String fileId = list.get(0).getFileId(); Date createTime = list.get(0).getCreateTime(); if (null == createTime) { createTime = new Date(); } File file = new File(fileService.getCommonFilePath(createTime), fileId); if (!file.exists()) { return "删除失败,系统未找到当前附件"; } file.delete(); fileService.delFile(fileId); } return service.delArchives(data); } /** * oaPR#uploadFile * * @param file * @param parameter * @return fileId 新文件ID包含文件后缀 */ @FileResolver public String uploadFile(UploadFile file, Map parameter) { String fileId = null; String mark = (String) parameter.get("mark"); if ("NO_UPLOAD".equals(mark)) { return null; } try { String basePath = fileService.getCommonFilePath(null); fileId = ContextUtil.getTimeId(1000) + file.getFileName().substring( file.getFileName().lastIndexOf(".")); file.transferTo(new File(basePath + fileId)); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return fileId; } // =====================资产管理=====================// /** * oaPR#pageAsset * * @param page * @param param * @throws Exception */ @DataProvider public void pageAsset(Page page, Map param) throws Exception { service.pageAsset(page, param); } /** * oaPR#saveAsset * * @param data */ @DataResolver public void saveAsset(OAAsset data) { service.saveAsset(data); } /** * oaPR#delAsset * * @param data * @return */ @Expose public String delAsset(OAAsset data) { return service.delAsset(data); } /** * oaPR#queryLocation *

* 查询设备位置 * * @param data * @return */ @Expose public String queryLocation(OAAsset data) { return gpsConfManager.queryLocation(data); } // =====================资产管理-GPS管理=====================// /** * ${dorado.getDataProvider("oaPR#triggerGpsStatus").getResult()} * * @return */ @DataProvider public List triggerGpsStatus() { List list = new ArrayList(); list.add(new DicTrigger(OAUtil.RUN_STATUS_RUN, "运行")); list.add(new DicTrigger(OAUtil.RUN_STATUS_STOP, "停止")); list.add(new DicTrigger(OAUtil.RUN_STATUS_NONE, "未知")); return list; } /** * oaPR#getGps * * @return * @throws Exception */ @DataProvider public List getGps() throws Exception { return service.getGps(); } /** * oaPR#saveGps * * @return * @throws Exception */ @Expose public String saveGps(OAGps data) { String msg = service.saveGps(data); return msg; } /** * oaPR#delGps * * @param data * @return */ @Expose public String delGps(OAGps data) { String msg = service.delGps(data); return msg; } /** * oaPR#flushCache * * @param * @return */ @Expose public String flushCache() { return service.flushCache(ContextUtil.getCompanyId()); } // =====================报销管理=====================// /** * oaPR#pageExpClaimSubmit * * @param page * @param param * @throws Exception */ @DataProvider public void pageExpClaimSubmit(Page page, Map param) throws Exception { if (null == param) param = new HashMap(); param.put("submitUserId", ContextUtil.getLoginUserName()); service.pageExpClaim(page, param); } /** * oaPR#pageExpClaimAudit * * @param page * @param param * @throws Exception */ @DataProvider public void pageExpClaimAudit(Page page, Map param) throws Exception { service.pageExpClaim(page, param); } /** * oaPR#listExpClaimDetail * * @param id * @return */ @DataProvider public List listExpClaimDetail(String id) { return service.listExpClaimDetail(id); } /** * oaPR#saveExpClaim * * @param data */ @DataResolver public void saveExpClaim(OAExpClaim data) { service.saveExpClaim(data, false); } /** * oaPR#AuditExpClaim * * @param data */ @DataResolver public void AuditExpClaim(OAExpClaim data) { service.saveExpClaim(data, true); } /** * oaPR#delExpClaim * * @param data * @return */ @Expose public String delExpClaim(OAExpClaim data) { return service.delExpClaim(data); } /** * oaPR#delExpClaimDetail * * @param data * @return */ @Expose public String delExpClaimDetail(OAExpClaimDetail data) { return service.delExpClaimDetail(data); } // ${dorado.getDataProvider("oaPR#triggerStatus").getResult()} @DataProvider public List triggerStatus() { List list = new ArrayList(); list.add(new DicTrigger(OAUtil.AUDIT_NONE, "待审核")); list.add(new DicTrigger(OAUtil.AUDIT_PASS, "审核通过")); list.add(new DicTrigger(OAUtil.AUDIT_UNPASS, "审核拒绝")); return list; } }