123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- package com.kingdee.eas.custom.expandassess.service;
- import com.grapecity.documents.excel.F;
- import com.kingdee.bos.BOSException;
- import com.kingdee.bos.Context;
- import com.kingdee.bos.metadata.entity.*;
- import com.kingdee.bos.metadata.query.util.CompareType;
- import com.kingdee.eas.common.EASBizException;
- import com.kingdee.eas.custom.expandassess.*;
- import com.kingdee.eas.custom.expandassess.app.ExpandStatusEunm;
- import com.kingdee.eas.custom.expandassess.app.PeriodStatusEnum;
- import com.kingdee.eas.framework.CoreBaseInfo;
- import com.kingdee.eas.util.app.ContextUtil;
- import com.kingdee.shr.base.syssetting.app.io.fileImport.BaseColumnInfo;
- import com.kingdee.shr.base.syssetting.app.io.fileImport.BaseImportService;
- import com.kingdee.shr.base.syssetting.app.io.fileImport.BaseRowInfo;
- import com.kingdee.shr.base.syssetting.app.io.fileImport.ImportException;
- import com.kingdee.shr.ml.util.SHRServerResource;
- import com.kingdee.util.StringUtils;
- import org.apache.poi.ss.usermodel.Cell;
- import org.apache.poi.xssf.usermodel.XSSFRow;
- import org.apache.poi.xssf.usermodel.XSSFSheet;
- import org.apache.poi.xssf.usermodel.XSSFWorkbook;
- import javax.swing.text.html.parser.Entity;
- import java.math.BigDecimal;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.Map;
- /**
- * @author qingwu
- * @date 2024/5/17
- * @apiNote 拓展人员考核 专员修改模板导入
- */
- public class ExpandAssessEntryTapeDataImportService extends BaseImportService {
- private static final SelectorItemCollection SIC = new SelectorItemCollection();
- static {
- SIC.add("adminorg.name");
- SIC.add("assessor.name");
- SIC.add("principal.name");
- SIC.add("threshold");
- SIC.add("target");
- SIC.add("challenge");
- SIC.add("assessRate");
- SIC.add("remark");
- }
- @Override
- protected void submitData(CoreBaseInfo coreBaseInfo) throws ImportException {
- try {
- IExpandAssessEntry iExpandAssessEntry = ExpandAssessEntryFactory.getLocalInstance(getContext());
- ExpandAssessEntryInfo expandAssessEntryInfo = (ExpandAssessEntryInfo) coreBaseInfo;
- ExpandStatusEunm asseStatus = expandAssessEntryInfo.getAsseStatus();
- SelectorItemCollection updateSic = getUpdateSic(asseStatus);
- iExpandAssessEntry.updatePartial(coreBaseInfo, updateSic);
- } catch (EASBizException var4) {
- ImportException importException = new ImportException(var4.getMessage(getContext().getLocale()), (Throwable) var4);
- throw importException;
- } catch (BOSException var5) {
- ImportException importException = new ImportException(SHRServerResource.getString("com.kingdee.shr.base.syssetting.CommonserviceResource", "save_fails_bos", getContext()), (Throwable) var5);
- throw importException;
- } catch (Exception var6) {
- ImportException importException = new ImportException(SHRServerResource.getString("com.kingdee.shr.base.syssetting.CommonserviceResource", "save_submit_fails", getContext()), var6);
- throw importException;
- }
- }
- /**
- * 模板生成完成后执行内容
- *
- * @param columnInfoMap
- * @param wb
- * @param sheet
- */
- @Override
- public void completeGenerateExcel(Map<String, BaseColumnInfo> columnInfoMap, XSSFWorkbook wb, XSSFSheet sheet) {
- Context ctx = getContext();
- String parentId = getCustomParam("parentId");
- if (StringUtils.isEmpty(parentId)) {
- throw new RuntimeException("拓展人员考核周期ID不可为空!!");
- }
- int beginRow = 4;
- try {
- //当前登录员工id
- String currentPersonId = ContextUtil.getCurrentUserInfo(ctx).getPerson().getId().toString();
- //过滤当前周期状态为已启用排序评分人等于登录人的数据
- FilterInfo filterInfo = new FilterInfo();
- FilterItemCollection filterItems = filterInfo.getFilterItems();
- filterItems.add(new FilterItemInfo("parent.id", parentId));
- SorterItemCollection sorterItemCollection = new SorterItemCollection();
- sorterItemCollection.add(new SorterItemInfo("rankings"));
- EntityViewInfo entityViewInfo = EntityViewInfo.getInstance(filterInfo, SIC, sorterItemCollection);
- IExpandAssessEntry iExpandAssessEntry = ExpandAssessEntryFactory.getLocalInstance(getContext());
- //绩效考核分录实体
- ExpandAssessEntryCollection entryCollection = iExpandAssessEntry.getExpandAssessEntryCollection(entityViewInfo);
- Map<Integer, String> columnIndexMap = getColumnIndexFn(columnInfoMap);
- int fillColumnCount = columnInfoMap.size();
- for (int i = 0; i < entryCollection.size(); i++) {
- XSSFRow xSSFRow = sheet.createRow(i + beginRow);
- ExpandAssessEntryInfo expandAssessEntryInfo = entryCollection.get(i);
- for (int j = 0; j < fillColumnCount; j++) {
- String value = null;
- Cell createCell = xSSFRow.createCell(j);
- String columnName = columnIndexMap.get(Integer.valueOf(j));
- Object obj = expandAssessEntryInfo.get(columnName);
- if (obj != null) {
- if (obj instanceof CoreBaseInfo) {
- CoreBaseInfo coreBaseInfo = (CoreBaseInfo) expandAssessEntryInfo.get(columnName);
- //value = coreBaseInfo.get("number") + "##" + coreBaseInfo.get("name");
- value = (String) coreBaseInfo.get("name");
- } else if (obj instanceof BigDecimal) {
- BigDecimal bigDecimal = (BigDecimal) obj;
- value = bigDecimal.setScale(2).toPlainString();
- } else {
- value = obj.toString();
- }
- }
- createCell.setCellValue(value);
- }
- }
- } catch (BOSException e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- }
- protected Map<Integer, String> getColumnIndexFn(Map<String, BaseColumnInfo> columnInfoMap) {
- Map<Integer, String> columnIndexMap = new HashMap<>();
- Iterator<String> keys = columnInfoMap.keySet().iterator();
- int var4 = 0;
- while (keys.hasNext()) {
- String key = keys.next();
- columnIndexMap.put(Integer.valueOf(var4++), key);
- }
- return columnIndexMap;
- }
- @Override
- protected String getPKSelectString(BaseRowInfo row) {
- String pkSelectString = super.getPKSelectString(row);
- String parentId = getCustomParam("parentId");
- if (StringUtils.isEmpty(parentId)) {
- throw new RuntimeException("拓展人员考核周期ID不可为空!!");
- }
- return pkSelectString + " and parent.id ='" + parentId + "'";
- }
- public SelectorItemCollection getUpdateSic(ExpandStatusEunm asseStatus) {
- SelectorItemCollection updateSic = new SelectorItemCollection();
- updateSic.add("remark");
- updateSic.add("checkRate");
- if (asseStatus == ExpandStatusEunm.UNSTART) {
- updateSic.add("assessor");
- updateSic.add("adminOrg");
- updateSic.add("threshold");
- updateSic.add("target");
- updateSic.add("challenge");
- updateSic.add("principal");
- }
- return updateSic;
- }
- }
|