diff --git a/resource/wiki/二开/omlSalaryReport.properties b/resource/wiki/二开/omlSalaryReport.properties
new file mode 100644
index 000000000..1af7d06d9
--- /dev/null
+++ b/resource/wiki/二开/omlSalaryReport.properties
@@ -0,0 +1,10 @@
+# 推送产假建模数据配置
+# 产假建模模块id
+cj_form_mode_id=100
+
+# 欧姆龙 月度薪资环比统计报表统计项目配置
+ydxzhbtj_item=职级工资/基本月薪,职能工资/月奖金,临时项,季度点数法,加班费,特种补贴/技能补贴,其他收入,其中中夜班费,其中离职人员奖金,缺勤扣除,其他扣除,社保(个人缴费),公积金(个人缴费),工会费,个税,税后合计,社保(公司缴费),公积金(公司缴费),发薪人数,加班时间(万小时),人均加班时间
+
+# 核算记录归档时需要推送的薪资项与建模字段关系匹配
+# 需要同步的薪资项目有哪些
+syncInfo=[{modeName:"cjkczje",type:"bigDecimal",salaryItemId:1698895309822},{modeName:"ljkcje",type:"bigDecimal",salaryItemId:1698895309821},{modeName:"syje",type:"bigDecimal",salaryItemId:123},{modeName:"mycjkcfy",type:"bigDecimal",salaryItemId:123},{modeName:"cjdkcfy",type:"bigDecimal",salaryItemId:123},{modeName:"kczt",type:"int",salaryItemId:1732861794198}]
\ No newline at end of file
diff --git a/resource/wiki/二开/欧姆龙薪酬配置说明.docx b/resource/wiki/二开/欧姆龙薪酬配置说明.docx
new file mode 100644
index 000000000..da81221ed
--- /dev/null
+++ b/resource/wiki/二开/欧姆龙薪酬配置说明.docx
@@ -0,0 +1,189 @@
+
+ 欧姆龙薪酬二开配置说明
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 文档版本控制
+
+文档简要信息:
+文档主题(Title)
+欧姆龙薪酬二开配置说明
+作者(Author)
+徐卓彦
+审批者 (To Be Approved By)
+
+说明 (Comments)
+
+文件名称(File Name)
+
+文档版本历史:
+ 序号
+ 日期
+ 版本
+ 变更说明
+ 修改人
+ 审批人
+ 注释
+ 1.
+
+
+
+
+
+
+ 2.
+
+
+
+
+
+
+ 3.
+
+
+
+
+
+
+ 4.
+
+
+
+
+
+
+ 5.
+
+
+
+
+
+
+ 6.
+
+
+
+
+
+
+ 7.
+
+
+
+
+
+
+ 8.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+以下所说的配置文件,其地址为:\ecology\WEB-INF\prop\omlSalaryReport.properties
+ 产假数据推送
+1、需要在产假建模中增加一个字段,核算记录id,hsjlid,文本。可以不显示出来,推送时需要用到,因此不能删除,并且目前台账中已有的字段也不能进行删除。
+
+ 目前配置为推送6个薪资项目值至建模,后期如果推送的薪资项目发生变更,或薪资项目名称发生变化,或需要添加推送的项目可修改配置文件。修改syncInfo信息,该值为对象数组,对象共3个属性:
+modeName:赋值至建模中对应字段的数据库字段名;
+type:建模字段为浮点数设置为bigDecimal;整数设置为int;文本设置varchar;
+salaryItemId:对应薪酬中薪资项目id,通过sql查询薪资项目id:select id from hrsa_salary_item where delete_type=0 and name='薪资项目名称'
+目前所有薪资项目id均为123,需要先修改薪资项目对应id。
+
+ 修改台账模块id,修改配置文件中cj_form_mode_id值为产假建模的模块id。
+
+
+
+ 二、报表
+ 报表需在门户中配置菜单,菜单需设置权限,报表内容没有进行分权,报表地址:/spa/hrmSalary/static/index.html#/main/hrmSalary/customPage_statisticalReport_omron
+ 报表中展示的薪资项目支持修增加、删除、修改顺序,在配置文件中修改ydxzhbtj_item的值即可,该值为薪资项目名称多个项目间用英文逗号间隔。
+
diff --git a/src/com/engine/salary/entity/salaryacct/dto/OMLSalary2ModeInfo.java b/src/com/engine/salary/entity/salaryacct/dto/OMLSalary2ModeInfo.java
index 6435701a7..3b71eaef2 100644
--- a/src/com/engine/salary/entity/salaryacct/dto/OMLSalary2ModeInfo.java
+++ b/src/com/engine/salary/entity/salaryacct/dto/OMLSalary2ModeInfo.java
@@ -23,5 +23,7 @@ public class OMLSalary2ModeInfo {
private String type;
// 薪资项目名称
- private String salaryItemName;
+ // private String salaryItemName;
+
+ private Long salaryItemId;
}
diff --git a/src/com/engine/salary/mapper/salaryacct/UfCjfykctzMapper.xml b/src/com/engine/salary/mapper/salaryacct/UfCjfykctzMapper.xml
index 72a4500c7..beb7248a7 100644
--- a/src/com/engine/salary/mapper/salaryacct/UfCjfykctzMapper.xml
+++ b/src/com/engine/salary/mapper/salaryacct/UfCjfykctzMapper.xml
@@ -216,7 +216,7 @@
SELECT
FROM uf_cjfykctz t
- WHERE #{salaryMonth} cjkcyf
+ WHERE #{salaryMonth} = ]]> cjkcyf
AND xm IN
#{empId}
diff --git a/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java
index e71eee22d..c0c708971 100644
--- a/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java
@@ -620,7 +620,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
// 获取薪资核算人员
List salaryAcctEmployeePOS = getSalaryAcctEmployeeService(user).listBySalaryAcctRecordId(salaryAcctRecordPO.getId());
List salaryItemPOList = getSalaryItemService(user).listAll();
- Map allSalaryItemMap = SalaryEntityUtil.convert2Map(salaryItemPOList, SalaryItemPO::getName, SalaryItemPO::getId);
+ // Map allSalaryItemMap = SalaryEntityUtil.convert2Map(salaryItemPOList, SalaryItemPO::getName, SalaryItemPO::getId);
String currDate = TimeUtil.getCurrentDateString();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
@@ -636,8 +636,8 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
baseBean.writeLog("字符转换有误" + e.getMessage());
}
List omlSyncInfo = JsonUtil.parseList(syncSetting, OMLSalary2ModeInfo.class);
- List salaryItemNames = omlSyncInfo.stream().map(OMLSalary2ModeInfo::getSalaryItemName).collect(Collectors.toList());
- salaryItemPOList = salaryItemPOList.stream().filter(item -> salaryItemNames.contains(item.getName())).collect(Collectors.toList());
+ List salaryItemIds = omlSyncInfo.stream().map(OMLSalary2ModeInfo::getSalaryItemId).collect(Collectors.toList());
+ salaryItemPOList = salaryItemPOList.stream().filter(item -> salaryItemIds.contains(item.getId())).collect(Collectors.toList());
if (isLog) {
baseBean.writeLog("欧姆龙薪酬转建模 薪资项目" + salaryItemPOList.toString());
}
@@ -649,7 +649,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
// 获取薪资核算数据
List needPushSalaryAcctEmpList = salaryAcctEmployeePOS.stream().filter(acctEmp -> pushPOGroupByXm.keySet().contains(acctEmp.getEmployeeId())).collect(Collectors.toList());
List salaryAcctEmpIds = needPushSalaryAcctEmpList.stream().map(SalaryAcctEmployeePO::getId).collect(Collectors.toList());
- List salaryItemIds = salaryItemPOList.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
+ // List salaryItemIds = salaryItemPOList.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
List resultPOList = getSalaryAcctResultService(user).listByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmpIds, salaryItemIds);
Map> resultGroupByEmp = SalaryEntityUtil.group2Map(resultPOList, SalaryAcctResultPO::getEmployeeId);
String salaryAcctRecordStr = salaryAcctRecordPO.getId().toString();
@@ -675,7 +675,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
// 如果该员工只有一条数据,且产假扣除所属月份没有值,则执行更新
StringBuilder updateSql = new StringBuilder("update uf_cjfykctz set cjkcssyf = '" + formatYearMonth + "',hsjlid="+salaryAcctRecordPO.getId());
for (OMLSalary2ModeInfo syncInfo : omlSyncInfo) {
- Long salaryItemId = allSalaryItemMap.getOrDefault(syncInfo.getSalaryItemName(), 0L);
+ Long salaryItemId = syncInfo.getSalaryItemId();
String value = Util.null2String(acctResultMap.get(salaryItemId));
// 获取建模中字段类型
if (syncInfo.getType().equals("int")) {
@@ -686,7 +686,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
updateSql.append("," + syncInfo.getModeName() + "=" + (StringUtils.isEmpty(value) ? "''" : "'" + value + "'"));
}
}
- updateSql.append("where id ="+mainId);
+ updateSql.append(" where id ="+mainId);
if (isLog) {
baseBean.writeLog("欧姆龙薪酬转建模 该员工只有一条数据" + updateSql.toString());
}
@@ -704,7 +704,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
// 动态推送列
for(int i = 0; i < omlSyncInfo.size(); i++) {
OMLSalary2ModeInfo syncInfo = omlSyncInfo.get(i);
- Long salaryItemId = allSalaryItemMap.getOrDefault(syncInfo.getSalaryItemName(), 0L);
+ Long salaryItemId = syncInfo.getSalaryItemId();
String value = Util.null2String(acctResultMap.get(salaryItemId));
if (syncInfo.getType().equals("int")) {
insertSql.append("," + (StringUtils.isEmpty(value) ? 0 : value));
@@ -740,7 +740,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
// 动态推送列
for(int i = 0; i < omlSyncInfo.size(); i++) {
OMLSalary2ModeInfo syncInfo = omlSyncInfo.get(i);
- Long salaryItemId = allSalaryItemMap.getOrDefault(syncInfo.getSalaryItemName(), 0L);
+ Long salaryItemId = syncInfo.getSalaryItemId();
String value = Util.null2String(acctResultMap.get(salaryItemId));
if (syncInfo.getType().equals("int")) {
insertSql.append("," + (StringUtils.isEmpty(value) ? 0 : value));
diff --git a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java
index 19e248495..f2d6eb89f 100644
--- a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java
@@ -1267,10 +1267,11 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
throw new SalaryRunTimeException("请输入年份");
}
Map resultMap = new HashMap<>();
- // 获取能够管理的义务人
- Collection taxAgentPOS = getTaxAgentService(user).listAllTaxAgentsAsAdmin(Long.valueOf(user.getUID()));
- List canManageTaxAgentIds = taxAgentPOS.stream().map(TaxAgentPO::getId).collect(Collectors.toList());
- List salarySobPOS = getSalarySobService(user).listByTaxAgentIds(canManageTaxAgentIds);
+ // // 获取能够管理的义务人
+ // Collection taxAgentPOS = getTaxAgentService(user).listAllTaxAgentsAsAdmin(Long.valueOf(user.getUID()));
+ // List canManageTaxAgentIds = taxAgentPOS.stream().map(TaxAgentPO::getId).collect(Collectors.toList());
+ // List salarySobPOS = getSalarySobService(user).listByTaxAgentIds(canManageTaxAgentIds);
+ List salarySobPOS = getSalarySobService(user).listAll();
List salarySobIds = salarySobPOS.stream().map(SalarySobPO::getId).collect(Collectors.toList());
if (CollectionUtils.isEmpty(salarySobIds)) {
return resultMap;