Ver código fonte

1.核算名单-法人主体逻辑调整

Tyx 3 dias atrás
pai
commit
c705b5a20e

+ 2 - 2
code/jyyy/nckd-jimin-jyyy-hr/src/main/java/nckd/jimin/jyyy/hr/swc/hsas/calperson/CalPersonExtService.java

@@ -44,7 +44,7 @@ public class CalPersonExtService implements IAddCalPersonExtService {
         //批量获取核算期间上月实签单位
         Map<Long, Long> aContractMap = CalPersonUtil.getAContractInfoByPersonID(personIds, endDate);
         //批量获取核算期间所属月份实签单位
-        Map<Long, Long> bContractMap = CalPersonUtil.getAContractInfoByPersonID(personIds, endDate);
+        Map<Long, Long> bContractMap = CalPersonUtil.getBContractInfoByPersonID(personIds, endDate);
         for(DynamicObject calPerson : calPersons) {
             Long salaryFileId = calPerson.getLong("salaryfile");
             DynamicObject paySettingDyn = paySettingMap.get(salaryFileId);
@@ -83,7 +83,7 @@ public class CalPersonExtService implements IAddCalPersonExtService {
         //批量获取核算期间上月实签单位
         Map<Long, Long> aContractMap = CalPersonUtil.getAContractInfoByPersonID(personIds, date);
         //批量获取核算期间所属月份实签单位
-        Map<Long, Long> bContractMap = CalPersonUtil.getAContractInfoByPersonID(personIds, date);
+        Map<Long, Long> bContractMap = CalPersonUtil.getBContractInfoByPersonID(personIds, date);
 
         for(Map<String,Object> data : datas) {
             Long personId = Long.valueOf(data.get("person.id").toString());

+ 22 - 6
code/jyyy/nckd-jimin-jyyy-hr/src/main/java/nckd/jimin/jyyy/hr/swc/hsas/util/CalPersonUtil.java

@@ -76,9 +76,17 @@ public class CalPersonUtil {
      */
     public static Map<Long, Long> getAContractInfoByPersonID (List<Long> personIds, Date date) {
         Date lastDate = getLastMonthDay(date);
-        QFilter filter = new QFilter("person.id", QCP.in, personIds);
-        filter.and("startdate", QCP.less_equals, lastDate);
-        filter.and("enddate", QCP.large_equals, lastDate);
+        //人员
+        QFilter personFilter = new QFilter("person.id", QCP.in, personIds);
+        //固定期限:
+        QFilter filter1 = new QFilter("periodtype.number", QCP.equals, "1010_S");
+        filter1.and("startdate", QCP.less_equals, lastDate);
+        filter1.and("enddate", QCP.large_equals, lastDate);
+        //无固定期限:
+        QFilter filter2 = new QFilter("periodtype.number", QCP.equals, "1020_S");
+        filter2.and("startdate", QCP.less_equals, lastDate);
+        QFilter dateFilter = filter1.or(filter2);
+        QFilter filter = personFilter.and(dateFilter);
         String selectFields = "person.id,actualsigncompany.id";
         DynamicObjectCollection contractCols = QueryServiceHelper.query(CONTRACT_ENTITY, selectFields, new QFilter[]{filter});
         //按照person.id提取
@@ -99,9 +107,17 @@ public class CalPersonUtil {
      * @return Map, k = 人员ID, v = 实签单位ID
      */
     public static Map<Long, Long> getBContractInfoByPersonID (List<Long> personIds, Date date) {
-        QFilter filter = new QFilter("person.id", QCP.in, personIds);
-        filter.and("startdate", QCP.less_equals, date);
-        filter.and("enddate", QCP.large_equals, date);
+        //人员
+        QFilter personFilter = new QFilter("person.id", QCP.in, personIds);
+        //固定期限:
+        QFilter filter1 = new QFilter("periodtype.number", QCP.equals, "1010_S");
+        filter1.and("startdate", QCP.less_equals, date);
+        filter1.and("enddate", QCP.large_equals, date);
+        //无固定期限:
+        QFilter filter2 = new QFilter("periodtype.number", QCP.equals, "1020_S");
+        filter2.and("startdate", QCP.less_equals, date);
+        QFilter dateFilter = filter1.or(filter2);
+        QFilter filter = personFilter.and(dateFilter);
         String selectFields = "person.id,actualsigncompany.id";
         DynamicObjectCollection contractCols = QueryServiceHelper.query(CONTRACT_ENTITY, selectFields, new QFilter[]{filter});
         //按照person.id提取