|
|
@@ -366,16 +366,17 @@ public class ERPServiceImpl implements ERPService {
|
|
|
retMap.put("success",true);
|
|
|
logger.info("createStickerByCenter-Begin:master {} id {}",master,id);
|
|
|
SpObserver.putSp(master);
|
|
|
- SqlRowList docLoist = baseDao.queryForRowSet("select cd_cpn,min(CD_DC) ztcnno,pr_capacity zzbsmount,pr_zxbzs zzxsmount,pr_zxbzs zbzsmount ,cd_newboxcode " +
|
|
|
+ SqlRowList docList = baseDao.queryForRowSet("select cd_cpn,min(CD_DC) ztcnno,pr_capacity zzbsmount,pr_zxbzs zzxsmount,pr_zxbzs zbzsmount ,cd_newboxcode " +
|
|
|
" ,sum(CD_QTY) zmount,cd_wflag zwidth,ca_code||'_'||cd_newboxcode zzstz " +
|
|
|
" ,cd_newboxcode||(case when cd_remark is not null then ' '||cd_remark else '' end) zremark,count(1) codecount,wm_concat(cd_id) cd_ids " +
|
|
|
"from CatlDocDetail left join product on pr_code = CD_PRCODE left join CatlDoc on ca_id = cd_caid " +
|
|
|
- "where cd_caid = ? and nvl(pr_capacity,0)>0 and CD_PANID is null " +
|
|
|
+ "where cd_caid = ? and nvl(pr_capacity,0)>0 " +
|
|
|
+ "and CD_PANID is null "+
|
|
|
" group by CD_CPN,pr_capacity,pr_zxbzs,cd_wflag,cd_remark,cd_newboxcode,ca_code||'_'||cd_newboxcode order by min(cd_detno)",id);
|
|
|
- if(!docLoist.hasNext()){
|
|
|
+ if(!docList.hasNext()){
|
|
|
retMap.put("success",false);
|
|
|
retMap.put("message","没有需要对接的明细.");
|
|
|
- logger.info("createStickerByCenter-F:master {} id {} no docLoist!",master,id);
|
|
|
+ logger.info("createStickerByCenter-F:master {} id {} no docList!",master,id);
|
|
|
}
|
|
|
Object[] obs = baseDao.getFieldsDataByCondition("YITOA_DATACENTER.dock_catl_config A "
|
|
|
, new String[]{"URL_","deipaaskeyauth","appKey", "appSecret","VENDCODE"}
|
|
|
@@ -399,27 +400,35 @@ public class ERPServiceImpl implements ERPService {
|
|
|
String deipaasjwt = "Bearer "+tokenMap.get("token");
|
|
|
map.put("deipaasjwt",deipaasjwt);
|
|
|
StringBuffer errMsg = new StringBuffer();
|
|
|
- for (Map<String,Object> docMap: docLoist.getResultList()) {
|
|
|
- try {
|
|
|
- // CD_CPN,pr_capacity,pr_zxbzs,cd_wflag,cd_remark
|
|
|
- String matnr = String.valueOf(docMap.get("cd_cpn"));
|
|
|
- String zwidth = StringUtil.nvl(docMap.get("zwidth"),"");
|
|
|
- String zremark = StringUtil.nvl(docMap.get("zremark"),"");
|
|
|
- String cd_ids = StringUtil.nvl(docMap.get("cd_ids"),"0");
|
|
|
- Map<String,Object> paraMap=new HashMap<>();
|
|
|
- paraMap.put("matnr",matnr);//物料号:客户料号
|
|
|
- paraMap.put("ztcnno",docMap.get("ztcnno"));//制造日期: 取最小DC
|
|
|
- paraMap.put("zzstz",docMap.get("zzstz"));//供应商批次: 用最小批次作为虚拟批次
|
|
|
+ List<Map<String, Object>> docMapList = docList.getResultList();
|
|
|
+ for (int j = 0; j < docMapList.size(); j++) {
|
|
|
+ Map<String,Object> docMap = docMapList.get(j);
|
|
|
+ // CD_CPN,pr_capacity,pr_zxbzs,cd_wflag,cd_remark
|
|
|
+ String matnr = String.valueOf(docMap.get("cd_cpn"));
|
|
|
+ String zwidth = StringUtil.nvl(docMap.get("zwidth"),"");
|
|
|
+ String zremark = StringUtil.nvl(docMap.get("zremark"),"");
|
|
|
+ String cd_ids = StringUtil.nvl(docMap.get("cd_ids"),"0");
|
|
|
+ Map<String,Object> paraMap=new HashMap<>();
|
|
|
+ paraMap.put("matnr",matnr);//物料号:客户料号
|
|
|
+ paraMap.put("ztcnno",docMap.get("ztcnno"));//制造日期: 取最小DC
|
|
|
+ paraMap.put("zzstz",docMap.get("zzstz"));//供应商批次: 用最小批次作为虚拟批次
|
|
|
// paraMap.put("zeiar",docMap.get("zeiar"));//版本
|
|
|
- paraMap.put("zwidth",zwidth);//宽度
|
|
|
- paraMap.put("zmount",docMap.get("zmount"));//本次生产总数量
|
|
|
- paraMap.put("zzbsmount",docMap.get("zzbsmount"));//栈板容量
|
|
|
- paraMap.put("zzxsmount",docMap.get("zzxsmount"));//纸箱容量
|
|
|
- paraMap.put("zbzsmount",docMap.get("zbzsmount"));//包装袋容量
|
|
|
- paraMap.put("zremark",zremark);//备注
|
|
|
- paraMap.put("partner",vendcode);//供应商编码 固定值
|
|
|
- logger.info("createSticker-begin: zremark {} matnr {} zmount {} zzbsmount {} zzxsmount {} zbzsmount {}"
|
|
|
+ paraMap.put("zwidth",zwidth);//宽度
|
|
|
+ paraMap.put("zmount",docMap.get("zmount"));//本次生产总数量
|
|
|
+ paraMap.put("zzbsmount",docMap.get("zzbsmount"));//栈板容量
|
|
|
+ paraMap.put("zzxsmount",docMap.get("zzxsmount"));//纸箱容量
|
|
|
+ paraMap.put("zbzsmount",docMap.get("zbzsmount"));//包装袋容量
|
|
|
+ paraMap.put("zremark",zremark);//备注
|
|
|
+ paraMap.put("partner",vendcode);//供应商编码 固定值
|
|
|
+ logger.info("createSticker-begin: zremark {} matnr {} zmount {} zzbsmount {} zzxsmount {} zbzsmount {}"
|
|
|
+ , zremark,matnr,docMap.get("zmount"),docMap.get("zzbsmount"),docMap.get("zzxsmount"),docMap.get("zbzsmount"));
|
|
|
+ boolean isDoc = baseDao.checkIf("CatlDocDetail " ," cd_caid = "+id+" and CD_PANID is null and CD_id in ("+cd_ids+") ");
|
|
|
+ if(!isDoc){
|
|
|
+ logger.info("createSticker-F-重复: zremark {} matnr {} zmount {} zzbsmount {} zzxsmount {} zbzsmount {}"
|
|
|
, zremark,matnr,docMap.get("zmount"),docMap.get("zzbsmount"),docMap.get("zzxsmount"),docMap.get("zbzsmount"));
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ try {
|
|
|
HttpUtil.Response response = HttpUtil.doPost(url+action, JacksonUtil.toJson(paraMap), deipaaskeyauth,deipaasjwt);
|
|
|
if (response.getStatusCode() == HttpStatus.OK.value()){
|
|
|
String res = response.getResponseText();
|
|
|
@@ -428,7 +437,6 @@ public class ERPServiceImpl implements ERPService {
|
|
|
Map<String,Object> resData = JacksonUtil.fromJson(res);
|
|
|
if("S".equals(String.valueOf(resData.get("e_type")))){
|
|
|
List<Map<String,Object>> outdata = (List) resData.get("outdata");
|
|
|
- System.out.println("outdata.size:"+outdata.size());
|
|
|
logger.info("outdata.size {}", outdata.size());
|
|
|
for (Map<String,Object> odMap: outdata) {
|
|
|
List<String> odsqls = new ArrayList<>();
|
|
|
@@ -456,8 +464,6 @@ public class ERPServiceImpl implements ERPService {
|
|
|
String zeiar = StringUtil.nvl(outdata.get(0).get("zeiar"),"");
|
|
|
//更新箱ID、袋ID
|
|
|
List<String> sqls = new ArrayList<>();
|
|
|
- // CD_CPN,pr_capacity,pr_zxbzs,cd_wflag,cd_remark
|
|
|
- // matnr,zwidth,zremark
|
|
|
SqlRowList updateList = baseDao.queryForRowSet("select cd_id,cd_lotno,cd_dc,nvl(cd_ed,to_char(to_date(cd_dc,'yyyymmdd')+365,'yyyymmdd')) cd_ed from CatlDocDetail " +
|
|
|
" where cd_caid = "+id+" and CD_PANID is null and CD_id in ("+cd_ids+") order by cd_detno");
|
|
|
List<Map<String,Object>> updateStickerList = new ArrayList<>();
|
|
|
@@ -500,6 +506,7 @@ public class ERPServiceImpl implements ERPService {
|
|
|
if(sqls.size()>0){
|
|
|
baseDao.execute(sqls);
|
|
|
//第二个接口 更新供应商批次
|
|
|
+ logger.info("updateSticker-begin: cd_ids {}", cd_ids);
|
|
|
Map<String,Object> updateStickerMap = updateStickerByList(master, id,map,updateStickerList);
|
|
|
if(!(boolean) updateStickerMap.get("success")){
|
|
|
errMsg.append("更新供应商批次失败:客户料号:"+matnr).append(updateStickerMap.get("message")).append("</br>");
|
|
|
@@ -602,7 +609,6 @@ public class ERPServiceImpl implements ERPService {
|
|
|
String appSecret = map.get("appSecret");
|
|
|
String deipaasjwt = map.get("deipaasjwt");
|
|
|
String action="/SNC/outer_SNC_updateGyspc?sap-client=810&interfacename=ZIRFC_TP2SNC_UPDATEGYSPC";
|
|
|
- logger.info("updateSticker-begin: action {}", action);
|
|
|
Map<String,Object> paraMap=new HashMap<>();
|
|
|
paraMap.put("inputdata",updateLists);
|
|
|
StringBuffer errMsg = new StringBuffer();
|