/* * (non-Javadoc) * * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext) */ public void stop(BundleContext context) throws Exception { for (Class each : parserClass) { DefinedCommon.reomoveConstant(each); } }
/** 当有销售单付款状态发生变化,如回款,退货, 个人领样转销售等(销售库管审批后),除回款实时,其它定时统计 {@inheritDoc} */ public void processOutPayChangedWithoutTransaction( String stafferId, BlackBean blackBean, double backValue, String refId, final Set<String> idSet) { int maxReDate; int oldMaxReDate = blackBean.getDays(); for (String eachId : idSet) { blackOutDAO.deleteEntityBean(eachId); } // 检查超期最长时间的销售单是否全部回款,如果全部回款,则要从超期中二次取出最大超期天数的单据,并更新超期最长的单据数据 List<BlackOutBean> blackOutList = blackOutDAO.queryByRefIdAndType(refId, 1); if (ListTools.isEmptyOrNull(blackOutList)) { // 二次取出最大超期天数 maxReDate = blackOutDAO.queryMaxDaysByRefIdAndType(refId, 0); } else { maxReDate = blackBean.getDays(); } _logger.info("maxReDate :" + maxReDate); if (maxReDate > 0 && maxReDate != oldMaxReDate) { List<BlackOutBean> blackOut0List = blackOutDAO.queryByRefIdAndType(refId, 0); for (BlackOutBean each : blackOut0List) { if (each.getDays() == maxReDate) { BlackOutBean outBean = new BlackOutBean(); outBean.setRefId(refId); outBean.setType(1); outBean.setOutId(each.getOutId()); outBean.setDays(each.getDays()); blackOutDAO.saveEntityBean(outBean); } } } // 回款后仍超期应收金额(不计当天发生的) double reDateMoney = blackBean.getMoney() - backValue; if (maxReDate == 0) { reDateMoney = 0.0d; backValue = blackBean.getMoney(); } int blackType = processBlackTypeInner(stafferId, reDateMoney, maxReDate, false); // 更新黑名单列表 blackBean.setMoney(reDateMoney); blackBean.setDays(maxReDate); blackBean.setAllMoneys(blackBean.getAllMoneys() - backValue); _logger.info("blackBean.setDays :" + blackBean.getDays()); int oldBlackType = blackBean.getCredit(); if (oldBlackType == StafferConstant.BLACK_NO && blackType != StafferConstant.BLACK_NO) { blackBean.setEntryDate(TimeTools.now_short()); blackBean.setRemoveDate(""); } else if (oldBlackType != StafferConstant.BLACK_NO && blackType == StafferConstant.BLACK_NO) { blackBean.setRemoveDate(TimeTools.now_short()); } blackBean.setCredit(blackType); _logger.info("processOutPayChangedWithoutTransaction blackBean update :" + blackBean); blackDAO.updateEntityBean(blackBean); // 通知 if (oldBlackType != blackType) { String msg = "你的信用属性发生变化,原信用属性为:【" + DefinedCommon.getValue("stafferBlack", oldBlackType) + "】,新的信用属性为:【" + DefinedCommon.getValue("stafferBlack", blackType) + "】"; notifyManager.notifyMessage(stafferId, msg); _logger.info(stafferId + "--" + msg); } }
/* * (non-Javadoc) * * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext) */ public void start(BundleContext context) throws Exception { for (Class each : parserClass) { DefinedCommon.addDefinedClass(each); } }