diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/QMSController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/QMSController.java index d79365b..4ff10b3 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/QMSController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/QMSController.java @@ -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 updateMaterialSpecMap = new HashMap(); + Map insertBsMaterialSpecIqcFlagMap = new HashMap(); + Map updateBsMaterialSpecIqcFlagMap = new HashMap(); + 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 bsMaterialSpecIqcFlagMap = new HashMap (); + bsMaterialSpecIqcFlagMap.put("SITENAME", siteName); + bsMaterialSpecIqcFlagMap.put("MATERIALGROUP", materialGroup); + List> 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("materialGroup,iqcFlag,inspectionCycle属于必传字段"); + 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; + } }