update 修改到货单入库调用QMS质检接口

This commit is contained in:
18110972313 2025-05-21 11:33:46 +08:00
parent 1bf40df886
commit 57f878745a
3 changed files with 73 additions and 9 deletions

View File

@ -477,7 +477,49 @@ public class QMSServiceImpl implements QMSService{
} }
public String sendToIQCByDataList(String opCode, List<Map<String, Object>> list) throws CustomException { public String sendToIQCByDataList(String opCode, String siteName, String deliveryName) throws CustomException {
String sql = " \n" +
"SELECT \n" +
"\t\tP.SITENAME,\n" +
" \t\tEL.DESCRIPTION AS ERPLOCATIONDESC,\n" +
"\t\tP.LOCATIONNAME,\t\n" +
"\t\tTO_CHAR(P.RECEIVETIME ,'YYYY-MM-DD' ) deliveryDate,\n" +
"\t\tP.MATERIALSPECNAME AS materialCode,\n" +
"\t\tMP.DESC_CN AS materialName,\n" +
"\t\tMP.MATERIALGROUP AS materialGroup,\n" +
"\t\tCOUNT(DISTINCT P.CHARGE ) batchQuantity,\n" +
" P.UNIT AS quantityUnit,\n" +
"\t\tSP.SUPPLIERNO AS SUPPLIERCODE,\n" +
"\t\tSP.SUPPLIERNAME,\n" +
"\t\tLISTAGG(DISTINCT P.CHARGE , ';') WITHIN GROUP (ORDER BY P.CHARGE) AS LOTS\n" +
"\t\t\tFROM\n" +
" MATERIALPACKING P \n" +
"LEFT JOIN SUPPLIER SP\tON SP.SUPPLIERNO = P.SUPPLIERNAME\n" +
"LEFT JOIN BS_ERPLOCATION EL ON EL.ERPLOCATIONNAME = P.ERPLOCATION AND EL.SITENAME = P.SITENAME\n" +
"LEFT JOIN MATERIALSPEC MP ON MP.MATERIALSPECNAME = P.MATERIALSPECNAME AND MP.SITENAME = P.SITENAME\n" +
"LEFT JOIN BS_MATERIALFACTORY BF ON BF.MATERIALSPECNAME = P.MATERIALSPECNAME AND BF.ERPFACTORY = P.ERPFACTORY\n" +
"LEFT JOIN MATERIALRECEIVEREQUESTDETAIL RD ON P.SITENAME = RD.SITENAME \n" +
"LEFT JOIN MATERIALRECEIVEREQUEST R ON RD.RECEIVEREQUESTNAME = R.RECEIVEREQUESTNAME AND RD.SITENAME = R.SITENAME\n" +
"LEFT JOIN MATERIALDELIVERYRECEIVE DR ON R.RECEIVEREQUESTNAME=DR.RECEIVEREQUESTNAME \n" +
"LEFT JOIN MATERIALDELIVERY D ON DR.DELIVERYNAME = D.DELIVERYNAME WHERE\n" +
" D.SITENAME =:SITENAME\n" +
" AND D.DELIVERYNAME =:DELIVERYNAME\n" +
" AND D.DELIVERYSTATE = '02'\n" +
"\t\tAND DR.MATERIALSPECNAME=RD.MATERIALSPECNAME\n" +
"\t\tAND RD.RECEIVEREQUESTDETAILNAME=DR.RECEIVEREQUESTDETAILNAME\n" +
"\t\tAND P.RECEIVEREQUESTNAME = DR.DELIVERYNAME \n" +
"\t\tAND P.MATERIALSPECNAME = DR.MATERIALSPECNAME AND P.STOCKSTATE = 'Created' \n" +
"\t\tGROUP BY \n" +
"\t\tP.SITENAME,EL.DESCRIPTION,TO_CHAR(P.RECEIVETIME ,'YYYY-MM-DD' ),\n" +
"\t\tP.MATERIALSPECNAME,MP.DESC_CN, MP.MATERIALGROUP,P.UNIT,SP.SUPPLIERNO, SP.SUPPLIERNAME,\n" +
"\t\tSUBSTR(P.TRUEGG , 1, INSTR(P.TRUEGG , '*') - 1) ,P.LOCATIONNAME ";
Map<String, Object> hashMap = new HashMap<String,Object> ();
hashMap.put("SITENAME", siteName);
hashMap.put("DELIVERYNAME", deliveryName);
List<Map<String,Object>> list = IDMFrameServiceProxy.getSqlTemplate().queryForList(sql, hashMap);
if (list == null || list.size() < 1) {
throw new CustomException("条码在系统中不存在");
}
JSONArray jsonArray = new JSONArray(); JSONArray jsonArray = new JSONArray();
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
@ -497,12 +539,12 @@ public class QMSServiceImpl implements QMSService{
jsonObject.put("supplierName", list.get(i).get("SUPPLIERNAME")); jsonObject.put("supplierName", list.get(i).get("SUPPLIERNAME"));
jsonObject.put("supplierCode", list.get(i).get("SUPPLIERCODE")); jsonObject.put("supplierCode", list.get(i).get("SUPPLIERCODE"));
jsonObject.put("materialName", list.get(i).get("MATERIALNAME")); jsonObject.put("materialName", list.get(i).get("MATERIALNAME"));
jsonObject.put("materialCode", list.get(i).get("MATERIALCODE")); jsonObject.put("materialCode", list.get(i).get("MATERIALSPECNAME"));
jsonObject.put("materialGroup", list.get(i).get("MATERIALGROUP")); jsonObject.put("materialGroup", list.get(i).get("MATERIALGROUP"));
jsonObject.put("batchQuantity", list.get(i).get("BATCHQUANTITY")); jsonObject.put("batchQuantity", list.get(i).get("BATCHQUANTITY"));//
jsonObject.put("quantityUnit", list.get(i).get("QUANTITYUNIT")); jsonObject.put("quantityUnit", list.get(i).get("UNIT"));//QUANTITYUNIT
jsonObject.put("deliveryDate", list.get(i).get("DELIVERYDATE")); jsonObject.put("deliveryDate", list.get(i).get("DELIVERYDATE"));//
jsonObject.put("specifications", list.get(i).get("BATCHNUMBER")); jsonObject.put("specifications", list.get(i).get("BATCHNUMBER"));//
jsonObject.put("LOCATIONNAME", list.get(i).get("LOCATIONNAME")); jsonObject.put("LOCATIONNAME", list.get(i).get("LOCATIONNAME"));
jsonObject.put("inspector", "检验室(原材仓)"); jsonObject.put("inspector", "检验室(原材仓)");

View File

@ -6535,7 +6535,7 @@ public class ToSAPServiceImpl {
sendData = ToSAPMessageUtil.mm067(user, bodyData, itemData, commitDate); sendData = ToSAPMessageUtil.mm067(user, bodyData, itemData, commitDate);
exceptionMsg = "SAP返回"; exceptionMsg = "SAP返回";
sapreturn = toSAPMessageUtil.sendHttpPost(toSAPMessageUtil.materialChangeLocationUrl,"",sendData); sapreturn = toSAPMessageUtil.sendHttpPost(toSAPMessageUtil.materialChangeLocationUrl,"",sendData);
//sapreturn = "{\"HEAD\":{\"INTF_ID\":\"MM067\",\"SRC_SYSTEM\":\"WMS\",\"DEST_SYSTEM\":\"SAP\",\"SRC_MSGID\":\"4908eca1-e70f-4b09-8c79-fb3d34f0f42c\"},\"RETURN\":{\"STATUS\":\"S\",\"MSGTXT\":\"\",\"MBLNR\":\"5000000303\",\"MJAHR\":\"2025\"}}"; //sapreturn = "{\"HEAD\":{\"INTF_ID\":\"MM067\",\"SRC_SYSTEM\":\"WMS\",\"DEST_SYSTEM\":\"SAP\",\"SRC_MSGID\":\"4908eca1-e70f-4b09-8c79-fb3d34f0f42c\"},\"RETURN\":{\"STATUS\":\"S\",\"MSGTXT\":\"\",\"MBLNR\":\"5000000324\",\"MJAHR\":\"2025\"}}";
org.json.JSONObject receiveJsonObject = new org.json.JSONObject(sapreturn); org.json.JSONObject receiveJsonObject = new org.json.JSONObject(sapreturn);
org.json.JSONObject returnJsonObject = (org.json.JSONObject) receiveJsonObject.get("RETURN"); org.json.JSONObject returnJsonObject = (org.json.JSONObject) receiveJsonObject.get("RETURN");
@ -6576,9 +6576,8 @@ public class ToSAPServiceImpl {
// 调用 QMS // 调用 QMS
//qMSServiceImpl.PreIQCInfoSend(receiveRequestName, "SDK",opCode, erpFactory); //qMSServiceImpl.PreIQCInfoSend(receiveRequestName, "SDK",opCode, erpFactory);
exceptionMsg = "QMS返回"; exceptionMsg = "QMS返回";
qmsServiceImpl.sendToIQCByDataList(opCode, qmsDataList); qmsServiceImpl.sendToIQCByDataList(opCode, "SDK",deliveryName);
} }
// 更新入库凭证,更新库存状态 // 更新入库凭证,更新库存状态
if (StringUtils.isNotEmpty(undoId)){ if (StringUtils.isNotEmpty(undoId)){
// 更新入库凭证 // 更新入库凭证

View File

@ -6,6 +6,7 @@ import com.cim.idm.constants.delivery.DeliveryTypeEnums;
import com.cim.idm.exception.GlobalException; import com.cim.idm.exception.GlobalException;
import com.cim.idm.model.dto.delivery.DeliveryDelDto; import com.cim.idm.model.dto.delivery.DeliveryDelDto;
import com.cim.idm.model.dto.delivery.DeliveryDto; import com.cim.idm.model.dto.delivery.DeliveryDto;
import com.cim.idm.model.dto.delivery.DeliveryEditDto;
import com.cim.idm.model.dto.delivery.StoreDetailDto; import com.cim.idm.model.dto.delivery.StoreDetailDto;
import com.cim.idm.model.po.MaterialReceiveRequest; import com.cim.idm.model.po.MaterialReceiveRequest;
import com.cim.idm.model.dto.PageDto; import com.cim.idm.model.dto.PageDto;
@ -180,4 +181,26 @@ public class DeliveryController {
deliveryService.getMaterialDetail(storeDetailDto.getDocumentName(), storeDetailDto.getSiteName(), nameList, deliveryName)); deliveryService.getMaterialDetail(storeDetailDto.getDocumentName(), storeDetailDto.getSiteName(), nameList, deliveryName));
} }
} }
/**
* 修改到货单
*/
@PostMapping(value = "/updateDeliveryStates")
public AjaxResult UpdateDeliveryStates(@RequestBody DeliveryEditDto deliveryEditDto) {
StoreDetailDto storeDetailDto = new StoreDetailDto();
storeDetailDto.setDocumentName(deliveryEditDto.getDeliveryName());
storeDetailDto.setSiteName(deliveryEditDto.getSiteName());
// 校验
MaterialDelivery byKey = deliveryService.getByKey(storeDetailDto);
if (Objects.isNull(byKey)) {
throw new GlobalException("不存在到货单");
}
if (!byKey.getDeliveryState().equals(DeliveryStateEnums.CREATE.getCode())) {
throw new GlobalException("到货单进行中或已结束,不允许修改");
}
if (deliveryService.editDelivery(deliveryEditDto) > 0) {
return AjaxResult.me().setSuccess(true).setResultObj("修改成功");
}
return AjaxResult.me().setErrorCode(-1).setMessage("修改失败");
}
} }