Heyuan преди 11 месеца
родител
ревизия
6c5539c883

+ 14 - 0
js/addon/custom/js/projectbonus/detailRecheckDynamicList.js

@@ -160,6 +160,20 @@ shr.defineClass("shr.custom.DetailRecheckDynamicList", shr.custom.CustomDynamicL
 						$(tds[j]).addClass('cellEditItem')
 					}
 				}
+				//当征求意见金额 或 总经理审批金额 跟 本期个人奖金额有出入时,单元格颜色改变
+				//本期个人奖金额
+				var indivbonusamount = rowData["bdpapd.indivbonusamount"];
+				//征求意见金额
+				var opinionamount = rowData["bdpapd.opinionamount"];
+				//总经理审批金额
+				var approvalamount = rowData["bdpapd.approvalamount"];
+				if (opinionamount != indivbonusamount) {
+					tr.find('[aria-describedby="grid_bdpapd.opinionamount"]').css("background", "yellow");
+				}
+				if (approvalamount != indivbonusamount) {
+					tr.find('[aria-describedby="grid_bdpapd.approvalamount"]').css("background", "green");
+					tr.find('[aria-describedby="grid_bdpapd.approvalamount"]').removeClass('cellEditItem')
+				}
 			}
 		}
 	},

+ 5 - 3
websrc/com/kingdee/eas/custom/projectbonus/web/handler/ProjectBonusDynamicHandler.java

@@ -48,12 +48,14 @@ public class ProjectBonusDynamicHandler extends DynamicListHandler {
         for (int i = 0; i < columnModels.size(); i++) {
             Map<String, Object> columnModel = columnModels.get(i);
             String name = (String) columnModel.get("name");
+            Map<String, Object> attributes = new HashMap<>();
+            attributes.putAll((Map<? extends String, ?>) columnModel.get("attributes"));
             if (decimalPrecisionFields.contains(name)) {
-                Map<String,Object> attributes = new HashMap<>();
-                attributes.putAll((Map<? extends String, ?>) columnModel.get("attributes"));
                 attributes.put("decimalPrecision", 6);
-                columnModel.put("attributes",attributes);
+            }else{
+                attributes.put("decimalPrecision", 2);
             }
+            columnModel.put("attributes", attributes);
         }
         return excelConfig;
     }

+ 7 - 3
websrc/com/kingdee/eas/custom/projectbonus/web/service/BonusCycleBusDepProjectImportService.java

@@ -8,7 +8,6 @@ import com.kingdee.eas.custom.projectbonus.bizEnum.BusDepProjectStateEnum;
 import com.kingdee.eas.custom.projectbonus.bizEnum.CycleStateEnum;
 import com.kingdee.eas.framework.CoreBaseInfo;
 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.util.StringUtils;
@@ -18,6 +17,7 @@ import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -28,7 +28,7 @@ import java.util.Map;
  * @Date 2024/4/29 18:04
  * @Created by Heyuan
  */
