fix:添加拆分调整
This commit is contained in:
parent
5ef45cc258
commit
d8e8fecae8
@ -237,7 +237,7 @@ public class MESServiceImpl implements MESService{
|
||||
}
|
||||
|
||||
public Boolean OutMaterialInfoSend_NEW2(String shipRequestName, String siteName, String receiveActNo, String wo,
|
||||
String erpReceiveLocation,String erpReceiveFactory,List<String> boxList) throws CustomException{
|
||||
String erpReceiveLocation,String erpReceiveFactory,List<String> boxList,String user) throws CustomException{
|
||||
|
||||
//根据单据获取要发送MES的信息
|
||||
String sql="SELECT * from(\r\n" +
|
||||
@ -287,7 +287,7 @@ public class MESServiceImpl implements MESService{
|
||||
|
||||
// 写log
|
||||
ErpMessageLog erplog = new ErpMessageLog();
|
||||
erplog.setEventUser("");
|
||||
erplog.setEventUser(user);
|
||||
erplog.setServerName("WmsToMES");
|
||||
erplog.setEventName("OutMaterialInfoSend");
|
||||
erplog.setInterfaceTime(TimeStampUtil.getCurrentTime(TimeStampUtil.FORMAT_DEFAULT));
|
||||
|
@ -4660,6 +4660,7 @@ public class ToSAPServiceImpl {
|
||||
.append(" :AIMERPLOCATION AS UMLGO_RECIEVEERPLOCATION, ").append(SystemPropHelper.CR)
|
||||
.append(" MP.MATERIALQUANTITY , ").append(SystemPropHelper.CR)
|
||||
.append(" MP.UNIT, ").append(SystemPropHelper.CR)
|
||||
.append(" MP.POCATEGORY, ").append(SystemPropHelper.CR)
|
||||
.append(" MP.PACKINGGRADE, ").append(SystemPropHelper.CR)
|
||||
.append(" MP.LOCATIONNAME AS NULL_RECIVELOCAITONNAME ").append(SystemPropHelper.CR)
|
||||
.append(" FROM ").append(SystemPropHelper.CR)
|
||||
@ -4769,6 +4770,11 @@ public class ToSAPServiceImpl {
|
||||
// //ZLLITEM 自定义领料单行号
|
||||
// item.put("ZLLITEM", mm.get("SHIPREQUESTDETAILNAME"));
|
||||
|
||||
// 如果是E库存的批次,需要设置SOBKZ为E
|
||||
if("4".equals(mm.get("POCATEGORY"))) {
|
||||
item.put("SOBKZ", "E");
|
||||
}
|
||||
|
||||
itemArray.add(item);
|
||||
|
||||
}
|
||||
|
@ -8,10 +8,7 @@ import com.cim.idm.framework.data.EventInfo;
|
||||
import com.cim.idm.model.*;
|
||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||
import com.cim.idm.service.QueryService;
|
||||
import com.cim.idm.utils.AjaxResult;
|
||||
import com.cim.idm.utils.EventInfoUtil;
|
||||
import com.cim.idm.utils.PageResult;
|
||||
import com.cim.idm.utils.ToUpperUtils;
|
||||
import com.cim.idm.utils.*;
|
||||
import com.cim.idm.wmsextend.generic.errorHandler.CustomException;
|
||||
import com.cim.idm.wmspackage.materialpacking.MaterialPackingServiceProxy;
|
||||
import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPackingKey;
|
||||
@ -48,7 +45,7 @@ public class InvoiceController {
|
||||
@Autowired
|
||||
private QueryService queryService;
|
||||
|
||||
|
||||
CommonUtils untils=new CommonUtils();
|
||||
|
||||
/******************************************************************************************************************************/
|
||||
/*****************************************调拨入库单********************************************************************************/
|
||||
@ -1834,18 +1831,8 @@ public class InvoiceController {
|
||||
List<Map<String, Object>> queryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(ressSql, hashMap);
|
||||
|
||||
// 如果是需要判定E库存的话,则进行判定
|
||||
String EStockSql = "SELECT ENUMVALUE FROM ENUMDEFVALUE WHERE ENUMNAME = 'EStockType'";
|
||||
List<Map<String, Object>> EnumList = IDMFrameServiceProxy.getSqlTemplate().queryForList(EStockSql);
|
||||
String enumvalue = EnumList.get(0).get("ENUMVALUE").toString();
|
||||
if("Y".equals(enumvalue)) {
|
||||
for (int i = 0; i < queryForList.size(); i++) {
|
||||
queryForList = untils.checkEStore(queryForList, shipRequestName);
|
||||
|
||||
String saleshiprequestname = queryForList.get(i).get("SALESHIPREQUESTNAME") == null ? "" : queryForList.get(i).get("SALESHIPREQUESTNAME").toString();
|
||||
if(!saleshiprequestname.isEmpty() && !saleshiprequestname.equals(shipRequestName)) {
|
||||
queryForList.remove(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return AjaxResult.me().setResultObj(queryForList);
|
||||
}
|
||||
|
@ -159,7 +159,10 @@ public class PalletStockInAndOutController {
|
||||
//List<com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking> selectByKey = MaterialPackingServiceProxy.getMaterialPackingService().selectByKey(mpkeyList);
|
||||
|
||||
// List<com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking> detail = palletDto.getDetail();
|
||||
ProductIntoServiceImpl.fgStockInNew(mpkeyList, user, ReceiveRequestActNo, commitDate, opCode);
|
||||
|
||||
|
||||
// ProductIntoServiceImpl.fgStockInNew(mpkeyList, user, ReceiveRequestActNo, commitDate, opCode);
|
||||
ProductIntoServiceImpl.fgStockInByManul(mpkeyList, user, ReceiveRequestActNo, commitDate, opCode);
|
||||
|
||||
// java.util.Calendar c = java.util.Calendar.getInstance();
|
||||
// java.text.SimpleDateFormat f = new java.text.SimpleDateFormat(
|
||||
|
@ -767,6 +767,7 @@ public class InvoiceServiceImpl implements InvoiceService {
|
||||
bindMap.put("expiringDate", queryForList3.get(0).get("EXPIRINGDATE"));
|
||||
bindMap.put("ReceiveTime", queryForList3.get(0).get("RECEIVETIME"));
|
||||
bindMap.put("unit", queryForList3.get(0).get("UNIT"));
|
||||
bindMap.put("CUSTOMNO", queryForList3.get(0).get("CUSTOMNO"));
|
||||
|
||||
bindMap.put("ReceiveUser", makeEventInfo.getEventUser());
|
||||
bindMap.put("ErpLocation", erpLocation);
|
||||
@ -2101,6 +2102,10 @@ public class InvoiceServiceImpl implements InvoiceService {
|
||||
hashMap.put("SITENAME", "SDK");
|
||||
hashMap.put("SHIPREQUESTNAME", shiprequestname);
|
||||
List<Map<String, Object>> queryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(sql, hashMap);
|
||||
|
||||
//如果是需要判定E库存的话,则进行判定
|
||||
queryForList = untils.checkEStore(queryForList, shiprequestname);
|
||||
|
||||
return queryForList;
|
||||
}catch(Throwable e) {
|
||||
throw e;
|
||||
@ -3258,8 +3263,15 @@ public class InvoiceServiceImpl implements InvoiceService {
|
||||
}
|
||||
|
||||
//记录到拆分表
|
||||
String subsql = "SELECT RECEIVEREQUESTDETAILNAME FROM MATERIALPACKINGSUB WHERE RECEIVEREQUESTNAME = :RECEIVEREQUESTNAME AND MATERIALPACKINGNAME = :MATERIALPACKINGNAME\n";
|
||||
Map<String, Object> subHashMap = new HashMap<String, Object>();
|
||||
subHashMap.put("RECEIVEREQUESTNAME", shipRequestName);
|
||||
subHashMap.put("MATERIALPACKINGNAME", MATERIALPACKINGNAME);
|
||||
List<Map<String, Object>> ZKqueryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(subsql, subHashMap);
|
||||
String preReceiverequestdetailname = ZKqueryForList.get(0).get("RECEIVEREQUESTDETAILNAME").toString();
|
||||
|
||||
String shipRequestDetailName = qtyQueryForList.get(z).getShipRequestDetailName() == null ? "" : qtyQueryForList.get(z).getShipRequestDetailName().toString();
|
||||
untils.fahuoSplit(newPalletNo, shipRequestName, shipRequestDetailName, bigQty2);
|
||||
untils.fahuoSplit(newPalletNo, shipRequestName, preReceiverequestdetailname, bigQty2);
|
||||
|
||||
// 原条码扣减拆出的数量,用剩余数量更新原条码,条码不变,数量更新
|
||||
SetEventInfo setEventInfo = new SetEventInfo();
|
||||
@ -3347,15 +3359,15 @@ public class InvoiceServiceImpl implements InvoiceService {
|
||||
hashMapZK.put("SHIPREQUESTNAME", shipRequestName);
|
||||
hashMapZK.put("SITENAME", siteName);
|
||||
List<Map<String, Object>> ZKqueryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(sqlZK.toString(), hashMapZK);
|
||||
|
||||
List<String> SUBList = new ArrayList<> ();
|
||||
for (int z = 0; z < ZKqueryForList.size(); z++) {
|
||||
String materialPackingName = ZKqueryForList.get(z).get("MATERIALPACKINGNAME").toString();
|
||||
materialPackingKeyList.add(materialPackingName);
|
||||
SUBList.add(materialPackingName);
|
||||
MaterialPackingKey materialPackingKey = new MaterialPackingKey("SDK",materialPackingName);
|
||||
arrayList.add(materialPackingKey);
|
||||
}
|
||||
// billCode = UnSourcedChangeLocation(arrayList,ERPRECEIVEFACTORY,
|
||||
// ERPRECEIVELOCATION, "", eventUser, commitDate );
|
||||
billCode = UnSourcedChangeLocation(arrayList,ERPRECEIVEFACTORY,
|
||||
ERPRECEIVELOCATION, "", eventUser, commitDate );
|
||||
|
||||
List<MaterialPackingKey> mpKeyList = new ArrayList<MaterialPackingKey> ();
|
||||
SetEventInfo setEventInfo = new SetEventInfo();
|
||||
@ -3373,7 +3385,7 @@ public class InvoiceServiceImpl implements InvoiceService {
|
||||
setEventInfo.setUserColumns(hashMapPack);
|
||||
MaterialPackingServiceProxy.getMaterialPackingService().setEvent(mpKeyList, makeEventInfo, setEventInfo);
|
||||
//抛送MES数据
|
||||
Boolean success = untils.sendMaterialInfoToMES_NEW2(shipRequestName, "", materialPackingKeyList,billCode,eventUser);
|
||||
Boolean success = untils.sendMaterialInfoToMES_NEW2(shipRequestName, "", SUBList,billCode,eventUser);
|
||||
|
||||
if (!success) {
|
||||
String undo = cancelShipInter(billCode, eventUser);
|
||||
|
@ -1030,6 +1030,7 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
|
||||
public String TransferStockOut_NLCC(String shipRequestName, String siteName, String user,List<String> boxList,String commitDate) throws Exception {
|
||||
String rcode;
|
||||
String undoId = "";
|
||||
String key01 = "";
|
||||
String rmsg = null;
|
||||
String sql=" SELECT \r\n" +
|
||||
" count(*) AS ZROL, \r\n" +
|
||||
@ -1140,15 +1141,21 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
|
||||
org.json.JSONObject returnJsonObject = (org.json.JSONObject) receiveJsonObject.get("RETURN");
|
||||
rcode = returnJsonObject.get("STATUS").toString();
|
||||
rmsg = returnJsonObject.get("MSGTXT").toString();
|
||||
key01 = returnJsonObject.get("KEY01") == null ? "" : returnJsonObject.get("KEY01").toString(); // 返回单号,后面用单号冲销
|
||||
|
||||
if ("S".equals(rcode)) {
|
||||
undoId = "S";
|
||||
if(key01.isEmpty()) {
|
||||
undoId = "S";
|
||||
}else {
|
||||
undoId = key01;
|
||||
}
|
||||
|
||||
}
|
||||
//将log写到表里
|
||||
ErpMessageLog erplog = new ErpMessageLog();
|
||||
erplog.setEventUser("");
|
||||
erplog.setServerName("WmsToErp");
|
||||
erplog.setEventName("调拨出库(NLCC)");
|
||||
erplog.setEventName("辅材出库-调拨出库(NLCC)");
|
||||
erplog.setInterfaceTime(TimeStampUtil.getCurrentTime(TimeStampUtil.FORMAT_DEFAULT));
|
||||
erplog.setMessageId(UUID.randomUUID().toString());
|
||||
erplog.setSendMsg(sendData.toJSONString());
|
||||
|
@ -246,6 +246,29 @@ public class CommonUtils {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 检验是否是E库存,如果是E库存不显示,并把过滤的数据返回
|
||||
* @param queryForList
|
||||
* @param shipRequestName
|
||||
* @return
|
||||
*/
|
||||
public List<Map<String, Object>> checkEStore(List<Map<String, Object>> queryForList,String shipRequestName)
|
||||
{
|
||||
String EStockSql = "SELECT ENUMVALUE FROM ENUMDEFVALUE WHERE ENUMNAME = 'EStockType'";
|
||||
List<Map<String, Object>> EnumList = IDMFrameServiceProxy.getSqlTemplate().queryForList(EStockSql);
|
||||
String enumvalue = EnumList.get(0).get("ENUMVALUE").toString();
|
||||
if("Y".equals(enumvalue)) {
|
||||
for (int i = 0; i < queryForList.size(); i++) {
|
||||
|
||||
String saleshiprequestname = queryForList.get(i).get("SALESHIPREQUESTNAME") == null ? "" : queryForList.get(i).get("SALESHIPREQUESTNAME").toString();
|
||||
if(!saleshiprequestname.isEmpty() && !saleshiprequestname.equals(shipRequestName)) {
|
||||
queryForList.remove(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
return queryForList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 检验是否是否有组织权限
|
||||
* @param password
|
||||
@ -809,7 +832,7 @@ public void SaveUnDoInfo_ForSap(List<String> list, String undoid, EventInfo mak
|
||||
// 调用MESServiceImpl的OutMaterialInfoSend_NEW方法,发送物料信息到MES系统
|
||||
success = mesService.OutMaterialInfoSend_NEW2(invoiceNo, "SDK", receiveActNo, "",
|
||||
sr.get(0).get("ERPRECEIVELOCATION")==null?"":sr.get(0).get("ERPRECEIVELOCATION").toString()
|
||||
,sr.get(0).get("ERPRECEIVEFACTORY")==null?"":sr.get(0).get("ERPRECEIVEFACTORY").toString(),boxList );
|
||||
,sr.get(0).get("ERPRECEIVEFACTORY")==null?"":sr.get(0).get("ERPRECEIVEFACTORY").toString(),boxList,user );
|
||||
|
||||
}
|
||||
} catch (CustomException e) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user