Merge branch 'main' of http://162.14.99.253:3000/10539622/2025-03-JS-SDK-svr
This commit is contained in:
commit
df8d35f4c5
@ -71,7 +71,11 @@ public class SAPToWMSController {
|
|||||||
String ZRSV08 = "";
|
String ZRSV08 = "";
|
||||||
String ZRSV09 = "";
|
String ZRSV09 = "";
|
||||||
String ZRSV10 = "";
|
String ZRSV10 = "";
|
||||||
|
/**
|
||||||
|
* 2025-04-25
|
||||||
|
* 设置MATERIALSPEC的SITENAME值为SDK
|
||||||
|
*/
|
||||||
|
String materialSpecSiteName = "SDK";
|
||||||
// 物料主数据
|
// 物料主数据
|
||||||
@RequestMapping(value = "/materialspec", method = RequestMethod.POST)
|
@RequestMapping(value = "/materialspec", method = RequestMethod.POST)
|
||||||
public WMSToSAPReturn GetMaterialSpec(HttpServletRequest httpRequest, @RequestBody SAPToWMSRequest request) {
|
public WMSToSAPReturn GetMaterialSpec(HttpServletRequest httpRequest, @RequestBody SAPToWMSRequest request) {
|
||||||
@ -84,9 +88,9 @@ public class SAPToWMSController {
|
|||||||
|
|
||||||
ArrayList<Map<String,Object>> data = request.getBODY();
|
ArrayList<Map<String,Object>> data = request.getBODY();
|
||||||
// 主表
|
// 主表
|
||||||
String insertSql="INSERT INTO MATERIALSPEC (sitename, materialspecname, materialgroup, materialgroupdescription, materialunit, materialunitdesc, deliverycycle, minorderqty, phase, materialtype, mstae, oldmaterialspecname, highvalueflag, commonmaterialflag, purchasetype, width, financialtype, createtime, createuser, lasteventtime, lasteventuser, lasteventtimekey, lasteventname, lasteventcomment,desc_en,IS_CON_TEMP ,MATURATIONTIME ,MATURATIONFLAG ,DEGREE,EXPIRATION_RULES, ZTURENAME, ZMDQ, IS_CON_TEMP_T, MATURATIONTIME_T, MATURATIONFLAG_T) " + SystemPropHelper.CR +
|
String insertSql="INSERT INTO MATERIALSPEC (sitename, materialspecname, materialgroup, materialgroupdescription, materialunit, materialunitdesc, deliverycycle, minorderqty, phase, materialtype, mstae, oldmaterialspecname, highvalueflag, commonmaterialflag, purchasetype, width, financialtype, createtime, createuser, lasteventtime, lasteventuser, lasteventtimekey, lasteventname, lasteventcomment,desc_en,IS_CON_TEMP ,MATURATIONTIME ,MATURATIONFLAG ,DEGREE,EXPIRATION_RULES, ZTURENAME, ZMDQ, IS_CON_TEMP_T, MATURATIONTIME_T, MATURATIONFLAG_T, EXPIRATIONDATEFLAG, EXPIRATIONDAY) " + SystemPropHelper.CR +
|
||||||
"VALUES(:sitename, :materialspecname, :materialgroup, :materialgroupdescription, :materialunit, :materialunitdesc,:deliverycycle, :minorderqty, :phase, :materialtype, :mstae, :oldmaterialspecname, :highvalueflag, :commonmaterialflag, :purchasetype, :width, :financialtype, :createtime, :createuser, :lasteventtime, :lasteventuser, :lasteventtimekey, :lasteventname, :lasteventcomment,:desc_en,:IS_CON_TEMP ,:MATURATIONTIME ,:MATURATIONFLAG ,:DEGREE,:EXPIRATION_RULES, :zturename, :zmdq, :IS_CON_TEMP_T, :MATURATIONTIME_T, :MATURATIONFLAG_T)";
|
"VALUES(:sitename, :materialspecname, :materialgroup, :materialgroupdescription, :materialunit, :materialunitdesc,:deliverycycle, :minorderqty, :phase, :materialtype, :mstae, :oldmaterialspecname, :highvalueflag, :commonmaterialflag, :purchasetype, :width, :financialtype, :createtime, :createuser, :lasteventtime, :lasteventuser, :lasteventtimekey, :lasteventname, :lasteventcomment,:desc_en,:IS_CON_TEMP ,:MATURATIONTIME ,:MATURATIONFLAG ,:DEGREE,:EXPIRATION_RULES, :zturename, :zmdq, :IS_CON_TEMP_T, :MATURATIONTIME_T, :MATURATIONFLAG_T, :EXPIRATIONDATEFLAG, :EXPIRATIONDAY)";
|
||||||
String updateSql = "UPDATE MATERIALSPEC SET materialgroup = :materialgroup,desc_en=:desc_en,IS_CON_TEMP=:IS_CON_TEMP ,MATURATIONTIME=:MATURATIONTIME ,MATURATIONFLAG=:MATURATIONFLAG ,DEGREE=:DEGREE,EXPIRATION_RULES=:EXPIRATION_RULES, materialgroupdescription = :materialgroupdescription, materialunit = :materialunit, materialunitdesc = :materialunitdesc, deliverycycle = :deliverycycle, minorderqty = :minorderqty, phase = :phase, materialtype = :materialtype, mstae = :mstae, oldmaterialspecname = :oldmaterialspecname, highvalueflag = highvalueflag, commonmaterialflag = :commonmaterialflag, purchasetype = :purchasetype, width = :width, financialtype = :financialtype, createtime = :createtime, createuser = :createuser, lasteventtime = :lasteventtime, lasteventuser = :lasteventuser, lasteventtimekey = :lasteventtimekey, lasteventname = :lasteventname, lasteventcomment = :lasteventcomment, zturename = :zturename, zmdq = :zmdq, IS_CON_TEMP_T = :IS_CON_TEMP_T, MATURATIONTIME_T = :MATURATIONTIME_T, MATURATIONFLAG_T = :MATURATIONFLAG_T where materialspecname = :materialspecname and sitename = :sitename";
|
String updateSql = "UPDATE MATERIALSPEC SET materialgroup = :materialgroup,desc_en=:desc_en,IS_CON_TEMP=:IS_CON_TEMP ,MATURATIONTIME=:MATURATIONTIME ,MATURATIONFLAG=:MATURATIONFLAG ,DEGREE=:DEGREE,EXPIRATION_RULES=:EXPIRATION_RULES, materialgroupdescription = :materialgroupdescription, materialunit = :materialunit, materialunitdesc = :materialunitdesc, deliverycycle = :deliverycycle, minorderqty = :minorderqty, phase = :phase, materialtype = :materialtype, mstae = :mstae, oldmaterialspecname = :oldmaterialspecname, highvalueflag = highvalueflag, commonmaterialflag = :commonmaterialflag, purchasetype = :purchasetype, width = :width, financialtype = :financialtype, createtime = :createtime, createuser = :createuser, lasteventtime = :lasteventtime, lasteventuser = :lasteventuser, lasteventtimekey = :lasteventtimekey, lasteventname = :lasteventname, lasteventcomment = :lasteventcomment, zturename = :zturename, zmdq = :zmdq, IS_CON_TEMP_T = :IS_CON_TEMP_T, MATURATIONTIME_T = :MATURATIONTIME_T, MATURATIONFLAG_T = :MATURATIONFLAG_T, EXPIRATIONDATEFLAG = :EXPIRATIONDATEFLAG, EXPIRATIONDAY = :EXPIRATIONDAY where materialspecname = :materialspecname and sitename = :sitename";
|
||||||
// 附加单位
|
// 附加单位
|
||||||
String insertMarmSql = "insert into BS_MATERIALUNIT (materialspecname, additionalunit, modulecule, denominator) "
|
String insertMarmSql = "insert into BS_MATERIALUNIT (materialspecname, additionalunit, modulecule, denominator) "
|
||||||
+ "VALUES(:materialspecname, :additionalunit, :modulecule, :denominator)";
|
+ "VALUES(:materialspecname, :additionalunit, :modulecule, :denominator)";
|
||||||
@ -138,6 +142,10 @@ public class SAPToWMSController {
|
|||||||
String ZDAY = MapUtils.getString(materialSpec, "ZDAY");//仓库熟化天数
|
String ZDAY = MapUtils.getString(materialSpec, "ZDAY");//仓库熟化天数
|
||||||
String ZRAUBE = MapUtils.getString(materialSpec, "ZRAUBE");//存储条件
|
String ZRAUBE = MapUtils.getString(materialSpec, "ZRAUBE");//存储条件
|
||||||
String ZBZQTYPE = MapUtils.getString(materialSpec, "ZBZQTYPE");//保质期类型
|
String ZBZQTYPE = MapUtils.getString(materialSpec, "ZBZQTYPE");//保质期类型
|
||||||
|
//2025-04-24 增加字段 ZZBZQ保质期
|
||||||
|
String ZZBZQ = MapUtils.getString(materialSpec, "ZZBZQ");//保质期
|
||||||
|
String EXPIRATIONDATEFLAG = "";//是否启用保质期管理
|
||||||
|
String EXPIRATIONDAY = "";//保质期
|
||||||
// 预留字段
|
// 预留字段
|
||||||
ZRSV01 = MapUtils.getString(materialSpec, "ZRSV01") != null ? MapUtils.getString(materialSpec, "ZRSV01") : "";
|
ZRSV01 = MapUtils.getString(materialSpec, "ZRSV01") != null ? MapUtils.getString(materialSpec, "ZRSV01") : "";
|
||||||
ZRSV02 = MapUtils.getString(materialSpec, "ZRSV02") != null ? MapUtils.getString(materialSpec, "ZRSV02") : "";
|
ZRSV02 = MapUtils.getString(materialSpec, "ZRSV02") != null ? MapUtils.getString(materialSpec, "ZRSV02") : "";
|
||||||
@ -156,7 +164,7 @@ public class SAPToWMSController {
|
|||||||
Timestamp currentTimestamp = TimeStampUtil.getCurrentTimestamp();
|
Timestamp currentTimestamp = TimeStampUtil.getCurrentTimestamp();
|
||||||
|
|
||||||
HashMap<String, Object> map = new HashMap<String,Object>();
|
HashMap<String, Object> map = new HashMap<String,Object>();
|
||||||
map.put("sitename", System.getProperty("company"));
|
map.put("sitename", materialSpecSiteName);
|
||||||
map.put("materialspecname", matnr);
|
map.put("materialspecname", matnr);
|
||||||
map.put("materialgroup", matkl);
|
map.put("materialgroup", matkl);
|
||||||
map.put("materialgroupdescription", wgbez);
|
map.put("materialgroupdescription", wgbez);
|
||||||
@ -196,7 +204,18 @@ public class SAPToWMSController {
|
|||||||
|
|
||||||
MATURATIONFLAG="N";
|
MATURATIONFLAG="N";
|
||||||
}*/
|
}*/
|
||||||
|
/**
|
||||||
|
* 2024-04-24
|
||||||
|
* 如果ZZBZQ的值为空或0时EXPIRATIONDATEFLAG=N
|
||||||
|
* 如果ZZBZQ的值非空且非0时EXPIRATIONDATEFLAG=Y EXPIRATIONDAY=ZZBZQ
|
||||||
|
*/
|
||||||
|
if(StringUtils.isEmpty(ZZBZQ) || "0".equals(ZZBZQ)){
|
||||||
|
EXPIRATIONDATEFLAG = "N";
|
||||||
|
}
|
||||||
|
if(StringUtils.isNotEmpty(ZZBZQ) && !"0".equals(ZZBZQ)){
|
||||||
|
EXPIRATIONDATEFLAG = "Y";
|
||||||
|
EXPIRATIONDAY = ZZBZQ;
|
||||||
|
}
|
||||||
map.put("IS_CON_TEMP", ZRAUBE);
|
map.put("IS_CON_TEMP", ZRAUBE);
|
||||||
map.put("IS_CON_TEMP_T", ZRAUBE);
|
map.put("IS_CON_TEMP_T", ZRAUBE);
|
||||||
map.put("MATURATIONTIME", ZDAY);
|
map.put("MATURATIONTIME", ZDAY);
|
||||||
@ -229,20 +248,28 @@ public class SAPToWMSController {
|
|||||||
String zmdq = MapUtils.getString(materialSpec, "ZMDQ"); // 装车最小装载量
|
String zmdq = MapUtils.getString(materialSpec, "ZMDQ"); // 装车最小装载量
|
||||||
map.put("zturename", zturename);
|
map.put("zturename", zturename);
|
||||||
map.put("zmdq", zmdq);
|
map.put("zmdq", zmdq);
|
||||||
|
//2025-04-24 添加缺少字段
|
||||||
|
map.put("EXPIRATIONDAY", EXPIRATIONDAY);//保质期
|
||||||
|
map.put("EXPIRATIONDATEFLAG", EXPIRATIONDATEFLAG);//是否启用保质期管理
|
||||||
if("X".equals(lvorm)) {
|
if("X".equals(lvorm)) {
|
||||||
//IDMFrameServiceProxy.getSqlTemplate().update(insertHistorySql, map);
|
//IDMFrameServiceProxy.getSqlTemplate().update(insertHistorySql, map);
|
||||||
|
|
||||||
String sql="DELETE FROM materialspec WHERE materialspecname=? AND sitename=?";
|
String sql="DELETE FROM materialspec WHERE materialspecname=? AND sitename=?";
|
||||||
|
/*
|
||||||
|
2025-04-25
|
||||||
|
sitename = SDK
|
||||||
Object[] obj=new Object[] {matnr,System.getProperty("company")};
|
Object[] obj=new Object[] {matnr,System.getProperty("company")};
|
||||||
|
*/
|
||||||
|
Object[] obj=new Object[] {matnr,materialSpecSiteName};
|
||||||
|
|
||||||
IDMFrameServiceProxy.getSqlTemplate().update(sql, obj);
|
IDMFrameServiceProxy.getSqlTemplate().update(sql, obj);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
String selectSql="SELECT count(1) num FROM materialspec WHERE materialspecname = :MATERIALSPECNAME AND sitename = :SITENAME";
|
String selectSql="SELECT count(1) num FROM materialspec WHERE materialspecname = :MATERIALSPECNAME AND sitename = :SITENAME";
|
||||||
Object[] selectObj=new Object[] {matnr,System.getProperty("company")};
|
Object[] selectObj=new Object[] {matnr,materialSpecSiteName};
|
||||||
Map<String, Object> hashMap = new HashMap<String,Object> ();
|
Map<String, Object> hashMap = new HashMap<String,Object> ();
|
||||||
hashMap.put("MATERIALSPECNAME", matnr);
|
hashMap.put("MATERIALSPECNAME", matnr);
|
||||||
hashMap.put("SITENAME", System.getProperty("company"));
|
hashMap.put("SITENAME", materialSpecSiteName);
|
||||||
List<Map<String, Object>> queryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(selectSql, hashMap);
|
List<Map<String, Object>> queryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(selectSql, hashMap);
|
||||||
String string = queryForList.get(0).get("NUM").toString();
|
String string = queryForList.get(0).get("NUM").toString();
|
||||||
if("0".equals(string)) {
|
if("0".equals(string)) {
|
||||||
|
@ -245,6 +245,7 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
|
|||||||
for (int i = 0; i < boxList.size(); i++) {
|
for (int i = 0; i < boxList.size(); i++) {
|
||||||
LinkedHashMap<String, String> boxlinkedHashMap = boxList.get(i);
|
LinkedHashMap<String, String> boxlinkedHashMap = boxList.get(i);
|
||||||
String boxShipRequestName = (String) boxlinkedHashMap.get("SHIPREQUESTNAME");
|
String boxShipRequestName = (String) boxlinkedHashMap.get("SHIPREQUESTNAME");
|
||||||
|
String boxShipRequestDetailName = (String) boxlinkedHashMap.get("SHIPREQUESTDETAILNAME");
|
||||||
String materialSpecName = (String) boxlinkedHashMap.get("MATERIALSPECNAME");
|
String materialSpecName = (String) boxlinkedHashMap.get("MATERIALSPECNAME");
|
||||||
String sdkId = (String) boxlinkedHashMap.get("SDK_ID");
|
String sdkId = (String) boxlinkedHashMap.get("SDK_ID");
|
||||||
String phase = (String) boxlinkedHashMap.get("PHASE");
|
String phase = (String) boxlinkedHashMap.get("PHASE");
|
||||||
@ -261,10 +262,11 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
|
|||||||
"AND M.MATERIALSPECNAME = :MATERIALSPECNAME AND (M.SDK_ID = :SDK_ID OR :SDK_ID IS NULL) AND (M.PHASE = :PHASE OR :PHASE IS NULL)\n" +
|
"AND M.MATERIALSPECNAME = :MATERIALSPECNAME AND (M.SDK_ID = :SDK_ID OR :SDK_ID IS NULL) AND (M.PHASE = :PHASE OR :PHASE IS NULL)\n" +
|
||||||
"UNION \n" +
|
"UNION \n" +
|
||||||
"SELECT T.RECEIVEREQUESTNAME SHIPREQUESTNAME,T.RECEIVEREQUESTDETAILNAME SHIPREQUESTDETAILNAME , T.REQUESTQUANTITY - T.RECEIVEDQUANTITY MINQTY \n" +
|
"SELECT T.RECEIVEREQUESTNAME SHIPREQUESTNAME,T.RECEIVEREQUESTDETAILNAME SHIPREQUESTDETAILNAME , T.REQUESTQUANTITY - T.RECEIVEDQUANTITY MINQTY \n" +
|
||||||
"FROM MATERIALRECEIVEREQUESTDETAIL T WHERE T.RECEIVEREQUESTNAME = :SHIPREQUESTNAME AND T.REQUESTQUANTITY - T.RECEIVEDQUANTITY > 0 \n" +
|
"FROM MATERIALRECEIVEREQUESTDETAIL T WHERE T.RECEIVEREQUESTNAME = :SHIPREQUESTNAME AND T.RECEIVEREQUESTDETAILNAME = :SHIPREQUESTDETAILNAME AND T.REQUESTQUANTITY - T.RECEIVEDQUANTITY > 0 \n" +
|
||||||
"AND T.MATERIALSPECNAME = :MATERIALSPECNAME AND (T.SDK_ID = :SDK_ID OR :SDK_ID IS NULL) AND (T.PHASE = :PHASE OR :PHASE IS NULL)";
|
"AND T.MATERIALSPECNAME = :MATERIALSPECNAME AND (T.SDK_ID = :SDK_ID OR :SDK_ID IS NULL) AND (T.PHASE = :PHASE OR :PHASE IS NULL)";
|
||||||
Map<String, Object> bindMap1 = new HashMap<String, Object>();
|
Map<String, Object> bindMap1 = new HashMap<String, Object>();
|
||||||
bindMap1.put("SHIPREQUESTNAME",shipRequestName);
|
bindMap1.put("SHIPREQUESTNAME",boxShipRequestName);
|
||||||
|
bindMap1.put("SHIPREQUESTDETAILNAME",boxShipRequestDetailName);
|
||||||
bindMap1.put("MATERIALSPECNAME",materialSpecName);
|
bindMap1.put("MATERIALSPECNAME",materialSpecName);
|
||||||
bindMap1.put("SDK_ID",sdkId);
|
bindMap1.put("SDK_ID",sdkId);
|
||||||
bindMap1.put("PHASE",phase);
|
bindMap1.put("PHASE",phase);
|
||||||
@ -331,6 +333,7 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
|
|||||||
" AND A.OQARESULTSTATE <> 'PREOQA'\r\n" +
|
" AND A.OQARESULTSTATE <> 'PREOQA'\r\n" +
|
||||||
" AND to_char(A.EXPIRINGDATE, 'yyyymmdd') >= to_char(SYSDATE, 'yyyymmdd')\r\n" +
|
" AND to_char(A.EXPIRINGDATE, 'yyyymmdd') >= to_char(SYSDATE, 'yyyymmdd')\r\n" +
|
||||||
" ORDER BY to_char(A.RECEIVETIME, 'yyyymmdd') ";
|
" ORDER BY to_char(A.RECEIVETIME, 'yyyymmdd') ";
|
||||||
|
bindMap1.put("SHIPREQUESTDETAILNAME",shipRequestDetailName);
|
||||||
List<Map<String,Object>> list2 = IDMFrameServiceProxy.getSqlTemplate().queryForList(boxListSql, bindMap1);
|
List<Map<String,Object>> list2 = IDMFrameServiceProxy.getSqlTemplate().queryForList(boxListSql, bindMap1);
|
||||||
if(null != list2 && list2.size() > 0){
|
if(null != list2 && list2.size() > 0){
|
||||||
for (Map<String, Object> map2 : list2) {
|
for (Map<String, Object> map2 : list2) {
|
||||||
@ -648,6 +651,7 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//备份过账条码表的信息,并删除
|
//备份过账条码表的信息,并删除
|
||||||
String bfSql = "INSERT\r\n" +
|
String bfSql = "INSERT\r\n" +
|
||||||
" INTO\r\n" +
|
" INTO\r\n" +
|
||||||
@ -664,8 +668,8 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
|
|||||||
" MATERIALPACKINGSUB M\r\n" +
|
" MATERIALPACKINGSUB M\r\n" +
|
||||||
"WHERE\r\n" +
|
"WHERE\r\n" +
|
||||||
" M.RECEIVEREQUESTNAME = :SHIPREQUESTNAME";
|
" M.RECEIVEREQUESTNAME = :SHIPREQUESTNAME";
|
||||||
String scSql = "DELETE FROM MATERIALPACKINGSUB WHERE RECEIVEREQUESTNAME = :SHIPREQUESTNAME";
|
|
||||||
IDMFrameServiceProxy.getSqlTemplate().update(bfSql, hashMap);
|
IDMFrameServiceProxy.getSqlTemplate().update(bfSql, hashMap);
|
||||||
|
String scSql = "DELETE FROM MATERIALPACKINGSUB WHERE RECEIVEREQUESTNAME = :SHIPREQUESTNAME";
|
||||||
IDMFrameServiceProxy.getSqlTemplate().update(scSql, hashMap);
|
IDMFrameServiceProxy.getSqlTemplate().update(scSql, hashMap);
|
||||||
|
|
||||||
//循环过账批次
|
//循环过账批次
|
||||||
@ -746,6 +750,7 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
|
|||||||
// MaterialPackingKey materialPackingKey = new MaterialPackingKey("SDK",materialPackingName);
|
// MaterialPackingKey materialPackingKey = new MaterialPackingKey("SDK",materialPackingName);
|
||||||
// arrayList.add(materialPackingKey);
|
// arrayList.add(materialPackingKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
//判断会有多少个仓库发货,不同仓库需要分开走账
|
//判断会有多少个仓库发货,不同仓库需要分开走账
|
||||||
StringBuffer cklx = new StringBuffer();
|
StringBuffer cklx = new StringBuffer();
|
||||||
cklx.append("SELECT DISTINCT m.ERPLOCATION FROM MATERIALPACKING m WHERE m.MATERIALPACKINGNAME IN ");
|
cklx.append("SELECT DISTINCT m.ERPLOCATION FROM MATERIALPACKING m WHERE m.MATERIALPACKINGNAME IN ");
|
||||||
@ -929,6 +934,8 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
|
|||||||
default :
|
default :
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
String deleteSql = "DELETE FROM MATERIALPACKINGSUB WHERE RECEIVEREQUESTNAME = :SHIPREQUESTNAME";
|
||||||
|
IDMFrameServiceProxy.getSqlTemplate().update(deleteSql, hashMap);
|
||||||
return AjaxResult.me().setSuccess(true).setErrorCode(200);
|
return AjaxResult.me().setSuccess(true).setErrorCode(200);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user