This commit is contained in:
郭飞 2025-05-22 15:04:08 +08:00
commit 939b3aed5b
9 changed files with 78 additions and 18 deletions

View File

@ -205,4 +205,13 @@ public class DeliveryController {
}
return AjaxResult.me().setErrorCode(-1).setMessage("修改失败");
}
/**
* 获取采购订单详情
*/
@PostMapping(value = "/getDeliveryReceiveDetail")
public AjaxResult GetDeliveryReceiveDetail(@RequestBody JSONObject in) {
List<String> nameList = (List<String>) in.get("nameList");
return AjaxResult.me().setSuccess(true).setResultObj(deliveryService.getDeliveryReceiveDetail(nameList));
}
}

View File

@ -286,20 +286,23 @@ public class MaterialReceiveActController {
int result = a.compareTo(b);
hashMap2.put("QTY", mathMaterialQuantity);
IDMFrameServiceProxy.getSqlTemplate().update(insertSql, hashMap2);
IDMFrameServiceProxy.getSqlTemplate().update(updateSql, hashMap2);
// 去掉接受收数量更新
// IDMFrameServiceProxy.getSqlTemplate().update(updateSql, hashMap2);
break;
} else if (mathMaterialQuantity.compareTo(mathQty) == 1) {//条码数量大于剩余数量
hashMap2.put("QTY", qty);
mathMaterialQuantity = mathMaterialQuantity.subtract(mathQty);
IDMFrameServiceProxy.getSqlTemplate().update(insertSql, hashMap2);
IDMFrameServiceProxy.getSqlTemplate().update(updateSql, hashMap2);
// 去掉接受收数量更新
// IDMFrameServiceProxy.getSqlTemplate().update(updateSql, hashMap2);
System.out.println("a is greater than b");
continue;
} else {//条码数量小于订单剩余数量
System.out.println("a is less than b");
hashMap2.put("QTY", mathMaterialQuantity);
IDMFrameServiceProxy.getSqlTemplate().update(insertSql, hashMap2);
IDMFrameServiceProxy.getSqlTemplate().update(updateSql, hashMap2);
// 去掉接受收数量更新
// IDMFrameServiceProxy.getSqlTemplate().update(updateSql, hashMap2);
break;
}
}

View File

