Compare commits
2 Commits
c448c21e48
...
e2e25a1e39
Author | SHA1 | Date | |
---|---|---|---|
e2e25a1e39 | |||
c1a212376a |
@ -134,15 +134,8 @@ public class MaterialPacking extends FieldAccessor implements DataInfo<MaterialP
|
||||
private String lastHoldUser; //最近一次冻结人
|
||||
private String preOqaResult; // 质检前状态
|
||||
|
||||
private String SALESHIPREQUESTNAME; // 销售订单号
|
||||
|
||||
public String getSALESHIPREQUESTNAME() {
|
||||
return SALESHIPREQUESTNAME;
|
||||
}
|
||||
|
||||
public void setSALESHIPREQUESTNAME(String SALESHIPREQUESTNAME) {
|
||||
this.SALESHIPREQUESTNAME = SALESHIPREQUESTNAME;
|
||||
}
|
||||
private String saleShipRequestName; // 销售订单号
|
||||
private String saleShipRequestDetailName; // 销售订单号行项
|
||||
|
||||
public String getLastHoldUser() {
|
||||
return lastHoldUser;
|
||||
@ -1021,6 +1014,22 @@ public class MaterialPacking extends FieldAccessor implements DataInfo<MaterialP
|
||||
this.POCATEGORY = POCATEGORY;
|
||||
}
|
||||
|
||||
public String getSaleShipRequestName() {
|
||||
return saleShipRequestName;
|
||||
}
|
||||
|
||||
public void setSaleShipRequestName(String saleShipRequestName) {
|
||||
this.saleShipRequestName = saleShipRequestName;
|
||||
}
|
||||
|
||||
public String getSaleShipRequestDetailName() {
|
||||
return saleShipRequestDetailName;
|
||||
}
|
||||
|
||||
public void setSaleShipRequestDetailName(String saleShipRequestDetailName) {
|
||||
this.saleShipRequestDetailName = saleShipRequestDetailName;
|
||||
}
|
||||
|
||||
public static class Field {
|
||||
public static final String messageID = "messageId";
|
||||
}
|
||||
|
@ -5595,8 +5595,111 @@ public class ToSAPServiceImpl {
|
||||
return undoId;
|
||||
|
||||
}
|
||||
// 业助更新过账
|
||||
public String careerAssistance(List<String> sapBoxList,String siteName, String user,String SALESHIPREQUESTNAME,String SALESHIPREQUESTDETAILNAME,String commitDate) {
|
||||
String moveType= "";
|
||||
String rcode;
|
||||
String undoId = "";
|
||||
String rmsg = null;
|
||||
|
||||
public String qmsResultFeekback(String siteName,String user, List<String> boxList) throws Exception{
|
||||
//依据采购订单,查询待入库的物料(MATERIALPACKING)
|
||||
StringBuffer sql = new StringBuffer();
|
||||
sql.append("SELECT m.MATERIALSPECNAME ,").append(SystemPropHelper.CR)
|
||||
.append(" m.ERPFACTORY ,").append(SystemPropHelper.CR)
|
||||
.append(" m.ERPLOCATION ,").append(SystemPropHelper.CR)
|
||||
.append(" m.PACKINGGRADE, ").append(SystemPropHelper.CR)
|
||||
.append(" m.UNIT ,").append(SystemPropHelper.CR)
|
||||
.append(" m.POSTSTATUS ,").append(SystemPropHelper.CR)
|
||||
.append(" m.MESSAGEID ,").append(SystemPropHelper.CR)
|
||||
.append(" m.SALESHIPREQUESTNAME ,").append(SystemPropHelper.CR)
|
||||
.append(" m.SALESHIPREQUESTDETAILNAME ,").append(SystemPropHelper.CR)
|
||||
.append(" sum(m.MATERIALQUANTITY) MATERIALQUANTITY").append(SystemPropHelper.CR)
|
||||
.append(" FROM MATERIALPACKING m ").append(SystemPropHelper.CR)
|
||||
// .append(" WHERE m.RECEIVEACTNO = :RECEIVEACTNO AND m.SITENAME = :SITENAME ").append(SystemPropHelper.CR)
|
||||
.append(" WHERE m.MATERIALPACKINGNAME IN (:BOXLIST) AND m.SITENAME = :SITENAME").append(SystemPropHelper.CR)
|
||||
.append("GROUP BY m.MATERIALSPECNAME ,m.ERPFACTORY ,m.ERPLOCATION ,m.PACKINGGRADE,m.UNIT ");
|
||||
|
||||
Map<String, Object> hashMap = new HashMap<String, Object>();
|
||||
hashMap.put("SITENAME", siteName);
|
||||
hashMap.put("BOXLIST", sapBoxList);
|
||||
List<Map<String, Object>> queryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(sql.toString(), hashMap);
|
||||
try {
|
||||
|
||||
Map<String,Object> bodyData = new HashMap<>();
|
||||
bodyData.put("BKTXT", user);
|
||||
List<Map<String,Object>> itemData = new ArrayList<>();
|
||||
|
||||
for (Map<String, Object> mm : queryForList) {
|
||||
|
||||
moveType = mm.get("POSTSTATUS").toString();
|
||||
//UMWRK 收货工厂
|
||||
//LGORT 发货库存地点
|
||||
//UMLOG 收货库存地点
|
||||
//MATNR 发货物料号
|
||||
//UMMAT 收货物料
|
||||
Map<String,Object> item = new HashMap<>();
|
||||
item.put("MATNR", mm.get("MATERIALSPECNAME"));
|
||||
item.put("LGORT", mm.get("ERPLOCATION"));
|
||||
item.put("WERKS", mm.get("ERPFACTORY"));
|
||||
item.put("BWART",moveType);
|
||||
item.put("MENGE", mm.get("MATERIALQUANTITY"));
|
||||
item.put("MEINS", mm.get("UNIT"));
|
||||
String insmk = "";
|
||||
// if("NG".equals(pqcResult) ){
|
||||
// insmk = "3";
|
||||
// }
|
||||
// String insmk = StringUtils.equals(mm.get("OQARESULTSTATE").toString(),"END")?"":"X";
|
||||
item.put("INSMK", insmk);
|
||||
|
||||
if("411E".equals(moveType) || "413E".equals(moveType)) {
|
||||
item.put("MAT_KDAUF", mm.get("SALESHIPREQUESTNAME")); // 发货销售订单编码
|
||||
item.put("MAT_KDPOS", mm.get("SALESHIPREQUESTDETAILNAME")); // 发货销售订单项目编码
|
||||
} else if("413".equals(moveType) || "413E".equals(moveType)) {
|
||||
item.put("UMMAT_KDAUF", SALESHIPREQUESTNAME); // 发货销售订单编码
|
||||
item.put("UMMAT_KDPOS", SALESHIPREQUESTDETAILNAME); // 发货销售订单项目编码
|
||||
}
|
||||
|
||||
itemData.add(item);
|
||||
|
||||
}
|
||||
// TimeStampUtil.getCurrentTime("yyyyMMdd")
|
||||
String sendData = ToSAPMessageUtil.mm067(user, bodyData, itemData,commitDate);
|
||||
|
||||
String sapreturn = toSAPMessageUtil.sendHttpPost(toSAPMessageUtil.materialChangeLocationUrl,"",sendData);
|
||||
org.json.JSONObject receiveJsonObject = new org.json.JSONObject(sapreturn);
|
||||
|
||||
org.json.JSONObject returnJsonObject = (org.json.JSONObject) receiveJsonObject.get("RETURN");
|
||||
rcode = returnJsonObject.get("STATUS").toString();
|
||||
rmsg = returnJsonObject.get("MSGTXT").toString();
|
||||
|
||||
if ("S".equals(rcode)) {
|
||||
undoId = returnJsonObject.get("MBLNR").toString()+"_"+returnJsonObject.get("MJAHR").toString();//将物料凭证号与凭证年度拼在一起
|
||||
}
|
||||
//将log写到表里
|
||||
ErpMessageLog erplog = new ErpMessageLog();
|
||||
erplog.setEventUser("");
|
||||
erplog.setServerName("WmsToErp");
|
||||
erplog.setEventName("iqcResultFeekback");
|
||||
erplog.setInterfaceTime(TimeStampUtil.getCurrentTime(TimeStampUtil.FORMAT_DEFAULT));
|
||||
erplog.setMessageId(UUID.randomUUID().toString());
|
||||
erplog.setSendMsg(sendData);
|
||||
erplog.setSendMsg2(sendData);
|
||||
erplog.setSendMsg(sendData);
|
||||
erplog.setReturnMsg2(sapreturn);
|
||||
erplog.setResultCode(rcode);
|
||||
MessageLogUtil.writeMessageLog(erplog);
|
||||
} catch (Exception e) {
|
||||
log.info(e.getMessage(), e);
|
||||
throw new RuntimeException("SAP返回" + rmsg);
|
||||
}
|
||||
if (!"S".equals(rcode)) {
|
||||
throw new RuntimeException("SAP返回" + rmsg);
|
||||
}
|
||||
return undoId;
|
||||
|
||||
}
|
||||
|
||||
public String qmsResultFeekback(String siteName,String user, List<String> boxList) throws Exception{
|
||||
|
||||
String moveType= "";
|
||||
String rcode;
|
||||
|
@ -3,9 +3,11 @@ package com.cim.idm.service.Impl;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cim.idm.dao.CostCenterDao;
|
||||
import com.cim.idm.exception.GlobalException;
|
||||
import com.cim.idm.model.CostCenter;
|
||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||
import com.cim.idm.service.CostCenterService;
|
||||
import com.cim.idm.service.impl.ToSAPServiceImpl;
|
||||
import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@ -13,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -22,6 +25,9 @@ public class CostCenterServiceImpl implements CostCenterService {
|
||||
@Autowired
|
||||
private CostCenterDao costCenterDao;
|
||||
|
||||
@Autowired
|
||||
private ToSAPServiceImpl toSAPService;
|
||||
|
||||
@Override
|
||||
public List<CostCenter> getCostCenter() {
|
||||
return costCenterDao.getCostCenter();
|
||||
@ -39,14 +45,19 @@ public class CostCenterServiceImpl implements CostCenterService {
|
||||
List<MaterialPacking> boxList = sl.getBoxList();
|
||||
String SALESHIPREQUESTNAME = sl.getSALESHIPREQUESTNAME();
|
||||
String SALESHIPREQUESTDETAILNAME = sl.getSALESHIPREQUESTDETAILNAME();
|
||||
String user = sl.getUser();
|
||||
String commitDate = sl.getCommitDate();
|
||||
|
||||
String siteName = sl.getSiteName();
|
||||
// 借用人
|
||||
String career_ASSISTANCE = sl.getRemark();
|
||||
|
||||
List<String> sapBoxList = new ArrayList<>();
|
||||
for (MaterialPacking materialPacking : boxList) {
|
||||
// 条码
|
||||
String materialPackingName = materialPacking.getMaterialPackingName();
|
||||
// 原销售订单号
|
||||
String saleshiprequestname = materialPacking.getSALESHIPREQUESTNAME();
|
||||
String saleshiprequestname = materialPacking.getSaleShipRequestName();
|
||||
// 物料编号
|
||||
String materialSpecName = materialPacking.getMaterialSpecName();
|
||||
// 批次号
|
||||
@ -55,25 +66,42 @@ public class CostCenterServiceImpl implements CostCenterService {
|
||||
String phase = materialPacking.getPHASE();
|
||||
// 客户
|
||||
String customno = materialPacking.getCUSTOMNO();
|
||||
// 过账状态
|
||||
|
||||
if(saleshiprequestname.equals(SALESHIPREQUESTNAME)) {
|
||||
throw new GlobalException(SALESHIPREQUESTNAME + "销售订单号不能相等");
|
||||
}
|
||||
|
||||
// 过账状态 移动类型
|
||||
String POSTSTATUS = "";
|
||||
if (StringUtils.isEmpty(saleshiprequestname) && StringUtils.isNotEmpty(SALESHIPREQUESTNAME)){
|
||||
POSTSTATUS = "0";
|
||||
} else if (StringUtils.isNotEmpty(saleshiprequestname) && StringUtils.isEmpty(SALESHIPREQUESTNAME)){
|
||||
POSTSTATUS = "1";
|
||||
} else if (StringUtils.isNotEmpty(saleshiprequestname) && StringUtils.isNotEmpty(SALESHIPREQUESTNAME)){
|
||||
POSTSTATUS = "2";
|
||||
POSTSTATUS = "413";//从非限制转E库存
|
||||
}
|
||||
else if (StringUtils.isNotEmpty(saleshiprequestname) && StringUtils.isEmpty(SALESHIPREQUESTNAME)){
|
||||
POSTSTATUS = "411E"; //从E库存转非限制
|
||||
}
|
||||
else if (StringUtils.isNotEmpty(saleshiprequestname) && StringUtils.isNotEmpty(SALESHIPREQUESTNAME) && !saleshiprequestname.equals(SALESHIPREQUESTNAME)){
|
||||
POSTSTATUS = "413E"; //从E库存转E库存
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (StringUtils.isEmpty(materialPacking.getCAREER_ASSISTANCE()) || materialPacking.getCAREER_ASSISTANCE().equals(career_ASSISTANCE)){
|
||||
// 更新
|
||||
costCenterDao.updatePacking(SALESHIPREQUESTNAME, SALESHIPREQUESTDETAILNAME, POSTSTATUS, materialPackingName);
|
||||
sapBoxList.add( materialPackingName);
|
||||
} else {
|
||||
// 新增
|
||||
costCenterDao.insertPackingChenk(SALESHIPREQUESTNAME, SALESHIPREQUESTDETAILNAME,
|
||||
materialPackingName, siteName, materialSpecName, charge,phase,
|
||||
customno, career_ASSISTANCE,POSTSTATUS);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(sapBoxList.size() > 0) {
|
||||
String undoId = toSAPService.careerAssistance(sapBoxList,siteName,user,SALESHIPREQUESTNAME,SALESHIPREQUESTDETAILNAME,commitDate);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -453,12 +453,12 @@ public class MESToWMSServiceImpl implements MESToWMSService {
|
||||
+ " AND bm.ERPFACTORY = :ERPFACTORY";
|
||||
String insertSql = SystemPropHelper.CR + "INSERT INTO BS_MES_SHIPPED(LOTNAME,QTY, UNIT, REQUESTNAME, AREA, "
|
||||
+ "PRODUCTSPECNAME, PRODUCTNAME, SDK_ID, PHASE, RECEIVE_FLAG, REMARK, SHIPTIME, "
|
||||
+ "SHIPUSER, SITENAME, MATERIALSPECTYPE,"
|
||||
+ "SHIPUSER, SITENAME, MATERIALSPECTYPE,SALESHIPREQUESTNAME,SALESHIPREQUESTDETAILNAME,"
|
||||
+ "INVENTORYTYPE, SALENO, SALEDETAILNO, ERPLOCATION, CHARGE, LOCATIONNAME, "
|
||||
+ "OPERATIONTYPE, MAKEDATE,ERPFACTORY,GXID)" + SystemPropHelper.CR
|
||||
+ " VALUES(:LOTNAME,:QTY,:UNIT,:REQUESTNAME, :AREA, "
|
||||
+ ":PRODUCTSPECNAME, :PRODUCTNAME, :SDK_ID, :PHASE, 'N', :REMARK, :SHIPTIME, "
|
||||
+ "'MES', 'SDK', :MATERIALSPECTYPE, "
|
||||
+ "'MES', 'SDK', :MATERIALSPECTYPE, :SALESHIPREQUESTNAME,:SALESHIPREQUESTDETAILNAME,"
|
||||
+ ":INVENTORYTYPE, :SALENO, :SALEDETAILNO, :ERPLOCATION, :CHARGE, :LOCATIONNAME, "
|
||||
+ ":OPERATIONTYPE,TO_DATE(:MAKEDATE, 'YYYY-MM-DD'),:ERPFACTORY,:GXID)";
|
||||
String receiveActNo = "";
|
||||
@ -490,8 +490,8 @@ public class MESToWMSServiceImpl implements MESToWMSService {
|
||||
String makeDate = jo.getString("makeDate");
|
||||
erpFactory = jo.getString("erpFactory");
|
||||
String materialPackingName = jo.getString("materialPackingName"); // 退料原条码二维码
|
||||
String saleShipRequestName = jo.getString("SALESHIPREQUESTNAME"); // 销售订单号
|
||||
String saleShipRequestDetailName = jo.getString("SALESHIPREQUESTDETAILNAME"); // 销售订单号行项
|
||||
String saleShipRequestName = jo.getString("saleShipRequestName") == null ? "" : jo.getString("saleShipRequestName"); // 销售订单号 e库存
|
||||
String saleShipRequestDetailName = jo.getString("saleShipRequestDetailName") == null ? "" : jo.getString("saleShipRequestDetailName"); // 销售订单号行项 e库存
|
||||
|
||||
if (i == 0) {
|
||||
stockInType = jo.getString("stockInType");
|
||||
@ -535,6 +535,8 @@ public class MESToWMSServiceImpl implements MESToWMSService {
|
||||
bindMap.put("GXID", gxId);
|
||||
bindMap.put("MATERIALPACKINGNAME", materialPackingName);
|
||||
bindMap.put("MAKEDATE", makeDate);
|
||||
bindMap.put("SALESHIPREQUESTNAME", saleShipRequestName); // e库存 销售订单号
|
||||
bindMap.put("SALESHIPREQUESTDETAILNAME", saleShipRequestDetailName); // e库存 销售订单行项
|
||||
|
||||
if ("1".equals(operationType)) { // 自动入库
|
||||
if ("FG".equals(stockInType) || "BFG".equals(stockInType)) { // 产成品入库 增加回收例子入库
|
||||
|
@ -616,7 +616,7 @@ public class ProductIntoServiceImpl implements FGStockInService {
|
||||
sql.append(" M.ERPLOCATION , ");
|
||||
sql.append(" T.AREA ,");
|
||||
sql.append(" T.SHIPUSER , ");
|
||||
sql.append(" T.PACKINGGRADE , ");
|
||||
sql.append(" T.PACKINGGRADE ,T.SALESHIPREQUESTNAME,T.SALESHIPREQUESTDETAILNAME, ");
|
||||
sql.append(" T.SHIPTIME , ");
|
||||
sql.append(" M3.MATERIALTYPE , ");
|
||||
sql.append(" T.REMARK,T.PHASE,T.CAREER_ASSISTANCE,T.DURABLETYPE ,T.BUSINESS_UNIT,T.SALESPERSON,T.MJPC ,T.TRUEGG,T.CHARGE,T.MAKEDATE, T.CUSTOMERNO ,"
|
||||
@ -775,6 +775,8 @@ public class ProductIntoServiceImpl implements FGStockInService {
|
||||
if("Y".equals(is_oven)) {
|
||||
bindMap.put("MATURATIONINTIME", eventInfo.getEventTime());//熟化入库时间
|
||||
}
|
||||
bindMap.put("saleShipRequestName", queryForList.get(0).get("SALESHIPREQUESTNAME") == null ? "" : queryForList.get(0).get("SALESHIPREQUESTNAME").toString() );
|
||||
bindMap.put("saleShipRequestDetailName", queryForList.get(0).get("SALESHIPREQUESTDETAILNAME") == null ? "" : queryForList.get(0).get("SALESHIPREQUESTDETAILNAME").toString() );
|
||||
|
||||
//增加立库相关信息T.LK_DURABLENAME,T.LK_AREANAME,T.LK_PRODUCTLINE,T.LK_WIDTH ,T.LK_DEVIATION,T.LK_WEIGHT,T.LK_DIAMETER,T.LK_SHELFNAME
|
||||
bindMap.put("durableName", queryForList.get(0).get("LK_DURABLENAME"));
|
||||
|
Loading…
x
Reference in New Issue
Block a user