Ver Fonte

Merge branch 'master' of http://111.75.220.136:10030/turborao/jyyy

lisheng há 1 semana atrás
pai
commit
ae4a9e27e7

+ 69 - 0
code/jyyy/nckd-jimin-jyyy-hr/src/main/java/nckd/jimin/jyyy/hr/swc/hcdm/formplugin/report/AdjDetailFormRptEx.java

@@ -0,0 +1,69 @@
+package nckd.jimin.jyyy.hr.swc.hcdm.formplugin.report;
+
+import com.google.common.collect.Sets;
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.dataentity.entity.DynamicObjectCollection;
+import kd.bos.entity.datamodel.events.PackageDataEvent;
+import kd.bos.entity.property.DecimalProp;
+import kd.bos.entity.report.ReportColumn;
+import kd.bos.entity.report.ReportQueryParam;
+import kd.bos.logging.Log;
+import kd.bos.logging.LogFactory;
+import kd.bos.report.plugin.AbstractReportFormPlugin;
+import kd.sdk.plugin.Plugin;
+import kd.swc.hcdm.formplugin.report.AdjRptFormPlugin;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.DecimalFormat;
+import java.util.Iterator;
+
+/**
+ * Tyx 2025-09-08
+ * 定调薪明细表 处理年薪总包字段
+ */
+public class AdjDetailFormRptEx extends AbstractReportFormPlugin implements Plugin {
+
+    private static final Log log = LogFactory.getLog(AdjDetailFormRptEx.class);
+
+
+    @Override
+    public void processRowData(String gridPK, DynamicObjectCollection rowData, ReportQueryParam queryParam) {
+        super.processRowData(gridPK, rowData, queryParam);
+        Iterator<DynamicObject> iterator = rowData.iterator();
+        while (iterator.hasNext()) {
+            DynamicObject row = iterator.next();
+            String itemName = row.getString("standarditem.name");
+            if(!itemName.equals("年度薪酬标准"))
+                continue;
+            //金额
+            BigDecimal amount = row.getBigDecimal("amount");
+            //N薪系数
+            BigDecimal nxxs = row.getBigDecimal("hcdm_adjfileinfo.nckd_ncoefficient");
+            //年薪总包 = 年度薪酬标准 + 年度薪酬标准 / 12 * N薪系数
+            BigDecimal a = amount.divide(new BigDecimal("12"),2, RoundingMode.HALF_UP).multiply(nxxs);
+            BigDecimal b = amount.add(a);
+            row.set("hcdm_adjfileinfo.nckd_nxzb", b);
+        }
+    }
+
+    @Override
+    public void packageData(PackageDataEvent packageDataEvent) {
+        super.packageData(packageDataEvent);
+        if (packageDataEvent.getSource() instanceof ReportColumn) {
+            ReportColumn reportColumn = (ReportColumn)packageDataEvent.getSource();
+            String fieldKey = reportColumn.getFieldKey();
+            if(Sets.newHashSet(new String[]{"hcdm_adjfileinfo.nckd_nxzb"}).contains(fieldKey) && reportColumn.getFieldProperty() instanceof DecimalProp) {
+                StringBuilder format = new StringBuilder("¥#0,000.00");
+                DecimalFormat myFormat = new DecimalFormat(format.toString());
+                Object field = packageDataEvent.getRowData().get(fieldKey);
+                if (field != null) {
+                    String value = myFormat.format(field);
+                    packageDataEvent.setFormatValue(value);
+                } else {
+                    packageDataEvent.setFormatValue((Object)null);
+                }
+            }
+        }
+    }
+}

+ 16 - 0
code/jyyy/nckd-jimin-jyyy-hr/src/main/java/nckd/jimin/jyyy/hr/swc/hcss/formplugin/web/income/deal/IncomeProofBillDealPluginEx.java

@@ -1,9 +1,14 @@
 package nckd.jimin.jyyy.hr.swc.hcss.formplugin.web.income.deal;
 
+import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.entity.datamodel.IDataModel;
+import kd.bos.form.control.AttachmentPanel;
 import kd.bos.form.events.AfterDoOperationEventArgs;
 import kd.bos.form.plugin.AbstractFormPlugin;
+import kd.bos.servicehelper.AttachmentServiceHelper;
+import kd.hr.hbp.common.util.DomainFactory;
 import kd.sdk.plugin.Plugin;
+import kd.swc.hcss.business.service.income.IncomeProofBillService;
 
 import java.util.EventObject;
 
@@ -14,13 +19,24 @@ import java.util.EventObject;
  */
 public class IncomeProofBillDealPluginEx extends AbstractFormPlugin implements Plugin {
 
+    private IncomeProofBillService incomeProofBillService = (IncomeProofBillService) DomainFactory.getInstance(IncomeProofBillService.class);
+
 
     @Override
     public void afterBindData(EventObject e) {
         super.afterBindData(e);
         dealIncomeInfo();
+        setAttachment();
+    }
+
+    private void setAttachment() {
+        DynamicObject billData = this.getModel().getDataEntity(true);
+        String name = this.incomeProofBillService.getBillNameByDataSource(billData.getString("datasource"));
+        AttachmentPanel attachment = (AttachmentPanel)this.getView().getControl("nckd_attachmentpanelap");
+        attachment.bindData(AttachmentServiceHelper.getAttachments(name, billData.getLong("id"), "nckd_attachmentpanelap"));
     }
 
+
     private void dealIncomeInfo() {
         IDataModel model = this.getModel();
         int rowCount = model.getEntryRowCount("entryentity");

+ 2 - 0
code/jyyy/nckd-jimin-jyyy-hr/src/main/java/nckd/jimin/jyyy/hr/task/util/SyncOAHelper.java

@@ -208,6 +208,8 @@ public class SyncOAHelper {
             dyn.set("nckd_examinetype", type);
             dyn.set("nckd_score", score);
             dyn.set("nckd_oaid", oaId);
+            //2025-09-08 Tyx 前台无法显示,这里给initstatus默认赋值‘2’
+            dyn.set("initstatus", "2");
             dynList.add(dyn);
         }
         log.info("共查询:{}条,去重后:{}条", datas.size(), dynList.size());