Kaynağa Gözat

代码更新

Heyuan 1 yıl önce
ebeveyn
işleme
8fe2d2b38e

+ 4 - 4
js/addon/custom/js/projectbonus/detailDynamicList.js

@@ -17,10 +17,10 @@ shr.defineClass("shr.custom.DetailDynamicList", shr.custom.CustomDynamicList, {
 				//查询表格数据
 				self.queryGrid();
 			},
-			onchange: function (previous, current) {
-				//查询表格数据
-				self.queryGrid();
-			},
+			// onchange: function (previous, current) {
+			// 	//查询表格数据
+			// 	self.queryGrid();
+			// },
 			//open方法里调用
 			verifyBeforeOpenCallback: function (e, value) {
 				var parentId = shr.getUrlParam('parentId');

+ 0 - 74
metadata/com/kingdee/eas/custom/projectbonus/app/BusDepQuery.query

@@ -1298,37 +1298,6 @@
         <key name="name" value="BusDepQuery" />
       </query>
     </queryField>
-    <queryField>
-      <name>AssPersonnelDetail.rankCoefficient</name>
-      <userDefined>true</userDefined>
-      <formulaString />
-      <constString />
-      <displayName>joinQuery[com.kingdee.eas.custom.projectbonus.app.BusDepQuery].units.queryField[AssPersonnelDetail.rankCoefficient].displayName</displayName>
-      <groupType />
-      <isSelector>true</isSelector>
-      <isFilter>true</isFilter>
-      <isSorter>false</isSorter>
-      <isParameter>false</isParameter>
-      <returnType>Number</returnType>
-      <propertyRefs>
-        <propertyRef>
-          <key>2fc5c7bc-98b7-438d-8beb-866b57fc8d89</key>
-          <parentUnit>
-            <key name="name" value="AssPersonnelDetail.rankCoefficient" />
-          </parentUnit>
-          <subEntity>
-            <key name="name" value="AssPersonnelDetail" />
-          </subEntity>
-          <refProperty>
-            <key name="name" value="rankCoefficient" />
-          </refProperty>
-        </propertyRef>
-      </propertyRefs>
-      <query>
-        <key name="package" value="com.kingdee.eas.custom.projectbonus.app" />
-        <key name="name" value="BusDepQuery" />
-      </query>
-    </queryField>
     <queryField>
       <name>AssPersonnelDetail.performanceGradeQ1</name>
       <userDefined>true</userDefined>
@@ -1639,37 +1608,6 @@
         <key name="name" value="BusDepQuery" />
       </query>
     </queryField>
-    <queryField>
-      <name>AssPersonnelDetail.bonusSubcontract</name>
-      <userDefined>true</userDefined>
-      <formulaString />
-      <constString />
-      <displayName>joinQuery[com.kingdee.eas.custom.projectbonus.app.BusDepQuery].units.queryField[AssPersonnelDetail.bonusSubcontract].displayName</displayName>
-      <groupType />
-      <isSelector>true</isSelector>
-      <isFilter>true</isFilter>
-      <isSorter>false</isSorter>
-      <isParameter>false</isParameter>
-      <returnType>Number</returnType>
-      <propertyRefs>
-        <propertyRef>
-          <key>8983cb30-56b1-478f-9769-e2463742651a</key>
-          <parentUnit>
-            <key name="name" value="AssPersonnelDetail.bonusSubcontract" />
-          </parentUnit>
-          <subEntity>
-            <key name="name" value="AssPersonnelDetail" />
-          </subEntity>
-          <refProperty>
-            <key name="name" value="bonusSubcontract" />
-          </refProperty>
-        </propertyRef>
-      </propertyRefs>
-      <query>
-        <key name="package" value="com.kingdee.eas.custom.projectbonus.app" />
-        <key name="name" value="BusDepQuery" />
-      </query>
-    </queryField>
     <queryField>
       <name>AssPersonnelDetail.approvalAmount</name>
       <userDefined>true</userDefined>
@@ -2346,12 +2284,6 @@
       <lang locale="zh_HK" value="獎金期限起算日期" />
       <lang locale="zh_TW" value="獎金期限起算日期" />
     </rs>
-    <rs key="joinQuery[com.kingdee.eas.custom.projectbonus.app.BusDepQuery].units.queryField[AssPersonnelDetail.bonusSubcontract].displayName">
-      <lang locale="en_US" value="null" />
-      <lang locale="zh_CN" value="奖金分包" />
-      <lang locale="zh_HK" value="獎金分包" />
-      <lang locale="zh_TW" value="獎金分包" />
-    </rs>
     <rs key="joinQuery[com.kingdee.eas.custom.projectbonus.app.BusDepQuery].units.queryField[AssPersonnelDetail.cumulative].displayName">
       <lang locale="en_US" value="null" />
       <lang locale="zh_CN" value="职能系数*精力投入系数*出勤率*职级系数*个人考核系数" />
@@ -2418,12 +2350,6 @@
       <lang locale="zh_HK" value="Q2績效等級" />
       <lang locale="zh_TW" value="Q2績效等級" />
     </rs>
-    <rs key="joinQuery[com.kingdee.eas.custom.projectbonus.app.BusDepQuery].units.queryField[AssPersonnelDetail.rankCoefficient].displayName">
-      <lang locale="en_US" value="null" />
-      <lang locale="zh_CN" value="职级系数" />
-      <lang locale="zh_HK" value="職級係數" />
-      <lang locale="zh_TW" value="職級係數" />
-    </rs>
     <rs key="joinQuery[com.kingdee.eas.custom.projectbonus.app.BusDepQuery].units.queryField[AssPersonnelDetail.remarks].displayName">
       <lang locale="en_US" value="null" />
       <lang locale="zh_CN" value="备注" />

+ 17 - 16
src/com/kingdee/eas/custom/projectbonus/app/BonusCycleBusDepProjectAssPersonnelDetailControllerBean.java

@@ -56,7 +56,7 @@ public class BonusCycleBusDepProjectAssPersonnelDetailControllerBean
             JobGradeInfo jobGrade = info.getGrade();
             if (jobGrade == null) {
                 jobGrade = getJobGradeInfo(ctx, personId);
-                if(jobGrade != null){
+                if (jobGrade != null) {
                     rankCoefficient = jobGrade.getBigDecimal("coefficient");
                 }
                 info.setGrade(jobGrade);
@@ -87,7 +87,7 @@ public class BonusCycleBusDepProjectAssPersonnelDetailControllerBean
         //Q1绩效系数
         BigDecimal performanceCoeffQ1 = info.getPerformanceCoeffQ1();
         //Q2绩效系数
-        BigDecimal performanceCoeffQ2 = info.getPerformanceCoeffQ1();
+        BigDecimal performanceCoeffQ2 = info.getPerformanceCoeffQ2();
         if (performanceCoeffQ1 != null && performanceCoeffQ2 != null) {
             //个人考核系数
             BigDecimal assessmentCoeff = performanceCoeffQ1.add(performanceCoeffQ2).divide(BigDecimal.valueOf(2)).setScale(2, RoundingMode.HALF_UP);
@@ -117,6 +117,7 @@ public class BonusCycleBusDepProjectAssPersonnelDetailControllerBean
 
     /**
      * 通过员工id查询员工职层职等信息,返回职等信息
+     *
      * @param ctx
      * @param personId
      * @return
@@ -178,24 +179,24 @@ public class BonusCycleBusDepProjectAssPersonnelDetailControllerBean
                     //职位
                     PersonPositionInfo personPositionInfo = PersonPositionFactory.getLocalInstance(ctx).getPersonPositionInfo("where person.id = '" + personId + "'");
                     info.setPosition(personPositionInfo.getPrimaryPosition());
-
-
-
-
                     //职等信息
-                    info.put("grade", "4TaNADUxRwKsLQNsazi9cGfwIzA=");
-                } else {
-                    throw new BOSException("分配人员不能为空!");
-                }
-            } else if ("initialProportion".equals(propertyName) && info.getInitialProportion() != null) {
-                BigDecimal initialProportion = info.getInitialProportion();
-                if (initialProportion.compareTo(BigDecimal.ZERO) < 0 || initialProportion.compareTo(BigDecimal.ONE) > 0) {
-                    throw new BOSException("个人初始比例只能在[0,1]之间");
-                }
+                    JobGradeInfo jobGrade = getJobGradeInfo(ctx, personId);
+                    info.setGrade(jobGrade);
+            } else {
+                throw new BOSException("分配人员不能为空!");
+            }
+        } else if ("initialProportion".equals(propertyName) && info.getInitialProportion() != null) {
+            BigDecimal initialProportion = info.getInitialProportion();
+            if (initialProportion.compareTo(BigDecimal.ZERO) < 0 || initialProportion.compareTo(BigDecimal.ONE) > 0) {
+                throw new BOSException("个人初始比例只能在[0,1]之间");
             }
         }
-        super._updatePartial(ctx, model, sic);
     }
+        super.
+
+    _updatePartial(ctx, model, sic);
+
+}
 
     /**
      * 删除

+ 1 - 1
src/com/kingdee/eas/custom/projectbonus/app/BonusCycleBusDepProjectControllerBean.java

@@ -294,7 +294,7 @@ public class BonusCycleBusDepProjectControllerBean extends AbstractBonusCycleBus
                 throw new BOSException("员工[" + personName + "]的Q1绩效系数为空!");
             }
             //Q2绩效系数
-            BigDecimal performanceCoeffQ2 = detailInfo.getPerformanceCoeffQ1();
+            BigDecimal performanceCoeffQ2 = detailInfo.getPerformanceCoeffQ2();
             if (performanceCoeffQ2 == null) {
                 throw new BOSException("员工[" + personName + "]的Q2绩效系数为空!");
             }

+ 9 - 14
src/com/kingdee/eas/custom/projectbonus/task/ProjectbonusFacadeControllerBean.java

@@ -1,6 +1,5 @@
 package com.kingdee.eas.custom.projectbonus.task;
 
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.kingdee.bos.BOSException;
 import com.kingdee.bos.Context;
@@ -11,17 +10,12 @@ import com.kingdee.eas.basedata.person.PersonInfo;
 import com.kingdee.eas.common.EASBizException;
 import com.kingdee.eas.custom.notify.NotifyTodoFactory;
 import com.kingdee.eas.custom.notify.SendContextInfo;
-import com.kingdee.eas.custom.notify.notifyTodo.ISysNotifyTodoWebService;
-import com.kingdee.eas.custom.notify.notifyTodo.ISysNotifyTodoWebServiceServiceLocator;
-import com.kingdee.eas.custom.notify.notifyTodo.NotifyTodoAppResult;
-import com.kingdee.eas.custom.notify.notifyTodo.NotifyTodoSendContext;
 import com.kingdee.eas.custom.projectbonus.*;
 import com.kingdee.eas.custom.utils.PropertiesUtil;
-import com.kingdee.util.DateTimeUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.log4j.Logger;
 
-import java.rmi.RemoteException;
+import java.net.URLEncoder;
 import java.sql.Timestamp;
 import java.util.*;
 
@@ -87,18 +81,16 @@ public class ProjectbonusFacadeControllerBean extends AbstractProjectbonusFacade
                 context.setAppName("shr");
                 context.setModelName("shr_项目经营奖金模块");
                 context.setModelId(BOSUuid.create("projectbonus").toString());
-                context.setLink("www.baidu.com");
                 StringBuilder subject = new StringBuilder();
                 subject.append("请您尽快提交 周期[" + cycleName + "] " + busDepMsg + "的奖金分配人员明细!");
                 context.setSubject(subject.toString());
-                //http://10.0.64.221:6888/shr
-                String link = String.format(linkTemplate, shrAddress, principalBusdepUipk, bonusCycleId);
+                String bonusCycleIdEncode = URLEncoder.encode(bonusCycleId);
+                String link = String.format(linkTemplate, shrAddress, principalBusdepUipk, bonusCycleIdEncode);
                 context.setLink(link);
                 //context.setType();
                 JSONObject jsonObject = new JSONObject();
                 jsonObject.put("LoginName", oaUserName);
-                //JSONArray jsonArray = new JSONArray();
-                //jsonArray.add(jsonObject);
+                //[{"LoginName":"liucanyu"},{"LoginName":"liucanyu1"}]
                 context.setTargets(jsonObject.toJSONString());
                 context.setCreateTime(new Timestamp(new Date().getTime()));
                 NotifyTodoFactory.getLocalInstance(ctx).sendTodo(context);
@@ -124,7 +116,7 @@ public class ProjectbonusFacadeControllerBean extends AbstractProjectbonusFacade
             return "事业部[" + busdepName + "]";
         }
     }
-//    public static void main(String[] args) throws RemoteException, javax.xml.rpc.ServiceException {
+   // public static void main(String[] args) throws javax.xml.rpc.ServiceException {
 //        ISysNotifyTodoWebServiceServiceLocator iSysNotifyTodoWebServiceServiceLocator = new ISysNotifyTodoWebServiceServiceLocator();
 //        ISysNotifyTodoWebService iSysNotifyTodoWebServicePort = iSysNotifyTodoWebServiceServiceLocator.getISysNotifyTodoWebServicePort();
 //        NotifyTodoSendContext notInfo = new NotifyTodoSendContext();
@@ -150,5 +142,8 @@ public class ProjectbonusFacadeControllerBean extends AbstractProjectbonusFacade
 //        NotifyTodoAppResult notifyTodoAppResult = iSysNotifyTodoWebServicePort.sendTodo(notInfo);
 //        System.out.println(notifyTodoAppResult.getReturnState());
 //        System.out.println(notifyTodoAppResult.getMessage());
-//    }
+
+        //String encode = URLEncoder.encode("+ng+o0EHRTuIAsGjqwaF+7mfTD4=");
+        //System.out.println(encode);
+    //}
 }

+ 25 - 7
websrc/com/kingdee/eas/custom/projectbonus/web/handler/BusDepProjectDynamicListHandler.java

@@ -250,6 +250,7 @@ public class BusDepProjectDynamicListHandler extends DynamicListHandler {
                 if ("1".equals(projectType)) {
                     info.put("busDep", fid);
                     filterItems.add(new FilterItemInfo("busDep", fid));
+                    filterItems.add(new FilterItemInfo("project", null));
                 } else {
                     info.put("busDep", orgParentId);
                     info.put("project", fid);
@@ -269,13 +270,7 @@ public class BusDepProjectDynamicListHandler extends DynamicListHandler {
             }
             logger.info("新增" + addCount + "条事业部项目数据");
             JSONUtils.SUCCESS("新增" + addCount + "条事业部项目数据");
-        } catch (BOSException e) {
-            e.printStackTrace();
-            throw new ShrWebBizException(e);
-        } catch (SQLException e) {
-            e.printStackTrace();
-            throw new ShrWebBizException(e);
-        } catch (EASBizException e) {
+        } catch (Exception e) {
             e.printStackTrace();
             throw new ShrWebBizException(e);
         }
@@ -407,4 +402,27 @@ public class BusDepProjectDynamicListHandler extends DynamicListHandler {
             throw new ShrWebBizException(e.getMessage());
         }
     }
+
+    public static void main(String[] args) {
+        String sql =
+                "SELECT" +
+                        "   fid," +
+                        "   CFProjectType1," +
+                        "   FParentID" +
+                        " FROM" +
+                        "   t_org_admin" +
+                        " where" +
+                        "   CFProjectType1 in ('1', '2', '3', '4', '5')" +
+                        "   and fid not in (" +
+                        "       SELECT" +
+                        "           case" +
+                        "               when CFProjectID is null then CFBusDepID" +
+                        "               else CFProjectID" +
+                        "           end depId" +
+                        "       FROM" +
+                        "       CT_PB_BonusCycleBusDepProject" +
+                        "       where fparentId = ?) and FIsOUSealUp = 0";
+
+        System.out.println(sql);
+    }
 }

+ 2 - 2
websrc/com/kingdee/eas/custom/projectbonus/web/service/PersonnelDetailImportService.java

@@ -73,7 +73,7 @@ public class PersonnelDetailImportService extends BaseImportService {
             filterItems.add(new FilterItemInfo("state", 2));//状态等于提交
             if (!StringUtils.isEmpty(busDepIds)) {
                 Set<String> busDepIdSet = AtsUtil.toSet(busDepIds);
-                filterItems.add(new FilterItemInfo("id", busDepIdSet, CompareType.INCLUDE));
+                filterItems.add(new FilterItemInfo("busDep.id", busDepIdSet, CompareType.INCLUDE));
             }
             SorterItemCollection sortItems = new SorterItemCollection();
             sortItems.add(new SorterItemInfo("busdep.id"));
@@ -99,7 +99,7 @@ public class PersonnelDetailImportService extends BaseImportService {
                 //分配人员明细
                 BonusCycleBusDepProjectAssPersonnelDetailCollection personnelDetailCols = depProjectInfo.getAssPersonnelDetail();
                 for (int j = 0; j < personnelDetailCols.size(); j++) {
-                    Row row = sheet.createRow(j + beginRow);
+                    Row row = sheet.createRow(beginRow++);
                     BonusCycleBusDepProjectAssPersonnelDetailInfo info = personnelDetailCols.get(j);
                     for (int k = 0; k < fillColumnCount; ++k) {
                         Cell createCell = row.createCell(k);