@ -567,28 +567,28 @@ public class SAPToWMSController {
selectMap . put ( " receiverequestname " , receiveRequestName ) ;
List < Map < String , Object > > isResultList = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sqlCheck , selectMap ) ;
/ / 检验单据是否已存在 , 并且未被使用过账
String isSql = " SELECT \ n " +
" m.RECEIVEREQUESTNAME, \ n " +
" SUM(md.RECEIVEDQUANTITY) \ n " +
" FROM \ n " +
" MATERIALRECEIVEREQUEST m \ n " +
" LEFT JOIN MATERIALRECEIVEREQUESTDETAIL md ON \ n " +
" md.RECEIVEREQUESTNAME = m.RECEIVEREQUESTNAME \ n " +
" WHERE \ n " +
" m.RECEIVEREQUESTNAME =:receiverequestname \ n " +
" AND md.RECEIVEDQUANTITY > 0 \ n " +
" GROUP BY m.RECEIVEREQUESTNAME " ;
/ / String isSql = " SELECT \ n " +
/ / " m.RECEIVEREQUESTNAME, \ n " +
/ / " SUM(md.RECEIVEDQUANTITY) \ n " +
/ / " FROM \ n " +
/ / " MATERIALRECEIVEREQUEST m \ n " +
/ / " LEFT JOIN MATERIALRECEIVEREQUESTDETAIL md ON \ n " +
/ / " md.RECEIVEREQUESTNAME = m.RECEIVEREQUESTNAME \ n " +
/ / " WHERE \ n " +
/ / " m.RECEIVEREQUESTNAME =:receiverequestname \ n " +
/ / " AND md.RECEIVEDQUANTITY > 0 \ n " +
/ / " GROUP BY m.RECEIVEREQUESTNAME " ;
List < Map < String , Object > > isList = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( isSql , selectMap ) ;
if ( isList ! = null & & isList . size ( ) > 0 ) {
throw new CustomException ( " ERROR " , " 单据已存在,并且已存在过账,不能更新或删除! " ) ;
} else if ( isResultList ! = null & & isResultList . size ( ) > 0 ) {
String shipquestSql = " DELETE FROM MATERIALRECEIVEREQUEST WHERE receiveRequestName =? " ;
String shipDetailSql = " DELETE FROM MATERIALRECEIVEREQUESTDETAIL WHERE receiveRequestName =? " ;
Object [ ] obj = new Object [ ] { receiveRequestName } ;
IDMFrameServiceProxy . getSqlTemplate ( ) . update ( shipquestSql , obj ) ;
IDMFrameServiceProxy . getSqlTemplate ( ) . update ( shipDetailSql , obj ) ;
}
/ / List < Map < String , Object > > isList = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( isSql , selectMap ) ;
/ / if ( isList ! = null & & isList . size ( ) > 0 ) {
/ / throw new CustomException ( " ERROR " , " 单据已存在,并且已存在过账,不能更新或删除! " ) ;
/ / } else if ( isResultList ! = null & & isResultList . size ( ) > 0 ) {
/ / String shipquestSql = " DELETE FROM MATERIALRECEIVEREQUEST WHERE receiveRequestName =? " ;
/ / String shipDetailSql = " DELETE FROM MATERIALRECEIVEREQUESTDETAIL WHERE receiveRequestName =? " ;
/ / Object [ ] obj = new Object [ ] { receiveRequestName } ;
/ / IDMFrameServiceProxy . getSqlTemplate ( ) . update ( shipquestSql , obj ) ;
/ / IDMFrameServiceProxy . getSqlTemplate ( ) . update ( shipDetailSql , obj ) ;
/ / }
List < Map < String , Object > > checkResultList = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sqlCheck , selectMap ) ;
@ -1076,85 +1076,166 @@ public class SAPToWMSController {
String createDate = MapUtils . getString ( data , " CRDAT " ) ; / / 创建日期
String createTime = MapUtils . getString ( data , " CRTIM " ) ; / / 创建时间
String moveState = MapUtils . getString ( data , " BWART " ) ; / / 移动类型 BWART
String areaName = MapUtils . getString ( data , " AREANAME " ) ; / / 车间
String sqlCheck = " SELECT * FROM materialshiprequest m WHERE shiprequestname =:SHIPREQUESTNAME " ;
String areaName = MapUtils . getString ( data , " FEVOR " ) ; / / 车间
List < Map < String , Object > > checkResultList1 = new ArrayList < > ( ) ;
List < Map < String , Object > > checkResultList2 = new ArrayList < > ( ) ;
Map < String , Object > selectMap = new HashMap < String , Object > ( ) ;
selectMap . put ( " SHIPREQUESTNAME " , shipRequestName ) ;
List < Map < String , Object > > isResultList = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sqlCheck , selectMap ) ;
String isSql = " SELECT \ n " +
" m.SHIPREQUESTNAME , \ n " +
" SUM(md.SALEOUTQUANTITY) \ n " +
" FROM \ n " +
" MATERIALSHIPREQUEST m \ n " +
" LEFT JOIN MATERIALSHIPREQUESTDETAIL md ON \ n " +
" md.SHIPREQUESTNAME = m.SHIPREQUESTNAME \ n " +
" WHERE \ n " +
" m.SHIPREQUESTNAME =:SHIPREQUESTNAME \ n " +
" AND md.SALEOUTQUANTITY > 0 \ n " +
" GROUP BY m.SHIPREQUESTNAME " ;
/ / 如果是成品中心退货
if ( " 07 " . equals ( shipRequestType ) | | " 03 " . equals ( shipRequestType ) ) {
String sqlCheck = " SELECT * FROM MATERIALRECEIVEREQUEST m WHERE RECEIVEREQUESTNAME =:SHIPREQUESTNAME " ;
checkResultList1 = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sqlCheck , selectMap ) ;
List < Map < String , Object > > isList = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( isSql , selectMap ) ;
if ( isList ! = null & & isList . size ( ) > 0 ) {
throw new CustomException ( " ERROR " , " 单据已存在,并且已存在过账! " ) ;
} else if ( isResultList ! = null & & isResultList . size ( ) > 0 ) {
String shipquestSql = " DELETE FROM MATERIALSHIPREQUEST WHERE shiprequestname =? " ;
String shipDetailSql = " DELETE FROM materialshiprequestdetail WHERE shiprequestname =? " ;
Object [ ] obj = new Object [ ] { shipRequestName } ;
IDMFrameServiceProxy . getSqlTemplate ( ) . update ( shipquestSql , obj ) ;
IDMFrameServiceProxy . getSqlTemplate ( ) . update ( shipDetailSql , obj ) ;
}
List < Map < String , Object > > checkResultList = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sqlCheck , selectMap ) ;
if ( checkResultList = = null | | checkResultList . size ( ) = = 0 ) {
CreateMaterialShipRequestInfo createInfo = new CreateMaterialShipRequestInfo ( ) ;
createInfo . setSiteName ( sitename ) ;
createInfo . setShipRequestName ( shipRequestName ) ;
createInfo . setShipRequestType ( shipRequestType ) ;
/ / createInfo . setShipRequestDetailType ( shiprequesttype ) ;
createInfo . setShipRequestDetailType ( moveState ) ;
createInfo . setShipRequestState ( " Created " ) ;
createInfo . setSystemType ( " ERP " ) ;
Map < String , Object > bindMap = new HashMap < String , Object > ( ) ;
bindMap . put ( " createUser " , createUser ) ;
bindMap . put ( " createTime " , createDate + " " + createTime ) ;
bindMap . put ( " erpFactory " , erpFactory ) ;
bindMap . put ( " areaName " , areaName ) ;
createInfo . setUserColumns ( bindMap ) ;
EventInfo eventInfo = new EventInfo ( ) ;
eventInfo . setEventName ( " MaterialShipRequestSAPToWMS " ) ;
eventInfo . setEventUser ( createUser ) ;
MaterialShipRequestServiceProxy . getMaterialShipRequestService ( ) . create ( eventInfo , createInfo ) ;
if ( checkResultList1 ! = null & & checkResultList1 . size ( ) > 0 ) {
String sql = " DELETE FROM MATERIALRECEIVEREQUEST WHERE RECEIVEREQUESTNAME =? " ;
String shipDetailSql = " DELETE FROM MATERIALRECEIVEREQUESTDETAIL WHERE RECEIVEREQUESTNAME =? " ;
Object [ ] obj = new Object [ ] { shipRequestName } ;
IDMFrameServiceProxy . getSqlTemplate ( ) . update ( sql , obj ) ;
IDMFrameServiceProxy . getSqlTemplate ( ) . update ( shipDetailSql , obj ) ;
}
checkResultList2 = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sqlCheck , selectMap ) ;
} else {
MaterialShipRequestSetEventInfo info = new MaterialShipRequestSetEventInfo ( ) ;
MaterialShipRequestKey key = new MaterialShipRequestKey ( ) ;
key . setSiteName ( sitename ) ;
key . setShipRequestName ( shipRequestName ) ;
String sqlCheck = " SELECT * FROM materialshiprequest m WHERE shiprequestname =:SHIPREQUESTNAME " ;
MaterialShipRequest shipRequest = MaterialShipRequestServiceProxy . getMaterialShipRequestService ( ) . selectByKey ( key ) ;
List < Map < String , Object > > isResultList = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sqlCheck , selectMap ) ;
if ( ! shipRequest . getShipRequestState ( ) . equalsIgnoreCase ( " Created " ) ) {
throw new CustomException ( " ERROR " , " 交货单已确认,禁止修改! " ) ;
String isSql = " SELECT \ n " +
" m.SHIPREQUESTNAME , \ n " +
" SUM(md.SALEOUTQUANTITY) \ n " +
" FROM \ n " +
" MATERIALSHIPREQUEST m \ n " +
" LEFT JOIN MATERIALSHIPREQUESTDETAIL md ON \ n " +
" md.SHIPREQUESTNAME = m.SHIPREQUESTNAME \ n " +
" WHERE \ n " +
" m.SHIPREQUESTNAME =:SHIPREQUESTNAME \ n " +
" AND md.SALEOUTQUANTITY > 0 \ n " +
" GROUP BY m.SHIPREQUESTNAME " ;
List < Map < String , Object > > isList = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( isSql , selectMap ) ;
if ( isList ! = null & & isList . size ( ) > 0 ) {
throw new CustomException ( " ERROR " , " 单据已存在,并且已存在过账! " ) ;
} else if ( isResultList ! = null & & isResultList . size ( ) > 0 ) {
String shipquestSql = " DELETE FROM MATERIALSHIPREQUEST WHERE shiprequestname =? " ;
String shipDetailSql = " DELETE FROM materialshiprequestdetail WHERE shiprequestname =? " ;
Object [ ] obj = new Object [ ] { shipRequestName } ;
IDMFrameServiceProxy . getSqlTemplate ( ) . update ( shipquestSql , obj ) ;
IDMFrameServiceProxy . getSqlTemplate ( ) . update ( shipDetailSql , obj ) ;
}
Map < String , Object > bindMap = new HashMap < String , Object > ( ) ;
/ / bindMap . put ( " salesGroup " , saleGroup ) ;
bindMap . put ( " shipRequestType " , shipRequestType ) ;
bindMap . put ( " shipRequestDetailType " , moveState ) ;
bindMap . put ( " createUser " , createUser ) ;
bindMap . put ( " createTime " , createTime ) ;
bindMap . put ( " erpFactory " , erpFactory ) ;
bindMap . put ( " areaName " , areaName ) ;
checkResultList2 = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sqlCheck , selectMap ) ;
}
info . setUserColumns ( bindMap ) ;
EventInfo eventInfo = new EventInfo ( ) ;
eventInfo . setEventName ( " UpdateMaterialShipRequest " ) ;
eventInfo . setEventUser ( createUser ) ;
MaterialShipRequestServiceProxy . getMaterialShipRequestService ( ) . setEvent ( key , eventInfo , info ) ;
if ( checkResultList2 = = null | | checkResultList2 . size ( ) = = 0 ) {
/ / 如果是成品中心退货
if ( " 07 " . equals ( shipRequestType ) | | " 03 " . equals ( shipRequestType ) ) {
CreateReceiveRequestInfo reCreateInfo = new CreateReceiveRequestInfo ( ) ;
reCreateInfo . setSiteName ( sitename ) ;
reCreateInfo . setReceiveRequestName ( shipRequestName ) ;
reCreateInfo . setReceiveRequestType ( shipRequestType ) ;
reCreateInfo . setReceiveRequestState ( " Created " ) ;
reCreateInfo . setSupplierNO ( createUser ) ;
reCreateInfo . setSystemType ( " ERP " ) ;
Map < String , Object > bindMap = new HashMap < String , Object > ( ) ;
bindMap . put ( " createUser " , createUser ) ;
bindMap . put ( " createTime " , createDate + " " + createTime ) ;
bindMap . put ( " erpFactory " , erpFactory ) ;
bindMap . put ( " areaName " , areaName ) ;
reCreateInfo . setUserColumns ( bindMap ) ;
EventInfo reEventInfo = new EventInfo ( ) ;
reEventInfo . setEventName ( " CreateReceiveRequest " ) ;
reEventInfo . setEventUser ( createUser ) ;
MaterialReceiveRequestServiceProxy . getMaterialReceiveRequestService ( ) . create ( reEventInfo , reCreateInfo ) ;
} else {
CreateMaterialShipRequestInfo createInfo = new CreateMaterialShipRequestInfo ( ) ;
createInfo . setSiteName ( sitename ) ;
createInfo . setShipRequestName ( shipRequestName ) ;
createInfo . setShipRequestType ( shipRequestType ) ;
/ / createInfo . setShipRequestDetailType ( shiprequesttype ) ;
createInfo . setShipRequestDetailType ( moveState ) ;
createInfo . setShipRequestState ( " Created " ) ;
createInfo . setSystemType ( " ERP " ) ;
Map < String , Object > bindMap = new HashMap < String , Object > ( ) ;
bindMap . put ( " createUser " , createUser ) ;
bindMap . put ( " createTime " , createDate + " " + createTime ) ;
bindMap . put ( " erpFactory " , erpFactory ) ;
bindMap . put ( " areaName " , areaName ) ;
createInfo . setUserColumns ( bindMap ) ;
EventInfo eventInfo = new EventInfo ( ) ;
eventInfo . setEventName ( " MaterialShipRequestSAPToWMS " ) ;
eventInfo . setEventUser ( createUser ) ;
MaterialShipRequestServiceProxy . getMaterialShipRequestService ( ) . create ( eventInfo , createInfo ) ;
}
} else {
/ / 如果是成品中心退货
if ( " 07 " . equals ( shipRequestType ) | | " 03 " . equals ( shipRequestType ) ) {
SetEventInfo reInfo = new SetEventInfo ( ) ;
MaterialReceiveRequestKey key = new MaterialReceiveRequestKey ( ) ;
key . setSiteName ( sitename ) ;
key . setReceiveRequestName ( shipRequestName ) ;
MaterialReceiveRequest shipRequest = MaterialReceiveRequestServiceProxy . getMaterialReceiveRequestService ( ) . selectByKey ( key ) ;
if ( ! shipRequest . getReceiveRequestState ( ) . equalsIgnoreCase ( " Created " ) ) {
throw new CustomException ( " ERROR " , " 交货单已确认,禁止修改! " ) ;
}
Map < String , Object > bindMap = new HashMap < String , Object > ( ) ;
/ / bindMap . put ( " salesGroup " , saleGroup ) ;
bindMap . put ( " shipRequestType " , shipRequestType ) ;
bindMap . put ( " shipRequestDetailType " , moveState ) ;
bindMap . put ( " createUser " , createUser ) ;
bindMap . put ( " createTime " , createDate + " " + createTime ) ;
bindMap . put ( " erpFactory " , erpFactory ) ;
bindMap . put ( " areaName " , areaName ) ;
reInfo . setUserColumns ( bindMap ) ;
EventInfo reEventInfo = new EventInfo ( ) ;
reEventInfo . setEventName ( " UpDateMaterialtReceiveRequest " ) ;
reEventInfo . setEventUser ( createUser ) ;
MaterialReceiveRequestServiceProxy . getMaterialReceiveRequestService ( ) . setEvent ( key , reEventInfo , reInfo ) ;
} else {
MaterialShipRequestSetEventInfo info = new MaterialShipRequestSetEventInfo ( ) ;
MaterialShipRequestKey key = new MaterialShipRequestKey ( ) ;
key . setSiteName ( sitename ) ;
key . setShipRequestName ( shipRequestName ) ;
MaterialShipRequest shipRequest = MaterialShipRequestServiceProxy . getMaterialShipRequestService ( ) . selectByKey ( key ) ;
if ( ! shipRequest . getShipRequestState ( ) . equalsIgnoreCase ( " Created " ) ) {
throw new CustomException ( " ERROR " , " 交货单已确认,禁止修改! " ) ;
}
Map < String , Object > bindMap = new HashMap < String , Object > ( ) ;
/ / bindMap . put ( " salesGroup " , saleGroup ) ;
bindMap . put ( " shipRequestType " , shipRequestType ) ;
bindMap . put ( " shipRequestDetailType " , moveState ) ;
bindMap . put ( " createUser " , createUser ) ;
bindMap . put ( " createTime " , createDate + " " + createTime ) ;
bindMap . put ( " erpFactory " , erpFactory ) ;
bindMap . put ( " areaName " , areaName ) ;
info . setUserColumns ( bindMap ) ;
EventInfo eventInfo = new EventInfo ( ) ;
eventInfo . setEventName ( " UpdateMaterialShipRequest " ) ;
eventInfo . setEventUser ( createUser ) ;
MaterialShipRequestServiceProxy . getMaterialShipRequestService ( ) . setEvent ( key , eventInfo , info ) ;
}
}
String bwart = " " ; / / 移动类型 。 因领料单下发未发送移动类型 , 故再单独更新 , 当LGORT2为空时更新为261 , 否则更新为311 。 zd . 2024 . 8 . 7
if ( data . containsKey ( " ITEM " ) ) {
@ -1204,19 +1285,39 @@ public class SAPToWMSController {
String xloek = MapUtils . getString ( item , " xloek " ) ; / / 删除标识
MaterialShipRequestDetail mrd = new MaterialShipRequestDetail ( ) ;
MaterialShipRequestDetailKey mrdk = new MaterialShipRequestDetailKey ( ) ;
mrdk . setSiteName ( sitename ) ;
mrdk . setShipRequestName ( shipRequestName ) ;
mrdk . setShipRequestDetailName ( shipRequestDetailName ) ;
try {
mrd = MaterialShipRequestDetailServiceProxy . getMaterialShipRequestDetailService ( ) . selectByKey ( mrdk ) ;
if ( mrd . getAssignedQuantity ( ) ! = 0 ) {
throw new CustomException ( " ERROR " , " 行项目已在拣配途中! " ) ;
MaterialReceiveRequestDetail mrdrc = new MaterialReceiveRequestDetail ( ) ;
MaterialReceiveRequestDetailKey receiveKey = new MaterialReceiveRequestDetailKey ( ) ;
if ( " 07 " . equals ( shipRequestType ) | | " 03 " . equals ( shipRequestType ) ) {
receiveKey . setSiteName ( sitename ) ;
receiveKey . setReceiveRequestName ( shipRequestName ) ;
receiveKey . setReceiveRequestDetailName ( shipRequestDetailName ) ;
try {
mrdrc = ReceiveRequestDetailServiceProxy . getReceiveRequestDetailService ( ) . selectByKey ( receiveKey ) ;
if ( mrdrc . getReceivedQuantity ( ) ! = 0 ) {
throw new CustomException ( " ERROR " , " 行项目已在拣配途中! " ) ;
}
} catch ( Exception e ) {
/ / TODO : handle exception
}
} else {
mrdk . setSiteName ( sitename ) ;
mrdk . setShipRequestName ( shipRequestName ) ;
mrdk . setShipRequestDetailName ( shipRequestDetailName ) ;
try {
mrd = MaterialShipRequestDetailServiceProxy . getMaterialShipRequestDetailService ( ) . selectByKey ( mrdk ) ;
if ( mrd . getAssignedQuantity ( ) ! = 0 ) {
throw new CustomException ( " ERROR " , " 行项目已在拣配途中! " ) ;
}
} catch ( Exception e ) {
/ / TODO : handle exception
}
} catch ( Exception e ) {
/ / TODO : handle exception
}
@ -1232,32 +1333,37 @@ public class SAPToWMSController {
materialMap . put ( " MATERIALSPECNAME " , materialSpecName ) ;
List < Map < String , Object > > phaseList = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( materialSql , materialMap ) ;
String phase = " " ;
if ( phaseList = = null | | phaseList . size ( ) = = 0 ) {
throw new CustomException ( " ERROR " , " 料号在基础数据里没找到! " ) ;
} else {
phase = phaseList . get ( 0 ) . get ( " PHASE " ) ! = null ? phaseList . get ( 0 ) . get ( " PHASE " ) . toString ( ) : " " ;
try {
if ( phaseList = = null | | phaseList . size ( ) = = 0 ) {
throw new CustomException ( " ERROR " , " 料号在基础数据里没找到! " ) ;
} else {
phase = phaseList . get ( 0 ) . get ( " PHASE " ) ! = null ? phaseList . get ( 0 ) . get ( " PHASE " ) . toString ( ) : " " ;
}
} catch ( Exception e ) {
/ / TODO : handle exception
}
String sqlItemCheck = " SELECT * FROM materialshiprequestdetail WHERE shiprequestname =:SHIPREQUESTNAME and shiprequestdetailname = :SHIPREQUESTDETAILNAME " ;
Map < String , Object > selectItemMap = new HashMap < String , Object > ( ) ;
selectItemMap . put ( " SHIPREQUESTNAME " , shipRequestName ) ;
selectItemMap . put ( " SHIPREQUESTDETAILNAME " , shipRequestDetailName ) ;
List < Map < String , Object > > checkItemResultList = new ArrayList < Map < String , Object > > ( ) ;
if ( " 07 " . equals ( shipRequestType ) | | " 03 " . equals ( shipRequestType ) ) {
String sqlItemCheck = " SELECT * FROM MATERIALRECEIVEREQUESTDETAIL " +
" WHERE RECEIVEREQUESTNAME =:RECEIVEREQUESTNAME and RECEIVEREQUESTDETAILNAME = :RECEIVEREQUESTDETAILNAME " ;
Map < String , Object > selectItemMap = new HashMap < String , Object > ( ) ;
selectItemMap . put ( " RECEIVEREQUESTNAME " , shipRequestName ) ;
selectItemMap . put ( " RECEIVEREQUESTDETAILNAME " , shipRequestDetailName ) ;
checkItemResultList = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sqlItemCheck , selectItemMap ) ;
} else {
String sqlItemCheck = " SELECT * FROM materialshiprequestdetail WHERE shiprequestname =:SHIPREQUESTNAME and shiprequestdetailname = :SHIPREQUESTDETAILNAME " ;
Map < String , Object > selectItemMap = new HashMap < String , Object > ( ) ;
selectItemMap . put ( " SHIPREQUESTNAME " , shipRequestName ) ;
selectItemMap . put ( " SHIPREQUESTDETAILNAME " , shipRequestDetailName ) ;
checkItemResultList = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sqlItemCheck , selectItemMap ) ;
}
List < Map < String , Object > > checkItemResultList = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sqlItemCheck , selectItemMap ) ;
if ( checkItemResultList = = null | | checkItemResultList . size ( ) = = 0 ) {
CreateMaterialShipRequestDetailInfo createInfo = new CreateMaterialShipRequestDetailInfo ( ) ;
createInfo . setSiteName ( sitename ) ;
createInfo . setShipRequestName ( shipRequestName ) ;
createInfo . setShipRequestDetailName ( shipRequestDetailName ) ;
createInfo . setMaterialSpecName ( materialSpecName ) ;
/ / 精度丢失处理
BigDecimal bigRequestQuantity = new BigDecimal ( requestQuantity . trim ( ) ) ;
createInfo . setRequestQuantity ( bigRequestQuantity . doubleValue ( ) ) ;
createInfo . setAssignedQuantity ( 0 ) ;
Map < String , Object > bindMapItem = new HashMap < String , Object > ( ) ;
bindMapItem . put ( " erpFactory " , werks1 ) ; / / 工厂
@ -1287,14 +1393,51 @@ public class SAPToWMSController {
bindMapItem . put ( " causeOfMovement " , causeOfMovement ) ;
bindMapItem . put ( " goalMaterialSpec " , ummat ) ;
bindMapItem . put ( " phase " , phase ) ;
bindMapItem . put ( " saleOutQuantity " , 0 ) ;
if ( " 07 " . equals ( shipRequestType ) | | " 03 " . equals ( shipRequestType ) ) {
bindMapItem . put ( " receiveRequestDetailType " , shipRequestType ) ; / / 原单号
CreateReceiveRequestDetailInfo createReceiveInfo = new CreateReceiveRequestDetailInfo ( ) ;
createReceiveInfo . setSiteName ( sitename ) ;
createReceiveInfo . setReceiveRequestName ( shipRequestName ) ;
createReceiveInfo . setReceiveRequestDetailName ( shipRequestDetailName ) ;
createReceiveInfo . setMaterialSpecName ( materialSpecName ) ;
BigDecimal bigRequestQuantity2 = new BigDecimal ( requestQuantity . trim ( ) ) ;
createReceiveInfo . setRequestQuantity ( bigRequestQuantity2 . doubleValue ( ) ) ;
createReceiveInfo . setReceivedQuantity ( 0 ) ;
createReceiveInfo . setUserColumns ( bindMapItem ) ;
EventInfo eventReciveInfo = new EventInfo ( ) ;
eventReciveInfo . setEventUser ( createUser ) ;
eventReciveInfo . setEventName ( " Create " ) ;
MaterialReceiveRequestDetailKey key = new MaterialReceiveRequestDetailKey ( ) ;
key . setSiteName ( sitename ) ;
key . setReceiveRequestName ( shipRequestName ) ;
key . setReceiveRequestDetailName ( shipRequestDetailName ) ;
ReceiveRequestDetailServiceProxy . getReceiveRequestDetailService ( ) . create ( key , eventReciveInfo , createReceiveInfo ) ;
} else {
CreateMaterialShipRequestDetailInfo createInfo = new CreateMaterialShipRequestDetailInfo ( ) ;
createInfo . setSiteName ( sitename ) ;
createInfo . setShipRequestName ( shipRequestName ) ;
createInfo . setShipRequestDetailName ( shipRequestDetailName ) ;
createInfo . setMaterialSpecName ( materialSpecName ) ;
/ / 精度丢失处理
BigDecimal bigRequestQuantity = new BigDecimal ( requestQuantity . trim ( ) ) ;
createInfo . setRequestQuantity ( bigRequestQuantity . doubleValue ( ) ) ;
createInfo . setAssignedQuantity ( 0 ) ;
createInfo . setUserColumns ( bindMapItem ) ;
EventInfo eventInfo = new EventInfo ( ) ;
eventInfo . setEventTime ( TimeStampUtil . getCurrentTimestamp ( ) ) ;
eventInfo . setEventUser ( createUser ) ;
eventInfo . setEventName ( " CreateMaterialShipRequest " ) ;
MaterialShipRequestDetailServiceProxy . getMaterialShipRequestDetailService ( ) . create ( createInfo ) ;
}
createInfo . setUserColumns ( bindMapItem ) ;
EventInfo eventInfo = new EventInfo ( ) ;
eventInfo . setEventTime ( TimeStampUtil . getCurrentTimestamp ( ) ) ;
eventInfo . setEventUser ( createUser ) ;
eventInfo . setEventName ( " CreateMaterialShipRequest " ) ;
MaterialShipRequestDetailServiceProxy . getMaterialShipRequestDetailService ( ) . create ( createInfo ) ;
} else {
NonPrimaryKeyValueInfo nonPrimaryKeyValueInfo = new NonPrimaryKeyValueInfo ( ) ;
@ -1329,6 +1472,7 @@ public class SAPToWMSController {
bindMapItem . put ( " causeOfMovement " , causeOfMovement ) ;
bindMapItem . put ( " goalMaterialSpec " , ummat ) ;
bindMapItem . put ( " phase " , phase ) ;
bindMapItem . put ( " saleOutQuantity " , 0 ) ;
nonPrimaryKeyValueInfo . setUserColumns ( bindMapItem ) ;
EventInfo eventInfo = new EventInfo ( ) ;
@ -1336,7 +1480,25 @@ public class SAPToWMSController {
eventInfo . setEventUser ( createUser ) ;
eventInfo . setEventName ( " updateMaterialShipRequest " ) ;
MaterialShipRequestDetailServiceProxy . getMaterialShipRequestDetailService ( ) . setEvent ( mrdk , nonPrimaryKeyValueInfo ) ;
/ / 如果是成本退
if ( " 07 " . equals ( shipRequestType ) | | " 03 " . equals ( shipRequestType ) ) {
com . cim . idm . wmspackage . receiverequestdetail . management . info . SetEventInfo setReciveInfo = new com . cim . idm . wmspackage . receiverequestdetail . management . info . SetEventInfo ( ) ;
MaterialReceiveRequestDetailKey receiveRequestDetailKey = new MaterialReceiveRequestDetailKey ( ) ;
MaterialReceiveRequestDetail receiveRequestDetail = new MaterialReceiveRequestDetail ( ) ;
receiveRequestDetailKey . setReceiveRequestDetailName ( shipRequestDetailName ) ;
receiveRequestDetailKey . setReceiveRequestName ( shipRequestName ) ;
receiveRequestDetailKey . setSiteName ( sitename ) ;
setReciveInfo . setUserColumns ( bindMapItem ) ;
ReceiveRequestDetailServiceProxy . getReceiveRequestDetailService ( ) . setEvent ( receiveRequestDetailKey , eventInfo , setReciveInfo ) ;
} else {
MaterialShipRequestDetailServiceProxy . getMaterialShipRequestDetailService ( ) . setEvent ( mrdk , nonPrimaryKeyValueInfo ) ;
}
}
}
@ -1384,6 +1546,7 @@ public class SAPToWMSController {
IDMFrameServiceProxy . getTransactionManager ( ) . rollbackTransaction ( ) ;
Map < String , Object > errorReturn = new HashMap < > ( ) ;
errorReturn . put ( " STATUS " , " E " ) ;
log . info ( e . toString ( ) ) ;
errorReturn . put ( " MSGTXT " , " 预留单/领料单下发失败 " + e . getMessage ( ) ) ;
errorReturn . put ( " HEAD " , request . getHEAD ( ) ) ;
/ / errorReturn . put ( " BODY " , request . getBODY ( ) ) ;
@ -1524,19 +1687,36 @@ public class SAPToWMSController {
String carFlag = MapUtils . getString ( data , " Z_SSEND " ) ; / / 是否需要专车派送
String factoryName = MapUtils . getString ( data , " WERKS " ) ; / / 工厂
List < Map < String , Object > > checkResultList = new ArrayList < > ( ) ;
List < Map < String , Object > > checkResultList2 = new ArrayList < > ( ) ;
Map < String , Object > selectMap = new HashMap < String , Object > ( ) ;
selectMap . put ( " SHIPREQUESTNAME " , shipRequestName ) ;
/ / 如果是销售退货
if ( " ZLR1 " . equals ( shipRequestType ) ) {
String sqlCheck = " SELECT * FROM MATERIALRECEIVEREQUEST m WHERE RECEIVEREQUESTNAME =:SHIPREQUESTNAME " ;
checkResultList = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sqlCheck , selectMap ) ;
if ( checkResultList ! = null & & checkResultList . size ( ) > 0 ) {
String sql = " DELETE FROM MATERIALRECEIVEREQUEST WHERE RECEIVEREQUESTNAME =? " ;
Object [ ] obj = new Object [ ] { shipRequestName } ;
IDMFrameServiceProxy . getSqlTemplate ( ) . update ( sql , obj ) ;
}
checkResultList2 = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sqlCheck , selectMap ) ;
} else {
String sqlCheck = " SELECT * FROM materialshiprequest m WHERE shiprequestname =:SHIPREQUESTNAME " ;
checkResultList = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sqlCheck , selectMap ) ;
if ( checkResultList ! = null & & checkResultList . size ( ) > 0 ) {
String sql = " DELETE FROM materialshiprequest WHERE shiprequestname =? " ;
Object [ ] obj = new Object [ ] { shipRequestName } ;
IDMFrameServiceProxy . getSqlTemplate ( ) . update ( sql , obj ) ;
}
checkResultList2 = IDMFrameServiceProxy . getSqlTemplate ( ) . queryForList ( sqlCheck , selectMap ) ;
}
if ( checkResultList = = null | | checkResultList . size ( ) = = 0 ) {
if ( checkResultList 2 = = null | | checkResultList 2 . size ( ) = = 0 ) {
Map < String , Object > bindMap = new HashMap < String , Object > ( ) ;
bindMap . put ( " shipRequestDec " , shiprequestdec ) ;
@ -1547,6 +1727,7 @@ public class SAPToWMSController {
bindMap . put ( " orderDateStr " , orderDate ) ;
bindMap . put ( " erpFactory " , factoryName ) ;
bindMap . put ( " planDate " , planDate ) ; / / 计划交货日期
/ / NEW
bindMap . put ( " customerOrder " , customerOrder ) ; / / 客户订单号
bindMap . put ( " customerArea " , customerArea ) ; / / 客户大区
@ -1582,6 +1763,7 @@ public class SAPToWMSController {
/ / shipRequestList . add ( shipRequestName ) ;
createInfo . setSystemType ( " ERP " ) ;
bindMap . put ( " createTime " , orderDate ) ; / / 创建日期
createInfo . setUserColumns ( bindMap ) ;
EventInfo eventInfo = new EventInfo ( ) ;
@ -1665,7 +1847,10 @@ public class SAPToWMSController {
EventInfo eventInfo = new EventInfo ( ) ;
eventInfo . setEventName ( " ModifyMaterialShipRequest " ) ;
eventInfo . setEventUser ( createUser ) ;
MaterialShipRequestServiceProxy . getMaterialShipRequestService ( ) . setEvent ( key , eventInfo , info ) ;
}
}
@ -1775,6 +1960,7 @@ public class SAPToWMSController {
bindMapItem . put ( " sendSalesOrder " , sendSaleOrder ) ; / / 销售订单
bindMapItem . put ( " sendSalesOrderDetailNo " , sendSaleOrderDetailNo ) ; / / 销售订单行号
bindMapItem . put ( " sourceNo " , sourceNo ) ; / / 原单号
bindMapItem . put ( " saleOutQuantity " , 0 ) ;
/ / 根据料号获取阶段
String materialSql = " SELECT m.PHASE FROM MATERIALSPEC m WHERE MATERIALSPECNAME = :MATERIALSPECNAME " ;
@ -1851,6 +2037,7 @@ public class SAPToWMSController {
bindMapItem . put ( " sendSalesOrder " , sendSaleOrder ) ; / / 销售订单
bindMapItem . put ( " sendSalesOrderDetailNo " , sendSaleOrderDetailNo ) ; / / 销售订单行号
bindMapItem . put ( " sourceNo " , sourceNo ) ; / / 原单号
bindMapItem . put ( " saleOutQuantity " , 0 ) ;
nonPrimaryKeyValueInfo . setUserColumns ( bindMapItem ) ;
setReciveInfo . setUserColumns ( bindMapItem ) ;