@ -2303,12 +2303,7 @@ public class SAPToWMSController {
@ApiOperation(value = "物料消耗")
@RequestMapping("/sapwms_materialconsume_request")
public WMSToSAPReturn sapMaterialConsume_Request(HttpServletRequest httpRequest, @RequestBody SAPToWMSRequest request) {
//Map<String,Object> head = request.getHEAD();
Map<String,Object> head = new HashMap<>();
head.put("INTF_ID",request.getHEAD().get("INTFID"));
head.put("SRC_SYSTEM",request.getHEAD().get("SRCMSGID"));
head.put("DEST_SYSTEM","WMS");
head.put("SRC_MSGID","PP103");
Map<String,Object> head = request.getHEAD();
//开启事务
IDMFrameServiceProxy.getTransactionManager().beginTransaction();
try {
@ -2350,7 +2345,7 @@ public class SAPToWMSController {
Map<String, Object> errorReturn = new HashMap<>();
errorReturn.put("STATUS", "E");
errorReturn.put("MSGTXT", e.getMessage());
errorReturn.put("HEAD", request.getHEAD());
//errorReturn.put("HEAD", request.getHEAD());
WMSToSAPReturn WMSToSAPReturn = new WMSToSAPReturn(head, errorReturn);
ErpMessageLog erpMessageLog = new ErpMessageLog();
erpMessageLog.setServerName(System.getProperty("Seq"));

View File

@ -109,6 +109,13 @@ public interface DeliveryDao {
*/
List<DeliveryReceiveDetailVo> getReceiveDetail(@Param("nameList") List<String> nameList);
/**
* 根据到库单获取采购单名称
* @param nameList 到库单
* @return 采购单名称列表
*/
List<DeliveryReceiveDetailVo> getDeliveryReceiveDetail(@Param("nameList") List<String> nameList);
/**
* 获取到货单
* @param dto 请求
@ -152,4 +159,11 @@ public interface DeliveryDao {
@MapKey("storeCharge")
List<Map<String, Object>> getStoreChargeSort(@Param("siteName") String siteName,
@Param("documentName") String documentName);
/**
* 更新入库单数量
* @param relationDto
* @return
*/
int updateMaterialReceiveRequestDetailQty(@Param("dto") DeliveryRelationDto relationDto);
}

View File

@ -95,7 +95,12 @@ public interface IDeliveryService {
* @return 采购单名称列表
*/
List<DeliveryReceiveDetailVo> getReceiveDetail(List<String> nameList);
/**
* 根据到库单获取采购单名称
* @param nameList 到库单
* @return 采购单名称列表
*/
List<DeliveryReceiveDetailVo> getDeliveryReceiveDetail(List<String> nameList);
/**
* 获取到货单
* @param dto 请求

View File

@ -50,6 +50,14 @@ public class DeliveryServiceImpl implements IDeliveryService {
if (deliveryDao.createRelation(res) <= 0) {
throw new GlobalException("添加到库单关系失败");
}
//更新采购订单行项的已入库数量
for (DeliveryRelationDto re : res) {
if (deliveryDao.updateMaterialReceiveRequestDetailQty(re) <= 0){
throw new GlobalException("更新采购单入库数量失败");
}
}
// 添加到库单
return deliveryDao.createDelivery(dto, DeliveryStateEnums.CREATE.getCode());
}
@ -120,6 +128,11 @@ public class DeliveryServiceImpl implements IDeliveryService {
return deliveryDao.getReceiveDetail(nameList);
}
@Override
public List<DeliveryReceiveDetailVo> getDeliveryReceiveDetail(List<String> nameList) {
return deliveryDao.getDeliveryReceiveDetail(nameList);
}
@Override
public PageInfo<MaterialDelivery> getDeliveryList(PageDto dto) {
PageMethod.startPage(dto.getPageNum(), dto.getPageSize());

View File

@ -147,7 +147,9 @@ public class MESToWMSServiceImpl implements MESToWMSService {
}
// 将工单的物料消耗数据传给SAP
String undoId = toSAPService.mesMaterialConsume("MES",payMentDate);
result = AjaxResult.me().setSuccess(true).setErrorCode(200).setMessage("执行成功");
Map<String, Object> undoidMap = new HashMap<>();
undoidMap.put("undoid", undoId);
result = AjaxResult.me().setSuccess(true).setErrorCode(200).setMessage("执行成功").setResultObj(undoidMap);
loginfo.setResultCode("0");
loginfo.setReturnMsg(JSONObject.toJSONString(result));
// 消息保存日志erp推送wms的数据写入表BS_ERPMESSAGELOG中

View File

@ -48,9 +48,10 @@ public class MaterialPackingServiceServiceImpl implements IMaterialPackingServic
hashMap.put("RECEIVEREQUESTNAME", item.get("RECEIVEREQUESTNAME").toString());
hashMap.put("RECEIVEREQUESTDETAILNAME", item.get("RECEIVEREQUESTDETAILNAME").toString());
hashMap.put("QTY", item.get("QTY").toString());
String updateSql = "UPDATE MATERIALRECEIVEREQUESTDETAIL T SET T.RECEIVEDQUANTITY = T.RECEIVEDQUANTITY - :QTY "
+ "WHERE T.RECEIVEREQUESTNAME = :RECEIVEREQUESTNAME AND T.RECEIVEREQUESTDETAILNAME = :RECEIVEREQUESTDETAILNAME";
IDMFrameServiceProxy.getSqlTemplate().update(updateSql, hashMap);
// 去掉接受收数量更新
// String updateSql = "UPDATE MATERIALRECEIVEREQUESTDETAIL T SET T.RECEIVEDQUANTITY = T.RECEIVEDQUANTITY - :QTY "
// + "WHERE T.RECEIVEREQUESTNAME = :RECEIVEREQUESTNAME AND T.RECEIVEREQUESTDETAILNAME = :RECEIVEREQUESTDETAILNAME";
// IDMFrameServiceProxy.getSqlTemplate().update(updateSql, hashMap);
String deleteSql = "DELETE FROM MATERIALPACKINGSUB m WHERE m.MATERIALPACKINGNAME = :MATERIALPACKINGNAME AND RECEIVEREQUESTNAME = :RECEIVEREQUESTNAME";
IDMFrameServiceProxy.getSqlTemplate().update(deleteSql, hashMap);
@ -224,7 +225,7 @@ public class MaterialPackingServiceServiceImpl implements IMaterialPackingServic
break;
}
if (queryMaterialpackingList.isEmpty()){
throw new Exception("冲销失败,物料:" + matnr + " " + werks + " " + lgort + " " + meins + "库存短缺");
throw new Exception("冲销失败,没有匹配该物料凭证" + mblnr + "的消耗记录无法冲销");
}else {
MaterialPackingServiceProxy.getMaterialPackingService().setEvent(materialPackingKeyList, eventInfo, setEventInfoList);
}

View File

@ -159,8 +159,8 @@
AND AA.SDK_ID = m.SDK_ID AND AA.PHASE = m3.PHASE
LEFT JOIN BB ON BB.RECEIVEREQUESTNAME = m.RECEIVEREQUESTNAME
AND BB.MATERIALSPECNAME = m.MATERIALSPECNAME
AND BB.SDK_ID = m.SDK_ID
AND BB.PHASE = m3.PHASE
AND COALESCE(BB.SDK_ID, 'N/A') = COALESCE(m.SDK_ID, 'N/A')
AND COALESCE(BB.PHASE, 'N/A') = COALESCE(m3.PHASE, 'N/A')
<if test="deliveryName != null">
INNER JOIN DELIVERY ON DELIVERY.MATERIALSPECNAME = m.MATERIALSPECNAME
</if>
@ -501,4 +501,22 @@
ORDER BY A.CHARGE
) TTT
</select>
<update id="updateMaterialReceiveRequestDetailQty">
UPDATE MATERIALRECEIVEREQUESTDETAIL
SET RECEIVEDQUANTITY = RECEIVEDQUANTITY + #{dto.deliveryNum}
WHERE RECEIVEREQUESTNAME = #{dto.receiveRequestName}
AND RECEIVEREQUESTDETAILNAME = #{dto.receiveRequestDetailName}
AND MATERIALSPECNAME = #{dto.materialSpecName}
</update>
<select id="getDeliveryReceiveDetail" resultType="com.cim.idm.model.vo.DeliveryReceiveDetailVo">
SELECT receiveRequestName, materialSpecName, requestQuantity, requestQuantity - receivedQuantity as deliveryNum, RECEIVEREQUESTDETAILNAME
FROM MATERIALRECEIVEREQUESTDETAIL
WHERE RECEIVEREQUESTNAME in
<foreach item="name" index="index" collection="nameList" open="(" separator="," close=")">
#{name}
</foreach>
order by RECEIVEREQUESTDETAILNAME
</select>
</mapper>