Bläddra i källkod

计算考核正态分布

3088176660 1 år sedan
förälder
incheckning
5825e84f02

+ 0 - 115
js/addon/custom/js/performancenew/ExamineEntryDynamicList.js

@@ -1,115 +0,0 @@
-/**
- * 专员维护考核人和评分人页面(专员) 动态列表专员操作
- */
-shr.defineClass("shr.custom.ExamineEntryDynamicList", shr.batchAffair.EmpBatchEnrollList, {
-    initalizeDOM: function () {
-        var _self = this;
-        shr.custom.ExamineEntryDynamicList.superClass.initalizeDOM.call(this);
-    },
-    /**
-     * 处理表格的pager
-     */
-    renderPager: function (page, pageSize) {
-        var _self = this;
-        $("#grid_periodicQuarter.id").hide();
-    },
-    /**
-     * 启动排序
-     */
-    startOrderAction(){
-        var _self = this;
-        var periodicQuarterId = $('#grid').jqGrid('getOriginalRowData')[0]["periodicQuarter.id"]
-        var url = shr.getContextPath() + "/dynamic.do?handler=com.kingdee.eas.custom.performancenew.handler.ExamineDynamicListHandler&method=startOrder";
-        $.ajax({
-            url: url,
-            async: false,
-            // data: { periodicQuarterId: periodicQuarterId},
-            success: function (response) {
-                shr.showInfo({
-                    message: "已锁定周期",
-                    history: 2
-                });
-                setTimeout(function() {
-                    location.reload();
-                }, 2000); // 2000 毫秒即为两秒钟
-
-            }
-            , error: function (response) {
-                shr.showError({
-                    message: response
-                });
-            }
-        });
-    },
-    /**
-     * 组织维护得分表
-     */
-    performanceScoreOrgAction() {
-        //获取周期季度ID
-        var periodicQuarterId = $('#grid').jqGrid('getOriginalRowData')[0]["periodicQuarter.id"]
-        this.reloadPage({
-			uipk: "PerformanceScore.dynamicList",
-			examineGradePersonId: periodicQuarterId,
-		});	
-    },
-    /**
-     * 锁定周期
-     */
-    periodLockAction() {
-        var _self = this;
-        var periodicQuarterId = $('#grid').jqGrid('getOriginalRowData')[0]["periodicQuarter.id"]
-        var url = shr.getContextPath() + "/dynamic.do?handler=com.kingdee.eas.custom.performancenew.handler.ExamineDynamicListHandler&method=periodLock";
-        $.ajax({
-            url: url,
-            async: false,
-            data: { periodicQuarterId: periodicQuarterId},
-            success: function (response) {
-                shr.showInfo({
-                    message: "已锁定周期",
-                    history: 2
-                });
-                setTimeout(function() {
-                    location.reload();
-                }, 2000); // 2000 毫秒即为两秒钟
-
-            }
-            , error: function (response) {
-                shr.showError({
-                    message: response
-                });
-            }
-        });
-
-    },
-    /**
-     * 解除周期
-     */
-    periodUnlockAction() {
-        var _self = this;
-        var periodicQuarterId = $('#grid').jqGrid('getOriginalRowData')[0]["periodicQuarter.id"]
-        var url = shr.getContextPath() + "/dynamic.do?handler=com.kingdee.eas.custom.performancenew.handler.ExamineDynamicListHandler&method=periodUnlock";
-        $.ajax({
-            url: url,
-            async: false,
-            data: { periodicQuarterId: periodicQuarterId},
-            success: function (response) {
-                shr.showInfo({
-                    message: "已解除周期",
-                    history: 2
-                });
-                setTimeout(function() {
-                    location.reload();
-                }, 2000); // 2000 毫秒即为两秒钟
-                
-
-            }
-            , error: function (response) {
-                shr.showError({
-                    message: response
-                });
-            }
-        });
-
-    },
-
-})

+ 47 - 17
websrc/com/kingdee/eas/custom/performancenew/handler/ExaminePFRDynamicListHandler.java

@@ -1,7 +1,5 @@
 package com.kingdee.eas.custom.performancenew.handler;
 
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.kingdee.bos.BOSException;
 import com.kingdee.bos.Context;
 import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
