List of usage examples for java.lang Byte parseByte
public static byte parseByte(String s) throws NumberFormatException
From source file:com.ltmonitor.jt808.service.impl.CommandService.java
/** * ??????/* ww w .j ava 2 s .com*/ * * @param tc * @return * @throws Exception */ private final T808Message Parse(TerminalCommand tc) throws Exception { if (Tools.isNullOrEmpty(tc.getPlateNo()) == false && Tools.isNullOrEmpty(tc.getSimNo())) { String hql = "from VehicleData where plateNo = ?"; VehicleData vd = (VehicleData) this.baseDao.find(hql, tc.getPlateNo()); if (vd != null) { tc.setSimNo(vd.getSimNo()); } else { tc.setRemark("?"); return null; } } // ???? if (tc.getCmdType() == JT808Constants.CMD_POLYGON_CONFIG || tc.getCmdType() == JT808Constants.CMD_RECT_CONFIG || tc.getCmdType() == JT808Constants.CMD_CIRCLE_CONFIG || tc.getCmdType() == JT808Constants.CMD_ROUTE_CONFIG || tc.getCmdType() == JT808Constants.CMD_DELETE_ROUTE || tc.getCmdType() == JT808Constants.CMD_DELETE_CIRCLE || tc.getCmdType() == JT808Constants.CMD_DELETE_RECT || tc.getCmdType() == JT808Constants.CMD_DELETE_POLYGON) { T808Message tmsg = ParseAreaConfig(tc); return tmsg; } T808Message ts = new T808Message(); ts.setHeader(new T808MessageHeader()); ts.getHeader().setSimId("0" + tc.getSimNo()); // ts.getHeader().setMessageSerialNo((short)T808Manager.getSerialNo()); ts.getHeader().setIsPackage(false); tc.setStatus(TerminalCommand.STATUS_PROCESSING); tc.setSN(ts.getHeader().getMessageSerialNo()); ts.getHeader().setMessageType(tc.getCmdType()); // if (tc.getCmdType() == JT808Constants.CMD_REAL_MONITOR) { // ??-?? JT_8201 cmdData = new JT_8201(); ts.setMessageContents(cmdData); } else if (tc.getCmdType() == JT808Constants.CMD_MEDIA_SEARCH) { // JT_8802 cmdData = new JT_8802(); ts.setMessageContents(cmdData); String[] fields = tc.getCmdData().split("[;]", -1); cmdData.setMultimediaType(Byte.parseByte(fields[0])); cmdData.setChannelId(Byte.parseByte(fields[1])); cmdData.setEventCode(Byte.parseByte(fields[2])); Date startDate = DateUtil.toDateByFormat(fields[3], "yyyy-MM-dd HH:mm:ss"); cmdData.setStartTime(startDate); Date endDate = DateUtil.toDateByFormat(fields[4], "yyyy-MM-dd HH:mm:ss"); cmdData.setEndTime(endDate); //cmdData.setStartTime(new java.util.Date(java.util.Date //.parse(fields[3]))); //cmdData.setEndTime(new java.util.Date(java.util.Date //.parse(fields[4]))); } else if (tc.getCmdType() == JT808Constants.CMD_MEDIA_UPLOAD) { // JT_8803 cmdData = new JT_8803(); ts.setMessageContents(cmdData); String[] fields = tc.getCmdData().split("[;]", -1); cmdData.setMultimediaType(Byte.parseByte(fields[0])); cmdData.setChannelId(Byte.parseByte(fields[1])); cmdData.setEventCode(Byte.parseByte(fields[2])); Date startDate = DateUtil.toDateByFormat(fields[3], "yyyy-MM-dd HH:mm:ss"); cmdData.setStartTime(startDate); Date endDate = DateUtil.toDateByFormat(fields[4], "yyyy-MM-dd HH:mm:ss"); cmdData.setEndTime(endDate); cmdData.setDeleteFlag(Byte.parseByte(fields[5])); } else if (tc.getCmdType() == JT808Constants.CMD_MEDIA_UPLOAD_SINGLE) { // ?? JT_8805 cmdData = new JT_8805(); ts.setMessageContents(cmdData); String[] fields = tc.getCmdData().split("[;]", -1); cmdData.setMultimediaId(Byte.parseByte(fields[0])); cmdData.setDeleteFlag(Byte.parseByte(fields[1])); } else if (tc.getCmdType() == JT808Constants.CMD_LOCATION_MONITOR) { // ? // WORD ? DWORD JT_8202 cmdData = new JT_8202(); ts.setMessageContents(cmdData); String[] fields = tc.getCmdData().split("[;]", -1); cmdData.setTimeInterval(Short.parseShort(fields[0])); cmdData.setTrackExpire(Short.parseShort(fields[1])); } else if (tc.getCmdType() == JT808Constants.CMD_SEND_TEXT) { JT_8300 cmdData = new JT_8300(); ts.setMessageContents(cmdData); String[] fields = tc.getCmdData().split("[;]", -1); cmdData.setFlag(Byte.parseByte(fields[0])); cmdData.setText(fields[1]); } else if (tc.getCmdType() == JT808Constants.CMD_CONFIG_PARAM) { // ? JT_8103 cmdData = new JT_8103(); ts.setMessageContents(cmdData); String[] fields = tc.getCmdData().split("[;]", -1); java.util.ArrayList<ParameterItem> paramItems = new java.util.ArrayList<ParameterItem>(); for (String field : fields) { if (StringHelper.isNullOrEmpty(field) == false) { String[] items = field.split("[,]", -1); ParameterItem pi = new ParameterItem(); pi.setParameterId(Integer.parseInt(items[0])); pi.setParameterValue(items[1]); paramItems.add(pi); } } cmdData.setParameters(paramItems); cmdData.setParametersCount((byte) paramItems.size()); } else if (tc.getCmdType() == JT808Constants.CMD_QUERY_PARAM) { // ? JT_8104 cmdData = new JT_8104(); ts.setMessageContents(cmdData); String[] fields = tc.getCmdData().split("[;]", -1); // C# TO JAVA CONVERTER WARNING: Unsigned integer types have no // direct equivalent in Java: // ORIGINAL LINE: List<uint> parameters = new List<uint>(); java.util.ArrayList<Integer> parameters = new java.util.ArrayList<Integer>(); for (String field : fields) { if (StringHelper.isNullOrEmpty(field) == false) { String[] strP = field.split("[,]", -1); parameters.add(Integer.parseInt(strP[0])); } } cmdData.setParametersIDs(parameters); cmdData.setParametersCount((byte) parameters.size()); } else if (tc.getCmdType() == JT808Constants.CMD_CONTROL_TERMINAL) { // JT_8105 cmdData = new JT_8105(); ts.setMessageContents(cmdData); // string[] fields = tc.getCmdData().split(';'); cmdData.setCommandWord(Byte.parseByte(tc.getCmd())); // cmdData.setCommandParameters(tc.getCmdData()); } else if (tc.getCmdType() == JT808Constants.CMD_TAKE_PHOTO) { // ?? JT_8801 cmdData = new JT_8801(); ts.setMessageContents(cmdData); String[] fields = tc.getCmdData().split("[;]", -1); cmdData.setChannelId(Byte.parseByte(fields[0])); short cmdWord = (short) Integer.parseInt(fields[1]);// ?0xFFFFshort cmdData.setPhotoCommand(cmdWord); cmdData.setPhotoTimeInterval(Short.parseShort(fields[2])); cmdData.setStoreFlag(Byte.parseByte(fields[3])); cmdData.setResolution(Byte.parseByte(fields[4])); cmdData.setQuality(Byte.parseByte(fields[5])); cmdData.setBrightness((byte) (Integer.parseInt(fields[6]))); cmdData.setContrast((byte) (Integer.parseInt(fields[7]))); cmdData.setSaturation((byte) (Integer.parseInt(fields[8]))); cmdData.setChroma((byte) (Integer.parseInt(fields[9]))); } else if (tc.getCmdType() == JT808Constants.CMD_EVENT_SET) { // JT_8301 cmdData = new JT_8301(); cmdData.setSettingType(Byte.parseByte(tc.getCmd())); ts.setMessageContents(cmdData); String[] fields = tc.getCmdData().split("[;]", -1); java.util.ArrayList<EventSettingItem> paramItems = new java.util.ArrayList<EventSettingItem>(); for (String field : fields) { if (StringHelper.isNullOrEmpty(field)) { continue; } String[] items = field.split("[,]", -1); EventSettingItem pi = new EventSettingItem(); pi.setEventId(Byte.parseByte(items[0])); pi.setEventContent(items[1]); // GBK? eventIdMap.put((int)pi.getEventId(), pi.getEventContent()); // pi.EventLength = byte.Parse(items[1]); paramItems.add(pi); } cmdData.setEvents(paramItems); cmdData.setEventsCount((byte) paramItems.size()); } else if (tc.getCmdType() == JT808Constants.CMD_QUESTION) { // ??? JT_8302 cmdData = new JT_8302(); cmdData.setFlag(Byte.parseByte(tc.getCmd())); // ts.setMessageContents(cmdData); String[] fields = tc.getCmdData().split("[;]", -1); java.util.ArrayList<AnswerItem> paramItems = new java.util.ArrayList<AnswerItem>(); for (String field : fields) { if (StringHelper.isNullOrEmpty(field)) { continue; } String[] items = field.split("[,]", -1); AnswerItem pi = new AnswerItem(); pi.setAnswerId(Byte.parseByte(items[0])); pi.setAnswerLength((byte) StringHelper.getByteLength(items[1])); pi.setAnswerContent(items[1]); // GBK? paramItems.add(pi); } cmdData.setCandidateAnswers(paramItems); cmdData.setQuestion(tc.getRemark()); // // cmdData.QuestionLength = (byte)tc.Remark.Length; //GBK??? } else if (tc.getCmdType() == JT808Constants.CMD_SET_MENU) { // ?? JT_8303 cmdData = new JT_8303(); cmdData.setSettingType(Byte.parseByte(tc.getCmd())); // ts.setMessageContents(cmdData); java.util.ArrayList<PointcastMessageItem> paramItems = new java.util.ArrayList<PointcastMessageItem>(); if (StringUtil.isNullOrEmpty(tc.getCmdData()) == false) { String[] fields = tc.getCmdData().split("[;]", -1); for (String field : fields) { if (StringHelper.isNullOrEmpty(field)) { continue; } String[] items = field.split("[,]", -1); PointcastMessageItem pi = new PointcastMessageItem(); pi.setMessageType(Byte.parseByte(items[0])); pi.setMessage(items[1]); // GBK? paramItems.add(pi); } cmdData.setMessages(paramItems); } cmdData.setInfoItemsCount((byte) paramItems.size()); // GBK??? } else if (tc.getCmdType() == JT808Constants.CMD_INFORMATION) { // ?? JT_8304 cmdData = new JT_8304(); ts.setMessageContents(cmdData); if (StringHelper.isNullOrEmpty(tc.getCmdData())) throw new Exception("?"); String[] fields = tc.getCmdData().split("[;]", -1); cmdData.setMessageType(Byte.parseByte(fields[0])); cmdData.setMessage(fields[1]); } else if (tc.getCmdType() == JT808Constants.CMD_DIAL_BACK) { // ? JT_8400 cmdData = new JT_8400(); ts.setMessageContents(cmdData); String[] fields = tc.getCmdData().split("[;]", -1); cmdData.setFlag(Byte.parseByte(fields[0])); cmdData.setPhoneNo(fields[1]); } else if (tc.getCmdType() == JT808Constants.CMD_PHONE_BOOK) { // ? JT_8401 cmdData = new JT_8401(); cmdData.setSettingType(Byte.parseByte(tc.getCmd())); // ts.setMessageContents(cmdData); String[] fields = tc.getCmdData().split("[;]", -1); java.util.ArrayList<PhoneNoItem> paramItems = new java.util.ArrayList<PhoneNoItem>(); for (String field : fields) { if (StringHelper.isNullOrEmpty(field)) { continue; } String[] items = field.split("[,]", -1); PhoneNoItem pi = new PhoneNoItem(); pi.setDailFlag(Byte.parseByte(items[0])); // pi.PhoneNoLength = byte.Parse(items[1]); pi.setPhoneNo(items[1]); // pi.ContactLength = byte.Parse(items[3]); pi.setContact(items[2]); // GBK? paramItems.add(pi); } cmdData.setContacts(paramItems); cmdData.setPhoneNosCount((byte) paramItems.size()); } else if (tc.getCmdType() == JT808Constants.CMD_CONTROL_VEHICLE) { // JT_8500 cmdData = new JT_8500(); ts.setMessageContents(cmdData); String[] fields = tc.getCmdData().split("[;]", -1); cmdData.setFlag(Byte.parseByte(fields[0])); } else if (tc.getCmdType() == JT808Constants.CMD_AUDIO_RECORDER) { // JT_8804 cmdData = new JT_8804(); ts.setMessageContents(cmdData); String[] fields = tc.getCmdData().split("[;]", -1); cmdData.setRecordCommad(Byte.parseByte(fields[0])); cmdData.setRecordTimePeriod(Short.parseShort(fields[1])); cmdData.setStoreFlag(Byte.parseByte(fields[2])); cmdData.setFrequency(Byte.parseByte(fields[3])); } else if (tc.getCmdType() == JT808Constants.CMD_VEHICLE_RECORDER) { // ? if(vehicleRecorderVersion!=null && vehicleRecorderVersion.equals("2012")) { //2012 JT2012_8700 cmdData = new JT2012_8700(); ts.setMessageContents(cmdData); String[] fields = tc.getCmdData().split("[;]", -1); cmdData.setCommandWord(Byte.parseByte(fields[0])); // } else { //2003 JT_8700 cmdData = new JT_8700(); ts.setMessageContents(cmdData); String[] fields = tc.getCmdData().split("[;]", -1); cmdData.setCommandWord(Byte.parseByte(fields[0])); // // cmdDat = uShort.parseShort(fields[1]); cmdData.setRepassPacketsCount((byte) 0); // ??? } } else if (tc.getCmdType() == JT808Constants.CMD_VEHICLE_RECORDER_CONFIG) { // ? JT_8701 cmdData = new JT_8701(); ts.setMessageContents(cmdData); String[] fields = tc.getCmdData().split("[;]", -1); cmdData.setCommandWord((byte) Integer.parseInt(fields[0])); // // cmdDat = uShort.parseShort(fields[1]); Integer cmdWord = Integer.parseInt(fields[0]); if (cmdWord == 0x81) { // ????? Recorder_DriverVehicleCode rd = new Recorder_DriverVehicleCode(); cmdData.setData(rd); rd.setDriverCode(fields[1]); rd.setDriverLicenseNo(fields[2]); } else if (cmdWord == 0x82) { // VIN????? Recorder_VehicleLicenseInfo rd = new Recorder_VehicleLicenseInfo(); rd.setVinNo(fields[1]); rd.setVehicleLicenseNo(fields[2]); rd.setPlateType(fields[3]); cmdData.setData(rd); } else if (cmdWord == 0xC2) { // YY-MM-DD-hh-mm-ss Recorder_RealTimeClock rd = new Recorder_RealTimeClock(); SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd HH:mm:ss"); rd.setRealTimeClock(sdf.parse(fields[1])); cmdData.setData(rd); } else if (cmdWord == 0xC3) { // ? () Recorder_FeatureFactor rd = new Recorder_FeatureFactor(); rd.setFeatureFactor(Integer.parseInt(fields[1])); cmdData.setData(rd); } else { throw new Exception("?:" + cmdWord); } } else if (tc.getCmdType() == JT808Constants.CMD_TRANS) { // ? JT_8900 cmdData = new JT_8900(); ts.setMessageContents(cmdData); String[] fields = tc.getCmdData().split("[;]", -1); String format = fields[0]; String messageCotent = fields[2]; byte[] messageBytes = null; if (format == "hex") { // 16 messageBytes = Tools.HexString2Bytes(messageCotent); } else { messageBytes = BitConverter.getBytes(messageCotent); messageBytes = Base64.encodeBase64(messageBytes); } cmdData.setMessageType(Byte.parseByte(fields[1])); cmdData.setMessageContent(messageBytes); }else if (tc.getCmdType() == JT808Constants.CMD_CLEAR_ALARM) { String[] fields = tc.getCmdData().split("[;]", -1); int sn = Integer.parseInt(fields[0]); int msgType = Integer.parseInt(fields[1]); int ackResult = Integer.parseInt(fields[2]); /** JT_8001 cmdData = new JT_8001(); ts.setMessageContents(cmdData); cmdData.setResponseMessageSerialNo((short)sn); cmdData.setResponseMessageId((short) msgType); cmdData.setResponseResult((byte) ackResult); // ? */ JT_8203 cmdData = new JT_8203(); ts.getHeader().setMessageType(0x8203); ts.setMessageContents(cmdData); cmdData.setResponseMessageSerialNo((short)sn); cmdData.setAlarmType(1);// } else { tc.setStatus(TerminalCommand.STATUS_INVALID); } // BaseDao.saveOrUpdate(tc); //?? return ts; }
From source file:nl.knaw.dans.common.ldap.repo.LdapMapper.java
private Object getPrimitive(Class<?> type, String s) throws NamingException { Object value = s;//from www. ja v a 2 s. c o m if (Integer.TYPE.equals(type)) { value = Integer.parseInt(s); } else if (Boolean.TYPE.equals(type)) { value = new Boolean("TRUE".equals(s)); } else if (Long.TYPE.equals(type)) { value = Long.parseLong(s); } else if (Float.TYPE.equals(type)) { value = Float.parseFloat(s); } else if (Double.TYPE.equals(type)) { value = Double.parseDouble(s); } else if (Byte.TYPE.equals(type)) { value = Byte.parseByte(s); } else if (Short.TYPE.equals(type)) { value = Short.parseShort(s); } return value; }
From source file:com.zlfun.framework.excel.ExcelUtils.java
private static void set(Object obj, Field field, String value) { if (value == null) { return;//from w w w.jav a 2 s . c o m } try { if (!field.isAccessible()) { field.setAccessible(true); } Object val = value; if (field.getType() == int.class) { try { val = Integer.parseInt(value); } catch (Exception ex) { val = -1; } } else if (field.getType() == long.class) { try { val = Long.parseLong(value); } catch (Exception ex) { val = -1l; } } else if (field.getType() == double.class) { val = Double.parseDouble(value); } else if (field.getType() == byte.class) { val = Byte.parseByte(value); } else if (field.getType() == boolean.class) { val = Boolean.parseBoolean(value); } field.set(obj, val); } catch (Exception e) { } }
From source file:com.google.cloud.dataflow.examples.opinionanalysis.IndexerPipelineUtils.java
public static byte[] extractRecordDelimiters(String paramValue) { String[] delimiters = paramValue.split(","); ArrayList<Byte> resList = new ArrayList<Byte>(); for (String d : delimiters) resList.add(Byte.parseByte(d)); Byte[] resArray = new Byte[resList.size()]; resList.toArray(resArray);// w ww .j av a 2s. c o m byte[] result = ArrayUtils.toPrimitive(resArray); return result; }
From source file:com.netcrest.pado.tools.pado.command.put.java
@SuppressWarnings("rawtypes") private void updateObject(Map<String, Method> setterMap, Object obj, String field, String value) throws Exception { String setterMethodName = "set" + field.trim(); Method setterMethod = setterMap.get(setterMethodName); if (setterMethod == null) { return;//from w ww . j a va2s. com } Class types[] = setterMethod.getParameterTypes(); Class arg = types[0]; if (arg == byte.class || arg == Byte.class) { setterMethod.invoke(obj, Byte.parseByte(value)); } else if (arg == char.class || arg == Character.class) { setterMethod.invoke(obj, value.charAt(0)); } else if (arg == short.class || arg == Short.class) { setterMethod.invoke(obj, Short.parseShort(value)); } else if (arg == int.class || arg == Integer.class) { setterMethod.invoke(obj, Integer.parseInt(value)); } else if (arg == long.class || arg == Long.class) { setterMethod.invoke(obj, Long.parseLong(value)); } else if (arg == float.class || arg == Float.class) { setterMethod.invoke(obj, Float.parseFloat(value)); } else if (arg == double.class || arg == Double.class) { setterMethod.invoke(obj, Double.parseDouble(value)); } else if (arg == Date.class) { Date date = padoShell.getDate(value); if (date == null) { PadoShell.println(" Unable to parse date."); } else { setterMethod.invoke(obj, date); } } else if (arg == String.class) { setterMethod.invoke(obj, value); } else { PadoShell.println(" Unsupported type: " + setterMethod.getName() + "(" + arg.getName() + ")"); return; } }
From source file:microsoft.exchange.webservices.data.property.complex.UserConfigurationDictionary.java
/** * Constructs a dictionary object (key or entry value) from the specified * type and string list./*from w ww .j ava 2s .c o m*/ * * @param type Object type to construct. * @param value Value of the dictionary object as a string list * @param reader The reader. * @return Dictionary object. */ private Object constructObject(UserConfigurationDictionaryObjectType type, List<String> value, EwsServiceXmlReader reader) { EwsUtilities.ewsAssert(value != null, "UserConfigurationDictionary.ConstructObject", "value is null"); EwsUtilities.ewsAssert((value.size() == 1 || type == UserConfigurationDictionaryObjectType.StringArray), "UserConfigurationDictionary.ConstructObject", "value is array but type is not StringArray"); EwsUtilities.ewsAssert(reader != null, "UserConfigurationDictionary.ConstructObject", "reader is null"); Object dictionaryObject = null; if (type.equals(UserConfigurationDictionaryObjectType.Boolean)) { dictionaryObject = Boolean.parseBoolean(value.get(0)); } else if (type.equals(UserConfigurationDictionaryObjectType.Byte)) { dictionaryObject = Byte.parseByte(value.get(0)); } else if (type.equals(UserConfigurationDictionaryObjectType.ByteArray)) { dictionaryObject = Base64.decodeBase64(value.get(0)); } else if (type.equals(UserConfigurationDictionaryObjectType.DateTime)) { Date dateTime = DateTimeUtils.convertDateTimeStringToDate(value.get(0)); if (dateTime != null) { dictionaryObject = dateTime; } else { EwsUtilities.ewsAssert(false, "UserConfigurationDictionary.ConstructObject", "DateTime is null"); } } else if (type.equals(UserConfigurationDictionaryObjectType.Integer32)) { dictionaryObject = Integer.parseInt(value.get(0)); } else if (type.equals(UserConfigurationDictionaryObjectType.Integer64)) { dictionaryObject = Long.parseLong(value.get(0)); } else if (type.equals(UserConfigurationDictionaryObjectType.String)) { dictionaryObject = String.valueOf(value.get(0)); } else if (type.equals(UserConfigurationDictionaryObjectType.StringArray)) { dictionaryObject = value.toArray(); } else if (type.equals(UserConfigurationDictionaryObjectType.UnsignedInteger32)) { dictionaryObject = Integer.parseInt(value.get(0)); } else if (type.equals(UserConfigurationDictionaryObjectType.UnsignedInteger64)) { dictionaryObject = Long.parseLong(value.get(0)); } else { EwsUtilities.ewsAssert(false, "UserConfigurationDictionary.ConstructObject", "Type not recognized: " + type.toString()); } return dictionaryObject; }
From source file:org.jboss.dashboard.commons.misc.ReflectionUtils.java
public static byte toByte(String parameter) throws Exception { return Byte.parseByte(parameter); }
From source file:com.palantir.opensource.sysmon.linux.LinuxDiskspaceJMXWrapper.java
private static Byte parseByteIgnorePcnt(String byteValue) { try {/*from w w w.j a va2 s. c om*/ return Byte.parseByte(byteValue.replaceAll("%", "")); } catch (NumberFormatException e) { if (log.isDebugEnabled()) { log.debug("Error parsing value: " + byteValue, e); } } return null; }
From source file:com.amalto.core.storage.StorageMetadataUtils.java
public static Object convert(String dataAsString, String type) { if (Types.STRING.equals(type) || Types.TOKEN.equals(type) || Types.DURATION.equals(type)) { return dataAsString; } else if (Types.INTEGER.equals(type) || Types.POSITIVE_INTEGER.equals(type) || Types.NEGATIVE_INTEGER.equals(type) || Types.NON_NEGATIVE_INTEGER.equals(type) || Types.NON_POSITIVE_INTEGER.equals(type) || Types.INT.equals(type) || Types.UNSIGNED_INT.equals(type)) { return Integer.parseInt(dataAsString); } else if (Types.DATE.equals(type)) { // Be careful here: DateFormat is not thread safe synchronized (DateConstant.DATE_FORMAT) { try { DateFormat dateFormat = DateConstant.DATE_FORMAT; Date date = dateFormat.parse(dataAsString); return new Timestamp(date.getTime()); } catch (Exception e) { throw new RuntimeException("Could not parse date string", e); }/*from w ww. j a va 2s . c o m*/ } } else if (Types.DATETIME.equals(type)) { // Be careful here: DateFormat is not thread safe synchronized (DateTimeConstant.DATE_FORMAT) { try { DateFormat dateFormat = DateTimeConstant.DATE_FORMAT; Date date = dateFormat.parse(dataAsString); return new Timestamp(date.getTime()); } catch (Exception e) { throw new RuntimeException("Could not parse date time string", e); } } } else if (Types.BOOLEAN.equals(type)) { // Boolean.parseBoolean returns "false" if content isn't a boolean string value. Callers of this method // expect call to fail if data is malformed. if ("0".equals(dataAsString)) { //$NON-NLS-1$ return false; } else if ("1".equals(dataAsString)) { //$NON-NLS-1$ return true; } if (!"false".equalsIgnoreCase(dataAsString) && !"true".equalsIgnoreCase(dataAsString)) { //$NON-NLS-1$ //$NON-NLS-2$ throw new IllegalArgumentException("Value '" + dataAsString + "' is not valid for boolean"); } return Boolean.parseBoolean(dataAsString); } else if (Types.DECIMAL.equals(type)) { try { return new BigDecimal(dataAsString); } catch (NumberFormatException e) { throw new IllegalArgumentException("'" + dataAsString + "' is not a number.", e); } } else if (Types.FLOAT.equals(type)) { return Float.parseFloat(dataAsString); } else if (Types.LONG.equals(type) || Types.UNSIGNED_LONG.equals(type)) { return Long.parseLong(dataAsString); } else if (Types.ANY_URI.equals(type)) { return dataAsString; } else if (Types.SHORT.equals(type) || Types.UNSIGNED_SHORT.equals(type)) { return Short.parseShort(dataAsString); } else if (Types.QNAME.equals(type)) { return dataAsString; } else if (Types.BASE64_BINARY.equals(type)) { return dataAsString; } else if (Types.HEX_BINARY.equals(type)) { return dataAsString; } else if (Types.BYTE.equals(type) || Types.UNSIGNED_BYTE.equals(type)) { return Byte.parseByte(dataAsString); } else if (Types.DOUBLE.equals(type) || Types.UNSIGNED_DOUBLE.equals(type)) { return Double.parseDouble(dataAsString); } else if (Types.TIME.equals(type)) { // Be careful here: DateFormat is not thread safe synchronized (TimeConstant.TIME_FORMAT) { try { DateFormat dateFormat = TimeConstant.TIME_FORMAT; Date date = dateFormat.parse(dataAsString); return new Timestamp(date.getTime()); } catch (ParseException e) { throw new RuntimeException("Could not parse time string", e); } } } else { throw new NotImplementedException("No support for type '" + type + "'"); } }
From source file:forseti.nomina.JNomMovDirDlg.java
@SuppressWarnings({ "rawtypes", "unchecked" }) public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { super.doPost(request, response); String nom_nomina_dlg = ""; request.setAttribute("nom_nomina_dlg", nom_nomina_dlg); String mensaje = ""; short idmensaje = -1; String usuario = getSesion(request).getID_Usuario(); if (request.getContentType() != null && request.getContentType().toLowerCase().indexOf("multipart/form-data") > -1) { if (!getSesion(request).getRegistrado()) { irApag("/forsetiweb/errorAtributos.jsp", request, response); return; } else {//from w w w. j a va 2 s .c o m try { HttpSession ses = request.getSession(true); JFacturasXML nomrecxml = (JFacturasXML) ses.getAttribute("nom_rec_xml"); Vector archivos = new Vector(); DiskFileUpload fu = new DiskFileUpload(); List items = fu.parseRequest(request); Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) nomrecxml.getParametros().put(item.getFieldName(), item.getString()); else archivos.addElement(item); } // revisa por las entidades JNominaEntidadesSetIds setids = new JNominaEntidadesSetIds(request, usuario, getSesion(request).getSesion("NOM_NOMINA").getEspecial()); setids.Open(); if (setids.getNumRows() < 1) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } SubirArchivosCFD(request, response, nomrecxml, archivos); return; } catch (FileUploadException e) { e.printStackTrace(); return; } catch (Exception e) { e.printStackTrace(); return; } } } if (request.getParameter("proceso") != null && !request.getParameter("proceso").equals("")) { // revisa por las entidades JNominaEntidadesSetIds setids = new JNominaEntidadesSetIds(request, usuario, getSesion(request).getSesion("NOM_NOMINA").getEspecial()); setids.Open(); if (setids.getNumRows() < 1) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } request.setAttribute("idmod", "NOM_NOMINA"); request.setAttribute("fact_xml", "NOMINA"); // Revisa por intento de intrusion (Salto de permiso de entidad) if (!request.getParameter("proceso").equals("AGREGAR_NOMINA") && request.getParameter("id") != null) { JNominasModuloSet set = new JNominasModuloSet(request); set.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; set.Open(); if (set.getNumRows() < 1) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "AL", getSesion(request).getID_Usuario(), "NOM_NOMINA", "NNOM|" + request.getParameter("id") + "|" + setids.getAbsRow(0).getID_Sucursal() + "||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } if (request.getParameter("proceso").equals("ENLAZAR_RECIBO")) { //System.out.println("Enlazar Recibos"); // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_CAMBIAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_CAMBIAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_CAMBIAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (setids.getAbsRow(0).getCFD() || (setnom.getAbsRow(0).getTipo() != 1 && setnom.getAbsRow(0).getTipo() != 2 && setnom.getAbsRow(0).getTipo() != 5 && setnom.getAbsRow(0).getTipo() != 6 && setnom.getAbsRow(0).getTipo() != 7 && setnom.getAbsRow(0).getTipo() != 8)) { idmensaje = 3; mensaje += "ERROR: No se puede enlazar ningun CFDI porque esta entidad de nmina genera sus propios CFDIs, o porque esta nmina es del tipo especial, la cual no es compatible para sellar.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("subproceso") == null) // Como el subproceso no es ENVIAR ni ENLAZAR, { //System.out.println("Subproceso Nulo"); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/fact_dlg_xmls.jsp", request, response); return; } else { //System.out.println("Subproceso NO Nulo"); if (request.getParameter("subproceso").equals("ENLAZAR")) { // Se supone que el recibo aun no estar ligado a un recibo existente... JCFDCompSet comprobante = new JCFDCompSet(request, "NOMINA"); comprobante.m_Where = "UUID = '" + p(request.getParameter("uuid")) + "'"; comprobante.Open(); if (comprobante.getNumRows() < 1 || !comprobante.getAbsRow(0).getFSI_Tipo().equals("ENT") || comprobante.getAbsRow(0).getFSI_ID() != Integer .parseInt(getSesion(request).getSesion("NOM_NOMINA").getEspecial())) { idmensaje = 3; mensaje += "ERROR: No se ha cargado el CFDI del recibo, ste ya esta ligado a otro recibo, el CFDI se carg en otra entidad<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } HttpSession ses = request.getSession(true); JFacturasXML nomrecxml = (JFacturasXML) ses.getAttribute("nom_rec_xml"); if (nomrecxml == null) { nomrecxml = new JFacturasXML(); ses.setAttribute("nom_rec_xml", nomrecxml); } else { nomrecxml = null; nomrecxml = new JFacturasXML(); ses.setAttribute("nom_rec_xml", nomrecxml); } StringBuffer sb_mensaje = new StringBuffer(); if (!JForsetiCFD.CargarDocumentoCFDI(request, nomrecxml, sb_mensaje, request.getParameter("uuid"), "N")) { idmensaje = 3; mensaje += sb_mensaje.toString(); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (nomrecxml.getComprobante().getProperty("tipoDeComprobante").equals("ingreso") || nomrecxml.getComprobante().getProperty("tipoDeComprobante").equals("traslado")) { idmensaje = 3; mensaje += "ERROR: El tipo de comprobante fiscal digital CFDI, No corresponde con el tipo de documento a enlazar.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } //Verifica que el RFC del Emisor sea igual al RFC registrado, o que sea rfc generico JBDSSet set = new JBDSSet(request); set.ConCat(true); set.m_Where = "Nombre = 'FSIBD_" + p(getSesion(request).getBDCompania()) + "'"; set.Open(); if (!nomrecxml.getRFC_Emisor().equalsIgnoreCase(set.getAbsRow(0).getRFC())) { idmensaje = 3; mensaje = "ERROR: El RFC del emisor en el XML no pertenece a la compaia"; getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("idempleado") == null) // Significa que debe agregar un nuevo recibo { if (setnom.getAbsRow(0).getCerrado()) { idmensaje = 3; mensaje += "ERROR: No se puede enlazar el CFDI a un recibo nuevo porque la nmina ya esta protegida <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } //float descuento = Float.parseFloat(nomrecxml.getComprobante().getProperty("descuento")); //float totalImpuestosRetenidos = Float.parseFloat(nomrecxml.getImpuestos().getProperty("totalImpuestosRetenidos")); JMasempSet setemp = new JMasempSet(request); setemp.m_Where = "ID_Compania = '0' and ID_Sucursal = '" + getSesion(request).getSesion("NOM_NOMINA").getEspecial() + "' and ( RFC_Letras || RFC_Fecha || RFC_Homoclave ) ~~* '" + p(nomrecxml.getRFC_Receptor()) + "'"; setemp.Open(); //System.out.println(setemp.getSQL()); if (setemp.getNumRows() == 0) { idmensaje = 1; mensaje = "PRECAUCION: No existe el empleado dado de alta en el sistema, est dado de alta en otra entidad o el RFC del empleado no coincide con el del recibo"; getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JNomMovDirSes rec = (JNomMovDirSes) ses.getAttribute("nom_nomina_dlg"); if (rec == null) { rec = new JNomMovDirSes(); ses.setAttribute("nom_nomina_dlg", rec); } else rec.resetear(); JProcessSet setRec = new JProcessSet(request); setRec.setSQL("select Recibo from VIEW_NOM_CALCULO_NOMINA_ESP where ID_Nomina = '" + p(request.getParameter("id")) + "' order by Recibo desc limit 1"); setRec.Open(); if (setRec.getNumRows() > 0) rec.setRecibo(Integer.valueOf(setRec.getAbsRow(0).getSTS("Col1")) + 1); else rec.setRecibo(1); //Llena el recibo rec.setUUID(nomrecxml.getTFD().getProperty("UUID")); rec.setID_Empleado(setemp.getAbsRow(0).getID_Empleado()); rec.setNombre(setemp.getAbsRow(0).getNombre() + " " + setemp.getAbsRow(0).getApellido_Paterno() + " " + setemp.getAbsRow(0).getApellido_Materno()); JCalculoNominaDetSet dset = new JCalculoNominaDetSet(request); dset.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; dset.Open(); for (int i = 0; i < nomrecxml.getPercepciones().size(); i++) { Properties percepcion = (Properties) nomrecxml.getPercepciones().elementAt(i); int clave; String descripcion; boolean esDeduccion; int idmovimiento; try { idmovimiento = Integer.parseInt(percepcion.getProperty("Clave")); } catch (NumberFormatException e) { idmovimiento = 0; } JMovimientosNomSet cat = new JMovimientosNomSet(request); cat.m_Where = "ID_Movimiento = '" + idmovimiento + "'"; //System.out.println(cat.getSQL()); cat.Open(); if (cat.getNumRows() > 0) { clave = cat.getAbsRow(0).getID_Movimiento(); descripcion = cat.getAbsRow(0).getDescripcion(); esDeduccion = cat.getAbsRow(0).getDeduccion(); } else // Si no existe la clave en el catalogo, enlaza desde catlogo intermediario { clave = 0; descripcion = percepcion.getProperty("Concepto"); esDeduccion = false; } float gravado = Float.parseFloat(percepcion.getProperty("ImporteGravado")); float exento = Float.parseFloat(percepcion.getProperty("ImporteExento")); rec.agregaPartida(clave, descripcion, gravado, exento, 0.00F, esDeduccion); } for (int i = 0; i < nomrecxml.getDeducciones().size(); i++) { Properties deduccion = (Properties) nomrecxml.getDeducciones().elementAt(i); int clave; String descripcion; boolean esDeduccion; JMovimientosNomSet cat = new JMovimientosNomSet(request); cat.m_Where = "ID_Movimiento = '" + p(deduccion.getProperty("Clave")) + "'"; //System.out.println(cat.getSQL()); cat.Open(); if (cat.getNumRows() > 0) { clave = cat.getAbsRow(0).getID_Movimiento(); descripcion = cat.getAbsRow(0).getDescripcion(); esDeduccion = cat.getAbsRow(0).getDeduccion(); } else // Si no existe la clave en el catalogo, enlaza desde catlogo intermediario { clave = 0; descripcion = deduccion.getProperty("Concepto"); esDeduccion = true; } float gravado = Float.parseFloat(deduccion.getProperty("ImporteGravado")); float exento = Float.parseFloat(deduccion.getProperty("ImporteExento")); rec.agregaPartida(clave, descripcion, 0.00F, 0.00F, -(gravado + exento), esDeduccion); } for (int i = 0; i < nomrecxml.getIncapacidades().size(); i++) { Properties incapacidad = (Properties) nomrecxml.getIncapacidades().elementAt(i); float dias = Float.parseFloat(incapacidad.getProperty("DiasIncapacidad")); int tipo = Integer.parseInt(incapacidad.getProperty("TipoIncapacidad")); if (tipo == 1) rec.setIXA(dias); else if (tipo == 2) rec.setIXE(dias); else rec.setIXM(dias); } for (int i = 0; i < nomrecxml.getHorasExtras().size(); i++) { Properties horasextra = (Properties) nomrecxml.getHorasExtras().elementAt(i); byte dias = Byte.parseByte(horasextra.getProperty("Dias")); String tipo = horasextra.getProperty("TipoHoras"); float horas = Float.parseFloat(horasextra.getProperty("HorasExtra")); rec.setDiasHorasExtras(dias); if (tipo.equals("Dobles") || tipo.equals("dobles")) rec.setHE(horas); else // Triples o triples rec.setHT(horas); } rec.establecerResultados(); if ((JUtil.redondear(rec.getSumGravado() + rec.getSumExento() + rec.getSumDeduccion(), 2) - JUtil.redondear( Float.parseFloat(nomrecxml.getComprobante().getProperty("total")), 2)) > 0.1 || (JUtil.redondear( rec.getSumGravado() + rec.getSumExento() + rec.getSumDeduccion(), 2) - JUtil.redondear( Float.parseFloat( nomrecxml.getComprobante().getProperty("total")), 2)) < -0.1) { idmensaje = 3; mensaje = "ERROR: El total en el CFDI no corresponde al Total calculado en el registro a partir de este CFDI. No se puede agregar. DOC: " + JUtil.redondear( rec.getSumGravado() + rec.getSumExento() + rec.getSumDeduccion(), 2) + " XML: " + JUtil.redondear( Float.parseFloat(nomrecxml.getComprobante().getProperty("total")), 2); getSesion(request).setID_Mensaje(idmensaje, mensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } else // Significa que debe Enlazar a un recibo existente { if (setnom.getAbsRow(0).getFormaPago().equals("N")) //Si no est ya pagada la nomina lo rechaza porque no hay poliza para enlazar el cfdi a la contabilidad electronica { idmensaje = 3; mensaje += "ERROR: No se puede enlazar el CFDI a un recibo existente porque la nmina no esta pagada an, lo que significa que no existe una pliza asociada para el enlace a la contabilidad elecrnica <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } String[] valoresParam = request.getParameterValues("idempleado"); if (valoresParam.length == 1) { JCalculoNominaEspSet cset = new JCalculoNominaEspSet(request); cset.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; cset.Open(); //System.out.println(setemp.getSQL()); if (cset.getAbsRow(0).getID_CFD() != 0) { idmensaje = 1; mensaje += "PRECAUCION: Este recibo ya tiene un CFDI asociado. No puedes asociar otro CFDI al mismo recibo<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JMasempSetCons setemp = new JMasempSetCons(request); setemp.m_Where = "ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; setemp.Open(); if (JUtil.redondear( cset.getAbsRow(0).getGravado() + cset.getAbsRow(0).getExento() + cset.getAbsRow(0).getDeduccion(), 2) != JUtil.redondear( Float.parseFloat(nomrecxml.getComprobante().getProperty("total")), 2) || !(setemp.getAbsRow(0).getRFC_Letras() + setemp.getAbsRow(0).getRFC_Fecha() + setemp.getAbsRow(0).getRFC_Homoclave()) .equals(nomrecxml.getRFC_Receptor())) { idmensaje = 1; mensaje += "PRECAUCION: Los totales o los RFCs del recibo y el CFDI no coinciden. No se puede asociar este CFDI al registro<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Aqui asocia. Enlazar(request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } } else if (request.getParameter("subproceso").equals("ENVIAR")) { if (AgregarRecursos(request, response) == -1) { AgregarCambiarEmp(request, response); return; } irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } } } else if (request.getParameter("proceso").equals("AGREGAR_NOMINA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_AGREGAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JAdmCompaniasSet setcom = new JAdmCompaniasSet(request); setcom.m_Where = "ID_Compania = '0' and ID_Sucursal = '" + getSesion(request).getSesion("NOM_NOMINA").getEspecial() + "'"; setcom.Open(); Byte numero_nomina = new Byte(setcom.getAbsRow(0).getNumero()); Date desde = new Date(setcom.getAbsRow(0).getFecha().getTime()); Calendar hast = new GregorianCalendar(); hast.setTime(setcom.getAbsRow(0).getFecha()); Integer ano = new Integer(JUtil.obtAno(hast)); Integer tipo_de_nomina = new Integer(-1); if (setcom.getAbsRow(0).getPeriodo().equals("sem")) hast.add(Calendar.DATE, 6); else if (setcom.getAbsRow(0).getPeriodo().equals("qui")) hast.add(Calendar.DATE, 14); else { hast.add(Calendar.MONTH, 1); hast.add(Calendar.DATE, -1); } Date hasta = hast.getTime(); request.setAttribute("numero_nomina", numero_nomina); request.setAttribute("ano", ano); request.setAttribute("desde", desde); request.setAttribute("hasta", hasta); request.setAttribute("tipo_de_nomina", tipo_de_nomina); // Solicitud de envio a procesar if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("ENVIAR")) { // Verificacion if (VerificarParametros(request, response)) { AgregarCambiarCabecero(request, response); return; } irApag("/forsetiweb/nomina/nom_nomina_dlg.jsp", request, response); return; } else // Como el subproceso no es ENVIAR, abre la ventana del proceso de AGREGADO para agregar `por primera vez { getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/nomina/nom_nomina_dlg.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("CAMBIAR_NOMINA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_CAMBIAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_CAMBIAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_CAMBIAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Solicitud de envio a procesar if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (setnom.getAbsRow(0).getCerrado()) { idmensaje = 3; mensaje += "ERROR: No se puede cambiar la nómina porque ya esta protegida<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (setnom.getAbsRow(0).getTipo() != 1 && setnom.getAbsRow(0).getTipo() != 2) { idmensaje = 3; mensaje += "ERROR: No se puede cambiar la nmina porque no es una nmina normal<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } Byte numero_nomina = new Byte((byte) setnom.getAbsRow(0).getNumero_Nomina()); Integer ano = new Integer(setnom.getAbsRow(0).getAno()); Date desde = new Date(setnom.getAbsRow(0).getFecha_Desde().getTime()); Date hasta = new Date(setnom.getAbsRow(0).getFecha_Hasta().getTime()); Integer tipo_de_nomina = new Integer(setnom.getAbsRow(0).getTipo()); request.setAttribute("numero_nomina", numero_nomina); request.setAttribute("ano", ano); request.setAttribute("desde", desde); request.setAttribute("hasta", hasta); request.setAttribute("tipo_de_nomina", tipo_de_nomina); // Solicitud de envio a procesar if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("ENVIAR")) { // Verificacion if (VerificarParametros(request, response)) { AgregarCambiarCabecero(request, response); return; } irApag("/forsetiweb/nomina/nom_nomina_dlg.jsp", request, response); return; } else // Como el subproceso no es ENVIAR, abre la ventana del proceso de AGREGADO para agregar `por primera vez { getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/nomina/nom_nomina_dlg.jsp", request, response); return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("ELIMINAR_NOMINA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_ELIMINAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_ELIMINAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_ELIMINAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Solicitud de envio a procesar if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (setnom.getAbsRow(0).getCerrado()) { idmensaje = 3; mensaje += "ERROR: No se puede eliminar la nómina porque ya esta protegida <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JCalculoNominaEspSet cset = new JCalculoNominaEspSet(request); cset.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and TFD >= 2"; cset.Open(); if (cset.getNumRows() > 0) { idmensaje = 3; mensaje += "ERROR: No se puede eliminar la nmina porque por lo menos un recibo ya tiene su CFDI enlazado. Primero debes desenlazar el CFDI desde el mdulo de CFDI y CE del centro de control<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } Eliminar(request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("CALCULAR_NOMINA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_AGREGAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Solicitud de envio a procesar if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (setnom.getAbsRow(0).getCerrado()) { idmensaje = 3; mensaje += "ERROR: No se puede calcular la nómina porque ya est protegida <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (setnom.getAbsRow(0).getTipo() == 1 || setnom.getAbsRow(0).getTipo() == 2) { if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("ENVIAR")) { //Normales Calcular(request, response, 12); return; } else // Como el subproceso no es ENVIAR, abre la ventana del proceso de AGREGADO para agregar `por primera vez { getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/nomina/nom_nomina_dlg_calcular.jsp", request, response); return; } } else if (setnom.getAbsRow(0).getTipo() == 5 || setnom.getAbsRow(0).getTipo() == 6) { //Aguinaldo Calcular(request, response, 56); return; } else { idmensaje = 3; mensaje += "ERROR: No se puede calcular la nmina porque el tipo de nmina no es calculable <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("GENERAR_NOMINA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_AGREGAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Solicitud de envio a procesar if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (!setnom.getAbsRow(0).getCerrado() || setnom.getAbsRow(0).getStatus().equals("P") || setnom.getAbsRow(0).getStatus().equals("C")) { idmensaje = 3; mensaje += "ERROR: No se puede generar pago de nómina porque no esta protegida, ya esta pagada o esta cancelada <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } Generar(request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("CARGAR_RECIBO")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_CFDI_CARGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_CFDI_CARGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_CFDI_CARGAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (setids.getAbsRow(0).getCFD() || (setnom.getAbsRow(0).getTipo() != 1 && setnom.getAbsRow(0).getTipo() != 2 && setnom.getAbsRow(0).getTipo() != 5 && setnom.getAbsRow(0).getTipo() != 6)) { idmensaje = 3; mensaje += "ERROR: No se puede cargar ningun CFDI porque esta entidad de nmina genera sus propios CFDIs, o porque el tipo, no es compatible para sellar.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } Integer subir_archivos = new Integer(2); request.setAttribute("subir_archivos", subir_archivos); HttpSession ses = request.getSession(true); JFacturasXML rec = (JFacturasXML) ses.getAttribute("nom_rec_xml"); if (rec == null) { rec = new JFacturasXML(); ses.setAttribute("nom_rec_xml", rec); } else { rec = null; rec = new JFacturasXML(); ses.setAttribute("nom_rec_xml", rec); } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/subir_archivos.jsp?verif=/servlet/CEFNomMovDirDlg&archivo_1=xml&archivo_2=pdf&proceso=CARGAR_RECIBO&subproceso=ENVIAR", request, response); return; } else if (request.getParameter("proceso").equals("SELLAR_NOMINA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_AGREGAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_AGREGAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_AGREGAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { if (setids.getAbsRow(0).getCFD() == false) { idmensaje = 1; mensaje += "PRECAUCION: Esta entidad de nmina no está establecida como CFDI. No se pueden sellar los registros<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (!setnom.getAbsRow(0).getCerrado() || !setnom.getAbsRow(0).getStatus().equals("P") || setnom.getAbsRow(0).getStatus().equals("C")) { idmensaje = 3; mensaje += "ERROR: No se puede sellar esta nmina porque no esta protegida, no esta pagada o est cancelada <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (setnom.getAbsRow(0).getTipo() == 1 || setnom.getAbsRow(0).getTipo() == 2 || setnom.getAbsRow(0).getTipo() == 5 || setnom.getAbsRow(0).getTipo() == 6 || setnom.getAbsRow(0).getTipo() == 7 || setnom.getAbsRow(0).getTipo() == 8) { JCalculoNominaEspSet SetMod = new JCalculoNominaEspSet(request); SetMod.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; SetMod.m_OrderBy = "Recibo ASC"; SetMod.Open(); for (int i = 0; i < SetMod.getNumRows(); i++) { if (SetMod.getAbsRow(i).getTFD() == 3) continue; StringBuffer sb_mensaje = new StringBuffer(254); idmensaje = generarCFDI(request, response, "NOMINA", Integer.parseInt(request.getParameter("id")), SetMod.getAbsRow(i).getID_Empleado(), setids, SetMod.getAbsRow(i).getTFD(), sb_mensaje); mensaje += SetMod.getAbsRow(i).getID_Empleado() + " " + sb_mensaje.toString() + "<br>"; if (idmensaje == 3) break; } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else { idmensaje = 3; mensaje += "ERROR: No se puede sellar la nómina porque se trata de una nómina especial. <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("PROTEGER_NOMINA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_CAMBIAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_CAMBIAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_CAMBIAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Solicitud de envio a procesar if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (!setnom.getAbsRow(0).getFormaPago().equals("N") || setnom.getAbsRow(0).getStatus().equals("C")) { idmensaje = 3; mensaje += "ERROR: No se puede desproteger la nmina porque ya esta pagada o esta cancelada.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } Proteger(request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("CONSULTAR_NOMINA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Solicitud de envio a procesar if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/nomina/nom_nomina_dlg_cons.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("MOVER_NOMINA")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_CAMBIAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_CAMBIAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_CAMBIAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Solicitud de envio a procesar if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/nomina/nom_nomina_dlg_cons.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("AGR_EMP")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_CAMBIAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_CAMBIAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_CAMBIAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (setnom.getAbsRow(0).getCerrado() || setnom.getAbsRow(0).getStatus().equals("C")) { idmensaje = 3; mensaje += "ERROR: No se puede agregar el empleado porque la nmina ya est protegida o est cancelada.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } // Solicitud de envio a procesar if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("ENVIAR")) { if (AgregarCabeceroRecibo(request, response) == -1) { AgregarCambiarEmp(request, response); return; } irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } else if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("AGR_PART")) { if (AgregarCabeceroRecibo(request, response) == -1) { if (VerificarParametrosPartida(request, response)) AgregarPartida(request, response); } irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } else if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("EDIT_PART")) { if (AgregarCabeceroRecibo(request, response) == -1) { if (VerificarParametrosPartida(request, response)) EditarPartida(request, response); } irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } else if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("BORR_PART")) { if (AgregarCabeceroRecibo(request, response) == -1) { BorrarPartida(request, response); } irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } else // Como el subproceso no es ENVIAR ni AGR_PART ni EDIT_PART ni BORR_PART, abre la ventana del proceso de AGREGADO para agregar `por primera vez { HttpSession ses = request.getSession(true); JNomMovDirSes rec = (JNomMovDirSes) ses.getAttribute("nom_nomina_dlg"); if (rec == null) { rec = new JNomMovDirSes(); ses.setAttribute("nom_nomina_dlg", rec); } else rec.resetear(); JProcessSet setRec = new JProcessSet(request); setRec.setSQL("select Recibo from VIEW_NOM_CALCULO_NOMINA_ESP where ID_Nomina = '" + p(request.getParameter("id")) + "' order by Recibo desc limit 1"); setRec.Open(); if (setRec.getNumRows() > 0) rec.setRecibo(Integer.valueOf(setRec.getAbsRow(0).getSTS("Col1")) + 1); else rec.setRecibo(1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("CAM_EMP")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_CAMBIAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_CAMBIAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_CAMBIAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (setnom.getAbsRow(0).getCerrado() || setnom.getAbsRow(0).getStatus().equals("C")) { idmensaje = 3; mensaje += "ERROR: No se puede cambiar el recibo porque la nmina ya est protegida o est cancelada.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("idempleado") != null) { String[] valoresParam = request.getParameterValues("idempleado"); if (valoresParam.length == 1) { JCalculoNominaEspSet cset = new JCalculoNominaEspSet(request); cset.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; cset.Open(); if (cset.getAbsRow(0).getTFD() >= 2) { idmensaje = 3; mensaje += "ERROR: No se puede cambiar el recibo porque ya tiene un CFDI enlazado.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } //Solicitud de envio a procesar if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("ENVIAR")) { // Verificacion if (AgregarCabeceroRecibo(request, response) == -1) { AgregarCambiarEmp(request, response); return; } irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } else if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("AGR_PART")) { if (AgregarCabeceroRecibo(request, response) == -1) { if (VerificarParametrosPartida(request, response)) AgregarPartida(request, response); } irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } else if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("EDIT_PART")) { if (AgregarCabeceroRecibo(request, response) == -1) { if (VerificarParametrosPartida(request, response)) EditarPartida(request, response); } irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } else if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("BORR_PART")) { if (AgregarCabeceroRecibo(request, response) == -1) { BorrarPartida(request, response); } irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } else // Como el subproceso no es ENVIAR ni AGR_PART ni EDIT_PART ni BORR_PART, abre la ventana del proceso de AGREGADO para agregar `por primera vez { HttpSession ses = request.getSession(true); JNomMovDirSes rec = (JNomMovDirSes) ses.getAttribute("nom_nomina_dlg"); if (rec == null) { rec = new JNomMovDirSes(); ses.setAttribute("nom_nomina_dlg", rec); } else rec.resetear(); //Llena el empleado JCalculoNominaEspSet set = new JCalculoNominaEspSet(request); set.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; set.Open(); rec.setID_Empleado(set.getAbsRow(0).getID_Empleado()); rec.setNombre(set.getAbsRow(0).getNombre()); rec.setFaltas(set.getAbsRow(0).getFaltas()); rec.setHE(set.getAbsRow(0).getHE()); rec.setHD(set.getAbsRow(0).getHD()); rec.setHT(set.getAbsRow(0).getHT()); rec.setIXA(set.getAbsRow(0).getIXA()); rec.setIXE(set.getAbsRow(0).getIXE()); rec.setIXM(set.getAbsRow(0).getIXM()); rec.setRecibo(set.getAbsRow(0).getRecibo()); rec.setDiasHorasExtras(set.getAbsRow(0).getDiasHorasExtras()); JCalculoNominaDetSet dset = new JCalculoNominaDetSet(request); dset.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; dset.Open(); for (int i = 0; i < dset.getNumRows(); i++) { rec.agregaPartida(dset.getAbsRow(i).getID_Movimiento(), dset.getAbsRow(i).getDescripcion(), dset.getAbsRow(i).getGravado(), dset.getAbsRow(i).getExento(), dset.getAbsRow(i).getDeduccion(), dset.getAbsRow(i).getEsDeduccion()); } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/nomina/nom_nomina_dlg_emp.jsp", request, response); return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("BORR_EMP")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA_CAMBIAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA_CAMBIAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA_CAMBIAR", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JNominasModuloSet setnom = new JNominasModuloSet(request); setnom.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "'"; setnom.Open(); if (setnom.getAbsRow(0).getCerrado() || setnom.getAbsRow(0).getStatus().equals("C")) { idmensaje = 3; mensaje += "ERROR: No se puede borrar el recibo porque la nmina ya est protegida o est cancelada.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("idempleado") != null) { String[] valoresParam = request.getParameterValues("idempleado"); if (valoresParam.length == 1) { JCalculoNominaEspSet cset = new JCalculoNominaEspSet(request); cset.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; cset.Open(); if (cset.getAbsRow(0).getTFD() >= 2) { idmensaje = 3; mensaje += "ERROR: No se puede eliminar el recibo porque ya tiene un CFDI enlazado.<br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } EliminarEmp(request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("IMPRIMIR")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("idempleado") != null) { String[] valoresParam = request.getParameterValues("idempleado"); if (valoresParam.length == 1) { //Solicitud de envio a procesar if (request.getParameter("subproceso") != null && request.getParameter("subproceso").equals("IMPRESION")) { // Impresion StringBuffer bsmensaje = new StringBuffer(254); String SQLCab = "select * from view_nomina_recibos_impcab where ID_Nomina = " + request.getParameter("id") + " and ID_Empleado = '" + request.getParameter("idempleado") + "'"; String SQLDet = "select * from view_nomina_recibos_impdet where ID_Nomina = " + request.getParameter("id") + " and ID_Empleado = '" + request.getParameter("idempleado") + "' order by esdeduccion asc, id_movimiento asc"; idmensaje = Imprimir(SQLCab, SQLDet, request.getParameter("idformato"), bsmensaje, request, response); if (idmensaje != -1) { getSesion(request).setID_Mensaje(idmensaje, bsmensaje.toString()); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { request.setAttribute("impresion", "CEFNomMovDirDlg"); request.setAttribute("tipo_imp", "NOM_NOMINA"); request.setAttribute("formato_default", setids.getAbsRow(0).getFmt_Recibo()); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/impresion_dlg.jsp", request, response); return; } } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("ENVIAR_RECIBO")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("idempleado") != null) { String[] valoresParam = request.getParameterValues("idempleado"); if (valoresParam.length == 1) { //Solicitud de envio a procesar JCalculoNominaEspSet SetMod = new JCalculoNominaEspSet(request); SetMod.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3) { idmensaje = 1; mensaje += "PRECAUCION: Este recibo no está sellado completamente, no se puede enviar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JMasempSet set = new JMasempSet(request); set.m_Where = "ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; set.Open(); if (set.getAbsRow(0).getSMTP() == 0) // Maneja smtp manual o automtico { idmensaje = 1; mensaje += "PRECAUCION: Este empleado no esta confgurado para recibir sus recibos por correo <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JFsiSMTPClient smtp = new JFsiSMTPClient(); smtp.enviarCFDIMPE(request, "NOM", request.getParameter("id"), request.getParameter("idempleado"), set.getAbsRow(0).getNombre(), set.getAbsRow(0).getEMail()); if (smtp.getStatusSMTP() == JFsiSMTPClient.ERROR) { idmensaje = 3; mensaje += "ERROR: " + smtp.getError(); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } getSesion(request).setID_Mensaje((short) 0, "El correo se ha mandado satisfactoriamente"); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("XML_RECIBO")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("idempleado") != null) { String[] valoresParam = request.getParameterValues("idempleado"); if (valoresParam.length == 1) { //Solicitud de envio a procesar JCalculoNominaEspSet SetMod = new JCalculoNominaEspSet(request); SetMod.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3 || SetMod.getAbsRow(0).getID_CFD() == 0) { idmensaje = 1; mensaje += "PRECAUCION: Este recibo no está sellado completamente, no hay nada que bajar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JCFDCompSet cfd = new JCFDCompSet(request, "NOMINA"); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre, destino; if (cfd.getNumRows() > 0) nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/nom/TFDs/" + cfd.getAbsRow(0).getUUID() + ".xml"; else // Es CFDI generado internamente { nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/TFDs/SIGN_NOM-" + request.getParameter("id") + "-" + request.getParameter("idempleado") + ".xml"; } destino = "NOM-" + SetMod.getAbsRow(0).getID_Nomina() + "-" + SetMod.getAbsRow(0).getRecibo() + ".xml"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); idmensaje = 0; mensaje = "El recibo se bajo satisfactoriamente"; return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("PDF_RECIBO")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("NOM_NOMINA")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "NOM_NOMINA"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "NOM_NOMINA", "NNOM||||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (request.getParameter("idempleado") != null) { String[] valoresParam = request.getParameterValues("idempleado"); if (valoresParam.length == 1) { //Solicitud de envio a procesar JCalculoNominaEspSet SetMod = new JCalculoNominaEspSet(request); SetMod.m_Where = "ID_Nomina = '" + p(request.getParameter("id")) + "' and ID_Empleado = '" + p(request.getParameter("idempleado")) + "'"; SetMod.Open(); if (SetMod.getAbsRow(0).getTFD() != 3 || SetMod.getAbsRow(0).getID_CFD() == 0) { idmensaje = 1; mensaje += "PRECAUCION: Este recibo no está sellado completamente, no hay nada que bajar <br>"; getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } JCFDCompSet cfd = new JCFDCompSet(request, "NOMINA"); cfd.m_Where = "ID_CFD = '" + SetMod.getAbsRow(0).getID_CFD() + "'"; cfd.Open(); String nombre, destino; if (cfd.getNumRows() > 0) nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/nom/PDFs/" + cfd.getAbsRow(0).getUUID() + ".pdf"; else nombre = "/usr/local/forseti/emp/" + getSesion(request).getBDCompania() + "/PDFs/NOM-" + request.getParameter("id") + "-" + request.getParameter("idempleado") + ".pdf"; destino = "NOM-" + SetMod.getAbsRow(0).getID_Nomina() + "-" + SetMod.getAbsRow(0).getRecibo() + ".pdf"; JBajarArchivo fd = new JBajarArchivo(); fd.doDownload(response, getServletConfig().getServletContext(), nombre, destino); idmensaje = 0; mensaje = "El recibo se bajo satisfactoriamente"; return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 3); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else // si no se mandan parametros, manda a error { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 3); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } }