|
@@ -1,6 +1,7 @@
|
|
|
package org.jeecg.modules.quartz.job;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
@@ -155,8 +156,15 @@ public class AddOrderJob implements Job,ApplicationContextAware {
|
|
|
}
|
|
|
}
|
|
|
List<JSONObject> jian = JsonChangeUtils.toJSONObject(sumlist);
|
|
|
+ //是否是更新数据 true更新数据 false新数据
|
|
|
+ boolean isNewOrder = false;
|
|
|
for (JSONObject jsonObject:jian) {
|
|
|
SyOrderData sy = JSONObject.toJavaObject(jsonObject,SyOrderData.class);
|
|
|
+ //判断该数据是否已存在 已存在则更新未参照的数据
|
|
|
+ SyOrderData haveOrder = syOrderDataService.getById(sy.getAccount()+sy.getId());
|
|
|
+ if(haveOrder!=null){
|
|
|
+ isNewOrder=true;
|
|
|
+ }
|
|
|
String ID = sy.getId();
|
|
|
String sql = "SELECT " +
|
|
|
"s.AutoID AS id," +
|
|
@@ -206,6 +214,15 @@ public class AddOrderJob implements Job,ApplicationContextAware {
|
|
|
for (JSONObject Object:jianSon) {
|
|
|
SyOrderDataItem sy2 = JSONObject.toJavaObject(Object, SyOrderDataItem.class);
|
|
|
sy2.setId(sy.getAccount()+sy2.getId());
|
|
|
+ if(isNewOrder){
|
|
|
+ SyOrderDataItem item = syOrderDataItemService.queryItemMub(sy2.getId());
|
|
|
+ if(item==null){
|
|
|
+ continue;
|
|
|
+ }else {
|
|
|
+ //更新数据前 删除旧数据防止id冲突
|
|
|
+ syOrderDataItemService.deleteByID(sy2.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
sy2.setSyOrderDataId(sy.getAccount()+sy2.getSyOrderDataId());
|
|
|
SyOrderDataVO ordervo = queryOrder(sy2.getId());
|
|
|
if(ordervo != null){
|
|
@@ -240,6 +257,10 @@ public class AddOrderJob implements Job,ApplicationContextAware {
|
|
|
sy2.setRSupplier(rsup.get(1));
|
|
|
}
|
|
|
}
|
|
|
+ if(!isNewOrder){
|
|
|
+ syOrderDataItemService.save(sy2);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
syItemList.add(sy2);
|
|
|
}
|
|
|
//添加单证id 原数据账套+原数据id
|
|
@@ -262,7 +283,13 @@ public class AddOrderJob implements Job,ApplicationContextAware {
|
|
|
for (SyOrderDataItem sy2:syItemList) {
|
|
|
syOrderDataItemService.save(sy2);
|
|
|
}
|
|
|
- syOrderDataService.save(sy);
|
|
|
+ if(isNewOrder){
|
|
|
+ Wrapper<SyOrderData> wrapper = new QueryWrapper<>();
|
|
|
+ syOrderDataService.update(sy,wrapper);
|
|
|
+ isNewOrder=false;
|
|
|
+ }else {
|
|
|
+ syOrderDataService.save(sy);
|
|
|
+ }
|
|
|
//回写拉取的数据状态 1
|
|
|
String blackWrite = "UPDATE SO_SOMain SET cdefine15 = '1' WHERE id='"+syId+"'";
|
|
|
if(sy.getAccount().equals("901")){
|