0227工资条上线备份
parent
20cbdc1e31
commit
a8bee65e79
@ -0,0 +1,108 @@
|
||||
package com.weaver.seconddev.sxjg.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.alibaba.fastjson.parser.Feature;
|
||||
import com.weaver.seconddev.sxjg.util.NccApiUtil;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
public class PayslipPageTestController {
|
||||
@org.junit.Test
|
||||
public void test() throws Exception {
|
||||
Map<String,String> rs = new HashMap<>();
|
||||
JSONObject r1 = new JSONObject();
|
||||
JSONArray r2 = new JSONArray();
|
||||
JSONObject r3 = new JSONObject();
|
||||
r3.put("pk_psndoc","0001A2100000006CWEBW");
|
||||
r2.add(r3);
|
||||
r1.put("data",r2);
|
||||
NccApiUtil nccApiUtil = new NccApiUtil();
|
||||
nccApiUtil.init();
|
||||
String token = nccApiUtil.getToken();
|
||||
String url = nccApiUtil.getBaseUrl()+"nccloud/api/hrtrn/openAPI/payslipSync/entry";
|
||||
String rs11 = nccApiUtil.doJsonPost(url,token,r1.toJSONString());
|
||||
JSONObject rsf = JSONObject.parseObject(rs11, Feature.OrderedField);
|
||||
if("1000000000".equals(rsf.getString("code"))) {
|
||||
JSONArray dataarr = rsf.getJSONArray("data");
|
||||
JSONArray dataguolv = new JSONArray();
|
||||
if(dataarr.size()>0) {
|
||||
for(int i = 0; i <dataarr.size();i++) {
|
||||
JSONObject ra = dataarr.getJSONObject(i);
|
||||
Boolean flag= judegNy(ra,"2024-02","2024-02","陕西建工集团数字科技有限公司(在册)薪资方案");
|
||||
if(flag) {
|
||||
dataguolv.add(ra);
|
||||
}
|
||||
}
|
||||
}
|
||||
//按照日期排序
|
||||
List<JSONObject> list = new ArrayList<>();
|
||||
for (int i=0; i < dataguolv.size(); i++) {
|
||||
list.add(dataguolv.getJSONObject(i));
|
||||
}
|
||||
// 创建日期比较器
|
||||
Comparator<JSONObject> dateComparator = new Comparator<JSONObject>() {
|
||||
@Override
|
||||
public int compare(JSONObject obj1, JSONObject obj2) {
|
||||
try {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
|
||||
Date date1 = sdf.parse(obj1.getString("year"));
|
||||
Date date2 = sdf.parse(obj2.getString("year"));
|
||||
return date2.compareTo(date1);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
};
|
||||
// 根据日期进行排序
|
||||
Collections.sort(list, dateComparator);
|
||||
String s = JSON.toJSONString(list);
|
||||
System.out.println(s);
|
||||
// 将排好序的 List 转换为 JSONArray
|
||||
JSONArray r = new JSONArray();
|
||||
for(JSONObject js : list) {
|
||||
r.add(js);
|
||||
}
|
||||
System.out.println(r.toJSONString());
|
||||
rsf.put("data",r);
|
||||
}else {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断年月在日期之间
|
||||
*/
|
||||
private boolean judegNy(JSONObject obj, String beingdate1, String enddate1, String name){
|
||||
String ny1 = obj.getString("year");
|
||||
boolean flag = false;
|
||||
ny1 = ny1+"-05";
|
||||
beingdate1 = beingdate1+"-05";
|
||||
enddate1 = enddate1+"-05";
|
||||
String famc = obj.getString("name");//方案名称
|
||||
// 定义要转换的字符串格式
|
||||
try {
|
||||
boolean flag2 = false;
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Date ny = dateFormat.parse(ny1);
|
||||
Date beingdate = dateFormat.parse(beingdate1);
|
||||
Date enddate = dateFormat.parse(enddate1);
|
||||
long ny2 =ny.getTime();
|
||||
long beingdate2 =beingdate.getTime();
|
||||
long enddate2 =enddate.getTime();
|
||||
if(ny2>=beingdate2 && ny2<=enddate2) {
|
||||
flag2 = true;
|
||||
}
|
||||
if((!"null".equals(name)) && flag2) {
|
||||
if(famc.equals(name)) {
|
||||
flag = true;
|
||||
}
|
||||
}else {
|
||||
flag = flag2;
|
||||
}
|
||||
}catch (Exception e){};
|
||||
return flag;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue