fix(ims): 高压IMS-采购入库同步优化调整
This commit is contained in:
		
							parent
							
								
									ae84d49fb7
								
							
						
					
					
						commit
						fb9e58e6ee
					
				|  | @ -47,7 +47,7 @@ public class ErpIaI2billFromGyImsPlugin implements IBackgroundWorkPlugin { | ||||||
|     @Override |     @Override | ||||||
|     public PreAlertObject executeTask(BgWorkingContext bgWorkingContext) throws BusinessException { |     public PreAlertObject executeTask(BgWorkingContext bgWorkingContext) throws BusinessException { | ||||||
|         // 查询高压ims中间表需要同步的数据 |         // 查询高压ims中间表需要同步的数据 | ||||||
|         String sql = "SELECT * FROM BIPInputMainTab a WHERE a.status != '2'"; |         String sql = "SELECT * FROM BIPInputMainTab a WHERE a.status = 'C'"; | ||||||
|         List<Map<String, Object>> remain = (List<Map<String, Object>>) getImsDao().executeQuery(sql, new MapListProcessor()); |         List<Map<String, Object>> remain = (List<Map<String, Object>>) getImsDao().executeQuery(sql, new MapListProcessor()); | ||||||
|         if (remain == null || remain.isEmpty()) { |         if (remain == null || remain.isEmpty()) { | ||||||
|             return null; |             return null; | ||||||
|  | @ -57,6 +57,8 @@ public class ErpIaI2billFromGyImsPlugin implements IBackgroundWorkPlugin { | ||||||
|             List<Map<String, Object>> paramList = new ArrayList<>(); |             List<Map<String, Object>> paramList = new ArrayList<>(); | ||||||
|             for (Map<String, Object> map : remain) { |             for (Map<String, Object> map : remain) { | ||||||
|                 String cgeneralhid = (String) map.get("cgeneralhid"); |                 String cgeneralhid = (String) map.get("cgeneralhid"); | ||||||
|  |                 // 状态标识 IMS:C-创建;U-修改 BIP:2-BIP单据接收完成 | ||||||
|  |                 String status = map.get("status") + ""; | ||||||
|                 String bodySql = " SELECT *" + " from BIPInputDetailTab a " + " where a.cgeneralhid ='" + cgeneralhid + "'"; |                 String bodySql = " SELECT *" + " from BIPInputDetailTab a " + " where a.cgeneralhid ='" + cgeneralhid + "'"; | ||||||
|                 List<Map<String, Object>> bodyList = (List<Map<String, Object>>) getImsDao().executeQuery(bodySql, new MapListProcessor()); |                 List<Map<String, Object>> bodyList = (List<Map<String, Object>>) getImsDao().executeQuery(bodySql, new MapListProcessor()); | ||||||
|                 if (bodyList == null || bodyList.isEmpty()) { |                 if (bodyList == null || bodyList.isEmpty()) { | ||||||
|  | @ -70,8 +72,8 @@ public class ErpIaI2billFromGyImsPlugin implements IBackgroundWorkPlugin { | ||||||
|                 headJson.put("ctrantypeid", "45-Cxx-CI02"); |                 headJson.put("ctrantypeid", "45-Cxx-CI02"); | ||||||
|                 headJson.put("vtrantypecode", "45-Cxx-CI02"); |                 headJson.put("vtrantypecode", "45-Cxx-CI02"); | ||||||
|                 headJson.put("vbillcode", map.get("vbillcode"));// 单据号 |                 headJson.put("vbillcode", map.get("vbillcode"));// 单据号 | ||||||
|                 headJson.put("dbilldate", map.get("dbilldate"));// 单据日期 |                 headJson.put("cvendorid", map.get("cvendorvid"));// 供应商 | ||||||
|                 headJson.put("cvendorid", map.get("cvendorid"));// 供应商 |                 headJson.put("cvendorvid", map.get("cvendorvid"));// 供应商 | ||||||
|                 headJson.put("cwarehouseid", map.get("cwarehouseid"));// 仓库编码 |                 headJson.put("cwarehouseid", map.get("cwarehouseid"));// 仓库编码 | ||||||
|                 headJson.put("cfanaceorgvid", map.get("cfanaceorgvid"));// 结算财务组织 |                 headJson.put("cfanaceorgvid", map.get("cfanaceorgvid"));// 结算财务组织 | ||||||
|                 headJson.put("ccostdomainid", map.get("ccostdomainid"));// 结算成本域 |                 headJson.put("ccostdomainid", map.get("ccostdomainid"));// 结算成本域 | ||||||
|  | @ -81,12 +83,13 @@ public class ErpIaI2billFromGyImsPlugin implements IBackgroundWorkPlugin { | ||||||
|                 headJson.put("cpurorgoid", map.get("cpurorgoid"));// 采购组织 |                 headJson.put("cpurorgoid", map.get("cpurorgoid"));// 采购组织 | ||||||
|                 // 购销类型 2=国内采购; |                 // 购销类型 2=国内采购; | ||||||
|                 headJson.put("fbuysellflag", 2); |                 headJson.put("fbuysellflag", 2); | ||||||
|                 headJson.put("cpayfinorgoid", "C003");// 应付财务组织最新版本 |                 headJson.put("cpayfinorgvid", "C003");// 应付财务组织最新版本 | ||||||
|  |                 headJson.put("cpayfinorgoid", "C003");// 应付财务组织 | ||||||
|                 headJson.put("creator", "BIP"); |                 headJson.put("creator", "BIP"); | ||||||
|                 headJson.put("billmaker", "BIP"); |                 headJson.put("billmaker", "BIP"); | ||||||
|                 if (map.get("dmakedate") != null && map.get("dmakedate") instanceof Timestamp dmakedate1) { |                 if (map.get("dmakedate") != null && map.get("dmakedate") instanceof Timestamp dmakedate1) { | ||||||
|                     String dmakedateStr = DATE_FORMATTER.format(dmakedate1); |                     String dmakedateStr = DATETIME_FORMATTER.format(dmakedate1); | ||||||
|                     headJson.put("dmakedate", dmakedateStr); |                     headJson.put("dmakedate", dmakedateStr); // 单据日期 | ||||||
|                 } |                 } | ||||||
|                 if (map.get("creationtime") != null && map.get("creationtime") instanceof Timestamp creationtime1) { |                 if (map.get("creationtime") != null && map.get("creationtime") instanceof Timestamp creationtime1) { | ||||||
|                     String creationtimeStr = DATETIME_FORMATTER.format(creationtime1); |                     String creationtimeStr = DATETIME_FORMATTER.format(creationtime1); | ||||||
|  | @ -96,8 +99,8 @@ public class ErpIaI2billFromGyImsPlugin implements IBackgroundWorkPlugin { | ||||||
|                 for (Map<String, Object> body : bodyList) { |                 for (Map<String, Object> body : bodyList) { | ||||||
|                     JSONObject bodyJson = new JSONObject(); |                     JSONObject bodyJson = new JSONObject(); | ||||||
|                     bodyJson.put("cmaterialvid", body.get("cmaterialvid"));// 物料编码 |                     bodyJson.put("cmaterialvid", body.get("cmaterialvid"));// 物料编码 | ||||||
|                     bodyJson.put("castunitid", body.get("castunitid"));// 单位 |                     // bodyJson.put("castunitid", body.get("castunitid"));// 单位 | ||||||
|                     bodyJson.put("cunitid", body.get("cunitid"));// 主单位 |                     // bodyJson.put("cunitid", body.get("cunitid"));// 主单位 | ||||||
|                     bodyJson.put("nshouldnum", body.get("nshouldnum"));// 应收主数量 |                     bodyJson.put("nshouldnum", body.get("nshouldnum"));// 应收主数量 | ||||||
|                     bodyJson.put("nshouldassistnum", body.get("nshouldassistnum"));// 应收数量 |                     bodyJson.put("nshouldassistnum", body.get("nshouldassistnum"));// 应收数量 | ||||||
|                     bodyJson.put("nnum", body.get("nnum"));// 实收主数量 |                     bodyJson.put("nnum", body.get("nnum"));// 实收主数量 | ||||||
|  | @ -122,6 +125,12 @@ public class ErpIaI2billFromGyImsPlugin implements IBackgroundWorkPlugin { | ||||||
|             } |             } | ||||||
|             IAPIPurchaseInMaitain purchaseInMaitain = NCLocator.getInstance().lookup(IAPIPurchaseInMaitain.class); |             IAPIPurchaseInMaitain purchaseInMaitain = NCLocator.getInstance().lookup(IAPIPurchaseInMaitain.class); | ||||||
|             PurchaseInVO[] resultvos = purchaseInMaitain.save(paramList); |             PurchaseInVO[] resultvos = purchaseInMaitain.save(paramList); | ||||||
|  |             if (!imsIdSet.isEmpty()) { | ||||||
|  |                 // 修改状态为 完成 | ||||||
|  |                 String inSql = SqlUtils.getInStr("cgeneralhid", imsIdSet.toArray(new String[0]), Boolean.TRUE); | ||||||
|  |                 String updateSql = "update BIPInputMainTab set status = '2',err_msg = null where " + inSql; | ||||||
|  |                 ImsDaoUtil.executeUpdate(updateSql, imsIdSet.toString()); | ||||||
|  |             } | ||||||
|         } catch (Exception e) { |         } catch (Exception e) { | ||||||
|             Logger.error("ErpIaI2billFromGyImsPlugin Error: ", e); |             Logger.error("ErpIaI2billFromGyImsPlugin Error: ", e); | ||||||
|             NCCForUAPLogger.debug("ErpIaI2billFromGyImsPlugin Error: " + e.getMessage()); |             NCCForUAPLogger.debug("ErpIaI2billFromGyImsPlugin Error: " + e.getMessage()); | ||||||
|  | @ -132,12 +141,6 @@ public class ErpIaI2billFromGyImsPlugin implements IBackgroundWorkPlugin { | ||||||
|             int rows = ImsDaoUtil.executeUpdate(updateSql, imsIdSet.toString()); |             int rows = ImsDaoUtil.executeUpdate(updateSql, imsIdSet.toString()); | ||||||
|             NCCForUAPLogger.debug("ErpIaI2billFromGyImsPlugin-rows = " + rows); |             NCCForUAPLogger.debug("ErpIaI2billFromGyImsPlugin-rows = " + rows); | ||||||
|         } |         } | ||||||
|         if (!imsIdSet.isEmpty()) { |  | ||||||
|             // 修改状态为 完成 |  | ||||||
|             String inSql = SqlUtils.getInStr("cgeneralhid", imsIdSet.toArray(new String[0]), Boolean.TRUE); |  | ||||||
|             String updateSql = "update BIPInputMainTab set status = '2',err_msg = null where " + inSql; |  | ||||||
|             ImsDaoUtil.executeUpdate(updateSql, imsIdSet.toString()); |  | ||||||
|         } |  | ||||||
|         return null; |         return null; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue