Compare commits

..

No commits in common. "e51c4eea7f81d38af354d2980e918b3fd093e126" and "7176a2a3bf08ec494ccac373bd797023bec6f152" have entirely different histories.

4 changed files with 2 additions and 156 deletions

View File

@ -1,7 +1,6 @@
package com.cim.idm.service;
import com.cim.idm.framework.data.EventInfo;
import com.cim.idm.wmsextend.generic.errorHandler.CustomException;
/**
@ -18,14 +17,4 @@ public interface QMSService {
*/
String PreIQCInfoSend (String receiveActNo, String siteName, String opCode, String erpFactory) throws CustomException;
/**
* 调用QMS质检接口
* @param sendQMSUrl QMS质检url
* @param sendQMSJson QMS质检报文
* @return QMS返回状态码
* @throws CustomException
*/
String sendQMSByUrlJson (String sendQMSUrl,String sendQMSJson, EventInfo eventInfo) throws CustomException;
}

View File

@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.cim.idm.data.ErpMessageLog;
import com.cim.idm.framework.IDMFrameServiceProxy;
import com.cim.idm.framework.data.EventInfo;
import com.cim.idm.framework.util.time.TimeStampUtil;
import com.cim.idm.service.QMSService;
import com.cim.idm.util.MessageLogUtil;
@ -569,41 +568,4 @@ public class QMSServiceImpl implements QMSService{
return code;
}
/**
* 质检信息发送QMS
* @throws CustomException
*/
@Override
public String sendQMSByUrlJson(String sendQMSUrl, String sendQMSJson, EventInfo eventInfo) throws CustomException {
String httpPost = NCHttpUtil.httpPost(baseUrl + sendQMSUrl, sendQMSJson);
org.json.JSONObject jsonObject = new org.json.JSONObject(httpPost);
String code = jsonObject.getString("code");
String msg = "";
if (!"200".equals(code)) {
msg = jsonObject.getString("msg");
}
// String msg = jsonObject.getString("msg");
//JSONObject object = (JSONObject) jsonObject.get("data");
Thread t = new Thread(new Runnable(){
public void run(){
// run方法具体重写
UUID uuid = UUID.randomUUID();
ErpMessageLog erplog = new ErpMessageLog();
erplog.setEventUser("");
erplog.setServerName("WmsToQMS");
erplog.setEventName(eventInfo.getEventName());
erplog.setId(uuid.toString());
erplog.setInterfaceTime(ConvertUtil.getCurrTime("yyyy-MM-dd HH:mm:ss"));
erplog.setMessageId(UUID.randomUUID().toString());
erplog.setSendMsg(sendQMSJson);
erplog.setReturnMsg2(httpPost.toString());
erplog.setResultCode(code);
MessageLogUtil.writeMessageLog(erplog);
}});
t.start();
return msg;
}
}

View File

@ -2609,7 +2609,7 @@ public class ToSAPServiceImpl {
//过账日期
body.put("BUDAT", budatData);
//凭证日期
body.put("BLDAT", budatData);
body.put("BLDAT", TimeStampUtil.getCurrentTime("yyyyMMdd"));
//凭证抬头文本
body.put("BKTXT", uniqueID);
//用户名

View File

@ -15,11 +15,9 @@ import com.cim.idm.mwmsextend.materialpacking.service.MaterialPackingServiceUtil
import com.cim.idm.mwmsextend.materialshiprequest.service.MaterialShipRequestServiceImpl;
import com.cim.idm.service.ChargeSplitService;
import com.cim.idm.service.InvoiceService;
import com.cim.idm.service.QMSService;
import com.cim.idm.service.impl.MESServiceImpl;
import com.cim.idm.service.impl.ToSAPServiceImpl;
import com.cim.idm.util.MessageLogUtil;
import com.cim.idm.util.NCHttpUtil;
import com.cim.idm.util.ToSAPMessageUtil;
import com.cim.idm.utils.AjaxResult;
import com.cim.idm.utils.CodeGenerator;
@ -41,9 +39,7 @@ import com.cim.idm.wmspackage.materialreceivetactdetail.management.data.Material
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import groovy.lang.Lazy;
import io.micrometer.core.instrument.util.StringUtils;
import org.apache.commons.collections4.MapUtils;
import org.quartz.SimpleTrigger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -62,8 +58,7 @@ public class InvoiceServiceImpl implements InvoiceService {
@Autowired
private ToSAPServiceImpl toSAPService;
@Autowired
private QMSService qmsService;
@Autowired
@Lazy
private ChargeSplitService chargeSplitService;
@ -3438,11 +3433,6 @@ public class InvoiceServiceImpl implements InvoiceService {
// billCode=toSAPService.saleStockOut_NEW(shipRequestName, "SDK", eventUser,materialPackingKeyList);
billCode=saleStockOut_NEW(shipRequestName, "SDK", eventUser,materialPackingKeyList,commitDate);
untils.SaveUnDoInfo_ForSap(materialPackingKeyList, billCode, makeEventInfo);
//单据类型等于ZLF0-ZLF9物料编码以7开头都属于成品胶水需要调用QMS质检接口
String message = checkShipRequestTypeSendIQC(commitDate, siteName ,shipRequestName, makeEventInfo, materialPackingKeyList);
if (StringUtils.isNotEmpty(message)) {
throw new CustomException(message);
}
break;
case "08": // 委外
case "OEM": // 委外
@ -3578,99 +3568,4 @@ public class InvoiceServiceImpl implements InvoiceService {
String sendData = MainData.toJSONString();
return sendData;
}
public String checkShipRequestTypeSendIQC(String shippingDate,String siteName, String shipRequestName, EventInfo eventInfo, List<String> materialPackingNameList) throws Exception {
String message = "";
JSONArray jsonArray = new JSONArray();
Map<String, JSONObject> jsonObjectMap = new HashMap<>();
String sql=" SELECT \n" +
"MP.SITENAME,\n" +
"MP.SHIPREQUESTNAME,\n" +
"MP.MATERIALSPECNAME,\n" +
"MP.MATERIALPACKINGNAME,\n" +
"MP.REMARK,\n" +
"MP.CHARGE,\n" +
"MP.SDKTRUEID,\n" +
"MS.DESC_CN\n" +
"FROM\n" +
"MATERIALPACKING MP \n" +
"LEFT JOIN MATERIALSPEC MS ON MP.SITENAME = MS.SITENAME AND MP.MATERIALSPECNAME = MS.MATERIALSPECNAME\n" +
"WHERE\n" +
"MP.SITENAME =:SITENAME\n" +
"AND MP.SHIPREQUESTNAME =:SHIPREQUESTNAME\n" +
"AND MP.MATERIALPACKINGNAME IN (:BOXLIST)\n" +
"AND MP.MATERIALSPECNAME LIKE '7%' ";
Map<String, Object> hashMap = new HashMap<String, Object>();
hashMap.put("SHIPREQUESTNAME", shipRequestName);
hashMap.put("SITENAME", siteName);
hashMap.put("BOXLIST", materialPackingNameList);
List<Map<String, Object>> queryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(sql.toString(), hashMap);
if (!queryForList.isEmpty()){
for (int i = 0; i < queryForList.size(); i++) {
String source = "wms";
String deliveryNumber = queryForList.get(i).get("SHIPREQUESTNAME") == null ? "" : queryForList.get(i).get("SHIPREQUESTNAME").toString();
String materialCode = queryForList.get(i).get("MATERIALSPECNAME") == null ? "" : queryForList.get(i).get("MATERIALSPECNAME").toString();
String materialName = queryForList.get(i).get("DESC_CN") == null ? "" : queryForList.get(i).get("DESC_CN").toString();
String specification = queryForList.get(i).get("SDKTRUEID") == null ? "" : queryForList.get(i).get("SDKTRUEID").toString();
String materialPackingName = queryForList.get(i).get("MATERIALPACKINGNAME") == null ? "" : queryForList.get(i).get("MATERIALPACKINGNAME").toString();
if (jsonObjectMap.containsKey(materialName)){
JSONObject jsonObject = jsonObjectMap.get(materialName);
String shipmentBatch = jsonObject.getString("shipmentBatch");
jsonObject.put("shipmentBatch",shipmentBatch + "," + materialPackingName);
}else {
JSONObject jsonObject = new JSONObject(true);
//必传字段
jsonObject.put("source", source);
//出货日期,取页面上的过账日期
jsonObject.put("shippingDate", shippingDate);
// 发货单号
jsonObject.put("deliveryNumber", deliveryNumber);
// 料号
jsonObject.put("materialCode", materialCode);
// 发货品名
jsonObject.put("materialName", materialName);
// 规格
jsonObject.put("specification", specification);
//发货批次号
jsonObject.put("shipmentBatch", materialPackingName);
jsonObjectMap.put(materialName, jsonObject);
//非必传字段
/**
* String inspectionNumber = queryForList.get(i).get("SHIPREQUESTNAME") == null ? "" : queryForList.get(i).get("SHIPREQUESTNAME").toString();
* String quantity = queryForList.get(i).get("MATERIALQUANTITY") == null ? "" : queryForList.get(i).get("MATERIALQUANTITY").toString();
* String inspectBatch = queryForList.get(i).get("CHARGE") == null ? "" : queryForList.get(i).get("CHARGE").toString();
* String samplingQuantity = queryForList.get(i).get("") == null ? "" : queryForList.get(i).get("").toString();
* String samplingSpecification = queryForList.get(i).get("") == null ? "" : queryForList.get(i).get("").toString();
* String remark = queryForList.get(i).get("REMARK") == null ? "" : queryForList.get(i).get("REMARK").toString();
* String materialGroup = queryForList.get(i).get("MATERIALPROCESSGROUPNAME") == null ? "" : queryForList.get(i).get("MATERIALPROCESSGROUPNAME").toString();
// 发货数量
jsonObject.put("quantity", quantity);
// 客户名称
jsonObject.put("customName", customName);
// 客户代码
jsonObject.put("customCode", customCode);
// 检验单号
jsonObject.put("inspectionNumber", inspectionNumber);
//检验批号
jsonObject.put("inspectBatch", inspectBatch);
// 抽检数量
jsonObject.put("samplingQuantity", samplingQuantity);
// 抽检规格
jsonObject.put("samplingSpecification", samplingSpecification);
// 备注
jsonObject.put("remark", remark);
// 物料组
jsonObject.put("materialGroup", materialGroup);
*/
}
}
jsonArray.addAll(jsonObjectMap.values());
String jsonArrayJSONString = jsonArray.toJSONString();
message = qmsService.sendQMSByUrlJson(jsonArrayJSONString, "/opc/addShipmentInspection",eventInfo);
}
return message;
}
}