|
@@ -17,6 +17,9 @@ import kd.bos.util.StringUtils;
|
|
|
import nckd.jimin.jyyy.bd.common.oauth.FanWeiUtils;
|
|
|
import nckd.jimin.jyyy.bd.task.SynSapService;
|
|
|
import nckd.jimin.jyyy.bd.task.SyncSapUtils;
|
|
|
+
|
|
|
+import java.text.ParseException;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -95,6 +98,21 @@ public class SynSapServiceImpl implements SynSapService {
|
|
|
ArrayList<DynamicObject> costList = new ArrayList<>();
|
|
|
StringBuilder err = new StringBuilder();
|
|
|
|
|
|
+
|
|
|
+ SimpleDateFormat shortformat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ SimpleDateFormat longformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ String curDateStr = shortformat.format(new Date());
|
|
|
+ String suffix = " 00:00:00";
|
|
|
+
|
|
|
+ Date curDate;
|
|
|
+ try {
|
|
|
+ curDate = longformat.parse(curDateStr + suffix);
|
|
|
+ } catch (ParseException e) {
|
|
|
+ result.put("code", "303");
|
|
|
+ result.put("msg", "当前日期格式异常");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
for (int i = 0; i < rItemArray.size(); ++i) {
|
|
|
JSONObject item = rItemArray.getJSONObject(i);
|
|
|
String number = item.getString("KOSTL");
|
|
@@ -108,6 +126,19 @@ public class SynSapServiceImpl implements SynSapService {
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
+ //生效截止时间
|
|
|
+ String endDateStr = item.getString("DATBI");
|
|
|
+ Date endDate = curDate;
|
|
|
+ if(StringUtils.isNotEmpty(endDateStr) && !"0000-00-00".equals(endDateStr)) {
|
|
|
+ try {
|
|
|
+ endDate = longformat.parse(endDateStr + suffix);
|
|
|
+ } catch (ParseException e) {
|
|
|
+ result.put("code", "303");
|
|
|
+ result.put("msg", "到期日期格式异常");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (EmptyUtils.isNotEmpty(number)) {
|
|
|
DynamicObject dyn = costMap.get(number);
|
|
|
if (dyn == null) {
|
|
@@ -144,6 +175,12 @@ public class SynSapServiceImpl implements SynSapService {
|
|
|
dyn.set("name", item.getString("KTEXT"));////项目名称
|
|
|
dyn.set("status", "C"); ///单据状态
|
|
|
dyn.set("enable", "1"); //使用状态
|
|
|
+
|
|
|
+ //如果生效截止日期小于当前时间,则禁用
|
|
|
+ if(endDate.compareTo(curDate) < 0) {
|
|
|
+ dyn.set("enable", "0"); //使用状态
|
|
|
+ }
|
|
|
+
|
|
|
if (EmptyUtils.isNotEmpty(parent)) {
|
|
|
dyn.set("parent", parent);
|
|
|
}
|