update SAP物料主数据下发接口,新增启用批次、是否质检字段与功能

This commit is contained in:
18110972313 2025-05-19 14:20:44 +08:00
parent e3af010d39
commit 50e77ee9a8

View File

@ -95,9 +95,9 @@ public class SAPToWMSController {
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, 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, :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, EXPIRATIONDATEFLAG = :EXPIRATIONDATEFLAG, EXPIRATIONDAY = :EXPIRATIONDAY where materialspecname = :materialspecname and sitename = :sitename";
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, IS_BATCH, IQCFLAG) " + 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, :EXPIRATIONDATEFLAG, :EXPIRATIONDAY, :IS_BATCH, :IQCFLAG)";
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, IS_BATCH =:IS_BATCH, IQCFLAG =:IQCFLAG where materialspecname = :materialspecname and sitename = :sitename";
// 附加单位
String insertMarmSql = "insert into BS_MATERIALUNIT (materialspecname, additionalunit, modulecule, denominator) "
+ "VALUES(:materialspecname, :additionalunit, :modulecule, :denominator)";
@ -153,6 +153,8 @@ public class SAPToWMSController {
String ZZBZQ = MapUtils.getString(materialSpec, "ZZBZQ");//保质期
String EXPIRATIONDATEFLAG = "";//是否启用保质期管理
String EXPIRATIONDAY = "";//保质期
String IS_BATCH = "";//启用批次管理
String IQCFLAG = "";//是否质检
// 预留字段
ZRSV01 = MapUtils.getString(materialSpec, "ZRSV01") != null ? MapUtils.getString(materialSpec, "ZRSV01") : "";
ZRSV02 = MapUtils.getString(materialSpec, "ZRSV02") != null ? MapUtils.getString(materialSpec, "ZRSV02") : "";
@ -258,6 +260,34 @@ public class SAPToWMSController {
//2025-04-24 添加缺少字段
map.put("EXPIRATIONDAY", EXPIRATIONDAY);//保质期
map.put("EXPIRATIONDATEFLAG", EXPIRATIONDATEFLAG);//是否启用保质期管理
/**
* 2025-05-19
* 增加物料是否批次管理按以下规则:
* 1.Z008所有物料;Z001下105开头的不启用批次其他所有料号启用批次管理
*/
if(mtart.equals("Z008") || (mtart.equals("Z001") && matkl.startsWith("105"))){
IS_BATCH = "N";
}else {
IS_BATCH = "Y";
}
map.put("IS_BATCH", IS_BATCH);//启用批次管理
/**
* 2025-05-19
* 增加物料是否质检
* 1.按照QMS提供对应关系维护到基础表(新增)料号下发时取值
*/
String selectIQCFlagSql = " SELECT SITENAME, MATERIALGROUP, IQCFLAG FROM BS_MATERIALSPECIQCFLAG WHERE SITENAME =:SITENAME AND MATERIALGROUP =:MATERIALGROUP ";
Map<String, Object> IQCFlagMap = new HashMap<String,Object> ();
IQCFlagMap.put("MATERIALGROUP", matkl);
IQCFlagMap.put("SITENAME", materialSpecSiteName);
List<Map<String, Object>> selectIQCFlagList = IDMFrameServiceProxy.getSqlTemplate().queryForList(selectIQCFlagSql, IQCFlagMap);
if(null != selectIQCFlagList && selectIQCFlagList.size() > 0){
IQCFLAG = selectIQCFlagList.get(0).get("IQCFLAG") == null ? "N" : selectIQCFlagList.get(0).get("IQCFLAG").toString();
}else {
IQCFLAG = "N";
}
map.put("IQCFLAG", IQCFLAG);//是否质检
if("X".equals(lvorm)) {
//IDMFrameServiceProxy.getSqlTemplate().update(insertHistorySql, map);