|
|
@@ -51,9 +51,9 @@ public class ERPServiceImpl implements ERPService {
|
|
|
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
|
String sign = null;
|
|
|
+ String body = null;
|
|
|
String decode = URLDecoder.decode(data, StandardCharsets.UTF_8.toString());
|
|
|
String jsonString = X5StringUtils.decodeBase64(decode);
|
|
|
-
|
|
|
Map<String, Object> map = objectMapper.readValue(jsonString, Map.class);
|
|
|
|
|
|
if(map.size()>0 && map.get("header")!=null ){
|
|
|
@@ -61,81 +61,90 @@ public class ERPServiceImpl implements ERPService {
|
|
|
sign = header_map.get("sign") == null ? "" : header_map.get("sign").toString();
|
|
|
}
|
|
|
|
|
|
+ logger.info("前:"+decode);
|
|
|
boolean checkSign = X5StringUtils.checkSign(sign, "test", jsonString, "218A05A252469F5A62B0B3204F669E1D");
|
|
|
+ logger.info("前1:"+jsonString);
|
|
|
if(checkSign || true){
|
|
|
- if(map.get("body")!=null){
|
|
|
- String body = map.get("body") == null ? "" : map.get("body").toString();
|
|
|
- String body_qczy = unescapeJsonWithJackson(body);
|
|
|
- PurchaseMain purchaseMain = objectMapper.readValue(body_qczy, PurchaseMain.class);
|
|
|
- String purord_num = purchaseMain.getPURORD_NUM();
|
|
|
- resultSuccessMsg="采购订单:"+purord_num+"处理成功";
|
|
|
- resultErrorMsg="采购订单:"+purord_num+"处理失败,";
|
|
|
+ try {
|
|
|
+ if(map.get("body")!=null){
|
|
|
+ body = map.get("body") == null ? "" : map.get("body").toString();
|
|
|
+ PurchaseMain purchaseMain = objectMapper.readValue(body, PurchaseMain.class);
|
|
|
+ String purord_num = purchaseMain.getPURORD_NUM();
|
|
|
+ resultSuccessMsg="采购订单:"+purord_num+"处理成功";
|
|
|
+ resultErrorMsg="采购订单:"+purord_num+"处理失败,";
|
|
|
|
|
|
- String operation_type = purchaseMain.getOPERATION_TYPE();
|
|
|
- if("I".equals(operation_type)){
|
|
|
- int count = baseDao.getCount("select * from PurchaseMainXM where PURORD_NUM='" + purord_num + "'");
|
|
|
- if (count == 0){
|
|
|
- //主表
|
|
|
- Map<String, Object> purchaseMain_map = ObjectToMapConverter.objectToMap(purchaseMain);
|
|
|
- purchaseMain_map.remove("ET_ITEM");
|
|
|
- purchaseMain_map.put("PMXID", 0);
|
|
|
- baseDao.execute(SqlUtil.getInsertSql(purchaseMain_map,"PurchaseMainXM","PMXID"));
|
|
|
- Object PMXID = baseDao.getFieldDataByCondition("PurchaseMainXM", "PMXID", "GUID='" + purchaseMain_map.get("GUID")+"'");
|
|
|
- //从表
|
|
|
- List<PurchaseItem> et_item = purchaseMain.getET_ITEM();
|
|
|
- for (PurchaseItem purchaseItem:et_item) {
|
|
|
- //List<String> ItemSqls = new ArrayList<>();
|
|
|
- Map<String, Object> purchaseItem_map = ObjectToMapConverter.objectToMap(purchaseItem);
|
|
|
- purchaseItem_map.remove("ET_ITEM_AMOUNT");
|
|
|
- purchaseItem_map.put("PIXID",0);
|
|
|
- purchaseItem_map.put("PIXPMXID",PMXID);
|
|
|
- String insertItemSql = SqlUtil.getInsertSql(purchaseItem_map, "PURCHASEITEMXM", "PIXID");
|
|
|
- //ItemSqls.add(insertItemSql);
|
|
|
- baseDao.execute(insertItemSql);
|
|
|
- Object PIXID = baseDao.getFieldDataByCondition("PURCHASEITEMXM left join PurchaseMainXM on PIXPMXID=PMXID", "PIXID", "GUID='" + purchaseMain_map.get("GUID")+"' and PURORD_ITEM_NUM='"+purchaseItem_map.get("PURORD_ITEM_NUM")+"'");
|
|
|
- List<PurchaseItemAmount> et_item_amount = purchaseItem.getET_ITEM_AMOUNT();
|
|
|
- List<String> ItemAmountSqls = new ArrayList<>();
|
|
|
- for (PurchaseItemAmount purchaseItemAmount:et_item_amount) {
|
|
|
- Map<String, Object> purchaseItemAmount_map = ObjectToMapConverter.objectToMap(purchaseItemAmount);
|
|
|
- purchaseItemAmount_map.put("PIMAID",0);
|
|
|
- purchaseItemAmount_map.put("PIMAPMXID",PMXID);
|
|
|
- purchaseItemAmount_map.put("PIMAPIXID",PIXID);
|
|
|
+ String operation_type = purchaseMain.getOPERATION_TYPE();
|
|
|
+ if("I".equals(operation_type)){
|
|
|
+ int count = baseDao.getCount("select * from PurchaseMainXM where PURORD_NUM='" + purord_num + "'");
|
|
|
+ if (count == 0){
|
|
|
+ //主表
|
|
|
+ Map<String, Object> purchaseMain_map = ObjectToMapConverter.objectToMap(purchaseMain);
|
|
|
+ purchaseMain_map.remove("ET_ITEM");
|
|
|
+ purchaseMain_map.put("PMXID", 0);
|
|
|
+ baseDao.execute(SqlUtil.getInsertSql(purchaseMain_map,"PurchaseMainXM","PMXID"));
|
|
|
+ Object PMXID = baseDao.getFieldDataByCondition("PurchaseMainXM", "PMXID", "GUID='" + purchaseMain_map.get("GUID")+"'");
|
|
|
+ //从表
|
|
|
+ List<PurchaseItem> et_item = purchaseMain.getET_ITEM();
|
|
|
+ for (PurchaseItem purchaseItem:et_item) {
|
|
|
+ //List<String> ItemSqls = new ArrayList<>();
|
|
|
+ Map<String, Object> purchaseItem_map = ObjectToMapConverter.objectToMap(purchaseItem);
|
|
|
+ purchaseItem_map.remove("ET_ITEM_AMOUNT");
|
|
|
+ purchaseItem_map.put("PIXID",0);
|
|
|
+ purchaseItem_map.put("PIXPMXID",PMXID);
|
|
|
+ String insertItemSql = SqlUtil.getInsertSql(purchaseItem_map, "PURCHASEITEMXM", "PIXID");
|
|
|
+ //ItemSqls.add(insertItemSql);
|
|
|
+ baseDao.execute(insertItemSql);
|
|
|
+ Object PIXID = baseDao.getFieldDataByCondition("PURCHASEITEMXM left join PurchaseMainXM on PIXPMXID=PMXID", "PIXID", "GUID='" + purchaseMain_map.get("GUID")+"' and PURORD_ITEM_NUM='"+purchaseItem_map.get("PURORD_ITEM_NUM")+"'");
|
|
|
+ List<PurchaseItemAmount> et_item_amount = purchaseItem.getET_ITEM_AMOUNT();
|
|
|
+ List<String> ItemAmountSqls = new ArrayList<>();
|
|
|
+ for (PurchaseItemAmount purchaseItemAmount:et_item_amount) {
|
|
|
+ Map<String, Object> purchaseItemAmount_map = ObjectToMapConverter.objectToMap(purchaseItemAmount);
|
|
|
+ purchaseItemAmount_map.put("PIMAID",0);
|
|
|
+ purchaseItemAmount_map.put("PIMAPMXID",PMXID);
|
|
|
+ purchaseItemAmount_map.put("PIMAPIXID",PIXID);
|
|
|
|
|
|
- String insertItemAmountSql = SqlUtil.getInsertSql(purchaseItemAmount_map, "PURCHASEITEMAMOUNTXM", "PIMAID");
|
|
|
- ItemAmountSqls.add(insertItemAmountSql);
|
|
|
+ String insertItemAmountSql = SqlUtil.getInsertSql(purchaseItemAmount_map, "PURCHASEITEMAMOUNTXM", "PIMAID");
|
|
|
+ ItemAmountSqls.add(insertItemAmountSql);
|
|
|
+ }
|
|
|
+ baseDao.execute(ItemAmountSqls);
|
|
|
}
|
|
|
- baseDao.execute(ItemAmountSqls);
|
|
|
+ }else{
|
|
|
+ //更新
|
|
|
+ header_result.put("code", "400");
|
|
|
+ header_result.put("desc", resultErrorMsg+"重复推送,采购单号已存在!");
|
|
|
+ result.put("header", header_result);
|
|
|
+ return result;
|
|
|
}
|
|
|
}else{
|
|
|
- //更新
|
|
|
- header_result.put("code", "400");
|
|
|
- header_result.put("desc", resultErrorMsg+"重复推送,采购单号已存在!");
|
|
|
- result.put("header", header_result);
|
|
|
- return result;
|
|
|
+ int count = baseDao.getCount("select * from PurchaseMainXM where PURORD_NUM='" + purord_num + "'");
|
|
|
+ if (count == 0){
|
|
|
+ //更新
|
|
|
+ header_result.put("code", "400");
|
|
|
+ header_result.put("desc", resultErrorMsg+"采购单号不存在,不能执行更新操作!");
|
|
|
+ result.put("header", header_result);
|
|
|
+ return result;
|
|
|
+ }else{
|
|
|
+ //更新
|
|
|
+ header_result.put("code", "200");
|
|
|
+ header_result.put("desc", resultSuccessMsg+"执行更新操作中!");
|
|
|
+ result.put("header", header_result);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+ header_result.put("code", "200");
|
|
|
+ header_result.put("desc", resultSuccessMsg);
|
|
|
+ result.put("header", header_result);
|
|
|
}else{
|
|
|
- int count = baseDao.getCount("select * from PurchaseMainXM where PURORD_NUM='" + purord_num + "'");
|
|
|
- if (count == 0){
|
|
|
- //更新
|
|
|
- header_result.put("code", "400");
|
|
|
- header_result.put("desc", resultErrorMsg+"采购单号不存在,不能执行更新操作!");
|
|
|
- result.put("header", header_result);
|
|
|
- return result;
|
|
|
- }else{
|
|
|
- //更新
|
|
|
- header_result.put("code", "200");
|
|
|
- header_result.put("desc", resultSuccessMsg+"执行更新操作中!");
|
|
|
- result.put("header", header_result);
|
|
|
- return result;
|
|
|
- }
|
|
|
+ header_result.put("code", "400");
|
|
|
+ header_result.put("desc", resultErrorMsg+"body数据不存在!");
|
|
|
+ result.put("header", header_result);
|
|
|
+ return result;
|
|
|
}
|
|
|
-
|
|
|
- header_result.put("code", "200");
|
|
|
- header_result.put("desc", resultSuccessMsg);
|
|
|
- result.put("header", header_result);
|
|
|
- }else{
|
|
|
+ }catch (Exception e){
|
|
|
+ logger.info("同步收料单异常信息:"+body);
|
|
|
header_result.put("code", "400");
|
|
|
- header_result.put("desc", resultErrorMsg+"body数据不存在!");
|
|
|
+ header_result.put("desc", resultErrorMsg+"解析body失败!");
|
|
|
result.put("header", header_result);
|
|
|
return result;
|
|
|
}
|