add 接收物料组质检周期接口

This commit is contained in:
18110972313 2025-05-19 16:52:45 +08:00
parent 50e77ee9a8
commit c448c21e48

View File

@ -5,6 +5,7 @@ import java.util.*;
import java.util.stream.Collectors;
import com.cim.idm.framework.template.workflow.BpelExecuter;
import com.cim.idm.framework.util.sys.SystemPropHelper;
import com.cim.idm.model.ErpMessageLog;
import com.cim.idm.service.impl.ToSAPServiceImpl;
import com.cim.idm.utils.AjaxResult;
@ -1342,6 +1343,106 @@ public class QMSController {
bindMap.put("RESULTMESSAGE2", log.getReturnMsg2());// 返回结果的json
IDMFrameServiceProxy.getSqlTemplate().update(sql, bindMap);
}
/**
* 2025-05-19
* 接收物料组质检周期
* @param in 物料组
* @return 结果
* @throws Exception
*/
// @Transactional(isolation= Isolation.READ_COMMITTED)
@Transactional
@RequestMapping(value = "/materialSpecIQCFlag", method = RequestMethod.POST)
public AjaxResult MaterialSpecIQCFlag(@RequestBody JSONArray in) throws Exception {
AjaxResult result = new AjaxResult();
EventInfo makeEventInfo = new EventInfoUtil().makeEventInfo("materialSpecIQCFlag", "IQC", "materialSpecIQCFlag");
String siteName = "SDK";
ErpMessageLog loginfo = new ErpMessageLog();
loginfo.setServerName("QMSToWms");
loginfo.setMessageId("");
loginfo.setEventUser(makeEventInfo.getEventUser());
loginfo.setId(UUID.randomUUID().toString());
loginfo.setInterfaceTime(ConvertUtil.getCurrTime("yyyy-MM-dd HH:mm:ss"));
loginfo.setSendMsg(in.toJSONString());
loginfo.setEventName(makeEventInfo.getEventName());
Map<String, Object> updateMaterialSpecMap = new HashMap<String, Object>();
Map<String, Object> insertBsMaterialSpecIqcFlagMap = new HashMap<String, Object>();
Map<String, Object> updateBsMaterialSpecIqcFlagMap = new HashMap<String, Object>();
if(!in.isEmpty()){
String updateMaterialSpecSql = "UPDATE MATERIALSPEC SET IQCFLAG =:IQCFLAG WHERE MATERIALGROUP =:MATERIALGROUP AND SITENAME =:SITENAME";
String insertBsMaterialSpecIqcFlagSql = "INSERT INTO BS_MATERIALSPECIQCFLAG (SITENAME, MATERIALGROUP, IQCFLAG, LASTEVENTNAME, LASTEVENTTIMEKEY, LASTEVENTTIME, LASTEVENTUSER, LASTEVENTCOMMENT, INSPECTIONCYCLE, ORGNO) " + SystemPropHelper.CR +
"VALUES(:SITENAME, :MATERIALGROUP, :IQCFLAG, :LASTEVENTNAME, :LASTEVENTTIMEKEY, :LASTEVENTTIME,:LASTEVENTUSER, :LASTEVENTCOMMENT, :INSPECTIONCYCLE, :ORGNO)";
String updateBsMaterialSpecIqcFlagSql = "UPDATE BS_MATERIALSPECIQCFLAG SET IQCFLAG = :IQCFLAG, INSPECTIONCYCLE =:INSPECTIONCYCLE, LASTEVENTNAME =:LASTEVENTNAME, LASTEVENTTIMEKEY =:LASTEVENTTIMEKEY, LASTEVENTTIME =:LASTEVENTTIME, LASTEVENTUSER =:LASTEVENTUSER, LASTEVENTCOMMENT =:LASTEVENTCOMMENT, ORGNO =:ORGNO WHERE SITENAME = :SITENAME AND MATERIALGROUP = :MATERIALGROUP";
for (int i = 0; i < in.size(); i++) {
JSONObject jb = in.getJSONObject(i);
String materialGroup = jb.get("materialGroup") == null ? "" : jb.get("materialGroup").toString();//物料组
String iqcFlag = jb.get("iqcFlag") == null ? "" : jb.get("iqcFlag").toString();//是否质检
String inspectionCycle = jb.get("inspectionCycle") == null ? "" : jb.get("inspectionCycle").toString();//检验周期
String orgno = jb.get("orgno") == null ? "" : jb.get("orgno").toString();//组织
if (StringUtils.isNotEmpty(materialGroup)) {
String selectBsMaterialSpecIqcFlagSql = " SELECT count(1) num FROM BS_MATERIALSPECIQCFLAG WHERE SITENAME = :SITENAME AND MATERIALGROUP = :MATERIALGROUP ";
Map<String, Object> bsMaterialSpecIqcFlagMap = new HashMap<String,Object> ();
bsMaterialSpecIqcFlagMap.put("SITENAME", siteName);
bsMaterialSpecIqcFlagMap.put("MATERIALGROUP", materialGroup);
List<Map<String, Object>> bsMaterialSpecIqcFlagList = IDMFrameServiceProxy.getSqlTemplate().queryForList(selectBsMaterialSpecIqcFlagSql, bsMaterialSpecIqcFlagMap);
String bsMaterialSpecIqcFlagNum = bsMaterialSpecIqcFlagList.get(0).get("NUM").toString();
if("0".equals(bsMaterialSpecIqcFlagNum)) {
//insert BS_MATERIALSPECIQCFLAG
insertBsMaterialSpecIqcFlagMap.put("SITENAME", siteName);
insertBsMaterialSpecIqcFlagMap.put("MATERIALGROUP", materialGroup);
insertBsMaterialSpecIqcFlagMap.put("IQCFLAG", iqcFlag);
insertBsMaterialSpecIqcFlagMap.put("INSPECTIONCYCLE", inspectionCycle);
insertBsMaterialSpecIqcFlagMap.put("ORGNO", orgno);
insertBsMaterialSpecIqcFlagMap.put("LASTEVENTTIMEKEY", makeEventInfo.getEventTimeKey());
insertBsMaterialSpecIqcFlagMap.put("LASTEVENTTIME", makeEventInfo.getEventTime());
insertBsMaterialSpecIqcFlagMap.put("LASTEVENTUSER", makeEventInfo.getEventUser());
insertBsMaterialSpecIqcFlagMap.put("LASTEVENTCOMMENT", makeEventInfo.getEventComment());
insertBsMaterialSpecIqcFlagMap.put("LASTEVENTNAME", makeEventInfo.getEventName());
IDMFrameServiceProxy.getSqlTemplate().update(insertBsMaterialSpecIqcFlagSql, insertBsMaterialSpecIqcFlagMap);
}
else {
//update BS_MATERIALSPECIQCFLAG
updateBsMaterialSpecIqcFlagMap.put("SITENAME", siteName);
updateBsMaterialSpecIqcFlagMap.put("MATERIALGROUP", materialGroup);
updateBsMaterialSpecIqcFlagMap.put("IQCFLAG", iqcFlag);
updateBsMaterialSpecIqcFlagMap.put("INSPECTIONCYCLE", inspectionCycle);
updateBsMaterialSpecIqcFlagMap.put("ORGNO", orgno);
updateBsMaterialSpecIqcFlagMap.put("LASTEVENTTIMEKEY", makeEventInfo.getEventTimeKey());
updateBsMaterialSpecIqcFlagMap.put("LASTEVENTTIME", makeEventInfo.getEventTime());
updateBsMaterialSpecIqcFlagMap.put("LASTEVENTUSER", makeEventInfo.getEventUser());
updateBsMaterialSpecIqcFlagMap.put("LASTEVENTCOMMENT", makeEventInfo.getEventComment());
updateBsMaterialSpecIqcFlagMap.put("LASTEVENTNAME", makeEventInfo.getEventName());
IDMFrameServiceProxy.getSqlTemplate().update(updateBsMaterialSpecIqcFlagSql, updateBsMaterialSpecIqcFlagMap);
//update MATERIALSPEC
updateMaterialSpecMap.put("SITENAME",siteName);
updateMaterialSpecMap.put("MATERIALGROUP",materialGroup);
updateMaterialSpecMap.put("IQCFLAG",iqcFlag);
IDMFrameServiceProxy.getSqlTemplate().update(updateMaterialSpecSql, updateMaterialSpecMap);
}
}else {
result = AjaxResult.me().setErrorCode(400).setMessage("materialGroupiqcFlaginspectionCycle属于必传字段");
loginfo.setResultCode("E");
loginfo.setReturnMsg(JSONObject.toJSONString(result));
saveMessageLog(loginfo);
return result;
}
}
result = AjaxResult.me().setSuccess(true).setMessage("接收物料组质检周期成功");
loginfo.setResultCode("success");
loginfo.setReturnMsg(JSONObject.toJSONString(result));
}else {
result = AjaxResult.me().setErrorCode(400).setMessage("未传入物料组质检周期信息");
loginfo.setResultCode("E");
loginfo.setReturnMsg(JSONObject.toJSONString(result));
}
// 消息保存日志erp推送wms的数据写入表BS_ERPMESSAGELOG中
saveMessageLog(loginfo);
return result;
}
}