@@ -9,7 +7,6 @@ import com.kingdee.bos.metadata.entity.*;
 import com.kingdee.bos.metadata.query.util.CompareType;
 import com.kingdee.bos.sql.ParserException;
 import com.kingdee.bos.util.BOSUuid;
-import com.kingdee.eas.basedata.org.AdminOrgUnitFactory;
 import com.kingdee.eas.basedata.org.AdminOrgUnitInfo;
 import com.kingdee.eas.common.EASBizException;
 import com.kingdee.eas.custom.performancenew.*;
@@ -22,7 +19,6 @@ import com.kingdee.eas.util.app.ContextUtil;
 import com.kingdee.shr.base.syssetting.context.SHRContext;
 import com.kingdee.shr.base.syssetting.exception.SHRWebException;
 import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
-import com.kingdee.shr.base.syssetting.json.GridDataEntity;
 import com.kingdee.shr.base.syssetting.web.handler.DynamicListHandler;
 import com.kingdee.shr.base.syssetting.web.json.JSONUtils;
 import com.kingdee.util.StringUtils;
@@ -31,7 +27,6 @@ import org.springframework.ui.ModelMap;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.math.BigDecimal;
 import java.text.DecimalFormat;
 import java.util.*;
 
@@ -47,6 +42,9 @@ public class ExaminePFRDynamicListHandler extends DynamicListHandler {
 
     private Context ctx = SHRContext.getInstance().getContext();
 
+    //判断是否是提交
+    private boolean isSubmitStatus = false;
+
     /**
      * 获取生效日期过滤器
      * 移除父类方法过滤条件
@@ -57,6 +55,7 @@ public class ExaminePFRDynamicListHandler extends DynamicListHandler {
     protected FilterInfo getEffectDateFilter(Date effectDate) {
         return null;
     }
+
     /**
      * 获取默认编辑列
      *
@@ -172,6 +171,7 @@ public class ExaminePFRDynamicListHandler extends DynamicListHandler {
         if (com.kingdee.util.StringUtils.isEmpty(billID) && com.kingdee.util.StringUtils.isEmpty(adminIdArray)) {
             throw new BOSException("单据id和已选择部门不能为空!");
         }
+        isSubmitStatus = true;
         try {
             //调用计算得分
             //calculateScoreAction(request, response, modelMap);
@@ -407,8 +407,10 @@ public class ExaminePFRDynamicListHandler extends DynamicListHandler {
                                 if (dqEntryCollection.size() == 5) {
                                     //upExamineGradePersonInfo 当前年度上个季度部门一样的数据
                                     isBMinus = isNotExistBMinus(upExamineGradePersonEntryColl);
-                                    //dqEntryCollection当前季度数据
-                                    isBMinus = isNotExistBMinus(dqEntryCollection);
+                                    if(!isBMinus){
+                                        //dqEntryCollection当前季度数据
+                                        isBMinus = isNotExistBMinus(dqEntryCollection);
+                                    }
                                 }
                             }
 
@@ -416,10 +418,14 @@ public class ExaminePFRDynamicListHandler extends DynamicListHandler {
                             //修改计算得分和领导计算得分
                             SelectorItemCollection sic = new SelectorItemCollection();
                             sic.add("score");
-                            sic.add("scoreLeader");
+                            if (!isSubmitStatus) {
+                                sic.add("scoreLeader");
+                            }
                             sic.add("afterScoreNumMap");
                             //获取得分数据
                             Map<String, List<String>> scoreLevelMap = getScoreLevelList(entryCollection.size(), adminOrgScore);
+                            //只进一次循环
+                            boolean isTrue = true;
                             for (int i = 0; i < dqEntryCollection.size(); i++) {
                                 //saveExamineScorer(entrys, iExamineGradePersonEntry, key, i, scoreLevelMap);
                                 ExamineGradePersonEntryInfo examineGradePersonEntryInfo =
@@ -433,10 +439,34 @@ public class ExaminePFRDynamicListHandler extends DynamicListHandler {
 
                                     //删除上个季度的评分等级获取当前季度人员得分等级
                                     subtractArrays(listArray, upList);
-                                    //人员恰好等于五人是判断上个季度是否有B-没有这本周期必须要有一个B-
-                                    if (dqEntryCollection.size() == 5 && !isBMinus) {
-                                        listArray.set(listArray.size() - 1, "4");
+                                    //判断长度是否相等
+                                    //if (dqEntryCollection.size() == 5 && !isBMinus) {
+                                    //    listArray.set(listArray.size() - 1, "4");
+                                    //}
+                                    for (int j = 0; j < upList.size(); j++) {
+                                        listArray.remove(listArray.size() - 1);
+                                    }
+                                    //在循环只需要循环一次
+                                    if (isTrue) {
+                                        isTrue = false;
+                                        //人员恰好等于五人是判断上个季度是否有B-没有这本周期必须要有一个B-
+                                        if (dqEntryCollection.size() == 5 && !isBMinus) {
+                                            //4=B- 3=B 循环判断B或者B-的下标在哪里,在给下一个下标赋值为B-
+                                            for (int z = listArray.size() - 1; z >= 0; z--) {
+                                                String str = listArray.get(z);
+                                                if (str == "4" || str == "3") {
+                                                    //如果最后一个值就是或者B-就
+                                                    if (listArray.size() == z + 1) {
+                                                        listArray.set(z, "4");
+                                                    } else {
+                                                        listArray.set(z + 1, "4");
+                                                    }
+                                                    break;
+                                                }
+                                            }
+                                        }
                                     }
+
                                     //通过顺序号获取listArray里面的数据  index-1对应下标
                                     String scoreLeavel = listArray.get(index - 1);
 
@@ -505,11 +535,10 @@ public class ExaminePFRDynamicListHandler extends DynamicListHandler {
         for (int i = 0; i < entryCollection.size(); i++) {
             ExamineGradePersonEntryInfo examineGradePersonEntryInfo = entryCollection.get(i);
             if (examineGradePersonEntryInfo.getScore() != null) {
-                if (examineGradePersonEntryInfo.getScore().equals("4")) {
+                if (examineGradePersonEntryInfo.getScoreLeader().getValue().equals("4")) {
                     return true;
                 }
             }
-
         }
         return false;
     }
@@ -592,7 +621,10 @@ public class ExaminePFRDynamicListHandler extends DynamicListHandler {
         //修改计算得分和领导计算得分
         SelectorItemCollection sic = new SelectorItemCollection();
         sic.add("score");
-        sic.add("scoreLeader");
+        //提交进来的不需要修改领导计算得分
+        if (!isSubmitStatus) {
+            sic.add("scoreLeader");
+        }
         sic.add("afterScoreNumMap");
         ExamineGradePersonEntryInfo examineGradePersonEntryInfo =
                 iExamineGradePersonEntry.getExamineGradePersonEntryInfo("select * ,performanceScoreOrg.* where id = '" + entrys.get(i).getId().toString() + "'");
@@ -619,9 +651,7 @@ public class ExaminePFRDynamicListHandler extends DynamicListHandler {
             }
             //修改的数据
             examineGradePersonEntryInfo.setScore(scoreEnum.getEnum(scoreLeavel));
-            if (examineGradePersonEntryInfo.getScoreLeader() == null) {
-                examineGradePersonEntryInfo.setScoreLeader(scoreEnum.getEnum(scoreLeavel));
-            }
+            examineGradePersonEntryInfo.setScoreLeader(scoreEnum.getEnum(scoreLeavel));
             examineGradePersonEntryInfo.setAfterScoreNumMap(addupScore.toString());
             iExamineGradePersonEntry.updatePartial(examineGradePersonEntryInfo, sic);
         }

+ 11 - 2
websrc/com/kingdee/eas/custom/performancenew/handler/ExamineZYDynamicListHandler.java

@@ -126,6 +126,8 @@ public class ExamineZYDynamicListHandler extends DynamicListHandler {
             //部门
             EditColumnInfo editColumnAuditorInfo4 = new EditColumnInfo();
             editColumnAuditorInfo4.setName("adminorg.name");
+            //必填
+            editColumnAuditorInfo4.setRequired(true);
             EditOptions editoptions4 = editColumnAuditorInfo4.getEditoptions();
             F7Json f7Json4 = editoptions4.getF7Json();
             SubWidgetOptions subWidgetOptions4 = f7Json4.getSubWidgetOptions();
@@ -135,17 +137,21 @@ public class ExamineZYDynamicListHandler extends DynamicListHandler {
             result.put("adminorg.name", editColumnAuditorInfo4.convertToMap());
             //考核人
             EditColumnInfo editColumnAuditorInfo2 = new EditColumnInfo();
+            //必填
+            editColumnAuditorInfo2.setRequired(true);
             editColumnAuditorInfo2.setName("auditor.name");
             EditOptions editoptions2 = editColumnAuditorInfo2.getEditoptions();
             F7Json f7Json2 = editoptions2.getF7Json();
             SubWidgetOptions subWidgetOptions2 = f7Json2.getSubWidgetOptions();
-            subWidgetOptions2.setUipk("cshr.AllAdminOrgUnit.F7om.kingdee.eas.basedata.person.app.PersonQwEx.F7");
+            subWidgetOptions2.setUipk("com.kingdee.eas.basedata.person.app.PersonQwEx.F7");
             subWidgetOptions2.setTitle("请选择考核人");
             //subWidgetOptions2.setQuery("com.kingdee.eas.hr.emp.emp_page.QwCostomPersonQuery");
             subWidgetOptions2.setQuery("com.kingdee.eas.hr.emp.app.PersonWebListQuery");
             result.put("auditor.name", editColumnAuditorInfo2.convertToMap());
             //评分人
             EditColumnInfo editColumnAuditorInfo3 = new EditColumnInfo();
+            //必填
+            editColumnAuditorInfo3.setRequired(true);
             editColumnAuditorInfo3.setName("scorer.name");
             EditOptions editoptions3 = editColumnAuditorInfo3.getEditoptions();
             F7Json f7Json3 = editoptions3.getF7Json();
@@ -278,7 +284,7 @@ public class ExamineZYDynamicListHandler extends DynamicListHandler {
             for (int i = 0; entrys != null && i < entrys.size(); i++) {
                 ExamineGradePersonEntryInfo entry = entrys.get(i);
                 if (entry.getOrderStatuc() != orderStatucEnum.submitted) {
-                    throw new ShrWebBizException(entry.getAdminOrg().getName()+"的"+entry.getAuditor().getName()+" 排序状态为未提交不可锁定周期!");
+                    throw new ShrWebBizException(entry.getAdminOrg().getName()+"的["+entry.getAuditor().getName()+"] 排序状态为未提交不可锁定周期!");
                 }
             }
             ExamineGradePersonFactory.getLocalInstance(ctx).periodLock(billId);
@@ -335,6 +341,9 @@ public class ExamineZYDynamicListHandler extends DynamicListHandler {
             ExamineGradePersonEntryCollection entrys = getCurrentPersonEqualsScore(billId, null);
             for (int i = 0; entrys != null && i < entrys.size(); i++) {
                 ExamineGradePersonEntryInfo entry = entrys.get(i);
+                if(entry.getAdminOrg()==null||entry.getAuditor()==null||entry.getScorer()==null){
+                    throw new ShrWebBizException("[部门/考核人/评分人]数据不可为空,请检查数据!!");
+                }
                 String depName = entry.getAdminOrg().getName();
                 if (entry.getPerformanceScoreOrg() == null) {
                     throw new ShrWebBizException("部门[" + depName + "] 没有维护组织绩效得分!");

+ 116 - 31
websrc/com/kingdee/eas/custom/performancenew/service/ExamineGradeImportPFRService.java

@@ -7,15 +7,15 @@ import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
 import com.kingdee.bos.metadata.entity.*;
 import com.kingdee.bos.metadata.query.util.CompareType;
 import com.kingdee.bos.sql.ParserException;
+import com.kingdee.eas.basedata.org.AdminOrgUnitInfo;
 import com.kingdee.eas.common.EASBizException;
 import com.kingdee.eas.custom.performancenew.*;
 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.base.syssetting.app.io.fileImport.*;
+import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
 import com.kingdee.shr.ml.util.SHRServerResource;
+import com.kingdee.shr.shrimport.SHRFileTemplateInfo;
 import com.kingdee.util.StringUtils;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.xssf.usermodel.XSSFRow;
@@ -23,10 +23,7 @@ import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
 import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @author qingwu
@@ -34,25 +31,115 @@ import java.util.Map;
  * @apiNote 周期季度(专员导入)人员考核等级评分
  */
 public class ExamineGradeImportPFRService extends BaseImportService {
-    //@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 + "'";
-    //}
+    private static final SelectorItemCollection SIC = new SelectorItemCollection();
+    private static final SelectorItemCollection UPDATESIC = new SelectorItemCollection();
+
+    static {
+        SIC.add("adminOrg.name");
+        SIC.add("adminOrg.number");
+        SIC.add("auditor.name");
+        SIC.add("index");
+
+        UPDATESIC.add("index");
+    }
+
+    /**
+     * 启用 批量导入
+     * com.kingdee.shr.base.syssetting.app.io.fileImport.ImportTaskExecutor#run() 135
+     *
+     * @param templateInfo
+     * @return
+     */
+    @Override
+    public boolean isBatch(SHRFileTemplateInfo templateInfo) {
+        return true;
+    }
+
+    /**
+     * 开始执行批量导入
+     *
+     * @param rowIterator
+     * @return
+     */
+    @Override
+    public boolean startBatchImport(Iterator<BaseRowInfo> rowIterator) {
+        List<BaseResultInfo> resultInfoList = null;
+        List<ExamineGradePersonEntryInfo> entryListData = new ArrayList<>();
+        Map<String, BaseResultInfo> map = new HashMap();
+
+        try {
+            //循环拿出数据
+            IExamineGradePersonEntry iExamineGradePersonEntry = ExamineGradePersonEntryFactory.getLocalInstance(this.getContext());
+            while (rowIterator.hasNext()) {
+                BaseRowInfo row = rowIterator.next();
+                BaseResultInfo baseResultInfo = new BaseResultInfo(row);
+                String fid = row.getValueOfString("id");
+                String index = row.getValueOfString("index");
+                ExamineGradePersonEntryInfo entryInfo = iExamineGradePersonEntry.getExamineGradePersonEntryInfo(new ObjectUuidPK(fid), SIC);
+                entryInfo.setIndex(Integer.parseInt(index));
+                entryListData.add(entryInfo);
+                map.put(entryInfo.getId().toString(), baseResultInfo);
+            }
+            //先排序list数据  按照部门和顺序排序
+            Collections.sort(entryListData, new Comparator<ExamineGradePersonEntryInfo>() {
+                @Override
+                public int compare(ExamineGradePersonEntryInfo o1, ExamineGradePersonEntryInfo o2) {
+                    // 首先按照名称排序
+                    int nameComparison = o1.getAdminOrg().getId().toString().compareTo(o2.getAdminOrg().getId().toString());
+                    if (nameComparison != 0) {
+                        return nameComparison;
+                    }
+                    // 如果名称相同,则按照编号排序
+                    return o1.getIndex() - o2.getIndex();
+                }
+            });
+            // 使用Map存储每个分类的最大编号
+            Map<String, Integer> maxNumberMap = new HashMap<>();
+            ExamineGradePersonEntryCollection entryCollection = new ExamineGradePersonEntryCollection();
+            //排序后的数据校验顺序是否断层
+            for (int i = 0; i < entryListData.size(); i++) {
+                ExamineGradePersonEntryInfo entryInfo = entryListData.get(i);
+                AdminOrgUnitInfo adminOrg = entryInfo.getAdminOrg();
+                String adminId = adminOrg.getId().toString();
+                int order = entryInfo.getIndex();
+                Integer maxNumber = maxNumberMap.getOrDefault(adminId, 0);
+                BaseResultInfo baseResultInfo = map.get(entryInfo.getId().toString());
+                // 检查编号是否按顺序且没有断层
+                if (order == maxNumber + 1) {
+                    maxNumberMap.put(adminId, order);
+                    resultInfoList = new ArrayList();
+                    resultInfoList.add(baseResultInfo);
+                    for (BaseResultInfo resultInfo : resultInfoList) {
+                        resultInfo.setMessage("导入成功!");
+                        getMonitor().completeRow(resultInfo);
+                    }
+                    entryCollection.add(entryInfo);
+                    iExamineGradePersonEntry.updatePartial(entryInfo, UPDATESIC);
+                } else {
+                    resultInfoList = new ArrayList();
+                    resultInfoList.add(baseResultInfo);
+                    for (BaseResultInfo resultInfo : resultInfoList) {
+                        if (resultInfo.isSuccess()) {
+                            resultInfo.setSuccess(false);
+                            resultInfo.setState(0);
+                            resultInfo.setMessage("部门[" + adminOrg.getName() + "] 中的顺序不符合规则!!");
+                            resultInfo.setLog("部门[" + adminOrg.getName() + "] 中的顺序不符合规则!!");
+                            resultInfo.setE(new ImportException("部门[" + adminOrg.getName() + "] 中的顺序不符合规则!!"));
+                        }
+                        getMonitor().completeRow(resultInfo);
+                    }
+                }
+            }
+        } catch (BOSException e) {
+            throw new RuntimeException(e);
+        } catch (EASBizException e) {
+            throw new RuntimeException(e);
+        }
+
+        return true;
+    }
 
 
-    //@Override
-    //public void completeGenerateExcel(Map<String, BaseColumnInfo> columnInfoMap, XSSFWorkbook wb, XSSFSheet sheet) {
-    //    String parentId = getCustomParam("parentId");
-    //    if (StringUtils.isEmpty(parentId)) {
-    //        throw new RuntimeException("绩效考核周期表ID不可为空!!");
-    //    }
-    //    super.completeGenerateExcel(columnInfoMap, wb, sheet);
-    //}
     @Override
     public void completeGenerateExcel(Map<String, BaseColumnInfo> columnInfoMap, XSSFWorkbook wb, XSSFSheet sheet) {
         Context ctx = getContext();
@@ -74,10 +161,11 @@ public class ExamineGradeImportPFRService extends BaseImportService {
             filterItems.add(new FilterItemInfo("parent.id", parentId));
             filterItems.add(new FilterItemInfo("orderStatuc", "2", CompareType.NOTEQUALS));
             filterItems.add(new FilterItemInfo("scorer.id", currentPersonId));
-            SorterItemCollection sorterItemCollection = new SorterItemCollection("adminOrg.id,index");
+            SorterItemCollection sorterItemCollection = new SorterItemCollection();
+            sorterItemCollection.add(new SorterItemInfo("adminOrg.id"));
+            sorterItemCollection.add(new SorterItemInfo("index"));
             EntityViewInfo entityViewInfo = EntityViewInfo.getInstance(filterInfo, sic, sorterItemCollection);
             IExamineGradePersonEntry iExamineGradePersonEntry = ExamineGradePersonEntryFactory.getLocalInstance(ctx);
-
             ExamineGradePersonEntryCollection entryCollection = iExamineGradePersonEntry.getExamineGradePersonEntryCollection(entityViewInfo);
             Map<Integer, String> columnIndexMap = getColumnIndexFn(columnInfoMap);
             int fillColumnCount = columnInfoMap.size();
@@ -107,9 +195,6 @@ public class ExamineGradeImportPFRService extends BaseImportService {
         } catch (BOSException e) {
             e.printStackTrace();
             throw new RuntimeException(e);
-        } catch (ParserException e) {
-            e.printStackTrace();
-            throw new RuntimeException(e);
         }
     }
 
@@ -151,6 +236,6 @@ public class ExamineGradeImportPFRService extends BaseImportService {
             BaseColumnInfo keyColumn = keyColumnList.get(i);
             keyColumn.setCustomField(false);
         }
-        return super.getPKSelectString(row) + " and parent.id ='" + parentId + "'";
+        return super.getPKSelectString(row) + " and parent.id ='" + parentId + "' and orderstatuc <>'2'";
     }
 }