fix 到货单删除批次&入库
This commit is contained in:
parent
a6caafc3dc
commit
918ebdfb53
@ -71,7 +71,7 @@ public class DeliveryController {
|
|||||||
if (Objects.nonNull(byKey)) {
|
if (Objects.nonNull(byKey)) {
|
||||||
deliveryName = byKey.getDeliveryName();
|
deliveryName = byKey.getDeliveryName();
|
||||||
// 到库单(找出该单据下的所有的采购单)
|
// 到库单(找出该单据下的所有的采购单)
|
||||||
nameList = deliveryService.getReceiveByDelivery(storeDetailDto)
|
nameList = deliveryService.getRelByDelivery(storeDetailDto)
|
||||||
.stream().map(MaterialDeliveryReceive::getReceiveRequestName).collect(Collectors.toList());
|
.stream().map(MaterialDeliveryReceive::getReceiveRequestName).collect(Collectors.toList());
|
||||||
} else {
|
} else {
|
||||||
// 采购单
|
// 采购单
|
||||||
|
@ -4,11 +4,15 @@ import com.alibaba.fastjson.JSON;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.cim.idm.framework.IDMFrameServiceProxy;
|
import com.cim.idm.framework.IDMFrameServiceProxy;
|
||||||
import com.cim.idm.framework.data.EventInfo;
|
import com.cim.idm.framework.data.EventInfo;
|
||||||
|
import com.cim.idm.model.dto.delivery.StoreDetailDto;
|
||||||
|
import com.cim.idm.model.dto.packing.MaterialPackingListDto;
|
||||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||||
import com.cim.idm.model.MaterialreceiveActDto;
|
import com.cim.idm.model.MaterialreceiveActDto;
|
||||||
import com.cim.idm.model.dto.TrackOutBoDto;
|
import com.cim.idm.model.dto.TrackOutBoDto;
|
||||||
|
import com.cim.idm.model.po.delivery.MaterialDelivery;
|
||||||
import com.cim.idm.mwmsextend.materialpacking.service.MaterialPackingServiceImpl;
|
import com.cim.idm.mwmsextend.materialpacking.service.MaterialPackingServiceImpl;
|
||||||
import com.cim.idm.service.IDeliveryService;
|
import com.cim.idm.service.IDeliveryService;
|
||||||
|
import com.cim.idm.service.IMaterialPackingService;
|
||||||
import com.cim.idm.service.impl.QMSServiceImpl;
|
import com.cim.idm.service.impl.QMSServiceImpl;
|
||||||
import com.cim.idm.service.impl.ToSAPServiceImpl;
|
import com.cim.idm.service.impl.ToSAPServiceImpl;
|
||||||
import com.cim.idm.utils.AjaxResult;
|
import com.cim.idm.utils.AjaxResult;
|
||||||
@ -17,7 +21,6 @@ import com.cim.idm.wmsextend.generic.errorHandler.CustomException;
|
|||||||
import com.cim.idm.wmspackage.materialpacking.MaterialPackingServiceProxy;
|
import com.cim.idm.wmspackage.materialpacking.MaterialPackingServiceProxy;
|
||||||
import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking;
|
import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking;
|
||||||
import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPackingKey;
|
import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPackingKey;
|
||||||
import com.cim.idm.wmspackage.materialpacking.management.info.RemoveInfo;
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@ -43,6 +46,9 @@ public class MaterialReceiveActController {
|
|||||||
@Resource
|
@Resource
|
||||||
private IDeliveryService deliveryService;
|
private IDeliveryService deliveryService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IMaterialPackingService mpService;
|
||||||
|
|
||||||
private static Log log = LogFactory.getLog(MaterialReceiveActController.class);
|
private static Log log = LogFactory.getLog(MaterialReceiveActController.class);
|
||||||
private EventInfo makeEventInfo;
|
private EventInfo makeEventInfo;
|
||||||
|
|
||||||
@ -298,46 +304,27 @@ public class MaterialReceiveActController {
|
|||||||
|
|
||||||
@RequestMapping(value = "/DeleteTrackOutBox", method = RequestMethod.POST)
|
@RequestMapping(value = "/DeleteTrackOutBox", method = RequestMethod.POST)
|
||||||
public AjaxResult DeleteTrackOutBox(@RequestBody JSONObject in ) throws Exception{
|
public AjaxResult DeleteTrackOutBox(@RequestBody JSONObject in ) throws Exception{
|
||||||
|
// 获取属性
|
||||||
TrackOutBoDto boxs = JSON.toJavaObject(in, TrackOutBoDto.class);
|
TrackOutBoDto boxs = JSON.toJavaObject(in, TrackOutBoDto.class);
|
||||||
MaterialreceiveActDto box = boxs.getMaterialreceiveAct();
|
MaterialreceiveActDto box = boxs.getMaterialreceiveAct();
|
||||||
String user = boxs.getUser();
|
String user = boxs.getUser();
|
||||||
String materialSpecName = box.getMaterialSpecName();
|
String materialSpecName = box.getMaterialSpecName();
|
||||||
String receiveRequestName = box.getReceiveRequestName();
|
String receiveRequestName = box.getReceiveRequestName();
|
||||||
String sdkid = box.getSdkid();
|
|
||||||
String phase = box.getPhase();
|
|
||||||
String siteName = box.getSiteName();
|
String siteName = box.getSiteName();
|
||||||
makeEventInfo = new EventInfoUtil().makeEventInfo("DeleteTrackOutBox", user, "DeleteTrackOutBox");
|
makeEventInfo = new EventInfoUtil().makeEventInfo("DeleteTrackOutBox", user, "DeleteTrackOutBox");
|
||||||
String sql = " SELECT * FROM MATERIALPACKING m WHERE RECEIVEREQUESTNAME = :RECEIVEREQUESTNAME"
|
// 获取列表
|
||||||
+ " AND MATERIALSPECNAME = :MATERIALSPECNAME AND (:PHASE IS NULL OR PHASE = :PHASE) AND (:SDK_ID IS NULL OR SDK_ID = :SDK_ID) AND STOCKSTATE = 'Created'";
|
MaterialPackingListDto dto = new MaterialPackingListDto();
|
||||||
Map<String, Object> hashMap = new HashMap<String,Object> ();
|
dto.setMaterialSpecName(materialSpecName);
|
||||||
hashMap.put("MATERIALSPECNAME", materialSpecName);
|
dto.setReceiveRequestName(receiveRequestName);
|
||||||
hashMap.put("RECEIVEREQUESTNAME", receiveRequestName);
|
dto.setPhase(box.getPhase());
|
||||||
hashMap.put("PHASE", phase);
|
dto.setSdkId(box.getSdkid());
|
||||||
hashMap.put("SDK_ID", sdkid);
|
List<Map<String, Object>> queryForList = mpService.getMaterialPacking(dto);
|
||||||
List<Map<String, Object>> queryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(sql, hashMap);
|
|
||||||
for (Map<String, Object> map : queryForList) {
|
for (Map<String, Object> map : queryForList) {
|
||||||
String materialPackingName = map.get("MATERIALPACKINGNAME").toString();
|
|
||||||
MaterialPackingKey materialPackingKey = new MaterialPackingKey(siteName, materialPackingName);
|
|
||||||
RemoveInfo removeInfo = new RemoveInfo();
|
|
||||||
MaterialPackingServiceProxy.getMaterialPackingService().remove(materialPackingKey,makeEventInfo,removeInfo);
|
|
||||||
// 找到条码明细表的数据,先更新订单在删除条码明细
|
// 找到条码明细表的数据,先更新订单在删除条码明细
|
||||||
String selectSql = "SELECT * FROM MATERIALPACKINGSUB m WHERE m.MATERIALPACKINGNAME = :MATERIALPACKINGNAME";
|
Map<String, Object> hashMap = new HashMap<> ();
|
||||||
hashMap.put("MATERIALPACKINGNAME", materialPackingName);
|
hashMap.put("MATERIALSPECNAME", materialSpecName);
|
||||||
List<Map<String, Object>> queryForList2 = IDMFrameServiceProxy.getSqlTemplate().queryForList(selectSql, hashMap);
|
String materialPackingName = map.get("MATERIALPACKINGNAME").toString();
|
||||||
for (Map<String, Object> map2 : queryForList2) {
|
mpService.delMaterialPacking(hashMap, materialPackingName, siteName, makeEventInfo);
|
||||||
String qty = map2.get("QTY").toString();
|
|
||||||
String receiveRequestName2 = map2.get("RECEIVEREQUESTNAME").toString();
|
|
||||||
String receiveRequestDetailName2 = map2.get("RECEIVEREQUESTDETAILNAME").toString();
|
|
||||||
hashMap.put("RECEIVEREQUESTNAME", receiveRequestName2);
|
|
||||||
hashMap.put("RECEIVEREQUESTDETAILNAME", receiveRequestDetailName2);
|
|
||||||
hashMap.put("QTY", qty);
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
//更新订单数量
|
//更新订单数量
|
||||||
return AjaxResult.me().setResultObj(null);
|
return AjaxResult.me().setResultObj(null);
|
||||||
@ -346,36 +333,18 @@ public class MaterialReceiveActController {
|
|||||||
|
|
||||||
@RequestMapping(value = "/DeleteTrackOutThisBox", method = RequestMethod.POST)
|
@RequestMapping(value = "/DeleteTrackOutThisBox", method = RequestMethod.POST)
|
||||||
public AjaxResult DeleteTrackOutThisBox(@RequestBody JSONObject in ) throws Exception{
|
public AjaxResult DeleteTrackOutThisBox(@RequestBody JSONObject in ) throws Exception{
|
||||||
|
// 获取属性
|
||||||
TrackOutBoDto boxs = JSON.toJavaObject(in, TrackOutBoDto.class);
|
TrackOutBoDto boxs = JSON.toJavaObject(in, TrackOutBoDto.class);
|
||||||
MaterialreceiveActDto box = boxs.getMaterialreceiveAct();
|
MaterialreceiveActDto box = boxs.getMaterialreceiveAct();
|
||||||
String user = boxs.getUser();
|
String user = boxs.getUser();
|
||||||
String materialSpecName = box.getMaterialSpecName();
|
String materialSpecName = box.getMaterialSpecName();
|
||||||
String materialPackingName2 = box.getMaterialPackingName();
|
String materialPackingName = box.getMaterialPackingName();
|
||||||
String siteName = "SDK";
|
String siteName = box.getSiteName();
|
||||||
makeEventInfo = new EventInfoUtil().makeEventInfo("DeleteTrackOutBox", user, "DeleteTrackOutBox");
|
makeEventInfo = new EventInfoUtil().makeEventInfo("DeleteTrackOutBox", user, "DeleteTrackOutBox");
|
||||||
Map<String, Object> hashMap = new HashMap<String,Object> ();
|
|
||||||
hashMap.put("MATERIALSPECNAME", materialSpecName);
|
|
||||||
MaterialPackingKey materialPackingKey = new MaterialPackingKey(siteName, materialPackingName2);
|
|
||||||
RemoveInfo removeInfo = new RemoveInfo();
|
|
||||||
MaterialPackingServiceProxy.getMaterialPackingService().remove(materialPackingKey,makeEventInfo,removeInfo);
|
|
||||||
// 找到条码明细表的数据,先更新订单在删除条码明细
|
// 找到条码明细表的数据,先更新订单在删除条码明细
|
||||||
String selectSql = "SELECT * FROM MATERIALPACKINGSUB m WHERE m.MATERIALPACKINGNAME = :MATERIALPACKINGNAME";
|
Map<String, Object> hashMap = new HashMap<> ();
|
||||||
hashMap.put("MATERIALPACKINGNAME", materialPackingName2);
|
hashMap.put("MATERIALSPECNAME", materialSpecName);
|
||||||
List<Map<String, Object>> queryForList2 = IDMFrameServiceProxy.getSqlTemplate().queryForList(selectSql, hashMap);
|
mpService.delMaterialPacking(hashMap, materialPackingName, siteName, makeEventInfo);
|
||||||
for (Map<String, Object> map2 : queryForList2) {
|
|
||||||
String qty = map2.get("QTY").toString();
|
|
||||||
String receiveRequestName2 = map2.get("RECEIVEREQUESTNAME").toString();
|
|
||||||
String receiveRequestDetailName2 = map2.get("RECEIVEREQUESTDETAILNAME").toString();
|
|
||||||
hashMap.put("RECEIVEREQUESTNAME", receiveRequestName2);
|
|
||||||
hashMap.put("RECEIVEREQUESTDETAILNAME", receiveRequestDetailName2);
|
|
||||||
hashMap.put("QTY", qty);
|
|
||||||
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";
|
|
||||||
IDMFrameServiceProxy.getSqlTemplate().update(deleteSql, hashMap);
|
|
||||||
}
|
|
||||||
//更新订单数量
|
//更新订单数量
|
||||||
return AjaxResult.me().setResultObj(null);
|
return AjaxResult.me().setResultObj(null);
|
||||||
}
|
}
|
||||||
@ -527,21 +496,22 @@ public class MaterialReceiveActController {
|
|||||||
@RequestMapping(value = "/commitToERP", method = RequestMethod.POST)
|
@RequestMapping(value = "/commitToERP", method = RequestMethod.POST)
|
||||||
public AjaxResult commitToERP(@RequestBody JSONObject in ) {
|
public AjaxResult commitToERP(@RequestBody JSONObject in ) {
|
||||||
TrackOutBoDto trackOutBoDto = JSON.toJavaObject(in, TrackOutBoDto.class);
|
TrackOutBoDto trackOutBoDto = JSON.toJavaObject(in, TrackOutBoDto.class);
|
||||||
|
// 采购单
|
||||||
|
List<MaterialReceiveRequest> requests = new ArrayList<>();
|
||||||
|
// 判定单据类型
|
||||||
|
StoreDetailDto storeDetailDto = new StoreDetailDto();
|
||||||
|
storeDetailDto.setDocumentName(trackOutBoDto.getReceiveRequestName());
|
||||||
|
storeDetailDto.setSiteName(trackOutBoDto.getSiteName());
|
||||||
|
MaterialDelivery materialDelivery = deliveryService.getByKey(storeDetailDto);
|
||||||
|
if (Objects.nonNull(materialDelivery)) {
|
||||||
|
// 到货单据
|
||||||
|
requests = deliveryService.getReceiveByDelivery(storeDetailDto);
|
||||||
|
} else {
|
||||||
|
requests.add(deliveryService.getReceiveByKey(storeDetailDto));
|
||||||
|
}
|
||||||
String user = trackOutBoDto.getUser();
|
String user = trackOutBoDto.getUser();
|
||||||
String opCode = trackOutBoDto.getOpCode();
|
String opCode = trackOutBoDto.getOpCode();
|
||||||
String commitDate = trackOutBoDto.getCommitDate();
|
String commitDate = trackOutBoDto.getCommitDate();
|
||||||
String name = trackOutBoDto.getReceiveRequestName();
|
|
||||||
String site = trackOutBoDto.getSiteName();
|
|
||||||
// 采购单
|
|
||||||
List<MaterialReceiveRequest> requests = new ArrayList<>();
|
|
||||||
// @TODO 判定单据类型
|
|
||||||
/*MaterialReceiveRequest byKey = deliveryService.getByKey(site, name);
|
|
||||||
if (byKey.getReceiveRequestType().equals(ReceiveTypeEnums.DK.getCode())) {
|
|
||||||
// 到货单
|
|
||||||
requests = deliveryService.getReceiveByDelivery(site, name);
|
|
||||||
} else {
|
|
||||||
requests.add(byKey);
|
|
||||||
}*/
|
|
||||||
// 采购单处理
|
// 采购单处理
|
||||||
for (MaterialReceiveRequest request : requests) {
|
for (MaterialReceiveRequest request : requests) {
|
||||||
String receiveRequestName = request.getReceiveRequestName();
|
String receiveRequestName = request.getReceiveRequestName();
|
||||||
@ -551,25 +521,24 @@ public class MaterialReceiveActController {
|
|||||||
// 调用 QMS
|
// 调用 QMS
|
||||||
qMSServiceImpl.PreIQCInfoSend(receiveRequestName, "SDK",opCode, erpFactory);
|
qMSServiceImpl.PreIQCInfoSend(receiveRequestName, "SDK",opCode, erpFactory);
|
||||||
} catch (CustomException e) {
|
} catch (CustomException e) {
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return AjaxResult.me().setSuccess(false).setMessage(e.toString());
|
return AjaxResult.me().setSuccess(false).setMessage(e.toString());
|
||||||
}
|
}
|
||||||
|
String undoId;
|
||||||
String undoid;
|
|
||||||
try {
|
try {
|
||||||
undoid = SendERPStockIn(receiveRequestName, siteName, user, opCode,commitDate,opCode);
|
undoId = SendERPStockIn(receiveRequestName, siteName, user, opCode,commitDate,opCode);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return AjaxResult.me().setSuccess(false).setMessage(e.toString());
|
return AjaxResult.me().setSuccess(false).setMessage(e.toString());
|
||||||
}//发送过账
|
}
|
||||||
makeEventInfo = new EventInfoUtil().makeEventInfo("NormalStockInForSDK", user, "NormalStockInForSDK");
|
// 发送过账
|
||||||
|
EventInfoUtil util = new EventInfoUtil();
|
||||||
|
makeEventInfo = util.makeEventInfo("NormalStockInForSDK", user, "NormalStockInForSDK");
|
||||||
// 更新入库凭证
|
// 更新入库凭证
|
||||||
SDKMaterialPackingServiceImpl.updateUndoIdByReceive(receiveRequestName, undoid, makeEventInfo);
|
SDKMaterialPackingServiceImpl.updateUndoIdByReceive(receiveRequestName, undoId, makeEventInfo);
|
||||||
// 更新库存状态
|
// 更新库存状态
|
||||||
SDKMaterialPackingServiceImpl.SaveUnDoInfo( undoid,commitDate);
|
SDKMaterialPackingServiceImpl.SaveUnDoInfo( undoId,commitDate);
|
||||||
SDKMaterialPackingServiceImpl.updateStockState( makeEventInfo, undoid,opCode);
|
SDKMaterialPackingServiceImpl.updateStockState( makeEventInfo, undoId,opCode);
|
||||||
}
|
}
|
||||||
return AjaxResult.me().setResultObj(null);
|
return AjaxResult.me().setResultObj(null);
|
||||||
}
|
}
|
||||||
|
@ -62,9 +62,16 @@ public interface DeliveryDao {
|
|||||||
MaterialReceiveRequest getReceiveByKey(@Param("dto") StoreDetailDto storeDetailDto);
|
MaterialReceiveRequest getReceiveByKey(@Param("dto") StoreDetailDto storeDetailDto);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据到库单获取采购单名称
|
* 根据到库单获取关系
|
||||||
*/
|
*/
|
||||||
List<MaterialDeliveryReceive> getReceiveByDelivery(@Param("dto") StoreDetailDto storeDetailDto);
|
List<MaterialDeliveryReceive> getRelByDelivery(@Param("dto") StoreDetailDto storeDetailDto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据到库单获取采购单名称
|
||||||
|
* @param storeDetailDto 到库单
|
||||||
|
* @return 采购单名称列表
|
||||||
|
*/
|
||||||
|
List<MaterialReceiveRequest> getReceiveByDelivery(@Param("dto") StoreDetailDto storeDetailDto);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据到库单获取采购单名称
|
* 根据到库单获取采购单名称
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
package com.cim.idm.dao;
|
||||||
|
|
||||||
|
import com.cim.idm.model.dto.packing.MaterialPackingListDto;
|
||||||
|
import org.apache.ibatis.annotations.MapKey;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@Mapper
|
||||||
|
public interface MaterialPackingDao {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 散列盘点存储过程调用
|
||||||
|
* @param dto dto
|
||||||
|
* @return 物料信息
|
||||||
|
*/
|
||||||
|
@MapKey("dto")
|
||||||
|
List<Map<String, Object>> getMaterialPacking(@Param("dto") MaterialPackingListDto dto);
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
package com.cim.idm.model.dto.packing;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class MaterialPackingListDto {
|
||||||
|
// 物料号
|
||||||
|
private String materialSpecName;
|
||||||
|
|
||||||
|
// 到货单名称
|
||||||
|
private String receiveRequestName;
|
||||||
|
|
||||||
|
// 阶段
|
||||||
|
private String phase;
|
||||||
|
|
||||||
|
// sdk id
|
||||||
|
private String sdkId;
|
||||||
|
}
|
@ -53,12 +53,19 @@ public interface IDeliveryService {
|
|||||||
*/
|
*/
|
||||||
MaterialReceiveRequest getReceiveByKey(StoreDetailDto storeDetailDto);
|
MaterialReceiveRequest getReceiveByKey(StoreDetailDto storeDetailDto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据到库单获取关系
|
||||||
|
* @param storeDetailDto 到库单
|
||||||
|
* @return 采购单名称列表
|
||||||
|
*/
|
||||||
|
List<MaterialDeliveryReceive> getRelByDelivery(StoreDetailDto storeDetailDto);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据到库单获取采购单名称
|
* 根据到库单获取采购单名称
|
||||||
* @param storeDetailDto 到库单
|
* @param storeDetailDto 到库单
|
||||||
* @return 采购单名称列表
|
* @return 采购单名称列表
|
||||||
*/
|
*/
|
||||||
List<MaterialDeliveryReceive> getReceiveByDelivery(StoreDetailDto storeDetailDto);
|
List<MaterialReceiveRequest> getReceiveByDelivery(StoreDetailDto storeDetailDto);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据到库单获取采购单名称
|
* 根据到库单获取采购单名称
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
package com.cim.idm.service;
|
||||||
|
|
||||||
|
|
||||||
|
import com.cim.idm.framework.data.EventInfo;
|
||||||
|
import com.cim.idm.model.dto.packing.MaterialPackingListDto;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
|
@Service("mpService")
|
||||||
|
public interface IMaterialPackingService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 散列盘点存储过程调用
|
||||||
|
* @param dto dto
|
||||||
|
* @return 物料信息
|
||||||
|
*/
|
||||||
|
List<Map<String, Object>> getMaterialPacking(MaterialPackingListDto dto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除物料批次
|
||||||
|
* @param hashMap 数据
|
||||||
|
* @param materialPackingName 包名
|
||||||
|
* @param siteName 工厂
|
||||||
|
* @param makeEventInfo 事件
|
||||||
|
*/
|
||||||
|
void delMaterialPacking(Map<String, Object> hashMap, String materialPackingName,
|
||||||
|
String siteName, EventInfo makeEventInfo);
|
||||||
|
}
|
@ -83,7 +83,12 @@ public class DeliveryServiceImpl implements IDeliveryService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<MaterialDeliveryReceive> getReceiveByDelivery(StoreDetailDto storeDetailDto) {
|
public List<MaterialDeliveryReceive> getRelByDelivery(StoreDetailDto storeDetailDto) {
|
||||||
|
return deliveryDao.getRelByDelivery(storeDetailDto);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MaterialReceiveRequest> getReceiveByDelivery(StoreDetailDto storeDetailDto) {
|
||||||
return deliveryDao.getReceiveByDelivery(storeDetailDto);
|
return deliveryDao.getReceiveByDelivery(storeDetailDto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,51 @@
|
|||||||
|
package com.cim.idm.service.Impl;
|
||||||
|
|
||||||
|
import com.cim.idm.dao.MaterialPackingDao;
|
||||||
|
import com.cim.idm.framework.IDMFrameServiceProxy;
|
||||||
|
import com.cim.idm.framework.data.EventInfo;
|
||||||
|
import com.cim.idm.model.dto.packing.MaterialPackingListDto;
|
||||||
|
import com.cim.idm.service.IMaterialPackingService;
|
||||||
|
import com.cim.idm.wmspackage.materialpacking.MaterialPackingServiceProxy;
|
||||||
|
import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPackingKey;
|
||||||
|
import com.cim.idm.wmspackage.materialpacking.management.info.RemoveInfo;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class MaterialPackingServiceServiceImpl implements IMaterialPackingService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private MaterialPackingDao materialPackingDao;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Map<String, Object>> getMaterialPacking(MaterialPackingListDto dto) {
|
||||||
|
return materialPackingDao.getMaterialPacking(dto);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void delMaterialPacking(Map<String, Object> hashMap, String materialPackingName, String siteName, EventInfo makeEventInfo) {
|
||||||
|
MaterialPackingKey materialPackingKey = new MaterialPackingKey(siteName, materialPackingName);
|
||||||
|
RemoveInfo removeInfo = new RemoveInfo();
|
||||||
|
MaterialPackingServiceProxy.getMaterialPackingService().remove(materialPackingKey, makeEventInfo, removeInfo);
|
||||||
|
// 找到条码明细表的数据,先更新订单在删除条码明细
|
||||||
|
String selectSql = "SELECT * FROM MATERIALPACKINGSUB m WHERE m.MATERIALPACKINGNAME = :MATERIALPACKINGNAME";
|
||||||
|
hashMap.put("MATERIALPACKINGNAME", materialPackingName);
|
||||||
|
List<Map<String, Object>> queryForList2 = IDMFrameServiceProxy.getSqlTemplate().queryForList(selectSql, hashMap);
|
||||||
|
for (Map<String, Object> item : queryForList2) {
|
||||||
|
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 deleteSql = "DELETE FROM MATERIALPACKINGSUB m WHERE m.MATERIALPACKINGNAME = :MATERIALPACKINGNAME AND RECEIVEREQUESTNAME = :RECEIVEREQUESTNAME";
|
||||||
|
IDMFrameServiceProxy.getSqlTemplate().update(deleteSql, hashMap);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -206,12 +206,24 @@
|
|||||||
AND RECEIVEREQUESTNAME = #{dto.documentName}
|
AND RECEIVEREQUESTNAME = #{dto.documentName}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getReceiveByDelivery" resultType="com.cim.idm.model.po.delivery.MaterialDeliveryReceive">
|
<select id="getRelByDelivery" resultType="com.cim.idm.model.po.delivery.MaterialDeliveryReceive">
|
||||||
SELECT md.DELIVERYNAME, md.DELIVERYNUM, md.RECEIVEREQUESTNAME, md.MATERIALSPECNAME
|
SELECT md.DELIVERYNAME, md.DELIVERYNUM, md.RECEIVEREQUESTNAME, md.MATERIALSPECNAME
|
||||||
FROM MATERIALDELIVERYRECEIVE md
|
FROM MATERIALDELIVERYRECEIVE md
|
||||||
WHERE md.DELIVERYNAME = #{dto.documentName}
|
WHERE md.DELIVERYNAME = #{dto.documentName}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getReceiveByDelivery" resultType="com.cim.idm.model.po.MaterialReceiveRequest">
|
||||||
|
SELECT m.SITENAME, m.RECEIVEREQUESTNAME, m.RECEIVEREQUESTTYPE, m.PURCHASEORDERGROUP, m.RECEIVEREQUESTSTATE, m.SUPPLIERNO,
|
||||||
|
m.OEMSITENAME, m.OEMSITEINCHARGE, m.SYSTEMTYPE, m.LASTEVENTNAME, m.LASTEVENTTIMEKEY, m.LASTEVENTTIME, m.LASTEVENTUSER,
|
||||||
|
m.LASTEVENTCOMMENT, m.ERPPONAME, m.SAVEREASON, m.RESPPERSON, m.RESPDEPART, m.SOLVETIME, m.PASSSTATE, m.WORKER, m.SDK_ID,
|
||||||
|
m.ERPID, m.REMARK, m.PURCHASER, m.PURORGNO, m.ORDERDATE, m.CLOSERUSER, m.CLOSEDATE, m.STOCKORGNO, m.RETURNFLAG,
|
||||||
|
m.RECEIVEREQUESTDETAILTYPE, m.ERPLOCATION, m.PRODUCTDEPTNO, m.SOURCEBILLID, m.EFFECTIVESTARTTIME, m.EFFECTIVEENDTIME
|
||||||
|
FROM MATERIALRECEIVEREQUEST m, MATERIALDELIVERYRECEIVE md
|
||||||
|
WHERE m.SITENAME = #{dto.siteName}
|
||||||
|
AND md.DELIVERYNAME = #{dto.documentName}
|
||||||
|
AND m.RECEIVEREQUESTNAME = md.RECEIVEREQUESTNAME
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="getReceiveDetail" resultType="com.cim.idm.model.vo.DeliveryReceiveDetailVo">
|
<select id="getReceiveDetail" resultType="com.cim.idm.model.vo.DeliveryReceiveDetailVo">
|
||||||
SELECT receiveRequestName, materialSpecName, requestQuantity, requestQuantity as deliveryNum
|
SELECT receiveRequestName, materialSpecName, requestQuantity, requestQuantity as deliveryNum
|
||||||
FROM MATERIALRECEIVEREQUESTDETAIL
|
FROM MATERIALRECEIVEREQUESTDETAIL
|
||||||
|
@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.cim.idm.dao.MaterialPackingDao">
|
||||||
|
|
||||||
|
<select id="getMaterialPacking" resultType="map">
|
||||||
|
SELECT * FROM MATERIALPACKING m
|
||||||
|
WHERE MATERIALSPECNAME = #{dto.materialSpecName}
|
||||||
|
<if test="dto.phase != null and dto.phase != ''">
|
||||||
|
AND PHASE = #{dto.phase}
|
||||||
|
</if>
|
||||||
|
<if test="dto.receiveRequestName != null and dto.receiveRequestName != ''">
|
||||||
|
AND RECEIVEREQUESTNAME = #{dto.receiveRequestName}
|
||||||
|
</if>
|
||||||
|
<if test="dto.sdkId != null and dto.sdkId != ''">
|
||||||
|
AND SDK_ID = #{dto.sdkId}
|
||||||
|
</if>
|
||||||
|
AND STOCKSTATE = 'Created'
|
||||||
|
</select>
|
||||||
|
</mapper>
|
Loading…
x
Reference in New Issue
Block a user