|
@@ -6,9 +6,7 @@ import kd.bos.bill.AbstractBillPlugIn;
|
|
import kd.bos.cache.CacheFactory;
|
|
import kd.bos.cache.CacheFactory;
|
|
import kd.bos.cache.TempFileCache;
|
|
import kd.bos.cache.TempFileCache;
|
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
-import kd.bos.dataentity.entity.DynamicObjectCollection;
|
|
|
|
import kd.bos.exception.KDBizException;
|
|
import kd.bos.exception.KDBizException;
|
|
-import kd.bos.exception.KDException;
|
|
|
|
import kd.bos.form.control.AttachmentPanel;
|
|
import kd.bos.form.control.AttachmentPanel;
|
|
import kd.bos.form.control.Toolbar;
|
|
import kd.bos.form.control.Toolbar;
|
|
import kd.bos.form.control.events.UploadEvent;
|
|
import kd.bos.form.control.events.UploadEvent;
|
|
@@ -16,7 +14,6 @@ import kd.bos.form.control.events.UploadListener;
|
|
import kd.bos.orm.query.QFilter;
|
|
import kd.bos.orm.query.QFilter;
|
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
|
import org.apache.poi.ss.usermodel.*;
|
|
import org.apache.poi.ss.usermodel.*;
|
|
-
|
|
|
|
import java.io.*;
|
|
import java.io.*;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
@@ -30,10 +27,10 @@ public class SalaryFileUploadEditPlugin extends AbstractBillPlugIn implements Up
|
|
private static String bos_org = "bos_org"; //业务单元组织标识
|
|
private static String bos_org = "bos_org"; //业务单元组织标识
|
|
private static String bos_adminorg="bos_adminorg";//行政组织标识
|
|
private static String bos_adminorg="bos_adminorg";//行政组织标识
|
|
|
|
|
|
-
|
|
|
|
|
|
+ //给附件面板添加监听
|
|
@Override
|
|
@Override
|
|
public void registerListener(EventObject e) {
|
|
public void registerListener(EventObject e) {
|
|
- //给附件面板添加监听
|
|
|
|
|
|
+
|
|
super.registerListener(e);
|
|
super.registerListener(e);
|
|
//按钮面板
|
|
//按钮面板
|
|
Toolbar toolbar = this.getControl("tbmain");
|
|
Toolbar toolbar = this.getControl("tbmain");
|
|
@@ -65,13 +62,16 @@ public class SalaryFileUploadEditPlugin extends AbstractBillPlugIn implements Up
|
|
readExcelByRowOrCell(4,44,inputStream,billtype);
|
|
readExcelByRowOrCell(4,44,inputStream,billtype);
|
|
}else if ("B".equals(nckd_entrytype)) {
|
|
}else if ("B".equals(nckd_entrytype)) {
|
|
billtype="nckd_earlyretiredentry";
|
|
billtype="nckd_earlyretiredentry";
|
|
- readExcelByRowOrCell(4,31,inputStream,billtype);
|
|
|
|
|
|
+ readExcelByRowOrCell(4,34,inputStream,billtype);
|
|
} else if ("C".equals(nckd_entrytype)) {
|
|
} else if ("C".equals(nckd_entrytype)) {
|
|
billtype="nckd_retireentry";
|
|
billtype="nckd_retireentry";
|
|
readExcelByRowOrCell(4,15,inputStream,billtype);
|
|
readExcelByRowOrCell(4,15,inputStream,billtype);
|
|
} else if ("D".equals(nckd_entrytype)) {
|
|
} else if ("D".equals(nckd_entrytype)) {
|
|
billtype="nckd_salaryentry";
|
|
billtype="nckd_salaryentry";
|
|
readExcelByRowOrCell(4,78,inputStream,billtype);
|
|
readExcelByRowOrCell(4,78,inputStream,billtype);
|
|
|
|
+ } else if ("E".equals(nckd_entrytype)) {
|
|
|
|
+ billtype="nckd_salaryentryre";
|
|
|
|
+ readExcelByRowOrCell(4,34,inputStream,billtype);
|
|
} else if (null==nckd_entrytype) {
|
|
} else if (null==nckd_entrytype) {
|
|
throw new KDBizException("请选择分录类型");
|
|
throw new KDBizException("请选择分录类型");
|
|
}
|
|
}
|
|
@@ -79,7 +79,7 @@ public class SalaryFileUploadEditPlugin extends AbstractBillPlugIn implements Up
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
- * @line execel行数
|
|
|
|
|
|
+ * @line execel头行数
|
|
* @column excel列数
|
|
* @column excel列数
|
|
* @inputStream 文件流
|
|
* @inputStream 文件流
|
|
* @nckd_entrytype 分录类型
|
|
* @nckd_entrytype 分录类型
|
|
@@ -94,19 +94,20 @@ public class SalaryFileUploadEditPlugin extends AbstractBillPlugIn implements Up
|
|
List<Row> rowList=new ArrayList<>();
|
|
List<Row> rowList=new ArrayList<>();
|
|
//表头字段
|
|
//表头字段
|
|
List<Row> headList=new ArrayList<>();
|
|
List<Row> headList=new ArrayList<>();
|
|
|
|
+ //人力薪酬和薪酬明细等excel分开处理
|
|
if (billtype.equals("nckd_salaryentry")) {
|
|
if (billtype.equals("nckd_salaryentry")) {
|
|
headList.add(filesheet.getRow(line-3));
|
|
headList.add(filesheet.getRow(line-3));
|
|
}else {
|
|
}else {
|
|
headList.add(filesheet.getRow(line-2));
|
|
headList.add(filesheet.getRow(line-2));
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ //读取每行的数据存入list中
|
|
for (int i=line;i<=filesheet.getLastRowNum();i++) {
|
|
for (int i=line;i<=filesheet.getLastRowNum();i++) {
|
|
//获取每一行
|
|
//获取每一行
|
|
Row row = filesheet.getRow(i);
|
|
Row row = filesheet.getRow(i);
|
|
if (null==row.getCell(1)) {
|
|
if (null==row.getCell(1)) {
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
- //根据字段行循环,没有值的单元格则赋值
|
|
|
|
|
|
+ //根据字段行循环,没有值的单元格则赋值,防止空指针
|
|
for(int j=1;j<column;j++){
|
|
for(int j=1;j<column;j++){
|
|
Cell cell=row.getCell(j);
|
|
Cell cell=row.getCell(j);
|
|
if (null==cell) {
|
|
if (null==cell) {
|
|
@@ -123,45 +124,18 @@ public class SalaryFileUploadEditPlugin extends AbstractBillPlugIn implements Up
|
|
throw new RuntimeException(e);
|
|
throw new RuntimeException(e);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- /**
|
|
|
|
- * 对Excel的各个单元格的格式进行判断并转换
|
|
|
|
- */
|
|
|
|
- public String getCellValue(Cell cell) {
|
|
|
|
- String cellValue = "";
|
|
|
|
- if (cell == null) {
|
|
|
|
- return cellValue;
|
|
|
|
- }
|
|
|
|
- // 判断数据的类型
|
|
|
|
- switch (cell.getCellType()) {
|
|
|
|
- case NUMERIC:
|
|
|
|
- cellValue=String.valueOf(cell.getNumericCellValue());;
|
|
|
|
- break;
|
|
|
|
- case STRING: // 字符串
|
|
|
|
- cellValue = String.valueOf(cell.getStringCellValue()).trim();
|
|
|
|
- break;
|
|
|
|
- case BLANK: // 空值
|
|
|
|
- cellValue = "";
|
|
|
|
- break;
|
|
|
|
- case ERROR: // 故障
|
|
|
|
- cellValue = "未知类型";
|
|
|
|
- break;
|
|
|
|
- default:
|
|
|
|
- cellValue = "未知类型";
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- return cellValue;
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* @rowList 读取的excel数据
|
|
* @rowList 读取的excel数据
|
|
* @nckd_entrytype 分录标识
|
|
* @nckd_entrytype 分录标识
|
|
- * @description:根据分录类型不同,赋值分录封装
|
|
|
|
|
|
+ * @description:根据分录类型不同,赋值分录
|
|
*/
|
|
*/
|
|
public void createNewRow(List<Row> rowList,String nckd_entry){
|
|
public void createNewRow(List<Row> rowList,String nckd_entry){
|
|
//薪酬明细(一般员工)分录字段标识
|
|
//薪酬明细(一般员工)分录字段标识
|
|
- List<String> nckd_generalemployees =Arrays.asList("nckd_se_institution","nckd_se_emptype","nckd_se_empnumber"
|
|
|
|
- ,"nckd_se_empname","nckd_se_org","nckd_se_department","nckd_se_idnumber","nckd_se_cost","nckd_se_allbasicsry"
|
|
|
|
|
|
+ List<String> nckd_generalemployees =Arrays.asList("nckd_se_institution","nckd_se_empname","nckd_se_empnumber"
|
|
|
|
+ ,"nckd_se_idnumber","nckd_se_banknumber","nckd_se_unit","nckd_se_org","nckd_se_department","nckd_se_allbasicsry"
|
|
,"nckd_se_basicsry","nckd_se_acmsry","nckd_se_reacmsry","nckd_se_bsnrwd","nckd_se_otreward","nckd_se_cmcsbd"
|
|
,"nckd_se_basicsry","nckd_se_acmsry","nckd_se_reacmsry","nckd_se_bsnrwd","nckd_se_otreward","nckd_se_cmcsbd"
|
|
,"nckd_se_otherpysry","nckd_se_clearrwd","nckd_se_awareward","nckd_se_otherdevreward","nckd_se_coldsbad"
|
|
,"nckd_se_otherpysry","nckd_se_clearrwd","nckd_se_awareward","nckd_se_otherdevreward","nckd_se_coldsbad"
|
|
,"nckd_se_warmsbad","nckd_se_nursabd","nckd_se_otherallowance","nckd_se_salarypayable","nckd_se_per_endins"
|
|
,"nckd_se_warmsbad","nckd_se_nursabd","nckd_se_otherallowance","nckd_se_salarypayable","nckd_se_per_endins"
|
|
@@ -169,23 +143,19 @@ public class SalaryFileUploadEditPlugin extends AbstractBillPlugIn implements Up
|
|
,"nckd_se_unionmey","nckd_se_tax","nckd_se_otherreduce","nckd_se_desalary","nckd_se_netsalary","nckd_se_cpy_endins"
|
|
,"nckd_se_unionmey","nckd_se_tax","nckd_se_otherreduce","nckd_se_desalary","nckd_se_netsalary","nckd_se_cpy_endins"
|
|
,"nckd_se_cpy_hopins","nckd_se_cpy_bhopins","nckd_se_cpy_ljins","nckd_se_cpy_birthins","nckd_se_cpy_dmgins","nckd_se_cpy_hosins"
|
|
,"nckd_se_cpy_hopins","nckd_se_cpy_bhopins","nckd_se_cpy_ljins","nckd_se_cpy_birthins","nckd_se_cpy_dmgins","nckd_se_cpy_hosins"
|
|
,"nckd_se_cpy_cmymey");
|
|
,"nckd_se_cpy_cmymey");
|
|
-
|
|
|
|
-
|
|
|
|
//薪酬明细(内退)分录字段标识
|
|
//薪酬明细(内退)分录字段标识
|
|
- List<String> nckd_earlyretired=Arrays.asList("nckd_ee_institution","nckd_ee_emptype","nckd_ee_empnumber","nckd_ee_empname"
|
|
|
|
- ,"nckd_ee_org","nckd_ee_department","nckd_ee_idnumber","nckd_ee_cost","nckd_ee_allbasicsry","nckd_ee_allowance"
|
|
|
|
- ,"nckd_ee_otherallowance","nckd_ee_per_endins","nckd_ee_per_ljins","nckd_ee_per_hopins","nckd_ee_per_bhopins"
|
|
|
|
- ,"nckd_ee_per_hosins","nckd_ee_per_cmymey","nckd_ee_unionmey","nckd_ee_tax","nckd_ee_otherreduce","nckd_ee_desalary"
|
|
|
|
- ,"nckd_ee_netsalary","nckd_ee_cpy_endins","nckd_ee_cpy_hopins","nckd_ee_cpy_bhopins","nckd_ee_cpy_ljins","nckd_ee_cpy_birthins"
|
|
|
|
- ,"nckd_ee_cpy_dmgins","nckd_ee_cpy_hosins","nckd_ee_cpy_cmymey");
|
|
|
|
-
|
|
|
|
|
|
+ List<String> nckd_earlyretired=Arrays.asList("nckd_ee_institution","nckd_ee_empname","nckd_ee_empnumber","nckd_ee_idnumber","nckd_ee_banknumber"
|
|
|
|
+ ,"nckd_ee_unit","nckd_ee_org","nckd_ee_department","nckd_ee_allbasicsry","nckd_ee_allowance","nckd_ee_otherallowance","nckd_ee_per_endins"
|
|
|
|
+ ,"nckd_ee_per_ljins","nckd_ee_per_hopins","nckd_ee_per_bhopins","nckd_ee_per_hosins","nckd_ee_per_cmymey","nckd_ee_unionmey"
|
|
|
|
+ ,"nckd_ee_tax","nckd_ee_desalary","nckd_ee_netsalary","nckd_ee_otherreduce","nckd_ee_cpy_endins","nckd_ee_cpy_bhopins"
|
|
|
|
+ ,"nckd_ee_cpy_ljins","nckd_ee_cpy_birthins","nckd_ee_cpy_dmgins","nckd_ee_cpy_cmymey","nckd_ee_cpy_hosins","nckd_ee_taxt"
|
|
|
|
+ ,"nckd_ee_alltaxt","nckd_ee_charge","nckd_ee_finallsys");
|
|
//薪酬明细(退休)分录字段标识
|
|
//薪酬明细(退休)分录字段标识
|
|
- List<String> nckd_retired=Arrays.asList("nckd_re_institution","nckd_re_emptype","nckd_re_empnumber","nckd_re_empname","nckd_re_org"
|
|
|
|
- ,"nckd_re_department","nckd_re_idnumber","nckd_re_cost","nckd_re_livallowance","nckd_re_otherallowance","nckd_re_reward"
|
|
|
|
|
|
+ List<String> nckd_retired=Arrays.asList("nckd_re_institution","nckd_re_empname","nckd_re_empnumber","nckd_re_idnumber","nckd_re_banknumber"
|
|
|
|
+ ,"nckd_re_unit","nckd_re_org","nckd_re_department","nckd_re_livallowance","nckd_re_otherallowance","nckd_re_reward"
|
|
,"nckd_re_salarypayable","nckd_re_desalary","nckd_re_netsalary");
|
|
,"nckd_re_salarypayable","nckd_re_desalary","nckd_re_netsalary");
|
|
-
|
|
|
|
//人力薪酬分录标识
|
|
//人力薪酬分录标识
|
|
- List<String> nckd_pay=Arrays.asList("nckd_sae_institution","nckd_sae_empname","nckd_sae_jobid","nckd_sae_idnumber","nckd_sae_company"
|
|
|
|
|
|
+ List<String> nckd_pay=Arrays.asList("nckd_sae_institution","nckd_sae_empname","nckd_sae_jobid","nckd_sae_idnumber","nckd_sae_banknumber","nckd_sae_company"
|
|
,"nckd_sae_institutions","nckd_sae_department","nckd_sae_levelsry","nckd_sae_dutiessry","nckd_sae_updutiessry","nckd_sae_workyearsry"
|
|
,"nckd_sae_institutions","nckd_sae_department","nckd_sae_levelsry","nckd_sae_dutiessry","nckd_sae_updutiessry","nckd_sae_workyearsry"
|
|
,"nckd_sae_depyear","nckd_sae_eduasry","nckd_sae_transry","nckd_sae_jobsry","nckd_sae_basicsry","nckd_sae_allbasicsry","nckd_sae_acmsry"
|
|
,"nckd_sae_depyear","nckd_sae_eduasry","nckd_sae_transry","nckd_sae_jobsry","nckd_sae_basicsry","nckd_sae_allbasicsry","nckd_sae_acmsry"
|
|
,"nckd_sae_mountsry","nckd_sae_reacmsry","nckd_sae_balyearsry","nckd_sae_blastyearsry","nckd_sae_allsry","nckd_sae_bsnrwd","nckd_sae_cpmrwd"
|
|
,"nckd_sae_mountsry","nckd_sae_reacmsry","nckd_sae_balyearsry","nckd_sae_blastyearsry","nckd_sae_allsry","nckd_sae_bsnrwd","nckd_sae_cpmrwd"
|
|
@@ -199,6 +169,15 @@ public class SalaryFileUploadEditPlugin extends AbstractBillPlugIn implements Up
|
|
,"nckd_sae_cpy_hopins","nckd_sae_cpy_bhopins","nckd_sae_cpy_birthins","nckd_sae_cpy_ljins","nckd_sae_cpy_dmgins","nckd_sae_cpy_hosins"
|
|
,"nckd_sae_cpy_hopins","nckd_sae_cpy_bhopins","nckd_sae_cpy_birthins","nckd_sae_cpy_ljins","nckd_sae_cpy_dmgins","nckd_sae_cpy_hosins"
|
|
,"nckd_sae_cpy_cmymey");
|
|
,"nckd_sae_cpy_cmymey");
|
|
|
|
|
|
|
|
+ //人力薪酬内退分录标识
|
|
|
|
+ List<String> nckd_payretird=Arrays.asList("nckd_see_institution","nckd_see_empname","nckd_see_jobid","nckd_see_idnumber"
|
|
|
|
+ ,"nckd_see_banknumber","nckd_see_company","nckd_see_institutions","nckd_see_department","nckd_see_allbasicsry"
|
|
|
|
+ ,"nckd_see_allowance","nckd_see_otherallowanc","nckd_see_per_endins","nckd_see_per_ljins","nckd_see_per_hopins"
|
|
|
|
+ ,"nckd_see_per_bhopins","nckd_see_per_hosins","nckd_see_per_cmymey","nckd_see_unionmey","nckd_see_tax"
|
|
|
|
+ ,"nckd_see_desalary","nckd_see_netsalary","nckd_see_otherreduce","nckd_see_cpy_endins","nckd_see_cpy_bhopins"
|
|
|
|
+ ,"nckd_see_cpy_ljins","nckd_see_cpy_birthins","nckd_see_cpy_dmgins","nckd_see_cpy_cmymey","nckd_see_cpy_hosins"
|
|
|
|
+ ,"nckd_see_taxt","nckd_see_alltaxt","nckd_see_charge","nckd_see_finallsys");
|
|
|
|
+
|
|
|
|
|
|
//将excel数据存入薪酬明细(一般员工)分录
|
|
//将excel数据存入薪酬明细(一般员工)分录
|
|
if(nckd_entry.equals("nckd_staffentry")) {
|
|
if(nckd_entry.equals("nckd_staffentry")) {
|
|
@@ -208,57 +187,53 @@ public class SalaryFileUploadEditPlugin extends AbstractBillPlugIn implements Up
|
|
//新增动态单据分录
|
|
//新增动态单据分录
|
|
int rowIndex = this.getModel().createNewEntryRow(nckd_entry);
|
|
int rowIndex = this.getModel().createNewEntryRow(nckd_entry);
|
|
//发薪机构
|
|
//发薪机构
|
|
- if (!getCellValue(rowList.get(i).getCell(1)).isEmpty())
|
|
|
|
- {
|
|
|
|
|
|
+ if (!getCellValue(rowList.get(i).getCell(1)).isEmpty()) {
|
|
QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(1)));
|
|
QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(1)));
|
|
//获取发薪机构
|
|
//获取发薪机构
|
|
DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
.loadSingle(bos_org,"id,entrycostdept",new QFilter[]{filter});
|
|
.loadSingle(bos_org,"id,entrycostdept",new QFilter[]{filter});
|
|
this.getModel().setValue(nckd_generalemployees.get(0),entrycostdept,rowIndex);
|
|
this.getModel().setValue(nckd_generalemployees.get(0),entrycostdept,rowIndex);
|
|
}
|
|
}
|
|
- //员工类别
|
|
|
|
|
|
+ //员工名称
|
|
if (!getCellValue(rowList.get(i).getCell(2)).isEmpty()){
|
|
if (!getCellValue(rowList.get(i).getCell(2)).isEmpty()){
|
|
this.getModel().setValue(nckd_generalemployees.get(1),getCellValue(rowList.get(i).getCell(2)),rowIndex);
|
|
this.getModel().setValue(nckd_generalemployees.get(1),getCellValue(rowList.get(i).getCell(2)),rowIndex);
|
|
}
|
|
}
|
|
- //员工编号
|
|
|
|
|
|
+ //员工工号
|
|
if (!getCellValue(rowList.get(i).getCell(3)).isEmpty()){
|
|
if (!getCellValue(rowList.get(i).getCell(3)).isEmpty()){
|
|
this.getModel().setValue(nckd_generalemployees.get(2),getCellValue(rowList.get(i).getCell(3)),rowIndex);
|
|
this.getModel().setValue(nckd_generalemployees.get(2),getCellValue(rowList.get(i).getCell(3)),rowIndex);
|
|
}
|
|
}
|
|
- //姓名
|
|
|
|
|
|
+ //证件号
|
|
if (!getCellValue(rowList.get(i).getCell(4)).isEmpty()){
|
|
if (!getCellValue(rowList.get(i).getCell(4)).isEmpty()){
|
|
this.getModel().setValue(nckd_generalemployees.get(3),getCellValue(rowList.get(i).getCell(4)),rowIndex);
|
|
this.getModel().setValue(nckd_generalemployees.get(3),getCellValue(rowList.get(i).getCell(4)),rowIndex);
|
|
}
|
|
}
|
|
- //所在机构
|
|
|
|
|
|
+ //银行账号
|
|
if (!getCellValue(rowList.get(i).getCell(5)).isEmpty()){
|
|
if (!getCellValue(rowList.get(i).getCell(5)).isEmpty()){
|
|
- QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(5)));
|
|
|
|
- //获取部门
|
|
|
|
- DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
|
|
- .loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
|
|
- this.getModel().setValue(nckd_generalemployees.get(4),entrycostdept,rowIndex);
|
|
|
|
|
|
+ this.getModel().setValue(nckd_generalemployees.get(4),getCellValue(rowList.get(i).getCell(5)),rowIndex);
|
|
}
|
|
}
|
|
- //所在部门
|
|
|
|
- if (!getCellValue(rowList.get(i).getCell(6)).isEmpty())
|
|
|
|
- {
|
|
|
|
|
|
+ //所在单位
|
|
|
|
+ if (!getCellValue(rowList.get(i).getCell(6)).isEmpty()){
|
|
QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(6)));
|
|
QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(6)));
|
|
- //获取部门
|
|
|
|
|
|
+ //获取所在单位
|
|
DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
.loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
.loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
this.getModel().setValue(nckd_generalemployees.get(5),entrycostdept,rowIndex);
|
|
this.getModel().setValue(nckd_generalemployees.get(5),entrycostdept,rowIndex);
|
|
}
|
|
}
|
|
- //身份证号
|
|
|
|
- if (!getCellValue(rowList.get(i).getCell(7)).isEmpty()){
|
|
|
|
- this.getModel().setValue(nckd_generalemployees.get(6),getCellValue(rowList.get(i).getCell(6)),rowIndex);
|
|
|
|
|
|
+ //一级机构
|
|
|
|
+ if (!getCellValue(rowList.get(i).getCell(7)).isEmpty()) {
|
|
|
|
+ QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(7)));
|
|
|
|
+ //获取部门
|
|
|
|
+ DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
|
|
+ .loadSingle(bos_adminorg,"id,entrycostdept",new QFilter[]{filter});
|
|
|
|
+ this.getModel().setValue(nckd_generalemployees.get(6),entrycostdept,rowIndex);
|
|
}
|
|
}
|
|
- //成本归结单元
|
|
|
|
- if (!getCellValue(rowList.get(i).getCell(8)).isEmpty())
|
|
|
|
- {
|
|
|
|
|
|
+ //所在部门
|
|
|
|
+ if (!getCellValue(rowList.get(i).getCell(8)).isEmpty()) {
|
|
QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(8)));
|
|
QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(8)));
|
|
//获取部门
|
|
//获取部门
|
|
DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
- .loadSingle(bos_org,"id,entrycostdept",new QFilter[]{filter});
|
|
|
|
|
|
+ .loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
this.getModel().setValue(nckd_generalemployees.get(7),entrycostdept,rowIndex);
|
|
this.getModel().setValue(nckd_generalemployees.get(7),entrycostdept,rowIndex);
|
|
}
|
|
}
|
|
-
|
|
|
|
//金额类型字段赋值
|
|
//金额类型字段赋值
|
|
for (int j=8;j<nckd_generalemployees.size();j++) {
|
|
for (int j=8;j<nckd_generalemployees.size();j++) {
|
|
Cell cell=rowList.get(i).getCell(j+1);
|
|
Cell cell=rowList.get(i).getCell(j+1);
|
|
@@ -272,7 +247,6 @@ public class SalaryFileUploadEditPlugin extends AbstractBillPlugIn implements Up
|
|
}
|
|
}
|
|
//刷新分录
|
|
//刷新分录
|
|
this.getView().updateView("nckd_staffentry");
|
|
this.getView().updateView("nckd_staffentry");
|
|
-
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//薪酬明细(内退)分录
|
|
//薪酬明细(内退)分录
|
|
@@ -289,43 +263,44 @@ public class SalaryFileUploadEditPlugin extends AbstractBillPlugIn implements Up
|
|
.loadSingle(bos_org,"id,entrycostdept",new QFilter[]{filter});
|
|
.loadSingle(bos_org,"id,entrycostdept",new QFilter[]{filter});
|
|
this.getModel().setValue(nckd_earlyretired.get(0),entrycostdept,rowIndex);
|
|
this.getModel().setValue(nckd_earlyretired.get(0),entrycostdept,rowIndex);
|
|
}
|
|
}
|
|
- //员工类别
|
|
|
|
|
|
+ //员工姓名
|
|
if (!getCellValue(rowList.get(i).getCell(2)).isEmpty()){
|
|
if (!getCellValue(rowList.get(i).getCell(2)).isEmpty()){
|
|
this.getModel().setValue(nckd_earlyretired.get(1),getCellValue(rowList.get(i).getCell(2)),rowIndex);
|
|
this.getModel().setValue(nckd_earlyretired.get(1),getCellValue(rowList.get(i).getCell(2)),rowIndex);
|
|
}
|
|
}
|
|
- //员工编号
|
|
|
|
|
|
+ //员工工号
|
|
if (!getCellValue(rowList.get(i).getCell(3)).isEmpty()){
|
|
if (!getCellValue(rowList.get(i).getCell(3)).isEmpty()){
|
|
this.getModel().setValue(nckd_earlyretired.get(2),getCellValue(rowList.get(i).getCell(3)),rowIndex);
|
|
this.getModel().setValue(nckd_earlyretired.get(2),getCellValue(rowList.get(i).getCell(3)),rowIndex);
|
|
}
|
|
}
|
|
- //姓名
|
|
|
|
|
|
+ //证件号
|
|
if (!getCellValue(rowList.get(i).getCell(4)).isEmpty()){
|
|
if (!getCellValue(rowList.get(i).getCell(4)).isEmpty()){
|
|
this.getModel().setValue(nckd_earlyretired.get(3),getCellValue(rowList.get(i).getCell(4)),rowIndex);
|
|
this.getModel().setValue(nckd_earlyretired.get(3),getCellValue(rowList.get(i).getCell(4)),rowIndex);
|
|
}
|
|
}
|
|
- //所在机构
|
|
|
|
|
|
+
|
|
|
|
+ //银行账号
|
|
if (!getCellValue(rowList.get(i).getCell(5)).isEmpty()){
|
|
if (!getCellValue(rowList.get(i).getCell(5)).isEmpty()){
|
|
- QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(5)));
|
|
|
|
- DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
|
|
- .loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
|
|
- this.getModel().setValue(nckd_earlyretired.get(4),entrycostdept,rowIndex);
|
|
|
|
|
|
+ this.getModel().setValue(nckd_earlyretired.get(4),getCellValue(rowList.get(i).getCell(5)),rowIndex);
|
|
}
|
|
}
|
|
- //所在部门
|
|
|
|
- if (!getCellValue(rowList.get(i).getCell(6)).isEmpty())
|
|
|
|
- {
|
|
|
|
|
|
+ //所在单位
|
|
|
|
+ if (!getCellValue(rowList.get(i).getCell(6)).isEmpty()){
|
|
QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(6)));
|
|
QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(6)));
|
|
DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
.loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
.loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
this.getModel().setValue(nckd_earlyretired.get(5),entrycostdept,rowIndex);
|
|
this.getModel().setValue(nckd_earlyretired.get(5),entrycostdept,rowIndex);
|
|
}
|
|
}
|
|
- //身份证号
|
|
|
|
- if (!getCellValue(rowList.get(i).getCell(7)).isEmpty()){
|
|
|
|
- this.getModel().setValue(nckd_earlyretired.get(6),getCellValue(rowList.get(i).getCell(6)),rowIndex);
|
|
|
|
|
|
+ //一级机构
|
|
|
|
+ if (!getCellValue(rowList.get(i).getCell(7)).isEmpty())
|
|
|
|
+ {
|
|
|
|
+ QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(7)));
|
|
|
|
+ DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
|
|
+ .loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
|
|
+ this.getModel().setValue(nckd_earlyretired.get(6),entrycostdept,rowIndex);
|
|
}
|
|
}
|
|
- //成本归结单元
|
|
|
|
|
|
+ //所在部门
|
|
if (!getCellValue(rowList.get(i).getCell(8)).isEmpty())
|
|
if (!getCellValue(rowList.get(i).getCell(8)).isEmpty())
|
|
{
|
|
{
|
|
QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(8)));
|
|
QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(8)));
|
|
DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
- .loadSingle(bos_org,"id,entrycostdept",new QFilter[]{filter});
|
|
|
|
|
|
+ .loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
this.getModel().setValue(nckd_earlyretired.get(7),entrycostdept,rowIndex);
|
|
this.getModel().setValue(nckd_earlyretired.get(7),entrycostdept,rowIndex);
|
|
}
|
|
}
|
|
//金额类型字段赋值
|
|
//金额类型字段赋值
|
|
@@ -340,7 +315,6 @@ public class SalaryFileUploadEditPlugin extends AbstractBillPlugIn implements Up
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
//薪酬明细(退休)分录
|
|
//薪酬明细(退休)分录
|
|
@@ -357,38 +331,37 @@ public class SalaryFileUploadEditPlugin extends AbstractBillPlugIn implements Up
|
|
.loadSingle(bos_org,"id,entrycostdept",new QFilter[]{filter});
|
|
.loadSingle(bos_org,"id,entrycostdept",new QFilter[]{filter});
|
|
this.getModel().setValue(nckd_retired.get(0),entrycostdept,rowIndex);
|
|
this.getModel().setValue(nckd_retired.get(0),entrycostdept,rowIndex);
|
|
}
|
|
}
|
|
- //员工类别
|
|
|
|
|
|
+ //员工姓名
|
|
if (!getCellValue(rowList.get(i).getCell(2)).isEmpty()){
|
|
if (!getCellValue(rowList.get(i).getCell(2)).isEmpty()){
|
|
this.getModel().setValue(nckd_retired.get(1),getCellValue(rowList.get(i).getCell(2)),rowIndex);
|
|
this.getModel().setValue(nckd_retired.get(1),getCellValue(rowList.get(i).getCell(2)),rowIndex);
|
|
}
|
|
}
|
|
- //员工编号
|
|
|
|
|
|
+ //员工工号
|
|
if (!getCellValue(rowList.get(i).getCell(3)).isEmpty()){
|
|
if (!getCellValue(rowList.get(i).getCell(3)).isEmpty()){
|
|
this.getModel().setValue(nckd_retired.get(2),getCellValue(rowList.get(i).getCell(3)),rowIndex);
|
|
this.getModel().setValue(nckd_retired.get(2),getCellValue(rowList.get(i).getCell(3)),rowIndex);
|
|
}
|
|
}
|
|
- //姓名
|
|
|
|
|
|
+ //证件号
|
|
if (!getCellValue(rowList.get(i).getCell(4)).isEmpty()){
|
|
if (!getCellValue(rowList.get(i).getCell(4)).isEmpty()){
|
|
this.getModel().setValue(nckd_retired.get(3),getCellValue(rowList.get(i).getCell(4)),rowIndex);
|
|
this.getModel().setValue(nckd_retired.get(3),getCellValue(rowList.get(i).getCell(4)),rowIndex);
|
|
}
|
|
}
|
|
- //所在机构
|
|
|
|
|
|
+ //银行账号
|
|
if (!getCellValue(rowList.get(i).getCell(5)).isEmpty()){
|
|
if (!getCellValue(rowList.get(i).getCell(5)).isEmpty()){
|
|
- QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(5)));
|
|
|
|
- //获取部门
|
|
|
|
- DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
|
|
- .loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
|
|
- this.getModel().setValue(nckd_retired.get(4),entrycostdept,rowIndex);
|
|
|
|
|
|
+ this.getModel().setValue(nckd_retired.get(4),getCellValue(rowList.get(i).getCell(5)),rowIndex);
|
|
}
|
|
}
|
|
- //所在部门
|
|
|
|
|
|
+ //所在单位
|
|
if (!getCellValue(rowList.get(i).getCell(6)).isEmpty()) {
|
|
if (!getCellValue(rowList.get(i).getCell(6)).isEmpty()) {
|
|
QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(6)));
|
|
QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(6)));
|
|
DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
.loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
.loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
this.getModel().setValue(nckd_retired.get(5),entrycostdept,rowIndex);
|
|
this.getModel().setValue(nckd_retired.get(5),entrycostdept,rowIndex);
|
|
}
|
|
}
|
|
- //身份证号
|
|
|
|
- if (!getCellValue(rowList.get(i).getCell(7)).isEmpty()){
|
|
|
|
- this.getModel().setValue(nckd_retired.get(6),getCellValue(rowList.get(i).getCell(6)),rowIndex);
|
|
|
|
|
|
+ //一级机构
|
|
|
|
+ if (!getCellValue(rowList.get(i).getCell(7)).isEmpty()) {
|
|
|
|
+ QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(7)));
|
|
|
|
+ DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
|
|
+ .loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
|
|
+ this.getModel().setValue(nckd_retired.get(6),entrycostdept,rowIndex);
|
|
}
|
|
}
|
|
- //成本归结单元
|
|
|
|
|
|
+ //所在部门
|
|
if (!getCellValue(rowList.get(i).getCell(8)).isEmpty()) {
|
|
if (!getCellValue(rowList.get(i).getCell(8)).isEmpty()) {
|
|
QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(8)));
|
|
QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(8)));
|
|
DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
@@ -434,29 +407,33 @@ public class SalaryFileUploadEditPlugin extends AbstractBillPlugIn implements Up
|
|
if (!getCellValue(rowList.get(i).getCell(4)).isEmpty()){
|
|
if (!getCellValue(rowList.get(i).getCell(4)).isEmpty()){
|
|
this.getModel().setValue(nckd_pay.get(3),getCellValue(rowList.get(i).getCell(4)),rowIndex);
|
|
this.getModel().setValue(nckd_pay.get(3),getCellValue(rowList.get(i).getCell(4)),rowIndex);
|
|
}
|
|
}
|
|
- //所在单位
|
|
|
|
- if (!getCellValue(rowList.get(i).getCell(5)).isEmpty()) {
|
|
|
|
- QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(5)));
|
|
|
|
- DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
|
|
- .loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
|
|
- this.getModel().setValue(nckd_pay.get(4),entrycostdept,rowIndex);
|
|
|
|
|
|
+ //银行账号
|
|
|
|
+ if (!getCellValue(rowList.get(i).getCell(5)).isEmpty()){
|
|
|
|
+ this.getModel().setValue(nckd_pay.get(4),getCellValue(rowList.get(i).getCell(5)),rowIndex);
|
|
}
|
|
}
|
|
- //一级机构
|
|
|
|
|
|
+ //所在单位
|
|
if (!getCellValue(rowList.get(i).getCell(6)).isEmpty()) {
|
|
if (!getCellValue(rowList.get(i).getCell(6)).isEmpty()) {
|
|
QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(6)));
|
|
QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(6)));
|
|
DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
.loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
.loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
this.getModel().setValue(nckd_pay.get(5),entrycostdept,rowIndex);
|
|
this.getModel().setValue(nckd_pay.get(5),entrycostdept,rowIndex);
|
|
}
|
|
}
|
|
- //所在部门
|
|
|
|
|
|
+ //一级机构
|
|
if (!getCellValue(rowList.get(i).getCell(7)).isEmpty()) {
|
|
if (!getCellValue(rowList.get(i).getCell(7)).isEmpty()) {
|
|
QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(7)));
|
|
QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(7)));
|
|
DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
.loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
.loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
this.getModel().setValue(nckd_pay.get(6),entrycostdept,rowIndex);
|
|
this.getModel().setValue(nckd_pay.get(6),entrycostdept,rowIndex);
|
|
}
|
|
}
|
|
|
|
+ //所在部门
|
|
|
|
+ if (!getCellValue(rowList.get(i).getCell(8)).isEmpty()) {
|
|
|
|
+ QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(8)));
|
|
|
|
+ DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
|
|
+ .loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
|
|
+ this.getModel().setValue(nckd_pay.get(7),entrycostdept,rowIndex);
|
|
|
|
+ }
|
|
//金额类型字段赋值
|
|
//金额类型字段赋值
|
|
- for (int j=7;j<nckd_pay.size();j++) {
|
|
|
|
|
|
+ for (int j=9;j<nckd_pay.size();j++) {
|
|
Cell cell=rowList.get(i).getCell(j+1);
|
|
Cell cell=rowList.get(i).getCell(j+1);
|
|
//空值则跳过
|
|
//空值则跳过
|
|
if (!Objects.equals(getCellValue(cell), "")) {
|
|
if (!Objects.equals(getCellValue(cell), "")) {
|
|
@@ -470,19 +447,85 @@ public class SalaryFileUploadEditPlugin extends AbstractBillPlugIn implements Up
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //人力薪酬内退分录
|
|
|
|
+ if (nckd_entry.equals("nckd_salaryentryre")){
|
|
|
|
+ this.getModel().deleteEntryData("nckd_salaryentryre");
|
|
|
|
+ for (int i=0;i<rowList.size();i++) {
|
|
|
|
+ //新增动态单据分录
|
|
|
|
+ int rowIndex = this.getModel().createNewEntryRow(nckd_entry);
|
|
|
|
+ //发薪机构
|
|
|
|
+ if (!getCellValue(rowList.get(i).getCell(1)).isEmpty()) {
|
|
|
|
+ QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(1)));
|
|
|
|
+ //获取发薪机构
|
|
|
|
+ DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
|
|
+ .loadSingle(bos_org,"id,entrycostdept",new QFilter[]{filter});
|
|
|
|
+ this.getModel().setValue(nckd_payretird.get(0),entrycostdept,rowIndex);
|
|
|
|
+ }
|
|
|
|
+ //员工姓名
|
|
|
|
+ if (!getCellValue(rowList.get(i).getCell(2)).isEmpty()){
|
|
|
|
+ this.getModel().setValue(nckd_payretird.get(1),getCellValue(rowList.get(i).getCell(2)),rowIndex);
|
|
|
|
+ }
|
|
|
|
+ //员工工号
|
|
|
|
+ if (!getCellValue(rowList.get(i).getCell(3)).isEmpty()){
|
|
|
|
+ this.getModel().setValue(nckd_payretird.get(2),getCellValue(rowList.get(i).getCell(3)),rowIndex);
|
|
|
|
+ }
|
|
|
|
+ //证件号
|
|
|
|
+ if (!getCellValue(rowList.get(i).getCell(4)).isEmpty()){
|
|
|
|
+ this.getModel().setValue(nckd_payretird.get(3),getCellValue(rowList.get(i).getCell(4)),rowIndex);
|
|
|
|
+ }
|
|
|
|
+ //银行账号
|
|
|
|
+ if (!getCellValue(rowList.get(i).getCell(5)).isEmpty()){
|
|
|
|
+ this.getModel().setValue(nckd_payretird.get(4),getCellValue(rowList.get(i).getCell(5)),rowIndex);
|
|
|
|
+ }
|
|
|
|
+ //所在单位
|
|
|
|
+ if (!getCellValue(rowList.get(i).getCell(6)).isEmpty()){
|
|
|
|
+ QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(6)));
|
|
|
|
+ DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
|
|
+ .loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
|
|
+ this.getModel().setValue(nckd_payretird.get(5),entrycostdept,rowIndex);
|
|
|
|
+ }
|
|
|
|
+ //一级机构
|
|
|
|
+ if (!getCellValue(rowList.get(i).getCell(7)).isEmpty())
|
|
|
|
+ {
|
|
|
|
+ QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(7)));
|
|
|
|
+ DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
|
|
+ .loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
|
|
+ this.getModel().setValue(nckd_payretird.get(6),entrycostdept,rowIndex);
|
|
|
|
+ }
|
|
|
|
+ //所在部门
|
|
|
|
+ if (!getCellValue(rowList.get(i).getCell(8)).isEmpty())
|
|
|
|
+ {
|
|
|
|
+ QFilter filter=new QFilter("number", QFilter.equals,getCellValue(rowList.get(i).getCell(8)));
|
|
|
|
+ DynamicObject entrycostdept= BusinessDataServiceHelper
|
|
|
|
+ .loadSingle(bos_adminorg,"id",new QFilter[]{filter});
|
|
|
|
+ this.getModel().setValue(nckd_payretird.get(7),entrycostdept,rowIndex);
|
|
|
|
+ }
|
|
|
|
+ //金额类型字段赋值
|
|
|
|
+ for (int j=8;j<nckd_payretird.size();j++) {
|
|
|
|
+ Cell cell=rowList.get(i).getCell(j+1);
|
|
|
|
+ //空值则跳过
|
|
|
|
+ if (!Objects.equals(getCellValue(cell), "")) {
|
|
|
|
+ //金额字段转化为BigDecimal赋值进分录中
|
|
|
|
+ String string=getCellValue(cell);
|
|
|
|
+ BigDecimal bigDecimal= BigDecimal.valueOf(Double.parseDouble(string));
|
|
|
|
+ this.getModel().setValue(nckd_payretird.get(j),bigDecimal,rowIndex);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* @headList 读取的excel表头数据
|
|
* @headList 读取的excel表头数据
|
|
* @rowList 读取excel的表数据
|
|
* @rowList 读取excel的表数据
|
|
* @billtype 分录标识
|
|
* @billtype 分录标识
|
|
- * @description:校验excel数据是否合法
|
|
|
|
|
|
+ * @description:校验excel数据是否合法,传入的excel是否为正确的格式
|
|
*/
|
|
*/
|
|
- public void dataVerify(List<Row> headList,List<Row> rowList,String billtype)
|
|
|
|
- {
|
|
|
|
- //获取单据的字段名
|
|
|
|
|
|
+ public void dataVerify(List<Row> headList,List<Row> rowList,String billtype) {
|
|
|
|
+ //获取对应单据的字段名
|
|
String flag;
|
|
String flag;
|
|
//薪酬明细(一般员工)
|
|
//薪酬明细(一般员工)
|
|
if (billtype.equals("nckd_staffentry")) {
|
|
if (billtype.equals("nckd_staffentry")) {
|
|
@@ -491,37 +534,132 @@ public class SalaryFileUploadEditPlugin extends AbstractBillPlugIn implements Up
|
|
if (!flag.equals("基本工资")) {
|
|
if (!flag.equals("基本工资")) {
|
|
throw new KDBizException("上传的文件格式有误,请检查!");
|
|
throw new KDBizException("上传的文件格式有误,请检查!");
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ for (int i=0;i<rowList.size();i++) {
|
|
|
|
+ //校验金额字段
|
|
|
|
+ for (int j=9;j<rowList.get(i).getLastCellNum();j++) {
|
|
|
|
+ Cell cell=rowList.get(i).getCell(j);
|
|
|
|
+ //单元格不为空
|
|
|
|
+ if (!Objects.equals(getCellValue(cell), "")) {
|
|
|
|
+ if (cell.getCellType()!=CellType.NUMERIC){
|
|
|
|
+ //输入金额字段的类型不为数字则提示
|
|
|
|
+ throw new KDBizException("第"+(i+1)+"行第"+j+"列的数据:"+headList.get(i).getCell(j).getStringCellValue()+"字段有误,请检查!");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
-
|
|
|
|
//薪酬明细(内退)
|
|
//薪酬明细(内退)
|
|
if (billtype.equals("nckd_earlyretiredentry")) {
|
|
if (billtype.equals("nckd_earlyretiredentry")) {
|
|
-
|
|
|
|
flag=headList.get(0).getCell(9).getStringCellValue();
|
|
flag=headList.get(0).getCell(9).getStringCellValue();
|
|
- if (!flag.equals("内退员工基本工资")) {
|
|
|
|
|
|
+ if (!flag.equals("内退生活费")) {
|
|
throw new KDBizException("上传的文件格式有误,请检查!");
|
|
throw new KDBizException("上传的文件格式有误,请检查!");
|
|
}
|
|
}
|
|
|
|
+ for (int i=0;i<rowList.size();i++) {
|
|
|
|
+ //校验金额字段
|
|
|
|
+ for (int j=9;j<rowList.get(i).getLastCellNum();j++) {
|
|
|
|
+ Cell cell=rowList.get(i).getCell(j);
|
|
|
|
+ //单元格不为空
|
|
|
|
+ if (!Objects.equals(getCellValue(cell), "")) {
|
|
|
|
+ if (cell.getCellType()!=CellType.NUMERIC){
|
|
|
|
+ //输入金额字段的类型不为数字则提示
|
|
|
|
+ throw new KDBizException("第"+(i+1)+"行第"+j+"列的数据:"+headList.get(i).getCell(j).getStringCellValue()+"字段有误,请检查!");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
-
|
|
|
|
//薪酬明细(退休)
|
|
//薪酬明细(退休)
|
|
if (billtype.equals("nckd_retireentry")) {
|
|
if (billtype.equals("nckd_retireentry")) {
|
|
flag=headList.get(0).getCell(9).getStringCellValue();
|
|
flag=headList.get(0).getCell(9).getStringCellValue();
|
|
if (!flag.equals("退休员工生活补贴")) {
|
|
if (!flag.equals("退休员工生活补贴")) {
|
|
throw new KDBizException("上传的文件格式有误,请检查!");
|
|
throw new KDBizException("上传的文件格式有误,请检查!");
|
|
}
|
|
}
|
|
|
|
+ for (int i=0;i<rowList.size();i++) {
|
|
|
|
+ //校验金额字段
|
|
|
|
+ for (int j=9;j<rowList.get(i).getLastCellNum();j++) {
|
|
|
|
+ Cell cell=rowList.get(i).getCell(j);
|
|
|
|
+ //单元格不为空
|
|
|
|
+ if (!Objects.equals(getCellValue(cell), "")) {
|
|
|
|
+ if (cell.getCellType()!=CellType.NUMERIC){
|
|
|
|
+ //输入金额字段的类型不为数字则提示
|
|
|
|
+ throw new KDBizException("第"+(i+1)+"行第"+j+"列的数据:"+headList.get(i).getCell(j).getStringCellValue()+"字段有误,请检查!");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
-
|
|
|
|
//人力薪酬
|
|
//人力薪酬
|
|
if (billtype.equals("nckd_salaryentry")) {
|
|
if (billtype.equals("nckd_salaryentry")) {
|
|
flag=headList.get(0).getCell(9).getStringCellValue();
|
|
flag=headList.get(0).getCell(9).getStringCellValue();
|
|
- if (!flag.equals("职务工资")) {
|
|
|
|
|
|
+ if (!flag.equals("级别工资")) {
|
|
throw new KDBizException("上传的文件格式有误,请检查!");
|
|
throw new KDBizException("上传的文件格式有误,请检查!");
|
|
}
|
|
}
|
|
|
|
+ for (int i=0;i<rowList.size();i++) {
|
|
|
|
+ //校验金额字段
|
|
|
|
+ for (int j=9;j<rowList.get(i).getLastCellNum();j++) {
|
|
|
|
+ Cell cell=rowList.get(i).getCell(j);
|
|
|
|
+ //单元格不为空
|
|
|
|
+ if (!Objects.equals(getCellValue(cell), "")) {
|
|
|
|
+ if (cell.getCellType()!=CellType.NUMERIC){
|
|
|
|
+ //输入金额字段的类型不为数字则提示
|
|
|
|
+ throw new KDBizException("第"+(i+1)+"行第"+(j+1)+"列的数据:"+headList.get(i).getCell(j+1).getStringCellValue()+"字段有误,请检查!");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //人力薪酬(内退)
|
|
|
|
+ if (billtype.equals("nckd_salaryentryre"))
|
|
|
|
+ {
|
|
|
|
+ flag=headList.get(0).getCell(9).getStringCellValue();
|
|
|
|
+ if (!flag.equals("内退生活费")) {
|
|
|
|
+ throw new KDBizException("上传的文件格式有误,请检查!");
|
|
|
|
+ }
|
|
|
|
+ for (int i=0;i<rowList.size();i++) {
|
|
|
|
+ //校验金额字段
|
|
|
|
+ for (int j=9;j<rowList.get(i).getLastCellNum();j++) {
|
|
|
|
+ Cell cell=rowList.get(i).getCell(j);
|
|
|
|
+ //单元格不为空
|
|
|
|
+ if (!Objects.equals(getCellValue(cell), "")) {
|
|
|
|
+ if (cell.getCellType()!=CellType.NUMERIC){
|
|
|
|
+ //输入金额字段的类型不为数字则提示
|
|
|
|
+ throw new KDBizException("第"+(i+1)+"行第"+j+"列的数据:"+headList.get(i).getCell(j).getStringCellValue()+"字段有误,请检查!");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
-
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 对Excel的各个单元格的格式进行判断并转换
|
|
|
|
+ */
|
|
|
|
+ public String getCellValue(Cell cell) {
|
|
|
|
+ String cellValue = "";
|
|
|
|
+ if (cell == null) {
|
|
|
|
+ return cellValue;
|
|
|
|
+ }
|
|
|
|
+ // 判断数据的类型
|
|
|
|
+ switch (cell.getCellType()) {
|
|
|
|
+ case NUMERIC:
|
|
|
|
+ //读取数字将不必要的小数点去掉
|
|
|
|
+ BigDecimal bigDecimal=new BigDecimal(Double.toString(cell.getNumericCellValue()));
|
|
|
|
+ cellValue=bigDecimal.stripTrailingZeros().toPlainString();
|
|
|
|
+ break;
|
|
|
|
+ case STRING: // 字符串
|
|
|
|
+ cellValue = String.valueOf(cell.getStringCellValue()).trim();
|
|
|
|
+ break;
|
|
|
|
+ case BLANK: // 空值
|
|
|
|
+ cellValue = "";
|
|
|
|
+ break;
|
|
|
|
+ case ERROR: // 故障
|
|
|
|
+ cellValue = "未知类型";
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ cellValue = "未知类型";
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ return cellValue;
|
|
|
|
+ }
|
|
}
|
|
}
|