-public class BonusCycleBusDepProjectImportService extends BaseImportService {
+public class BonusCycleBusDepProjectImportService extends ProjectBonusImportService {
     /**
      * Ä£°åÏÂÔØÊ±Ð¯´øÊý¾Ý
      *
@@ -88,7 +88,11 @@ public class BonusCycleBusDepProjectImportService extends BaseImportService {
                                 value = coreBaseInfo.get("number") + "##" + coreBaseInfo.get("name");
                             } else if (obj instanceof BigDecimal) {
                                 BigDecimal bigDecimal = (BigDecimal) obj;
-                                value = bigDecimal.setScale(2).toPlainString();
+                                if (this.moneyFields.contains(columnName)) {
+                                    value = bigDecimal.setScale(6, RoundingMode.HALF_UP).toPlainString();
+                                } else {
+                                    value = bigDecimal.setScale(2, RoundingMode.HALF_UP).toPlainString();
+                                }
                             } else {
                                 value = obj.toString();
                             }

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

@@ -11,7 +11,6 @@ import com.kingdee.eas.custom.projectbonus.bizEnum.CycleStateEnum;
 import com.kingdee.eas.framework.CoreBaseInfo;
 import com.kingdee.eas.hr.ats.AtsUtil;
 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.util.StringUtils;
@@ -21,15 +20,16 @@ import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.*;
 
 
 /**
- * @Description 分配人员明细列表导入模板(专员)
+ * @Description 分配人员明细列表导入模板_已复核(专员)
  * @Date 2024/5/7 21:28
  * @Created by Heyuan
  */
-public class PersonnelDetailImportService extends BaseImportService {
+public class PersonnelDetailImportService extends ProjectBonusImportService {
     private final static SelectorItemCollection updateSic = new SelectorItemCollection();
 
     static {
@@ -130,7 +130,11 @@ public class PersonnelDetailImportService extends BaseImportService {
                                 value = coreBaseInfo.get("number") + "##" + coreBaseInfo.get("name");
                             } else if (obj instanceof BigDecimal) {
                                 BigDecimal bigDecimal = (BigDecimal) obj;
-                                value = bigDecimal.setScale(2).toPlainString();
+                                if (this.moneyFields.contains(columnName)) {
+                                    value = bigDecimal.setScale(6, RoundingMode.HALF_UP).toPlainString();
+                                } else {
+                                    value = bigDecimal.setScale(2, RoundingMode.HALF_UP).toPlainString();
+                                }
                             } else {
                                 value = obj.toString();
                             }

+ 7 - 3
websrc/com/kingdee/eas/custom/projectbonus/web/service/PersonnelDetailSubmitedImportService.java

@@ -11,7 +11,6 @@ import com.kingdee.eas.custom.projectbonus.bizEnum.CycleStateEnum;
 import com.kingdee.eas.framework.CoreBaseInfo;
 import com.kingdee.eas.hr.ats.AtsUtil;
 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.util.StringUtils;
@@ -21,6 +20,7 @@ import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.*;
 
 
@@ -29,7 +29,7 @@ import java.util.*;
  * @Date 2024/5/7 21:28
  * @Created by Heyuan
  */
-public class PersonnelDetailSubmitedImportService extends BaseImportService {
+public class PersonnelDetailSubmitedImportService extends ProjectBonusImportService {
     private final static SelectorItemCollection updateSic = new SelectorItemCollection();
 
     static {
@@ -135,7 +135,11 @@ public class PersonnelDetailSubmitedImportService extends BaseImportService {
                                 value = coreBaseInfo.get("number") + "##" + coreBaseInfo.get("name");
                             } else if (obj instanceof BigDecimal) {
                                 BigDecimal bigDecimal = (BigDecimal) obj;
-                                value = bigDecimal.setScale(2).toPlainString();
+                                if (this.moneyFields.contains(columnName)) {
+                                    value = bigDecimal.setScale(6, RoundingMode.HALF_UP).toPlainString();
+                                } else {
+                                    value = bigDecimal.setScale(2, RoundingMode.HALF_UP).toPlainString();
+                                }
                             } else {
                                 value = obj.toString();
                             }

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

@@ -14,7 +14,6 @@ import com.kingdee.eas.custom.projectbonus.bizEnum.BusDepProjectStateEnum;
 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.util.StringUtils;
@@ -29,7 +28,7 @@ import java.util.Map;
  * @Date 2024/5/7 21:28
  * @Created by Heyuan
  */
-public class PrincipalDetailImportService extends BaseImportService {
+public class PrincipalDetailImportService extends ProjectBonusImportService {
     /**
      * ±£´æÇ°Ö÷½·¨
      *

+ 6 - 1
websrc/com/kingdee/eas/custom/projectbonus/web/service/PrincipalDetailImportServiceV2.java

@@ -19,6 +19,7 @@ import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.*;
 
 
@@ -109,7 +110,11 @@ public class PrincipalDetailImportServiceV2 extends PrincipalDetailImportService
                             value = coreBaseInfo.get("number") + "##" + coreBaseInfo.get("name");
                         } else if (obj instanceof BigDecimal) {
                             BigDecimal bigDecimal = (BigDecimal) obj;
-                            value = bigDecimal.setScale(2).toPlainString();
+                            if (this.moneyFields.contains(columnName)) {
+                                value = bigDecimal.setScale(6, RoundingMode.HALF_UP).toPlainString();
+                            } else {
+                                value = bigDecimal.setScale(2, RoundingMode.HALF_UP).toPlainString();
+                            }
                         } else {
                             value = obj.toString();
                         }

+ 29 - 0
websrc/com/kingdee/eas/custom/projectbonus/web/service/ProjectBonusImportService.java

@@ -0,0 +1,29 @@
+package com.kingdee.eas.custom.projectbonus.web.service;
+
+import com.kingdee.bos.metadata.entity.SelectorItemCollection;
+import com.kingdee.shr.base.syssetting.app.io.fileImport.BaseImportService;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description ½±½ðµ¼ÈëÄ£°å
+ * @Date 2024/6/20 15:39
+ * @Created by Heyuan
+ */
+public class ProjectBonusImportService extends BaseImportService {
+    protected final static List moneyFields = new ArrayList();
+    static {
+        moneyFields.add("opinionAmount");
+        moneyFields.add("indivBonusAmount");
+        moneyFields.add("approvalAmount");
+        moneyFields.add("bonusAmount");
+        moneyFields.add("totalBonusHalf");
+        moneyFields.add("totalBonusReal");
+        moneyFields.add("directManProjBonus");
+        moneyFields.add("contraManProjBonus");
+        moneyFields.add("condManProjectBonus");
+        moneyFields.add("straManProjectBonus");
+        moneyFields.add("bonusAdjustment");
+    }
+}