|
|
@@ -367,11 +367,11 @@ public class ERPServiceImpl implements ERPService {
|
|
|
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 " +
|
|
|
- " ,sum(CD_QTY) zmount,cd_wflag zwidth,min(cd_lotno) 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 " +
|
|
|
+ " ,sum(CD_QTY) zmount,cd_wflag zwidth,ca_sendcode||'_'||ca_code||'_'||cd_newboxcode||'_'||to_char(sysdate,'yymmddhh24mi') 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 " +
|
|
|
- " group by CD_CPN,pr_capacity,pr_zxbzs,cd_wflag,cd_remark,cd_newboxcode order by min(cd_detno)",id);
|
|
|
+ " group by CD_CPN,pr_capacity,pr_zxbzs,cd_wflag,cd_remark,cd_newboxcode,ca_sendcode||'_'||ca_code||'_'||cd_newboxcode||'_'||to_char(sysdate,'yymmddhh24mi') order by min(cd_detno)",id);
|
|
|
if(!docLoist.hasNext()){
|
|
|
retMap.put("success",false);
|
|
|
retMap.put("message","没有需要对接的明细.");
|
|
|
@@ -422,11 +422,21 @@ public class ERPServiceImpl implements ERPService {
|
|
|
if (response.getStatusCode() == HttpStatus.OK.value()){
|
|
|
String res = response.getResponseText();
|
|
|
if(res!=null && !"".equals(res)){
|
|
|
- System.out.println("res:"+res);
|
|
|
+// System.out.println("res:"+res);
|
|
|
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());
|
|
|
+ for (Map<String,Object> odMap: outdata) {
|
|
|
+ List<String> odsqls = new ArrayList<>();
|
|
|
+ odsqls.add("insert into CATLDOC_OUTDATA(CDO_ID, CDO_CAID, CDO_DOCDATE,CDO_CDIDS" +
|
|
|
+ ", ZALT_ID, BATCH_ID, MATNR, ZEIVR, ZEIAR, ZLABEL_STOCK, ZLABEL_TRANSFER, PRTBATCHID, ZMANUFACTURING_DATE, ZEFFECTIVE_DATE, WBS, ZREMARKS" +
|
|
|
+ ", LEVELS_, ZALT_ID_UPPER)" +
|
|
|
+ "values (CATLDOC_OUTDATA_SEQ.NEXTVAL,"+id+",SYSDATE,'"+cd_ids+"'"
|
|
|
+ +",'"+odMap.get("zalt_id")+"' ,'"+odMap.get("batch_id")+"' ,'"+odMap.get("matnr")+"' ,'"+odMap.get("zeivr")+"' ,'"+odMap.get("zeiar")+"' ,'"+odMap.get("zlabel_stock")+"' ,'"+odMap.get("zlabel_transfer")+"' ,'"+odMap.get("prtbatchid")+"' ,'"+odMap.get("zmanufacturing_date")+"' ,'"+odMap.get("zeffective_date")+"' ,'"+odMap.get("wbs") +"' ,'"+odMap.get("zremarks")+"' " +
|
|
|
+ ",'"+odMap.get("levels")+"' ,'"+odMap.get("zalt_id_upper")+"')");
|
|
|
+ baseDao.execute(odsqls);
|
|
|
+ }
|
|
|
//栈ID 对应外箱
|
|
|
// List<Map<String,Object>> palletIdList = outdata.stream().filter(od->{
|
|
|
// return (Double.valueOf(od.get("levels").toString().trim()) == 0);
|
|
|
@@ -466,20 +476,22 @@ public class ERPServiceImpl implements ERPService {
|
|
|
",cd_batchid='"+idMap.get("batch_id")+"',cd_wbs='"+idMap.get("wbs")+"',cd_zeivr='" +zeivr+"',cd_zeiar='"+zeiar+"' "+
|
|
|
" where cd_id = "+updateMap.get("cd_id"));
|
|
|
//更新内箱、内包装袋真实DC LOTNO
|
|
|
- Map<String,Object> updatePanMap = new HashMap<>();
|
|
|
- updatePanMap.put("matnr",matnr);//物料号
|
|
|
- updatePanMap.put("zalt_id",panId);//贴纸ID
|
|
|
- updatePanMap.put("prtbatchid",updateMap.get("cd_lotno"));//供应商批次
|
|
|
- updatePanMap.put("manufacturing_date",updateMap.get("cd_dc"));//生产日期
|
|
|
- updatePanMap.put("atlyx",updateMap.get("cd_ed"));//有效日期
|
|
|
- updateStickerList.add(updatePanMap);
|
|
|
- Map<String,Object> updateBoxMap = new HashMap<>();
|
|
|
- updateBoxMap.put("matnr",matnr);//物料号
|
|
|
- updateBoxMap.put("zalt_id",boxId);//贴纸ID
|
|
|
- updateBoxMap.put("prtbatchid",updateMap.get("cd_lotno"));//供应商批次
|
|
|
- updateBoxMap.put("manufacturing_date",updateMap.get("cd_dc"));//生产日期
|
|
|
- updateBoxMap.put("atlyx",updateMap.get("cd_ed"));//有效日期
|
|
|
- updateStickerList.add(updateBoxMap);
|
|
|
+ if(!idMap.get("prtbatchid").equals(updateMap.get("cd_lotno"))){
|
|
|
+ Map<String,Object> updatePanMap = new HashMap<>();
|
|
|
+ updatePanMap.put("matnr",matnr);//物料号
|
|
|
+ updatePanMap.put("zalt_id",panId);//贴纸ID
|
|
|
+ updatePanMap.put("prtbatchid",updateMap.get("cd_lotno"));//供应商批次
|
|
|
+ updatePanMap.put("manufacturing_date",updateMap.get("cd_dc"));//生产日期
|
|
|
+ updatePanMap.put("atlyx",updateMap.get("cd_ed"));//有效日期
|
|
|
+ updateStickerList.add(updatePanMap);
|
|
|
+ Map<String,Object> updateBoxMap = new HashMap<>();
|
|
|
+ updateBoxMap.put("matnr",matnr);//物料号
|
|
|
+ updateBoxMap.put("zalt_id",boxId);//贴纸ID
|
|
|
+ updateBoxMap.put("prtbatchid",updateMap.get("cd_lotno"));//供应商批次
|
|
|
+ updateBoxMap.put("manufacturing_date",updateMap.get("cd_dc"));//生产日期
|
|
|
+ updateBoxMap.put("atlyx",updateMap.get("cd_ed"));//有效日期
|
|
|
+ updateStickerList.add(updateBoxMap);
|
|
|
+ }
|
|
|
}
|
|
|
// 更新栈ID、箱ID、袋ID
|
|
|
if(sqls.size()>0){
|
|
|
@@ -519,14 +531,14 @@ public class ERPServiceImpl implements ERPService {
|
|
|
if(errMsg.length()>0){
|
|
|
// System.out.println("errMsg:"+errMsg.toString());
|
|
|
retMap.put("success",false);
|
|
|
- retMap.put("message","对接失败:</br>"+errMsg.toString());
|
|
|
+ retMap.put("message","对接失败,请取消条码重新创建:</br>"+errMsg.toString());
|
|
|
}else {
|
|
|
baseDao.execute("update CatlDoc set CA_DOCSTATE=1 where ca_id = "+id);
|
|
|
}
|
|
|
if(errMsg.length()>0){
|
|
|
// System.out.println("errMsg:"+errMsg.toString());
|
|
|
retMap.put("success",false);
|
|
|
- retMap.put("message","对接失败:</br>"+errMsg.toString());
|
|
|
+ retMap.put("message","对接失败,请取消条码重新创建:</br>"+errMsg.toString());
|
|
|
}else {
|
|
|
baseDao.execute("update CatlDoc set CA_DOCSTATE=1 where ca_id = "+id);
|
|
|
}
|