|
@@ -0,0 +1,3885 @@
|
|
|
+package nc.ui.so.so002;
|
|
|
+
|
|
|
+import com.yonyou.einvoice.utils.EinvoiceType;
|
|
|
+import java.awt.Component;
|
|
|
+import java.awt.event.ActionEvent;
|
|
|
+import java.awt.event.ActionListener;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.HashSet;
|
|
|
+import java.util.Hashtable;
|
|
|
+import java.util.Iterator;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Set;
|
|
|
+import java.util.TreeMap;
|
|
|
+import java.util.Vector;
|
|
|
+import java.util.Map.Entry;
|
|
|
+import nc.bs.bd.b21.BusinessCurrencyRateUtil;
|
|
|
+import nc.bs.framework.common.NCLocator;
|
|
|
+import nc.itf.scm.so.so002.IEinvService;
|
|
|
+import nc.itf.scm.so.so002.ISaleinvoice;
|
|
|
+import nc.ui.ml.NCLangRes;
|
|
|
+import nc.ui.pf.change.PfUtilUITools;
|
|
|
+import nc.ui.pf.pub.PfUIDataCache;
|
|
|
+import nc.ui.pf.query.ICheckRetVO;
|
|
|
+import nc.ui.pub.ButtonObject;
|
|
|
+import nc.ui.pub.ClientEnvironment;
|
|
|
+import nc.ui.pub.ToftPanel;
|
|
|
+import nc.ui.pub.beans.MessageDialog;
|
|
|
+import nc.ui.pub.beans.UIMenuItem;
|
|
|
+import nc.ui.pub.beans.UIRadioButton;
|
|
|
+import nc.ui.pub.beans.UIRefPane;
|
|
|
+import nc.ui.pub.bill.BillActionListener;
|
|
|
+import nc.ui.pub.bill.BillCardPanel;
|
|
|
+import nc.ui.pub.bill.BillItem;
|
|
|
+import nc.ui.pub.bill.BillMouseEnent;
|
|
|
+import nc.ui.pub.bill.BillTableMouseListener;
|
|
|
+import nc.ui.pub.linkoperate.ILinkAdd;
|
|
|
+import nc.ui.pub.linkoperate.ILinkAddData;
|
|
|
+import nc.ui.pub.linkoperate.ILinkApprove;
|
|
|
+import nc.ui.pub.linkoperate.ILinkApproveData;
|
|
|
+import nc.ui.pub.linkoperate.ILinkMaintain;
|
|
|
+import nc.ui.pub.linkoperate.ILinkMaintainData;
|
|
|
+import nc.ui.pub.linkoperate.ILinkQuery;
|
|
|
+import nc.ui.pub.linkoperate.ILinkQueryData;
|
|
|
+import nc.ui.pub.para.SysInitBO_Client;
|
|
|
+import nc.ui.pub.pf.PfUtilClient;
|
|
|
+import nc.ui.pub.workflownote.FlowStateDlg;
|
|
|
+import nc.ui.scm.file.DocumentManager;
|
|
|
+import nc.ui.scm.goldtax.TransGoldTaxDlg;
|
|
|
+import nc.ui.scm.plugin.InvokeEventProxy;
|
|
|
+import nc.ui.scm.print.BillPrintTool;
|
|
|
+import nc.ui.scm.print.IFreshTsListener;
|
|
|
+import nc.ui.scm.print.PrintLogClient;
|
|
|
+import nc.ui.scm.pub.BillTools;
|
|
|
+import nc.ui.scm.pub.BusiBillManageTool;
|
|
|
+import nc.ui.scm.pub.cache.NormalConditionCache;
|
|
|
+import nc.ui.scm.pub.def.DefSetTool;
|
|
|
+import nc.ui.scm.pub.panel.RelationsCal;
|
|
|
+import nc.ui.scm.pub.panel.SetColor;
|
|
|
+import nc.ui.scm.pub.report.BillRowNo;
|
|
|
+import nc.ui.scm.pub.report.LocateDialog;
|
|
|
+import nc.ui.scm.so.SaleBillType;
|
|
|
+import nc.ui.scm.sourcebill.SourceBillFlowDlg;
|
|
|
+import nc.ui.so.pub.plugin.SOPluginUI;
|
|
|
+import nc.ui.so.so001.SaleOrderBO_Client;
|
|
|
+import nc.ui.so.so002.SaleInvoiceUI;
|
|
|
+import nc.vo.arap.pub.ArapBusinessException;
|
|
|
+import nc.vo.bd.CorpVO;
|
|
|
+import nc.vo.jcom.lang.StringUtil;
|
|
|
+import nc.vo.pub.AggregatedValueObject;
|
|
|
+import nc.vo.pub.BusinessException;
|
|
|
+import nc.vo.pub.ValidationException;
|
|
|
+import nc.vo.pub.lang.UFBoolean;
|
|
|
+import nc.vo.pub.lang.UFDateTime;
|
|
|
+import nc.vo.pub.lang.UFDouble;
|
|
|
+import nc.vo.pub.para.SysInitVO;
|
|
|
+import nc.vo.pub.pf.Pfi18nTools;
|
|
|
+import nc.vo.pub.pfflow01.BillbusinessVO;
|
|
|
+import nc.vo.scm.bd.SmartVODataUtils;
|
|
|
+import nc.vo.scm.constant.EditDocBillStatusParamConst;
|
|
|
+import nc.vo.scm.datapower.BtnPowerVO;
|
|
|
+import nc.vo.scm.goldtax.Configuration;
|
|
|
+import nc.vo.scm.goldtax.GoldTaxHeadVO;
|
|
|
+import nc.vo.scm.goldtax.GoldTaxVO;
|
|
|
+import nc.vo.scm.plugin.Action;
|
|
|
+import nc.vo.scm.pu.Timer;
|
|
|
+import nc.vo.scm.pub.SCMEnv;
|
|
|
+import nc.vo.scm.pub.session.ClientLink;
|
|
|
+import nc.vo.scm.pub.smart.ObjectUtils;
|
|
|
+import nc.vo.scm.pub.smart.SmartVO;
|
|
|
+import nc.vo.so.pub.CustCreditVO;
|
|
|
+import nc.vo.so.pub.ExceptionUtils;
|
|
|
+import nc.vo.so.pub.SOCurrencyRateUtil;
|
|
|
+import nc.vo.so.so001.SaleOrderVO;
|
|
|
+import nc.vo.so.so002.SaleVO;
|
|
|
+import nc.vo.so.so002.SaleinvoiceBVO;
|
|
|
+import nc.vo.so.so002.SaleinvoiceDealMnyTools;
|
|
|
+import nc.vo.so.so002.SaleinvoiceSplitTools;
|
|
|
+import nc.vo.so.so002.SaleinvoiceVO;
|
|
|
+import nc.vo.so.so006.ProfitHeaderVO;
|
|
|
+import nc.vo.so.so006.ProfitItemVO;
|
|
|
+import nc.vo.so.so006.ProfitVO;
|
|
|
+import nc.vo.so.so012.EstimateCheckException;
|
|
|
+import u8c.ui.excel.ExcelFileProcess;
|
|
|
+import u8c.ui.pub.page.IPageClientUI;
|
|
|
+import u8c.ui.pub.page.PageQueryClientBO;
|
|
|
+import u8c.ui.scm.pub.procc.IBatchWorker;
|
|
|
+import u8c.ui.scm.pub.procc.ProccDlg;
|
|
|
+import u8c.ui.scm.pub.procc.ShowToolsInThread;
|
|
|
+import u8c.vo.pub.page.QueryPageInfo;
|
|
|
+import u8c.vo.scm.constant.ScmAPIType;
|
|
|
+
|
|
|
+public class SaleInvoiceUI extends ToftPanel
|
|
|
+ implements
|
|
|
+ BillTableMouseListener,
|
|
|
+ ICheckRetVO,
|
|
|
+ ILinkApprove,
|
|
|
+ ILinkQuery,
|
|
|
+ IFreshTsListener,
|
|
|
+ IInvoiceListPanel,
|
|
|
+ IInvoiceCardPanel,
|
|
|
+ ILinkMaintain,
|
|
|
+ ILinkAdd,
|
|
|
+ IBatchWorker,
|
|
|
+ BillActionListener,
|
|
|
+ IPageClientUI {
|
|
|
+ private static final int CardShow = 1;
|
|
|
+ private static final int ListShow = 0;
|
|
|
+ private static final long serialVersionUID = 1L;
|
|
|
+ private SaleInvoiceQueryDlg dlgQuery = null;
|
|
|
+ private boolean existErrRows = false;
|
|
|
+ private boolean isAddLineButn = false;
|
|
|
+ private SaleInvoiceCardPanel ivjBillCardPanel = null;
|
|
|
+ private SaleInvoiceListPanel ivjBillListPanel = null;
|
|
|
+ private boolean m_bEverQuery = false;
|
|
|
+ private boolean m_bInMsgPanel = false;
|
|
|
+ private SaleInvoiceBtn m_buttons = null;
|
|
|
+ private int m_iOperationState = 2;
|
|
|
+ private int m_iShowState = 0;
|
|
|
+ private PrintLogClient m_PrintLogClient = null;
|
|
|
+ private ProccDlg m_proccdlg = null;
|
|
|
+ private SaleInvoiceVOCache m_vocache = new SaleInvoiceVOCache();
|
|
|
+ private InvokeEventProxy pluginproxy = null;
|
|
|
+ private ExcelFileProcess fileProcess;
|
|
|
+ private ClientEnvironment ce = ClientEnvironment.getInstance();
|
|
|
+ SaleInvoiceTools st = null;
|
|
|
+ private BillCardPanel jlcardPanel = null;
|
|
|
+ public SaleInvoiceUI() {
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public SaleInvoiceUI(String pk_corp, String billType, String businessType, String operator, String billID) {
|
|
|
+ this.initialize();
|
|
|
+ SaleinvoiceVO invoicevo = null;
|
|
|
+
|
|
|
+ try {
|
|
|
+ invoicevo = SaleinvoiceBO_Client.queryBillDataByID(billID);
|
|
|
+ } catch (Exception var8) {
|
|
|
+ SCMEnv.out(NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000657") + var8);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null != invoicevo && null != invoicevo.getHeadVO()) {
|
|
|
+ this.getBillCardPanel().loadCardData(invoicevo);
|
|
|
+ this.setShowState(1);
|
|
|
+ this.setOperationState(2);
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ this.getBillCardPanel().setEnabled(false);
|
|
|
+ this.updateUI();
|
|
|
+ } else {
|
|
|
+ MessageDialog.showHintDlg(this, NCLangRes.getInstance().getStrByID("SCMCOMMON", "UPPSCMCommon-000270"),
|
|
|
+ NCLangRes.getInstance().getStrByID("4008bill", "UPP4008bill-000062"));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public void addId(List<String> blueids, Map<String, String[]> redmap, SaleVO salevo, List<String> cannotEinvList) {
|
|
|
+ if (salevo.getFcounteractflag() == 0) {
|
|
|
+ blueids.add(salevo.getPrimaryKey());
|
|
|
+ } else if (salevo.getFcounteractflag() == 2 && salevo.getVsrceinvcode() != null) {
|
|
|
+ redmap.put(salevo.getPrimaryKey(),
|
|
|
+ new String[]{salevo.getVsrceinvcode(), salevo.getVsrceinvnumber(), salevo.getVredletterinfo(),
|
|
|
+ salevo.getVredflushcause() == null ? null : salevo.getVredflushcause().toString()});
|
|
|
+ } else {
|
|
|
+ String vbillcode = salevo.getVreceiptcode();
|
|
|
+ if (vbillcode != null && vbillcode.length() != 0) {
|
|
|
+ cannotEinvList.add(vbillcode);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public String checkVO(SaleinvoiceVO aggvo) {
|
|
|
+ if (!aggvo.getHeadVO().getCcurrencyid().equals("00010000000000000001")) {
|
|
|
+ return "单据币种不是人民币,不可以开票!";
|
|
|
+ } else {
|
|
|
+ SaleinvoiceBVO[] var2 = aggvo.getBodyVO();
|
|
|
+ int var3 = var2.length;
|
|
|
+
|
|
|
+ for (int var4 = 0; var4 < var3; ++var4) {
|
|
|
+ SaleinvoiceBVO body = var2[var4];
|
|
|
+ if (body.getPk_taxclass() == null) {
|
|
|
+ return "税收分类不能为空!";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void dealResult(SaleVO head, String result) {
|
|
|
+ if ("4".equals(result)) {
|
|
|
+ head.setFeinvstatus(3);
|
|
|
+ } else if ("2".equals(result)) {
|
|
|
+ head.setFeinvstatus(1);
|
|
|
+ } else {
|
|
|
+ this.showErrorMessage("申请开票失败!原因是:" + result);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public void deletevoicefromui(String csaleid) {
|
|
|
+ try {
|
|
|
+ int rowcount;
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ this.getBillListPanel().getHeadBillModel()
|
|
|
+ .delLine(new int[]{this.getBillListPanel().getHeadTable().getSelectedRow()});
|
|
|
+ this.getBillListPanel().getBodyBillModel().clearBodyData();
|
|
|
+ } else {
|
|
|
+ rowcount = this.getBillListPanel().getHeadBillModel().getRowCount();
|
|
|
+ int i = 0;
|
|
|
+
|
|
|
+ while (true) {
|
|
|
+ if (i >= rowcount) {
|
|
|
+ this.getBillCardPanel().addNew();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ String id = (String) this.getBillListPanel().getHeadBillModel().getValueAt(i, "csaleid");
|
|
|
+ if (id != null && id.equals(csaleid)) {
|
|
|
+ this.getBillListPanel().getHeadBillModel().delLine(new int[]{i});
|
|
|
+ this.getBillListPanel().getBodyBillModel().clearBodyData();
|
|
|
+ }
|
|
|
+
|
|
|
+ ++i;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ rowcount = this.getVOCache().findPos(csaleid);
|
|
|
+ this.getVOCache().removeVOAt(rowcount);
|
|
|
+ } catch (Exception var5) {
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("SCMCOMMON", "UPPSCMCommon-000256"));
|
|
|
+ SCMEnv.out(var5.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public void doAddAction(ILinkAddData addData) {
|
|
|
+ SaleinvoiceVO[] vosNew = null;
|
|
|
+ //ZTH
|
|
|
+ try {
|
|
|
+ if ("30".equals(addData.getSourceBillType())) {
|
|
|
+ SaleOrderVO order = (SaleOrderVO) SaleOrderBO_Client.queryData(addData.getSourceBillID());
|
|
|
+ vosNew = new SaleinvoiceVO[]{(SaleinvoiceVO) PfUtilUITools.runChangeData("30", "32", order)};
|
|
|
+ }
|
|
|
+
|
|
|
+ if (vosNew != null && vosNew.length != 0) {
|
|
|
+ SaleinvoiceSplitTools splittools = new SaleinvoiceSplitTools();
|
|
|
+ SaleinvoiceVO[] aryRetVO = splittools.splitSaleinvoiceVOs(vosNew);
|
|
|
+ SaleinvoiceDealMnyTools dealmnytools = new SaleinvoiceDealMnyTools();
|
|
|
+ dealmnytools.dealMny(aryRetVO);
|
|
|
+ this.processNewVO(aryRetVO);
|
|
|
+ this.getVOCache().setCacheData(aryRetVO);
|
|
|
+ this.add(this.getBillCardPanel(), "Center");
|
|
|
+ this.getBillCardPanel().loadCardData(this.getVOCache().getCurrentVO());
|
|
|
+ this.getBillCardPanel().modify(this.getVOCache().getCurrentVO());
|
|
|
+ this.setShowState(1);
|
|
|
+ this.setOperationState(6);
|
|
|
+ this.setButtonsStateEdit();
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("SCMCommon", "UPPSCMCommon-000350"));
|
|
|
+ }
|
|
|
+
|
|
|
+// FtCountDLG ftdlg=new FtCountDLG(getBillCardPanel());
|
|
|
+// ftdlg.show();
|
|
|
+
|
|
|
+ } catch (Exception var6) {
|
|
|
+ MessageDialog.showErrorDlg(this, "", var6.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void doApproveAction(ILinkApproveData approvedata) {
|
|
|
+ this.setInMsgPanel(true);
|
|
|
+ this.getBillCardPanel().loadCardDataByID(approvedata.getBillID());
|
|
|
+ this.getBillCardPanel().setEnabled(false);
|
|
|
+ SaleinvoiceVO vosInvoice = this.getVo();
|
|
|
+ this.getVOCache().setCacheData(new SaleinvoiceVO[]{vosInvoice});
|
|
|
+ this.setOperationState(2);
|
|
|
+ this.setShowState(1);
|
|
|
+ if (!this.isInMsgPanel()) {
|
|
|
+ this.setButtonsStateByBillStatue();
|
|
|
+ }
|
|
|
+
|
|
|
+ this.setButtonsStateMsgCenterApprove();
|
|
|
+ }
|
|
|
+
|
|
|
+ public void doMaintainAction(ILinkMaintainData maintaindata) {
|
|
|
+ this.getBillCardPanel().loadCardDataByID(maintaindata.getBillID());
|
|
|
+ SaleinvoiceVO saleinvoice = this.getVo();
|
|
|
+ this.getVOCache().setCacheData(new SaleinvoiceVO[]{saleinvoice});
|
|
|
+ if (saleinvoice.getHeadVO().getDapprovedate() == null) {
|
|
|
+ this.onModify();
|
|
|
+ } else {
|
|
|
+ this.onCard();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public void doQueryAction(ILinkQueryData querydata) {
|
|
|
+ this.getBillCardPanel().loadCardDataByID(querydata.getBillID());
|
|
|
+ this.getBillCardPanel().setEnabled(false);
|
|
|
+ SaleinvoiceVO vosInvoice = this.getVo();
|
|
|
+ this.getVOCache().setCacheData(new SaleinvoiceVO[]{vosInvoice});
|
|
|
+ this.setOperationState(2);
|
|
|
+ this.setShowState(1);
|
|
|
+ if (!this.isInMsgPanel()) {
|
|
|
+ this.setButtonsStateByBillStatue();
|
|
|
+ }
|
|
|
+
|
|
|
+ this.setButtonsStateByLinkQueryBusitype();
|
|
|
+ }
|
|
|
+
|
|
|
+ public void doThreadWork(String WorkName) {
|
|
|
+ if ("APPROVE".equals(WorkName)) {
|
|
|
+ this.doApproveWork();
|
|
|
+ } else if ("SoUnApprove".equals(WorkName)) {
|
|
|
+ this.doUnApproveWork();
|
|
|
+ } else if ("UNITE".equals(WorkName)) {
|
|
|
+ this.batchAutoUnit();
|
|
|
+ } else if ("UNUNITE".equals(WorkName)) {
|
|
|
+ this.batchCancelUnit();
|
|
|
+ } else if ("SoBlankOut".equals(WorkName)) {
|
|
|
+ this.doDeleteWork();
|
|
|
+ } else if ("SAVE".equals(WorkName)) {
|
|
|
+ this.doSendAuditWork();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public void freshTs(String sBillID, String sTS, Integer iPrintCount) {
|
|
|
+ if (sTS != null && sTS.trim().length() > 0) {
|
|
|
+ String csaleid;
|
|
|
+ int i;
|
|
|
+ int iloop;
|
|
|
+ if (0 == this.getShowState()) {
|
|
|
+ if (null == sBillID || sBillID.trim().length() <= 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ csaleid = null;
|
|
|
+ i = 0;
|
|
|
+
|
|
|
+ for (iloop = this.getBillListPanel().getHeadTable().getRowCount(); i < iloop; ++i) {
|
|
|
+ csaleid = (String) this.getBillListPanel().getHeadBillModel().getValueAt(i, "csaleid");
|
|
|
+ if (sBillID.equals(csaleid)) {
|
|
|
+ this.getBillListPanel().getHeadBillModel().setValueAt(sTS, i, "ts");
|
|
|
+ this.getBillListPanel().getHeadBillModel().setValueAt(iPrintCount, i, "iprintcount");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.getBillCardPanel().setHeadItem("ts", sTS);
|
|
|
+ this.getBillCardPanel().setTailItem("iprintcount", iPrintCount);
|
|
|
+ csaleid = null;
|
|
|
+ i = 0;
|
|
|
+
|
|
|
+ for (iloop = this.getBillListPanel().getHeadTable().getRowCount(); i < iloop; ++i) {
|
|
|
+ csaleid = (String) this.getBillListPanel().getHeadBillModel().getValueAt(i, "csaleid");
|
|
|
+ if (sBillID.equals(csaleid)) {
|
|
|
+ this.getBillListPanel().getHeadBillModel().setValueAt(sTS, i, "ts");
|
|
|
+ this.getBillListPanel().getHeadBillModel().setValueAt(iPrintCount, i, "iprintcount");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ SaleinvoiceVO ordvo = this.getVOCache().getVO_Load(sBillID);
|
|
|
+ if (ordvo != null) {
|
|
|
+ ordvo.getHeadVO().setIprintcount(iPrintCount);
|
|
|
+ ordvo.getHeadVO().setTs(new UFDateTime(sTS.trim()));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public SaleInvoiceCardPanel getBillCardPanel() {
|
|
|
+ if (this.ivjBillCardPanel == null) {
|
|
|
+ this.ivjBillCardPanel = new SaleInvoiceCardPanel(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ return this.ivjBillCardPanel;
|
|
|
+ }
|
|
|
+
|
|
|
+ public SaleInvoiceListPanel getBillListPanel() {
|
|
|
+ if (this.ivjBillListPanel == null) {
|
|
|
+ this.ivjBillListPanel = new SaleInvoiceListPanel(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ return this.ivjBillListPanel;
|
|
|
+ }
|
|
|
+
|
|
|
+ public SaleInvoiceBtn getBtns() {
|
|
|
+ if (this.m_buttons == null) {
|
|
|
+ this.m_buttons = new SaleInvoiceBtn();
|
|
|
+ }
|
|
|
+
|
|
|
+ return this.m_buttons;
|
|
|
+ }
|
|
|
+
|
|
|
+ public int getOperationState() {
|
|
|
+ return this.m_iOperationState;
|
|
|
+ }
|
|
|
+
|
|
|
+ public InvokeEventProxy getPluginProxy() {
|
|
|
+ try {
|
|
|
+ if (null == this.pluginproxy) {
|
|
|
+ this.pluginproxy = new InvokeEventProxy("so", "32", new SOPluginUI(this, "32"));
|
|
|
+ }
|
|
|
+ } catch (Exception var2) {
|
|
|
+ this.showErrorMessage(NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000656") + var2);
|
|
|
+ }
|
|
|
+
|
|
|
+ return this.pluginproxy;
|
|
|
+ }
|
|
|
+
|
|
|
+ public SaleInvoiceTools getSaleinvoiceTools() {
|
|
|
+ if (null == this.st) {
|
|
|
+ this.st = new SaleInvoiceTools();
|
|
|
+ this.st.setNodecode(this.getModuleCode());
|
|
|
+ }
|
|
|
+
|
|
|
+ return this.st;
|
|
|
+ }
|
|
|
+
|
|
|
+ public String getTitle() {
|
|
|
+ return this.getBillCardPanel().getBillData().getTitle();
|
|
|
+ }
|
|
|
+
|
|
|
+ public HashSet getUpSourcrBillbid() {
|
|
|
+ HashSet hbodyid = new HashSet(0);
|
|
|
+ if (6 == this.getOperationState()) {
|
|
|
+ SaleinvoiceVO billvo = (SaleinvoiceVO) this.getBillCardPanel().getBillValueVO(SaleinvoiceVO.class.getName(),
|
|
|
+ SaleVO.class.getName(), SaleinvoiceBVO.class.getName());
|
|
|
+ if (billvo != null && billvo.getChildrenVO() != null && billvo.getChildrenVO().length > 0) {
|
|
|
+ int iLength = billvo.getBodyVO().length;
|
|
|
+
|
|
|
+ for (int i = 0; i < iLength; ++i) {
|
|
|
+ hbodyid.add(billvo.getBodyVO()[i].getCupsourcebillbodyid());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return hbodyid;
|
|
|
+ }
|
|
|
+
|
|
|
+ public SaleinvoiceVO getVo() {
|
|
|
+ SaleinvoiceVO voInvoice = null;
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ voInvoice = this.getBillListPanel().getSelectedVO();
|
|
|
+ } else {
|
|
|
+ voInvoice = this.getBillCardPanel().getVO();
|
|
|
+ }
|
|
|
+
|
|
|
+ return voInvoice;
|
|
|
+ }
|
|
|
+
|
|
|
+ public SaleInvoiceVOCache getVOCache() {
|
|
|
+ return this.m_vocache;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void informWhenInterrupt(String sActionName) {
|
|
|
+ if ("APPROVE".equals(sActionName)) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000041"));
|
|
|
+ } else if ("SoUnApprove".equals(sActionName)) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000042"));
|
|
|
+ } else if ("UNITE".equals(sActionName)) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100041"));
|
|
|
+ } else if ("UNUNITE".equals(sActionName)) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100042"));
|
|
|
+ } else if ("SAVE".equals(sActionName)) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, "送审操作被用户中断!");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public void informWhenSucceed(String sActionName) {
|
|
|
+ if ("APPROVE".equals(sActionName)) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000043"));
|
|
|
+ } else if ("SoUnApprove".equals(sActionName)) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000044"));
|
|
|
+ } else if ("UNITE".equals(sActionName)) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100043"));
|
|
|
+ } else if ("UNUNITE".equals(sActionName)) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100044"));
|
|
|
+ } else if ("SAVE".equals(sActionName)) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, "送审操作结束!");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean isInMsgPanel() {
|
|
|
+ return this.m_bInMsgPanel;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void mouse_doubleclick(BillMouseEnent e) {
|
|
|
+ if (e.getPos() == 0) {
|
|
|
+ this.onCard();
|
|
|
+ if (this.getBillCardPanel().isNewBill()) {
|
|
|
+ this.onModify();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public void onAfterAction(ButtonObject bo) {
|
|
|
+ SaleinvoiceVO voInv = this.getVOForAction();
|
|
|
+
|
|
|
+ try {
|
|
|
+ PfUtilClient.processAction(bo.getTag(), "32", SaleInvoiceTools.getLoginDate().toString(), voInv,
|
|
|
+ voInv.getHeadVO().getPrimaryKey());
|
|
|
+ this.showHintMessage(bo.getName() + NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000067"));
|
|
|
+ } catch (Exception var4) {
|
|
|
+ this.showErrorMessage(bo.getName() + NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000069"));
|
|
|
+ SCMEnv.out(var4.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public void onButtonClicked(ButtonObject bo) {
|
|
|
+ this.showHintMessage("");
|
|
|
+
|
|
|
+ try {
|
|
|
+ this.getPluginProxy().beforeButtonClicked(bo);
|
|
|
+ } catch (BusinessException var4) {
|
|
|
+ SCMEnv.out(var4);
|
|
|
+ this.showErrorMessage(var4.getMessage());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ if (this.getBillListPanel().getHeadTable().getSelectedRowCount() > 1
|
|
|
+ && (bo == this.getBtns().m_boApprove || bo == this.getBtns().m_boBlankOut
|
|
|
+ || bo == this.getBtns().m_boUnApprove || bo == this.getBtns().m_boUnite
|
|
|
+ || bo == this.getBtns().m_boUniteCancel || bo == this.getBtns().m_boSendAudit)) {
|
|
|
+ this.m_proccdlg = new ProccDlg(this, bo.getHint(), this, bo.getTag());
|
|
|
+ this.m_proccdlg.showModal();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.getBillCardPanel().stopEditing();
|
|
|
+ }
|
|
|
+
|
|
|
+ if (bo.getParent() == this.getBtns().m_boBusiType) {
|
|
|
+ this.onBusiType(bo);
|
|
|
+ } else if (bo.getParent() == this.getBtns().m_boAdd) {
|
|
|
+ if (bo == this.getBtns().m_boGather) {
|
|
|
+ this.onOutSumMakeInvoice();
|
|
|
+ } else {
|
|
|
+ this.onNew(bo);
|
|
|
+ }
|
|
|
+ } else if (bo.getParent() == this.getBtns().m_boRefAdd) {
|
|
|
+ this.onRefAddLine(bo);
|
|
|
+ } else if (bo == this.getBtns().m_boFetchCost) {
|
|
|
+ this.onFetchCost();
|
|
|
+ } else if (bo == this.getBtns().m_boSave) {
|
|
|
+ this.onSave();
|
|
|
+ } else if (bo == this.getBtns().m_boApprove) {
|
|
|
+ this.onApprove();
|
|
|
+ } else if (bo == this.getBtns().m_boCard) {
|
|
|
+ if (this.getShowState() == 1) {
|
|
|
+ this.onList();
|
|
|
+ } else {
|
|
|
+ this.onCard();
|
|
|
+ }
|
|
|
+ } else if (bo.getParent() == this.getBtns().m_boMaintain) {
|
|
|
+ if (bo == this.getBtns().m_boModify) {
|
|
|
+ this.onModify();
|
|
|
+ } else if (bo == this.getBtns().m_boCancel) {
|
|
|
+ this.onCancelSave();
|
|
|
+ } else if (bo == this.getBtns().m_boBlankOut) {
|
|
|
+ this.onBlankOut();
|
|
|
+ } else if (bo == this.getBtns().m_boCancelTransfer) {
|
|
|
+ this.onCancelTransfer();
|
|
|
+ } else if (bo == this.getBtns().m_boUnite) {
|
|
|
+ this.onUnite();
|
|
|
+ } else if (bo == this.getBtns().m_boUniteCancel) {
|
|
|
+ this.onUniteCancel();
|
|
|
+ }
|
|
|
+ } else if (bo.getParent() == this.getBtns().m_boLineOper) {
|
|
|
+ if (bo == this.getBtns().m_boDelLine) {
|
|
|
+ this.getBillCardPanel().actionDelLine();
|
|
|
+ this.setOperationState(6);
|
|
|
+ this.setButtonsStateEdit();
|
|
|
+ } else if (bo == this.getBtns().m_boAddLine) {
|
|
|
+ this.isAddLineButn = true;
|
|
|
+ this.getBillCardPanel().actionAddLine();
|
|
|
+ this.setOperationState(6);
|
|
|
+ this.setButtonsStateEdit();
|
|
|
+ this.isAddLineButn = false;
|
|
|
+ } else if (bo == this.getBtns().m_boCopyLine) {
|
|
|
+ this.getBillCardPanel().actionCopyLine();
|
|
|
+ this.setOperationState(6);
|
|
|
+ this.setButtonsStateEdit();
|
|
|
+ } else if (bo == this.getBtns().m_boPasteLine) {
|
|
|
+ this.getBillCardPanel().actionPasteLine();
|
|
|
+ this.setOperationState(6);
|
|
|
+ this.setButtonsStateEdit();
|
|
|
+ } else if (bo == this.getBtns().m_boInsertLine) {
|
|
|
+ this.getBillCardPanel().actionInsertLine();
|
|
|
+ this.setOperationState(6);
|
|
|
+ this.setButtonsStateEdit();
|
|
|
+ } else if (bo == this.getBtns().m_boPasteLineTail) {
|
|
|
+ this.getBillCardPanel().actionPasteLineToTail();
|
|
|
+ this.setOperationState(6);
|
|
|
+ this.setButtonsStateEdit();
|
|
|
+ } else if (bo == this.getBtns().m_boCardEdit) {
|
|
|
+ this.getBillCardPanel().startRowCardEdit();
|
|
|
+ this.setOperationState(6);
|
|
|
+ this.setButtonsStateEdit();
|
|
|
+ } else if (bo == this.getBtns().m_boReRowNO) {
|
|
|
+ BillRowNo.addNewRowNo(this.getBillCardPanel(), "32", "crowno");
|
|
|
+ }
|
|
|
+ } else if (bo.getParent() == this.getBtns().m_boAction) {
|
|
|
+ if (bo == this.getBtns().m_boSendAudit) {
|
|
|
+ this.onSendAudit();
|
|
|
+ }
|
|
|
+
|
|
|
+ if (bo == this.getBtns().m_boTakeBack) {
|
|
|
+ this.onTakeBack();
|
|
|
+ } else if (bo == this.getBtns().m_boUnApprove) {
|
|
|
+ this.onUnApprove();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (bo == this.getBtns().m_boQuery) {
|
|
|
+ this.onQuery();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (bo.getParent() == this.getBtns().m_boBrowse) {
|
|
|
+ if (bo == this.getBtns().m_boRefresh) {
|
|
|
+ this.onRefresh();
|
|
|
+ } else if (bo == this.getBtns().m_boLocal) {
|
|
|
+ this.onLocal();
|
|
|
+ } else if (bo == this.getBtns().m_boFirst) {
|
|
|
+ this.onFirst();
|
|
|
+ } else if (bo == this.getBtns().m_boPrev) {
|
|
|
+ this.onPrev();
|
|
|
+ } else if (bo == this.getBtns().m_boNext) {
|
|
|
+ this.onNext();
|
|
|
+ } else if (bo == this.getBtns().m_boLast) {
|
|
|
+ this.onLast();
|
|
|
+ } else if (bo == this.getBtns().m_boSelectAll) {
|
|
|
+ this.onSelectAll();
|
|
|
+ } else if (bo == this.getBtns().m_boUnSelectAll) {
|
|
|
+ this.onUnSelectAll();
|
|
|
+ }
|
|
|
+ } else if (bo.getParent() == this.getBtns().m_boPrintManage) {
|
|
|
+ if (bo == this.getBtns().m_boPrint) {
|
|
|
+ this.onPrint(false);
|
|
|
+ } else if (bo == this.getBtns().m_boPreview) {
|
|
|
+ this.onPrint(true);
|
|
|
+ } else if (bo == this.getBtns().m_boBillCombin) {
|
|
|
+ this.onBillCombin();
|
|
|
+ }
|
|
|
+ } else if (bo.getParent() == this.getBtns().m_boAssistant) {
|
|
|
+ if (bo == this.getBtns().m_boOrderQuery) {
|
|
|
+ this.onOrderQuery();
|
|
|
+ } else if (bo == this.getBtns().m_boExecRpt) {
|
|
|
+ this.onExecQuery();
|
|
|
+ } else if (bo == this.getBtns().m_boATP) {
|
|
|
+ this.onATP();
|
|
|
+ } else if (bo == this.getBtns().m_boAuditFlowStatus) {
|
|
|
+ this.onAuditFlowStatus();
|
|
|
+ } else if (bo == this.getBtns().m_boCustInfo) {
|
|
|
+ this.onCustInfo();
|
|
|
+ } else if (bo == this.getBtns().m_boCustCredit) {
|
|
|
+ this.onCustCredit();
|
|
|
+ } else if (bo == this.getBtns().m_boPrifit) {
|
|
|
+ this.onPrifit();
|
|
|
+ }
|
|
|
+ } else if (bo.getParent() == this.getBtns().m_boAssistFunction) {
|
|
|
+ if (bo == this.getBtns().m_boOpposeAct) {
|
|
|
+ this.onOpposeAct();
|
|
|
+ } else if (bo == this.getBtns().m_boImportTaxCode) {
|
|
|
+ this.onImportTaxCode();
|
|
|
+ } else if (bo == this.getBtns().m_boSoTax) {
|
|
|
+ this.onSoTax();
|
|
|
+ } else if (bo == this.getBtns().m_boToEinv) {
|
|
|
+ this.onToEinv();
|
|
|
+ } else if (bo == this.getBtns().m_boDocument) {
|
|
|
+ this.onDocument();
|
|
|
+ }
|
|
|
+ } else if ("导入excel数据".equals(bo.getName())) {
|
|
|
+ this.onBillImportExcel();
|
|
|
+ } else if ("导出excel模板".equals(bo.getName())) {
|
|
|
+ this.onBillDownloadExcel();
|
|
|
+ }else if(bo == this.getBtns().m_bocount) {
|
|
|
+ // MessageDialog.showHintDlg(null, "提示", "分摊监听");
|
|
|
+ FtCountDLG ftdlg=new FtCountDLG(getBillCardPanel());
|
|
|
+ ftdlg.show();
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ this.getPluginProxy().afterButtonClicked(bo);
|
|
|
+ } catch (BusinessException var3) {
|
|
|
+ SCMEnv.out(var3);
|
|
|
+ this.showErrorMessage(var3.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!bo.getCode().equals(this.getBtns().m_boFetchCost.getCode()) && this.existErrRows) {
|
|
|
+ SetColor.resetColor(this.getBillCardPanel());
|
|
|
+ this.existErrRows = false;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public ExcelFileProcess getFileProcess() {
|
|
|
+ if (this.fileProcess == null) {
|
|
|
+ this.fileProcess = new ExcelFileProcess(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ return this.fileProcess;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onBillDownloadExcel() {
|
|
|
+ this.getFileProcess().downLoadDefaultFile(ScmAPIType.SO_INVOICE.getFilePath());
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onBillImportExcel() {
|
|
|
+ this.getFileProcess().importExcelData(ScmAPIType.SO_INVOICE.getServerName());
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean onClosing() {
|
|
|
+ if (this.getOperationState() == 6) {
|
|
|
+ int nReturn = MessageDialog.showYesNoCancelDlg(this,
|
|
|
+ NCLangRes.getInstance().getStrByID("SCMCOMMON", "UPPSCMCommon-000270"),
|
|
|
+ NCLangRes.getInstance().getStrByID("common", "UCH001"));
|
|
|
+ if (nReturn == 4) {
|
|
|
+ this.onSave();
|
|
|
+ return true;
|
|
|
+ } else {
|
|
|
+ return nReturn == 8;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean onEditAction(int action) {
|
|
|
+ if (0 == action && !this.isAddLineButn) {
|
|
|
+ this.getBillCardPanel().actionAddLine();
|
|
|
+ return false;
|
|
|
+ } else {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void reloadDataAfterRun() {
|
|
|
+ Vector vTemp = new Vector();
|
|
|
+ Object oTemp = null;
|
|
|
+
|
|
|
+ for (int i = 0; i < this.getBillListPanel().getHeadBillModel().getRowCount(); ++i) {
|
|
|
+ oTemp = this.getBillListPanel().getHeadBillModel().getValueAt(i, "csaleid");
|
|
|
+ if (oTemp != null) {
|
|
|
+ vTemp.addElement(oTemp.toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (vTemp.size() > 0) {
|
|
|
+ String[] id = new String[vTemp.size()];
|
|
|
+ vTemp.copyInto(id);
|
|
|
+ String sql = "so_saleinvoice.dr = 0 and so_saleinvoice.csaleid in ('";
|
|
|
+
|
|
|
+ for (int i = 0; i < id.length - 1; ++i) {
|
|
|
+ sql = sql + id[i] + "','";
|
|
|
+ }
|
|
|
+
|
|
|
+ sql = sql + id[id.length - 1] + "')";
|
|
|
+ SaleinvoiceVO[] vosInvoice = null;
|
|
|
+
|
|
|
+ try {
|
|
|
+ vosInvoice = SaleinvoiceBO_Client.queryBillData(sql, (String) null, false);
|
|
|
+ } catch (Exception var7) {
|
|
|
+ SCMEnv.out(var7);
|
|
|
+ MessageDialog.showErrorDlg(this, NCLangRes.getInstance().getStrByID("scmcommon", "UPPSCMCommon-000059"),
|
|
|
+ var7.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getVOCache().setCacheData(vosInvoice);
|
|
|
+ this.onList();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setButtonsState() {
|
|
|
+ if (this.getOperationState() == 2) {
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ } else if (this.getOperationState() == 6) {
|
|
|
+ this.setButtonsStateEdit();
|
|
|
+ } else if (this.getOperationState() == 11) {
|
|
|
+ this.setButtonsStateOPP();
|
|
|
+ } else if (this.getOperationState() == 9) {
|
|
|
+ this.setButtonsStateMsgCenterApprove();
|
|
|
+ } else if (this.getOperationState() == 7) {
|
|
|
+ this.setButtonsStateByBillStatue();
|
|
|
+ } else if (this.getOperationState() == 8) {
|
|
|
+ this.setButtonsStateByLinkQueryBusitype();
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getPluginProxy().setButtonStatus();
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setOperationState(int iState) {
|
|
|
+ this.m_iOperationState = iState;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setStateByBillStatus() {
|
|
|
+ int iState = this.getBillListPanel().getBillStatus();
|
|
|
+ switch (iState) {
|
|
|
+ case 1 :
|
|
|
+ this.getBtns().m_boBlankOut.setEnabled(true);
|
|
|
+ this.getBtns().m_boModify.setEnabled(true);
|
|
|
+ this.getBtns().m_boApprove.setEnabled(true);
|
|
|
+ this.getBtns().m_boUnApprove.setEnabled(false);
|
|
|
+ this.getBtns().m_boDocument.setEnabled(true);
|
|
|
+ this.getBtns().m_boOrderQuery.setEnabled(true);
|
|
|
+ this.getBtns().m_boOrderQuery.setEnabled(true);
|
|
|
+ break;
|
|
|
+ case 2 :
|
|
|
+ this.getBtns().m_boBlankOut.setEnabled(false);
|
|
|
+ this.getBtns().m_boApprove.setEnabled(false);
|
|
|
+ this.getBtns().m_boUnApprove.setEnabled(true);
|
|
|
+ this.getBtns().m_boModify.setEnabled(false);
|
|
|
+ this.getBtns().m_boDocument.setEnabled(true);
|
|
|
+ this.getBtns().m_boOrderQuery.setEnabled(true);
|
|
|
+ this.getBtns().m_boOrderQuery.setEnabled(false);
|
|
|
+ case 3 :
|
|
|
+ case 4 :
|
|
|
+ case 6 :
|
|
|
+ default :
|
|
|
+ break;
|
|
|
+ case 5 :
|
|
|
+ this.getBtns().m_boModify.setEnabled(false);
|
|
|
+ this.getBtns().m_boAction.setEnabled(false);
|
|
|
+ this.getBtns().m_boAssistant.setEnabled(false);
|
|
|
+ this.getBtns().m_boPrint.setEnabled(false);
|
|
|
+ this.getBtns().m_boDocument.setEnabled(false);
|
|
|
+ this.getBtns().m_boOrderQuery.setEnabled(false);
|
|
|
+ this.getBtns().m_boOrderQuery.setEnabled(false);
|
|
|
+ this.getBtns().m_boPreview.setEnabled(false);
|
|
|
+ this.getBtns().m_boAuditFlowStatus.setEnabled(false);
|
|
|
+ break;
|
|
|
+ case 7 :
|
|
|
+ this.getBtns().m_boBlankOut.setEnabled(false);
|
|
|
+ this.getBtns().m_boApprove.setEnabled(true);
|
|
|
+ this.getBtns().m_boUnApprove.setEnabled(false);
|
|
|
+ this.getBtns().m_boSave.setEnabled(false);
|
|
|
+ this.getBtns().m_boModify.setEnabled(false);
|
|
|
+ break;
|
|
|
+ case 8 :
|
|
|
+ this.getBtns().m_boBlankOut.setEnabled(true);
|
|
|
+ this.getBtns().m_boModify.setEnabled(true);
|
|
|
+ this.getBtns().m_boSave.setEnabled(false);
|
|
|
+ this.getBtns().m_boCancel.setEnabled(false);
|
|
|
+ this.getBtns().m_boApprove.setEnabled(true);
|
|
|
+ this.getBtns().m_boUnApprove.setEnabled(false);
|
|
|
+ this.getBtns().m_boDocument.setEnabled(true);
|
|
|
+ this.getBtns().m_boOrderQuery.setEnabled(true);
|
|
|
+ this.getBtns().m_boOrderQuery.setEnabled(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ int selectRow = this.getBillListPanel().getHeadTable().getSelectedRow();
|
|
|
+ int iOppStatus = 0;
|
|
|
+ if (selectRow > -1 && this.getBillListPanel().getHeadItem("fcounteractflag") != null
|
|
|
+ && this.getBillListPanel().getHeadBillModel().getValueAt(selectRow, "fcounteractflag") != null
|
|
|
+ && this.getBillListPanel().getHeadItem("fcounteractflag").converType(
|
|
|
+ this.getBillListPanel().getHeadBillModel().getValueAt(selectRow, "fcounteractflag")) != null) {
|
|
|
+ iOppStatus = Integer.parseInt(this.getBillListPanel().getHeadItem("fcounteractflag")
|
|
|
+ .converType(this.getBillListPanel().getHeadBillModel().getValueAt(selectRow, "fcounteractflag"))
|
|
|
+ .toString());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (iState == 2 && iOppStatus == 1) {
|
|
|
+ this.getBtns().m_boUnApprove.setEnabled(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (iState == 2 && iOppStatus == 0) {
|
|
|
+ this.getBtns().m_boOpposeAct.setEnabled(true);
|
|
|
+ } else {
|
|
|
+ this.getBtns().m_boOpposeAct.setEnabled(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public void updateCache() {
|
|
|
+ this.getVOCache().setCacheData((SaleinvoiceVO[]) null);
|
|
|
+ SaleinvoiceVO[] sales = null;
|
|
|
+
|
|
|
+ try {
|
|
|
+ if (this.getQueryDlg().getConditionVO() != null) {
|
|
|
+ sales = SaleinvoiceBO_Client.queryBillData(this.getQueryDlg().getWhere(),
|
|
|
+ this.getClientEnvironment().getUser().getPrimaryKey(), this.getQueryDlg().getIsSelAuditing());
|
|
|
+ }
|
|
|
+ } catch (Exception var3) {
|
|
|
+ SCMEnv.out(var3);
|
|
|
+ this.showErrorMessage(var3.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getVOCache().setCacheData(sales);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void batchAutoUnit() {
|
|
|
+ TreeMap tmapvos = null;
|
|
|
+ HashMap<Object, SaleinvoiceVO> hSuccess = new HashMap();
|
|
|
+ ShowToolsInThread.showStatus(this.m_proccdlg, new Integer(0));
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100045"));
|
|
|
+
|
|
|
+ try {
|
|
|
+ tmapvos = (TreeMap) this.getBillListPanel().getBatchWorkInvoiceVOs(false);
|
|
|
+ if (null == tmapvos || tmapvos.size() <= 0) {
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100046"));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ } catch (Exception var19) {
|
|
|
+ this.showErrorMessage(var19.getMessage());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ int max = this.m_proccdlg.getUIProgressBar1().getMaximum();
|
|
|
+ int maxcount = tmapvos.size();
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100047"));
|
|
|
+ SaleinvoiceVO saleinvoice = null;
|
|
|
+ Iterator iter = tmapvos.keySet().iterator();
|
|
|
+ int count = 0;
|
|
|
+
|
|
|
+ while (true) {
|
|
|
+ if (iter.hasNext()) {
|
|
|
+ Object key = iter.next();
|
|
|
+ saleinvoice = (SaleinvoiceVO) tmapvos.get(key);
|
|
|
+ saleinvoice.getParentVO().setCapproveid((String) null);
|
|
|
+ ShowToolsInThread.showStatus(this.m_proccdlg,
|
|
|
+ new Integer((int) ((double) max * (1.0D * (double) count / (double) maxcount))));
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100048", (String) null,
|
|
|
+ new String[]{saleinvoice.getParentVO().getVreceiptcode()}));
|
|
|
+ saleinvoice.setCuruserid(this.getClientEnvironment().getUser().getPrimaryKey());
|
|
|
+
|
|
|
+ try {
|
|
|
+ if (!this.m_proccdlg.isInterrupted()) {
|
|
|
+ if (saleinvoice.getHeadVO().getFstatus() != 1) {
|
|
|
+ throw new BusinessException(
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100063"));
|
|
|
+ }
|
|
|
+
|
|
|
+ if (saleinvoice.getHsArsubAcct() != null && saleinvoice.getHsArsubAcct().size() > 0) {
|
|
|
+ throw new BusinessException(
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100064"));
|
|
|
+ }
|
|
|
+
|
|
|
+ saleinvoice = SaleinvoiceBO_Client.autoUniteInvoiceToUI(saleinvoice,
|
|
|
+ new ClientLink(ClientEnvironment.getInstance()));
|
|
|
+ String sMsg;
|
|
|
+ if (saleinvoice.getHsArsubAcct() != null && saleinvoice.getHsArsubAcct().size() > 0) {
|
|
|
+ hSuccess.put(key, saleinvoice);
|
|
|
+ sMsg = NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100049", (String) null,
|
|
|
+ new String[]{saleinvoice.getParentVO().getVreceiptcode()});
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, sMsg, sMsg);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ sMsg = NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100051", (String) null,
|
|
|
+ new String[]{saleinvoice.getParentVO().getVreceiptcode()});
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, sMsg, sMsg);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ } catch (Exception var17) {
|
|
|
+ String sMsg = NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100052", (String) null,
|
|
|
+ new String[]{saleinvoice.getParentVO().getVreceiptcode()});
|
|
|
+ sMsg = sMsg + var17.getMessage();
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, " ", sMsg);
|
|
|
+ if (!this.m_proccdlg.getckHint().isSelected()) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ sMsg = NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100052", (String) null,
|
|
|
+ new String[]{saleinvoice.getParentVO().getVreceiptcode()});
|
|
|
+ if (ShowToolsInThread.showYesNoDlg(this.m_proccdlg, var17.getMessage() + "\n" + sMsg
|
|
|
+ + NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100053")) == 4) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ this.m_proccdlg.Interrupt();
|
|
|
+ } finally {
|
|
|
+ ++count;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ ShowToolsInThread.showStatus(this.m_proccdlg, new Integer(max));
|
|
|
+ if (this.m_proccdlg.isInterrupted()) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100041"));
|
|
|
+ } else {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100043"));
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ Thread.sleep(500L);
|
|
|
+ } catch (Exception var16) {
|
|
|
+ ;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (hSuccess.size() >= 0) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000054"));
|
|
|
+ ShowToolsInThread.doLoadAdminData(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void batchCancelUnit() {
|
|
|
+ TreeMap tmapvos = null;
|
|
|
+ HashMap<Object, SaleinvoiceVO> hSuccess = new HashMap();
|
|
|
+ ShowToolsInThread.showStatus(this.m_proccdlg, new Integer(0));
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100055"));
|
|
|
+
|
|
|
+ try {
|
|
|
+ tmapvos = (TreeMap) this.getBillListPanel().getBatchWorkInvoiceVOs(false);
|
|
|
+ } catch (Exception var14) {
|
|
|
+ this.showErrorMessage(var14.getMessage());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null != tmapvos && tmapvos.size() > 0) {
|
|
|
+ int max = this.m_proccdlg.getUIProgressBar1().getMaximum();
|
|
|
+ int maxcount = tmapvos.size();
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100057"));
|
|
|
+ SaleinvoiceVO voInvoice = null;
|
|
|
+ Iterator iter = tmapvos.keySet().iterator();
|
|
|
+ int count = 0;
|
|
|
+
|
|
|
+ while (iter.hasNext()) {
|
|
|
+ Object key = iter.next();
|
|
|
+ voInvoice = (SaleinvoiceVO) tmapvos.get(key);
|
|
|
+ voInvoice.getHeadVO().setCapproveid((String) null);
|
|
|
+ ShowToolsInThread.showStatus(this.m_proccdlg,
|
|
|
+ new Integer((int) ((double) max * (1.0D * (double) count / (double) maxcount))));
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, NCLangRes.getInstance().getStrByID("40060501",
|
|
|
+ "UPP40060501-100058", (String) null, new String[]{voInvoice.getParentVO().getVreceiptcode()}));
|
|
|
+ voInvoice.setCuruserid(this.getClientEnvironment().getUser().getPrimaryKey());
|
|
|
+ if (this.m_proccdlg.isInterrupted()) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBillCardPanel().loadCardData(voInvoice);
|
|
|
+ SaleinvoiceVO hvo = this.getBillCardPanel().getVO();
|
|
|
+ this.getBillCardPanel().setOldVO(hvo);
|
|
|
+ this.getBillCardPanel().updateValue();
|
|
|
+ boolean needUnitCancel = this.getBillCardPanel().uniteCancel();
|
|
|
+ if (needUnitCancel) {
|
|
|
+ String sBusinessException = this.onSave();
|
|
|
+ String sMsg;
|
|
|
+ if (sBusinessException != null) {
|
|
|
+ sMsg = NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100061", (String) null,
|
|
|
+ new String[]{voInvoice.getParentVO().getVreceiptcode()});
|
|
|
+ sMsg = sMsg + sBusinessException;
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, " ", sMsg);
|
|
|
+ if (this.m_proccdlg.getckHint().isSelected()) {
|
|
|
+ sMsg = NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100061", (String) null,
|
|
|
+ new String[]{voInvoice.getParentVO().getVreceiptcode()});
|
|
|
+ if (ShowToolsInThread.showYesNoDlg(this.m_proccdlg, sBusinessException + "\n" + sMsg
|
|
|
+ + NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100062")) == 4) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ this.m_proccdlg.Interrupt();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ voInvoice = (SaleinvoiceVO) this.getBillCardPanel().getBillValueVO(
|
|
|
+ SaleinvoiceVO.class.getName(), SaleVO.class.getName(), SaleinvoiceBVO.class.getName());
|
|
|
+ hSuccess.put(key, voInvoice);
|
|
|
+ sMsg = NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100059", (String) null,
|
|
|
+ new String[]{voInvoice.getParentVO().getVreceiptcode()});
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, sMsg, sMsg);
|
|
|
+ }
|
|
|
+
|
|
|
+ ++count;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ ShowToolsInThread.showStatus(this.m_proccdlg, new Integer(max));
|
|
|
+ if (this.m_proccdlg.isInterrupted()) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100042"));
|
|
|
+ } else {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100044"));
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ Thread.sleep(500L);
|
|
|
+ } catch (Exception var13) {
|
|
|
+ ;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (hSuccess.size() >= 0) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000054"));
|
|
|
+ ShowToolsInThread.doLoadAdminData(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100056"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void changeRefAddButtonByBusiType(String nowBusitype) {
|
|
|
+ if (nowBusitype == null || nowBusitype.trim().length() == 0) {
|
|
|
+ this.getBtns().m_boRefAdd.removeAllChildren();
|
|
|
+ }
|
|
|
+
|
|
|
+ BillbusinessVO[] billBusiVOs = PfUIDataCache.getSourceByCorpAndBillAndBusi(SaleInvoiceTools.getLoginPk_Corp(),
|
|
|
+ "32", nowBusitype);
|
|
|
+ this.getBtns().m_boRefAdd.removeAllChildren();
|
|
|
+ if (billBusiVOs != null) {
|
|
|
+ ButtonObject btnAddChild = null;
|
|
|
+
|
|
|
+ for (int i = 0; i < billBusiVOs.length; ++i) {
|
|
|
+ String showName = Pfi18nTools.i18nBilltypeName(billBusiVOs[i].getPk_billtype(),
|
|
|
+ billBusiVOs[i].getBilltypename());
|
|
|
+ btnAddChild = new ButtonObject(showName);
|
|
|
+ btnAddChild.setPowerContrl(false);
|
|
|
+ btnAddChild.setTag(
|
|
|
+ billBusiVOs[i].getPk_billtype().trim() + ":" + billBusiVOs[i].getPk_businesstype().trim());
|
|
|
+ this.getBtns().m_boRefAdd.addChildButton(btnAddChild);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private SaleinvoiceBVO[] checkBeforeRefAdd(SaleinvoiceVO[] addvos) {
|
|
|
+ if (null != addvos && addvos.length != 0) {
|
|
|
+ SaleinvoiceVO curbill = (SaleinvoiceVO) this.getBillCardPanel().getBillValueVO(
|
|
|
+ SaleinvoiceVO.class.getName(), SaleVO.class.getName(), SaleinvoiceBVO.class.getName());
|
|
|
+ SaleVO curhead = curbill.getHeadVO();
|
|
|
+ SaleVO addhead = null;
|
|
|
+ StringBuilder errmsg = new StringBuilder();
|
|
|
+ ArrayList<SaleinvoiceBVO> toAddBody = new ArrayList();
|
|
|
+ SaleinvoiceVO[] var7 = addvos;
|
|
|
+ int var8 = addvos.length;
|
|
|
+
|
|
|
+ for (int var9 = 0; var9 < var8; ++var9) {
|
|
|
+ SaleinvoiceVO addvo = var7[var9];
|
|
|
+ addhead = addvo.getHeadVO();
|
|
|
+ if (this.checkHeadItem(curhead.getCreceiptcorpid(), addhead.getCreceiptcorpid())) {
|
|
|
+ errmsg.append(this.getErrMsg(addvo, "ccustbaseid"));
|
|
|
+ } else if (this.checkHeadItem(curhead.getCsalecorpid(), addhead.getCsalecorpid())) {
|
|
|
+ errmsg.append(this.getErrMsg(addvo, "csalecorpid"));
|
|
|
+ } else if (this.checkHeadItem(curhead.getCcalbodyid(), addhead.getCcalbodyid())) {
|
|
|
+ errmsg.append(this.getErrMsg(addvo, "ccalbodyid"));
|
|
|
+ } else if (this.checkHeadItem(curhead.getCcurrencyid(), addhead.getCcurrencyid())) {
|
|
|
+ errmsg.append(this.getErrMsg(addvo, "ccurrencyid"));
|
|
|
+ } else {
|
|
|
+ SaleinvoiceBVO[] var11 = addvo.getBodyVO();
|
|
|
+ int var12 = var11.length;
|
|
|
+
|
|
|
+ for (int var13 = 0; var13 < var12; ++var13) {
|
|
|
+ SaleinvoiceBVO toaddbvo = var11[var13];
|
|
|
+ toaddbvo.setNuniteinvoicemny(new UFDouble(0));
|
|
|
+ toAddBody.add(toaddbvo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (errmsg.length() > 0) {
|
|
|
+ this.showErrorMessage(errmsg.toString());
|
|
|
+ }
|
|
|
+
|
|
|
+ SaleinvoiceBVO[] bodys = new SaleinvoiceBVO[toAddBody.size()];
|
|
|
+ return (SaleinvoiceBVO[]) toAddBody.toArray(bodys);
|
|
|
+ } else {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private boolean checkHeadItem(String curstr, String addstr) {
|
|
|
+ return null != curstr && curstr.trim().length() != 0 && null != addstr && addstr.trim().length() != 0
|
|
|
+ && !curstr.equals(addstr);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void doApproveWork() {
|
|
|
+ TreeMap tmapvos = null;
|
|
|
+ HashMap<Object, SaleinvoiceVO> hSuccess = new HashMap();
|
|
|
+ ShowToolsInThread.showStatus(this.m_proccdlg, new Integer(0));
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000045"));
|
|
|
+
|
|
|
+ try {
|
|
|
+ tmapvos = (TreeMap) this.getBillListPanel().getBatchWorkInvoiceVOs(false);
|
|
|
+ if (null == tmapvos || tmapvos.size() <= 0) {
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000046"));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ } catch (Exception var22) {
|
|
|
+ this.showErrorMessage(var22.getMessage());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ int max = this.m_proccdlg.getUIProgressBar1().getMaximum();
|
|
|
+ int maxcount = tmapvos.size();
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000047"));
|
|
|
+ SaleinvoiceVO saleinvoice = null;
|
|
|
+ Iterator iter = tmapvos.keySet().iterator();
|
|
|
+ int count = 0;
|
|
|
+
|
|
|
+ while (iter.hasNext()) {
|
|
|
+ Object key = iter.next();
|
|
|
+ saleinvoice = (SaleinvoiceVO) tmapvos.get(key);
|
|
|
+ ShowToolsInThread.showStatus(this.m_proccdlg,
|
|
|
+ new Integer((int) ((double) max * (1.0D * (double) count / (double) maxcount))));
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, NCLangRes.getInstance().getStrByID("40060501",
|
|
|
+ "UPP40060501-000048", (String) null, new String[]{saleinvoice.getParentVO().getVreceiptcode()}));
|
|
|
+ saleinvoice.setCuruserid(this.getClientEnvironment().getUser().getPrimaryKey());
|
|
|
+
|
|
|
+ try {
|
|
|
+ if (this.m_proccdlg.isInterrupted()) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if (this.onApprove(saleinvoice)) {
|
|
|
+ hSuccess.put(key, saleinvoice);
|
|
|
+ String sMsg = NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000049", (String) null,
|
|
|
+ new String[]{saleinvoice.getParentVO().getVreceiptcode()});
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, sMsg, sMsg);
|
|
|
+ } else {
|
|
|
+ String sMsg = NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000051", (String) null,
|
|
|
+ new String[]{saleinvoice.getParentVO().getVreceiptcode()});
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, sMsg, sMsg);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ String sMsg = nc.ui.ml.NCLangRes.getInstance().getStrByID("40060501",
|
|
|
+ "UPP40060501-000052", null, new String[] {
|
|
|
+ ((SaleVO) saleinvoice.getParentVO()).getVreceiptcode()
|
|
|
+ });
|
|
|
+ sMsg += e.getMessage();
|
|
|
+ ShowToolsInThread.showMessage(m_proccdlg, " ", sMsg);
|
|
|
+ // ShowToolsInThread.showMessage(proccdlg, " ", "发票["
|
|
|
+ // + ((SaleVO) saleinvoice.getParentVO())
|
|
|
+ // .getVreceiptcode() + "]审批失败:" + e.getMessage());
|
|
|
+ if (m_proccdlg.getckHint().isSelected()) {
|
|
|
+ sMsg = nc.ui.ml.NCLangRes.getInstance().getStrByID("40060501",
|
|
|
+ "UPP40060501-000052", null, new String[] {
|
|
|
+ ((SaleVO) saleinvoice.getParentVO()).getVreceiptcode()
|
|
|
+ });
|
|
|
+ if (ShowToolsInThread.showYesNoDlg(m_proccdlg, e.getMessage()
|
|
|
+ + "\n"
|
|
|
+ + sMsg
|
|
|
+ + nc.ui.ml.NCLangRes.getInstance().getStrByID("40060501",
|
|
|
+ "UPP40060501-000053")/*
|
|
|
+ * @res "是否继续审批以下的发票?"
|
|
|
+ */) == MessageDialog.ID_YES) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ m_proccdlg.Interrupt();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ finally {
|
|
|
+ count++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ ShowToolsInThread.showStatus(this.m_proccdlg, new Integer(max));
|
|
|
+ if (this.m_proccdlg.isInterrupted()) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000041"));
|
|
|
+ } else {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000043"));
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ Thread.sleep(500L);
|
|
|
+ } catch (Exception var18) {
|
|
|
+ ;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (hSuccess.size() > 0) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000054"));
|
|
|
+ ShowToolsInThread.doLoadAdminData(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void doSendAuditWork() {
|
|
|
+ TreeMap tmapvos = null;
|
|
|
+ HashMap<Object, SaleinvoiceVO> hSuccess = new HashMap();
|
|
|
+ ShowToolsInThread.showStatus(this.m_proccdlg, new Integer(0));
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, "正在进行送审前准备。");
|
|
|
+
|
|
|
+ try {
|
|
|
+ tmapvos = (TreeMap) this.getBillListPanel().getBatchWorkInvoiceVOs(false);
|
|
|
+ if (null == tmapvos || tmapvos.size() <= 0) {
|
|
|
+ this.showHintMessage("请选择待送审的发票。");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ } catch (Exception var19) {
|
|
|
+ this.showErrorMessage(var19.getMessage());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ int max = this.m_proccdlg.getUIProgressBar1().getMaximum();
|
|
|
+ int maxcount = tmapvos.size();
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, "开始送审。");
|
|
|
+ SaleinvoiceVO saleinvoice = null;
|
|
|
+ Iterator iter = tmapvos.keySet().iterator();
|
|
|
+ int count = 0;
|
|
|
+
|
|
|
+ while (iter.hasNext()) {
|
|
|
+ Object key = iter.next();
|
|
|
+ saleinvoice = (SaleinvoiceVO) tmapvos.get(key);
|
|
|
+ ShowToolsInThread.showStatus(this.m_proccdlg,
|
|
|
+ new Integer((int) ((double) max * (1.0D * (double) count / (double) maxcount))));
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, "正在送审发票" + saleinvoice.getParentVO().getVreceiptcode());
|
|
|
+ saleinvoice.setCuruserid(this.getClientEnvironment().getUser().getPrimaryKey());
|
|
|
+
|
|
|
+ try {
|
|
|
+ if (this.m_proccdlg.isInterrupted()) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ String sMsg;
|
|
|
+ if (this.onSendAudit(saleinvoice)) {
|
|
|
+ hSuccess.put(key, saleinvoice);
|
|
|
+ sMsg = "发票" + saleinvoice.getParentVO().getVreceiptcode() + "送审成功!";
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, sMsg, sMsg);
|
|
|
+ } else {
|
|
|
+ sMsg = "发票[" + saleinvoice.getParentVO().getVreceiptcode() + "]送审操作被用户取消!";
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, sMsg, sMsg);
|
|
|
+ }
|
|
|
+ } catch (Exception var17) {
|
|
|
+ String sMsg = "发票[" + saleinvoice.getParentVO().getVreceiptcode() + "]送审失败!";
|
|
|
+ sMsg = sMsg + var17.getMessage();
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, " ", sMsg);
|
|
|
+ if (this.m_proccdlg.getckHint().isSelected()) {
|
|
|
+ sMsg = "发票[" + saleinvoice.getParentVO().getVreceiptcode() + "]送审失败";
|
|
|
+ if (ShowToolsInThread.showYesNoDlg(this.m_proccdlg,
|
|
|
+ var17.getMessage() + "\n" + sMsg + "是否继续送审以下的发票?") != 4) {
|
|
|
+ this.m_proccdlg.Interrupt();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } finally {
|
|
|
+ ++count;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ ShowToolsInThread.showStatus(this.m_proccdlg, new Integer(max));
|
|
|
+ if (this.m_proccdlg.isInterrupted()) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, "送审操作被用户中断!");
|
|
|
+ } else {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, "送审操作结束!");
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ Thread.sleep(500L);
|
|
|
+ } catch (Exception var16) {
|
|
|
+ ;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (hSuccess.size() > 0) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000054"));
|
|
|
+ ShowToolsInThread.doLoadAdminData(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void doDeleteWork() {
|
|
|
+ TreeMap tmapvos = null;
|
|
|
+ HashMap<Object, SaleinvoiceVO> hSuccess = new HashMap();
|
|
|
+ ShowToolsInThread.showStatus(this.m_proccdlg, new Integer(0));
|
|
|
+
|
|
|
+ try {
|
|
|
+ tmapvos = (TreeMap) this.getBillListPanel().getBatchWorkInvoiceVOs(true);
|
|
|
+ if (null == tmapvos || tmapvos.size() <= 0) {
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100071"));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ } catch (Exception var19) {
|
|
|
+ this.showErrorMessage(var19.getMessage());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ int max = this.m_proccdlg.getUIProgressBar1().getMaximum();
|
|
|
+ int maxcount = tmapvos.size();
|
|
|
+ SaleinvoiceVO saleinvoice = null;
|
|
|
+ Iterator iter = tmapvos.keySet().iterator();
|
|
|
+ int count = 0;
|
|
|
+
|
|
|
+ while (iter.hasNext()) {
|
|
|
+ Object key = iter.next();
|
|
|
+ saleinvoice = (SaleinvoiceVO) tmapvos.get(key);
|
|
|
+ ShowToolsInThread.showStatus(this.m_proccdlg,
|
|
|
+ new Integer((int) ((double) max * (1.0D * (double) count / (double) maxcount))));
|
|
|
+
|
|
|
+ try {
|
|
|
+ if (this.m_proccdlg.isInterrupted()) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ String sMsg;
|
|
|
+ if (this.onDelete(saleinvoice)) {
|
|
|
+ hSuccess.put(key, saleinvoice);
|
|
|
+ sMsg = NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100072", (String) null,
|
|
|
+ new String[]{saleinvoice.getParentVO().getVreceiptcode()});
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, sMsg, sMsg);
|
|
|
+ } else {
|
|
|
+ sMsg = NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100073", (String) null,
|
|
|
+ new String[]{saleinvoice.getParentVO().getVreceiptcode()});
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, sMsg, sMsg);
|
|
|
+ }
|
|
|
+ } catch (Exception var17) {
|
|
|
+ String sMsg = NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100074", (String) null,
|
|
|
+ new String[]{saleinvoice.getParentVO().getVreceiptcode()});
|
|
|
+ sMsg = sMsg + var17.getMessage();
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, " ", sMsg);
|
|
|
+ if (this.m_proccdlg.getckHint().isSelected()) {
|
|
|
+ sMsg = NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100074", (String) null,
|
|
|
+ new String[]{saleinvoice.getParentVO().getVreceiptcode()});
|
|
|
+ if (ShowToolsInThread.showYesNoDlg(this.m_proccdlg, var17.getMessage() + "\n" + sMsg
|
|
|
+ + NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100075")) != 4) {
|
|
|
+ this.m_proccdlg.Interrupt();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } finally {
|
|
|
+ ++count;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ ShowToolsInThread.showStatus(this.m_proccdlg, new Integer(max));
|
|
|
+ if (this.m_proccdlg.isInterrupted()) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100069"));
|
|
|
+ } else {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100070"));
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ Thread.sleep(500L);
|
|
|
+ } catch (Exception var16) {
|
|
|
+ ;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (hSuccess.size() > 0) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000054"));
|
|
|
+ ShowToolsInThread.doLoadAdminData(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void doUnApproveWork() {
|
|
|
+ TreeMap tmapvos = null;
|
|
|
+ HashMap<Object, SaleinvoiceVO> hSuccess = new HashMap();
|
|
|
+ ShowToolsInThread.showStatus(this.m_proccdlg, new Integer(0));
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000055"));
|
|
|
+
|
|
|
+ try {
|
|
|
+ tmapvos = (TreeMap) this.getBillListPanel().getBatchWorkInvoiceVOs(false);
|
|
|
+ if (null == tmapvos || tmapvos.size() <= 0) {
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000056"));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ } catch (Exception var20) {
|
|
|
+ this.showErrorMessage(var20.getMessage());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ int max = this.m_proccdlg.getUIProgressBar1().getMaximum();
|
|
|
+ int maxcount = tmapvos.size();
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000057"));
|
|
|
+ SaleinvoiceVO saleinvoice = null;
|
|
|
+ Iterator iter = tmapvos.keySet().iterator();
|
|
|
+ int count = 0;
|
|
|
+ boolean isnext = true;
|
|
|
+
|
|
|
+ while (iter.hasNext()) {
|
|
|
+ Object key = "";
|
|
|
+ if (isnext) {
|
|
|
+ key = iter.next();
|
|
|
+ }
|
|
|
+
|
|
|
+ saleinvoice = (SaleinvoiceVO) tmapvos.get(key);
|
|
|
+ if (saleinvoice == null) {
|
|
|
+ isnext = true;
|
|
|
+ } else {
|
|
|
+ ShowToolsInThread.showStatus(this.m_proccdlg,
|
|
|
+ new Integer((int) ((double) max * (1.0D * (double) count / (double) maxcount))));
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000058", (String) null,
|
|
|
+ new String[]{saleinvoice.getParentVO().getVreceiptcode()}));
|
|
|
+
|
|
|
+ try {
|
|
|
+ if (this.m_proccdlg.isInterrupted()) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ String sMsg;
|
|
|
+ if (this.onUnApprove(saleinvoice)) {
|
|
|
+ hSuccess.put(key, saleinvoice);
|
|
|
+ sMsg = NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000059", (String) null,
|
|
|
+ new String[]{saleinvoice.getParentVO().getVreceiptcode()});
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, sMsg, sMsg);
|
|
|
+ } else {
|
|
|
+ hSuccess.put(key, saleinvoice);
|
|
|
+ sMsg = NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000060", (String) null,
|
|
|
+ new String[]{saleinvoice.getParentVO().getVreceiptcode()});
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, sMsg, sMsg);
|
|
|
+ }
|
|
|
+ } catch (Exception var18) {
|
|
|
+ String sMsg = NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000061", (String) null,
|
|
|
+ new String[]{saleinvoice.getParentVO().getVreceiptcode()});
|
|
|
+ sMsg = sMsg + var18.getMessage();
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, " ", sMsg);
|
|
|
+ if (this.m_proccdlg.getckHint().isSelected()) {
|
|
|
+ sMsg = NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000061", (String) null,
|
|
|
+ new String[]{saleinvoice.getParentVO().getVreceiptcode()});
|
|
|
+ if (ShowToolsInThread.showYesNoDlg(this.m_proccdlg, sMsg + var18.getMessage()
|
|
|
+ + NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000062")) == 4) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ this.m_proccdlg.Interrupt();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ } finally {
|
|
|
+ ++count;
|
|
|
+ }
|
|
|
+
|
|
|
+ isnext = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ ShowToolsInThread.showStatus(this.m_proccdlg, new Integer(max));
|
|
|
+ if (this.m_proccdlg.isInterrupted()) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000042"));
|
|
|
+ } else {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000044"));
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ Thread.sleep(500L);
|
|
|
+ } catch (Exception var17) {
|
|
|
+ ;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (hSuccess.size() > 0) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg,
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000054"));
|
|
|
+ ShowToolsInThread.doLoadAdminData(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private int getDefaultInvoiceType() {
|
|
|
+ String defaultInvoiceType = this.getBillCardPanel().getHeadItem("finvoicetype").getDefaultValue();
|
|
|
+ if (defaultInvoiceType != null && defaultInvoiceType.trim().length() > 0) {
|
|
|
+ try {
|
|
|
+ String[][] invoiceType = this.st.getInvoiceType();
|
|
|
+ int i = 0;
|
|
|
+
|
|
|
+ for (int loop = invoiceType.length; i < loop; ++i) {
|
|
|
+ if (defaultInvoiceType.trim().equals(invoiceType[i][1].trim())) {
|
|
|
+ return i;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception var5) {
|
|
|
+ SCMEnv.out(var5);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ private String getErrMsg(SaleinvoiceVO vo, String key) {
|
|
|
+ if (null == vo) {
|
|
|
+ return "";
|
|
|
+ } else {
|
|
|
+ StringBuilder errmsg = new StringBuilder();
|
|
|
+ String keyname = null;
|
|
|
+ if ("ccustbaseid".equals(key)) {
|
|
|
+ keyname = NCLangRes.getInstance().getStrByID("common", "UC000-0001589");
|
|
|
+ } else if ("csalecorpid".equals(key)) {
|
|
|
+ keyname = NCLangRes.getInstance().getStrByID("common", "UC000-0004128");
|
|
|
+ } else if ("ccalbodyid".equals(key)) {
|
|
|
+ keyname = NCLangRes.getInstance().getStrByID("common", "UC000-0001825");
|
|
|
+ } else if ("ccurrencyid".equals(key)) {
|
|
|
+ keyname = NCLangRes.getInstance().getStrByID("common", "UC000-0001755");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null != keyname) {
|
|
|
+ int i = 0;
|
|
|
+
|
|
|
+ for (int loop = vo.getBodyVO().length; i < loop; ++i) {
|
|
|
+ errmsg.append(NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100093", (String) null,
|
|
|
+ new String[]{vo.getBodyVO()[i].getCupsourcebillcode(), vo.getBodyVO()[i].getUpsourcerowno(),
|
|
|
+ keyname}))
|
|
|
+ .append("\n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return errmsg.length() > 0 ? errmsg.toString() : "";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private PrintLogClient getPrintLogClient() {
|
|
|
+ if (this.m_PrintLogClient == null) {
|
|
|
+ this.m_PrintLogClient = new PrintLogClient();
|
|
|
+ this.m_PrintLogClient.addFreshTsListener(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ return this.m_PrintLogClient;
|
|
|
+ }
|
|
|
+
|
|
|
+ private SaleInvoiceQueryDlg getQueryDlg() {
|
|
|
+ if (this.dlgQuery == null) {
|
|
|
+ this.dlgQuery = new SaleInvoiceQueryDlg(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ return this.dlgQuery;
|
|
|
+ }
|
|
|
+
|
|
|
+ private int getShowState() {
|
|
|
+ return this.m_iShowState;
|
|
|
+ }
|
|
|
+
|
|
|
+ private SourceBillFlowDlg getSourceDlg() {
|
|
|
+ SourceBillFlowDlg soureDlg = new SourceBillFlowDlg(this, "32", this.getVo().getHeadVO().getCsaleid(),
|
|
|
+ this.getBillCardPanel().getBusiType(), this.getBillCardPanel().getOperator(),
|
|
|
+ this.getVo().getHeadVO().getVreceiptcode());
|
|
|
+ return soureDlg;
|
|
|
+ }
|
|
|
+
|
|
|
+ private SaleinvoiceVO getVOForAction() {
|
|
|
+ SaleinvoiceVO voInvoice = null;
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ voInvoice = this.getBillListPanel().getVOForAction();
|
|
|
+ } else {
|
|
|
+ voInvoice = this.getBillCardPanel().getVOForAction();
|
|
|
+ }
|
|
|
+
|
|
|
+ return voInvoice;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void initialize() {
|
|
|
+ this.setName("SaleInvoice");
|
|
|
+ this.setSize(774, 419);
|
|
|
+ this.add(this.getBillCardPanel(), "Center");
|
|
|
+ BillTools.addReSortRowNoToPopMenu(this.getBillCardPanel(), (String)null);
|
|
|
+ BillTools.addCardEditToBodyMenus(this.getBillCardPanel(), (String)null);
|
|
|
+ UIMenuItem[] bodyMenuItems = this.getBillCardPanel().getBodyMenuItems();
|
|
|
+ int ilength = bodyMenuItems.length;
|
|
|
+ if (ilength > 2) {
|
|
|
+ bodyMenuItems[ilength-1].addActionListener(new ActionListener(){
|
|
|
+ public void actionPerformed(ActionEvent e) {
|
|
|
+ onBoCardEdit();
|
|
|
+ }});
|
|
|
+ bodyMenuItems[ilength-2].addActionListener(new ActionListener(){
|
|
|
+ public void actionPerformed(ActionEvent e) {
|
|
|
+ nc.ui.scm.pub.report.BillRowNo.addNewRowNo(getBillCardPanel(),
|
|
|
+ SaleBillType.SaleInvoice, "crowno");
|
|
|
+ }});
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBillCardPanel().setBusiType(this.getBtns().getBusiType());
|
|
|
+ this.setShowState(1);
|
|
|
+ this.setOperationState(2);
|
|
|
+ this.setButtons(this.getBtns().getButtonArray());
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ this.getBillCardPanel().addActionListener(this);
|
|
|
+ this.getBillCardPanel().setEnabled(false);
|
|
|
+ this.getBillListPanel().addMouseListener(this);
|
|
|
+ this.getBillListPanel().showPagePanel(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onApprove() {
|
|
|
+ SaleinvoiceVO voInvoice = this.getVOForAction();
|
|
|
+ voInvoice.setCl(new ClientLink(this.getClientEnvironment()));
|
|
|
+ HashMap hsnewvo = null;
|
|
|
+
|
|
|
+ String res;
|
|
|
+ try {
|
|
|
+ if (SaleInvoiceTools.getLoginDate().before(voInvoice.getHeadVO().getDbilldate())) {
|
|
|
+ throw new BusinessException(NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000659"));
|
|
|
+ }
|
|
|
+
|
|
|
+ voInvoice.getHeadVO().setDapprovedate(this.getClientEnvironment().getDate());
|
|
|
+ voInvoice.getHeadVO().setDaudittime(new UFDateTime(System.currentTimeMillis()));
|
|
|
+ hsnewvo = (HashMap) PfUtilClient.processActionFlow(this, "APPROVE", "32",
|
|
|
+ this.getClientEnvironment().getDate().toString(), voInvoice, (Object) null);
|
|
|
+ } catch (ArapBusinessException var5) {
|
|
|
+ res = var5.m_ResMessage.strMessage;
|
|
|
+ MessageDialog.showHintDlg(this, NCLangRes.getInstance().getStrByID("40040401", "UPPSCMCommon-000270"), res);
|
|
|
+ } catch (Exception var6) {
|
|
|
+ this.showErrorMessage(var6.getMessage());
|
|
|
+ SCMEnv.out(var6.getMessage());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!PfUtilClient.isSuccess()) {
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("40060301", "UPP40060301-000254"));
|
|
|
+ } else {
|
|
|
+ this.updateUIValue(hsnewvo);
|
|
|
+ int status = -1;
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ status = this.getVOCache().getCurrentVO().getHeadVO().getFstatus();
|
|
|
+ } else if (this.getShowState() == 1) {
|
|
|
+ status = SmartVODataUtils.getInteger(this.getBillCardPanel().getHeadItem("fstatus").getValueObject());
|
|
|
+ }
|
|
|
+
|
|
|
+ res = NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100095");
|
|
|
+ if (7 == status) {
|
|
|
+ res = res + NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000088");
|
|
|
+ } else if (8 == status) {
|
|
|
+ res = res + NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100096");
|
|
|
+ } else if (1 == status) {
|
|
|
+ res = res + NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100097");
|
|
|
+ } else {
|
|
|
+ res = res + NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-100098");
|
|
|
+ }
|
|
|
+
|
|
|
+ this.showHintMessage(res);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private boolean onApprove(SaleinvoiceVO saleinvoice) throws Exception {
|
|
|
+ if (null != saleinvoice && null != saleinvoice.getHeadVO()) {
|
|
|
+ try {
|
|
|
+ if (SaleInvoiceTools.getLoginDate().before(saleinvoice.getHeadVO().getDbilldate())) {
|
|
|
+ throw new BusinessException(NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000671"));
|
|
|
+ } else {
|
|
|
+ Object otemp = PfUtilClient.processActionFlow(this, "APPROVE", "32",
|
|
|
+ this.getClientEnvironment().getDate().toString(), saleinvoice, (Object) null);
|
|
|
+ if (null != otemp) {
|
|
|
+ String ErrMsg = otemp.toString();
|
|
|
+ if (ErrMsg != null && ErrMsg.startsWith("ERR")) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, ErrMsg.substring(3));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return PfUtilClient.isSuccess();
|
|
|
+ }
|
|
|
+ } catch (Exception var4) {
|
|
|
+ throw var4;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onATP() {
|
|
|
+ try {
|
|
|
+ PfUtilClient.processActionNoSendMessage(this, "ATP", "32", this.getClientEnvironment().getDate().toString(),
|
|
|
+ this.getBillCardPanel().getVO(), this.getBillCardPanel().getVOOnlySelectedRow(), (String) null,
|
|
|
+ (AggregatedValueObject) null);
|
|
|
+ } catch (Exception var2) {
|
|
|
+ SCMEnv.out(var2.getMessage());
|
|
|
+ this.showErrorMessage(var2.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onAuditFlowStatus() {
|
|
|
+ SaleinvoiceVO invoicevo = this.getVo();
|
|
|
+ if (null != invoicevo && invoicevo.getParentVO() != null) {
|
|
|
+ SaleVO header = invoicevo.getHeadVO();
|
|
|
+ String pk = header.getCsaleid();
|
|
|
+ if (pk == null) {
|
|
|
+ this.showErrorMessage(NCLangRes.getInstance().getStrByID("SCMCOMMON", "UPPSCMCommon-000067"));
|
|
|
+ } else {
|
|
|
+ FlowStateDlg approvestatedlg = new FlowStateDlg(this, "32", pk);
|
|
|
+ approvestatedlg.showModal();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.showErrorMessage(NCLangRes.getInstance().getStrByID("SCMCOMMON", "UPPSCMCommon-000199"));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onBillCombin() {
|
|
|
+ SOCollectSettingDlg dlg = new SOCollectSettingDlg(this, "32", SaleInvoiceTools.getNodeCode(),
|
|
|
+ SaleInvoiceTools.getLoginPk_Corp(), SaleInvoiceTools.getLoginUserId(), SaleinvoiceVO.class.getName(),
|
|
|
+ SaleVO.class.getName(), SaleinvoiceBVO.class.getName());
|
|
|
+ dlg.setBilltype("32");
|
|
|
+ dlg.setNodecode(SaleInvoiceTools.getNodeCode());
|
|
|
+ Configuration configuation = Configuration.load(this.getClientEnvironment().getCorporation().getPk_corp());
|
|
|
+ ArrayList<String> aryfixgroup = new ArrayList();
|
|
|
+ if (configuation.isMergeInvClass()) {
|
|
|
+ aryfixgroup.add("invclasscode");
|
|
|
+ aryfixgroup.add("invclassname");
|
|
|
+ aryfixgroup.add("ccurrencytypename");
|
|
|
+ this.getBillCardPanel().getBodyItem("invclasscode").setShow(true);
|
|
|
+ this.getBillCardPanel().getBodyItem("invclassname").setShow(true);
|
|
|
+ } else {
|
|
|
+ aryfixgroup.add("cinventorycode");
|
|
|
+ aryfixgroup.add("cinventoryname");
|
|
|
+ aryfixgroup.add("GG");
|
|
|
+ aryfixgroup.add("XX");
|
|
|
+ aryfixgroup.add("ccurrencytypename");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (configuation.isMergePrice()) {
|
|
|
+ aryfixgroup.add("noriginalcurtaxnetprice");
|
|
|
+ }
|
|
|
+
|
|
|
+ String[] fixgroup = new String[aryfixgroup.size()];
|
|
|
+ aryfixgroup.toArray(fixgroup);
|
|
|
+ String[] groupSel = SaleInvoiceCollectSetCache.getSaleInvoiceCollectSetCache("groupSel");
|
|
|
+ String[] sumSel = SaleInvoiceCollectSetCache.getSaleInvoiceCollectSetCache("sumSel");
|
|
|
+ String[] avgSel = SaleInvoiceCollectSetCache.getSaleInvoiceCollectSetCache("avgSel");
|
|
|
+ String[] proAvgSel = SaleInvoiceCollectSetCache.getSaleInvoiceCollectSetCache("proAvgSel");
|
|
|
+ fixgroup = groupSel == null ? fixgroup : groupSel;
|
|
|
+ String[] sumItems = new String[]{"noriginalcurtaxmny", "noriginalcurmny", "noriginalcursummny", "nnumber",
|
|
|
+ "noriginalcurdiscountmny", "ntaxmny", "nmny", "nsummny", "ndiscountmny", "nsimulatecostmny", "ncostmny",
|
|
|
+ "nsubsummny", "nsubcursummny"};
|
|
|
+ sumItems = sumSel == null ? sumItems : sumSel;
|
|
|
+ String[] proAvgItems = new String[]{"nsubtaxnetprice", "nsubqutaxnetpri", "nsubqunetpri", "nsubqutaxpri",
|
|
|
+ "nsubqupri", "nqutaxnetprice", "nqunetprice", "nqutaxprice", "nquprice", "nqocurtaxnetpri",
|
|
|
+ "nquoricurnetpri", "nquoricurtaxpri", "nquoricurpri", "ntaxnetprice", "nnetprice", "ntaxprice",
|
|
|
+ "nprice", "noriginalcurtaxnetprice", "noriginalcurnetprice", "noriginalcurtaxprice",
|
|
|
+ "noriginalcurprice"};
|
|
|
+ proAvgItems = proAvgSel == null ? proAvgItems : proAvgSel;
|
|
|
+ dlg.initData(this.getBillCardPanel(), fixgroup, (String[]) null, sumItems, avgSel, proAvgItems, "nnumber");
|
|
|
+ dlg.showModal();
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("40060501", "UPT40060501-000058"));
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onBlankOut() {
|
|
|
+ if (MessageDialog.showYesNoDlg(this, NCLangRes.getInstance().getStrByID("common", "UC001-0000039"),
|
|
|
+ NCLangRes.getInstance().getStrByID("common", "UCH002")) == 4) {
|
|
|
+ SaleinvoiceVO voInvoice = this.getVOForAction();
|
|
|
+ if (voInvoice.getHeadVO().isStrike()) {
|
|
|
+ if (MessageDialog.showYesNoDlg(this, NCLangRes.getInstance().getStrByID("common", "UC001-0000039"),
|
|
|
+ NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000161")) != 4) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null == voInvoice.getHsSelectedARSubHVO() || voInvoice.getHsSelectedARSubHVO().size() == 0) {
|
|
|
+ try {
|
|
|
+ Hashtable htstrike = SaleinvoiceBO_Client
|
|
|
+ .queryStrikeData(voInvoice.getHeadVO().getPrimaryKey());
|
|
|
+ voInvoice.setHsSelectedARSubHVO(htstrike);
|
|
|
+ } catch (Exception var4) {
|
|
|
+ SCMEnv.out(NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000658")
|
|
|
+ + var4.getMessage());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ voInvoice.setAllinvoicevo(voInvoice);
|
|
|
+ voInvoice.setBstrikeflag(new UFBoolean(false));
|
|
|
+
|
|
|
+ try {
|
|
|
+ this.getPluginProxy().beforeAction(Action.DELETE, new SaleinvoiceVO[]{voInvoice});
|
|
|
+ this.onDelete(voInvoice);
|
|
|
+ } catch (Exception var3) {
|
|
|
+ this.showErrorMessage(var3.getMessage());
|
|
|
+ SCMEnv.out(var3.getMessage());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getVOCache().removeVOBy(voInvoice.getHeadVO().getCsaleid());
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ this.getBillListPanel().getHeadBillModel()
|
|
|
+ .delLine(new int[]{this.getBillListPanel().getHeadTable().getSelectedRow()});
|
|
|
+ this.getBillListPanel().updateUI();
|
|
|
+ } else {
|
|
|
+ this.getBillCardPanel().loadCardData(this.getVOCache().getVO_Load(this.getVOCache().getPos()));
|
|
|
+ }
|
|
|
+
|
|
|
+ this.setOperationState(2);
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onBoCardEdit() {
|
|
|
+ this.getBillCardPanel().startRowCardEdit();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onBusiType(ButtonObject bo) {
|
|
|
+ bo.setSelected(true);
|
|
|
+ this.getBillCardPanel().setBusiType(bo.getTag());
|
|
|
+ this.getBtns().changeButtonsWhenBusiTypeSelected(bo);
|
|
|
+ this.setButtons(this.getBtns().getButtonArray());
|
|
|
+ this.setOperationState(2);
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ this.setTitleText(this.getBillCardPanel().getTitle());
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onCancelSave() {
|
|
|
+ if (null != this.getVOCache().getCurrentVO() && null != this.getVOCache().getCurrentVO().getHeadVO()
|
|
|
+ && this.getVOCache().getCurrentVO().getHeadVO().isNew()
|
|
|
+ && !this.getBillCardPanel().isOutSumMakeInvoice()) {
|
|
|
+ this.getVOCache().removeVOAt(this.getVOCache().getPos());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null == this.getVOCache().getCurrentVO() && null != this.getVOCache().getOldVO()
|
|
|
+ && null != this.getVOCache().getOldVO().getHeadVO()) {
|
|
|
+ String csaleid = this.getVOCache().getOldVO().getHeadVO().getCsaleid();
|
|
|
+ this.getVOCache().setPos(this.getVOCache().findPos(csaleid));
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBillCardPanel().setPanelAfterCancelSave(this.getVOCache().getCurrentVO());
|
|
|
+ this.setOperationState(2);
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ this.showHintMessage("");
|
|
|
+ this.getBillCardPanel().setOutSumMakeInvoice(false);
|
|
|
+ this.updateUI();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onCancelTransfer() {
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ int[] iaSerialNum = this.getBillListPanel().getHeadTable().getSelectedRows();
|
|
|
+
|
|
|
+ for (int i = iaSerialNum.length - 1; i >= 0; --i) {
|
|
|
+ if (this.getVOCache().getVO_Load(iaSerialNum[i]).getHeadVO().isNew()) {
|
|
|
+ this.getVOCache().removeVOAt(iaSerialNum[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBillListPanel().getHeadBillModel().delLine(iaSerialNum);
|
|
|
+ this.getBillListPanel().updateUI();
|
|
|
+ } else {
|
|
|
+ this.getVOCache().removeVOAt(this.getVOCache().getPos());
|
|
|
+ this.getBillCardPanel().loadCardData(this.getVOCache().getVO_Load(this.getVOCache().rollToNextPos()));
|
|
|
+ }
|
|
|
+
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onCard() {
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ this.remove(this.getBillListPanel());
|
|
|
+ this.add(this.getBillCardPanel(), "Center");
|
|
|
+ this.getVOCache().setPos(this.getBillListPanel().getHeadTable().getSelectedRow());
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBillCardPanel().loadCardData(this.getVOCache().getVO_Load(this.getVOCache().getPos()));
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000065"));
|
|
|
+ DefSetTool.updateCardDefValues(this.getBillCardPanel().getBillData(), "vdef", "pk_defdoc");
|
|
|
+ this.setShowState(1);
|
|
|
+ this.setOperationState(2);
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ this.getBillCardPanel().setEnabled(false);
|
|
|
+ this.updateUI();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onCustCredit() {
|
|
|
+ String sCust = null;
|
|
|
+ String sBiztype = null;
|
|
|
+ String cproductid = null;
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ int iselbodyrow = this.getBillListPanel().getBodyTable().getSelectedRow();
|
|
|
+ if (iselbodyrow < 0) {
|
|
|
+ iselbodyrow = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ Object oTemp = this.getBillListPanel().getBodyBillModel().getValueAt(iselbodyrow, "ccustomerid");
|
|
|
+ sCust = oTemp == null ? null : oTemp.toString();
|
|
|
+ oTemp = this.getBillListPanel().getHeadBillModel()
|
|
|
+ .getValueAt(this.getBillListPanel().getHeadTable().getSelectedRow(), "cbiztype");
|
|
|
+ sBiztype = oTemp == null ? null : oTemp.toString();
|
|
|
+ if (this.st.SO_27 != null && this.st.SO_27.booleanValue()
|
|
|
+ && this.getBillListPanel().getBodyBillModel().getRowCount() > 0) {
|
|
|
+ cproductid = (String) this.getBillListPanel().getBodyBillModel().getValueAt(0, "cprolineid");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ sCust = this.getBillCardPanel().getCCustomerid();
|
|
|
+ sBiztype = this.getBillCardPanel().getBusiType();
|
|
|
+ if (this.st.SO_27 != null && this.st.SO_27.booleanValue() && this.getBillCardPanel().getRowCount() > 0) {
|
|
|
+ cproductid = (String) this.getBillCardPanel().getBodyValueAt(0, "cprolineid");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ CustCreditVO voCredit = new CustCreditVO();
|
|
|
+ voCredit.setPk_cumandoc(sCust);
|
|
|
+ voCredit.setCbiztype(sBiztype);
|
|
|
+ voCredit.setCproductline(cproductid);
|
|
|
+
|
|
|
+ try {
|
|
|
+ PfUtilClient.processActionFlow(this, "CustCredited", "32", this.getClientEnvironment().getDate().toString(),
|
|
|
+ this.getVo(), voCredit);
|
|
|
+ } catch (BusinessException var6) {
|
|
|
+ this.showErrorMessage(var6.getMessage());
|
|
|
+ var6.printStackTrace();
|
|
|
+ } catch (Exception var7) {
|
|
|
+ this.showErrorMessage(var7.getMessage());
|
|
|
+ SCMEnv.out(var7.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onCustInfo() {
|
|
|
+ Object ob = null;
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ ob = this.getBillListPanel().getHeadBillModel()
|
|
|
+ .getValueAt(this.getBillListPanel().getHeadTable().getSelectedRow(), "creceiptcorpid");
|
|
|
+ } else {
|
|
|
+ ob = this.getBillCardPanel().getHeadItem("creceiptcorpid").getValue();
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ PfUtilClient.processActionNoSendMessage(this, "CustInfo", "32",
|
|
|
+ this.getClientEnvironment().getDate().toString(), this.getVOForAction(), ob, (String) null,
|
|
|
+ (AggregatedValueObject) null);
|
|
|
+ } catch (Exception var3) {
|
|
|
+ this.showErrorMessage(this.getBtns().m_boCustInfo.getName()
|
|
|
+ + NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000069"));
|
|
|
+ SCMEnv.out(var3.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private boolean onDelete(SaleinvoiceVO vo) throws Exception {
|
|
|
+ if (vo == null) {
|
|
|
+ return false;
|
|
|
+ } else {
|
|
|
+ vo.getHeadVO().setVoldreceiptcode(vo.getHeadVO().getVreceiptcode());
|
|
|
+ vo.setCl(new ClientLink(this.getClientEnvironment()));
|
|
|
+ vo.setStatus(3);
|
|
|
+ vo.getParentVO().setStatus(3);
|
|
|
+ SaleVO newsourheadvo = null;
|
|
|
+
|
|
|
+ try {
|
|
|
+ newsourheadvo = (SaleVO) PfUtilClient.processActionFlow(this, "SoBlankOut", "32",
|
|
|
+ this.getClientEnvironment().getDate().toString(), vo, (Object) null);
|
|
|
+ } catch (Exception var9) {
|
|
|
+ throw var9;
|
|
|
+ }
|
|
|
+
|
|
|
+ SaleVO blankhead = vo.getHeadVO();
|
|
|
+ if (2 == blankhead.getFcounteractflag() && null != newsourheadvo) {
|
|
|
+ String newbillid = newsourheadvo.getCsaleid();
|
|
|
+ int i = 0;
|
|
|
+
|
|
|
+ for (int iloop = this.getBillListPanel().getHeadBillModel().getRowCount(); i < iloop; ++i) {
|
|
|
+ String currentpk = (String) this.getBillListPanel().getHeadBillModel().getValueAt(i, "csaleid");
|
|
|
+ if (newbillid.equals(currentpk)) {
|
|
|
+ SaleinvoiceVO oldvo = this.getVOCache().getVO_Load(newbillid);
|
|
|
+ if (oldvo != null) {
|
|
|
+ oldvo.getHeadVO().setTs(newsourheadvo.getTs());
|
|
|
+ oldvo.getHeadVO().setFcounteractflag(newsourheadvo.getFcounteractflag());
|
|
|
+ this.getVOCache().setSaleinvoiceVO(newbillid, oldvo);
|
|
|
+ this.getBillListPanel().getHeadBillModel().setValueAt(newsourheadvo.getTs(), i, "ts");
|
|
|
+ this.getBillListPanel().getHeadBillModel().setValueAt(newsourheadvo.getFcounteractflag(), i,
|
|
|
+ "fcounteractflag");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (PfUtilClient.isSuccess()) {
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("scmsopreor", "UPPscmsopreor-000055"));
|
|
|
+ return true;
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onDocument() {
|
|
|
+ this.showHintMessage(this.getBtns().m_boDocument.getHint());
|
|
|
+ String id = null;
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ int selectrow = this.getBillListPanel().getHeadTable().getSelectedRow();
|
|
|
+ id = this.getBillListPanel().getHeadBillModel().getValueAt(selectrow, "csaleid").toString();
|
|
|
+ } else {
|
|
|
+ id = (String) this.getBillCardPanel().getHeadItem("csaleid").getValueObject();
|
|
|
+ }
|
|
|
+
|
|
|
+ SaleinvoiceVO voInv = this.getVo();
|
|
|
+ if (voInv != null && voInv.getHeadVO() != null && id != null && !"".equals(id)) {
|
|
|
+ SysInitVO m_voBillStatus = null;
|
|
|
+
|
|
|
+ try {
|
|
|
+ m_voBillStatus = SysInitBO_Client.queryByParaCode("0001", "SCM21");
|
|
|
+ } catch (BusinessException var10) {
|
|
|
+ SCMEnv.error(var10);
|
|
|
+ this.showErrorMessage("获取参数SCM20出错" + var10.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ String paramValue = m_voBillStatus.getValue();
|
|
|
+ String enable = "true";
|
|
|
+ if (paramValue == null || "".equals(paramValue)) {
|
|
|
+ enable = "false";
|
|
|
+ }
|
|
|
+
|
|
|
+ SaleVO head = voInv.getHeadVO();
|
|
|
+ String billcode = head.getVreceiptcode();
|
|
|
+ Integer billstatus = head.getFstatus() == null ? new Integer(1) : head.getFstatus();
|
|
|
+ if (UFBoolean.valueOf(enable).booleanValue() && !"12345678".equals(paramValue) && !paramValue
|
|
|
+ .contains((CharSequence) EditDocBillStatusParamConst.SO_STATUS.get(String.valueOf(billstatus)))) {
|
|
|
+ enable = "false";
|
|
|
+ }
|
|
|
+
|
|
|
+ BtnPowerVO pVo = new BtnPowerVO(billcode, enable, enable, "true", enable);
|
|
|
+ DocumentManager.showDM(this, "32", id, pVo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onExecQuery() {
|
|
|
+ SaleinvoiceVO voInv = this.getVo();
|
|
|
+ if (voInv != null) {
|
|
|
+ try {
|
|
|
+ PfUtilClient.processActionNoSendMessage(this, "InvoiceExecRpt", "32",
|
|
|
+ this.getClientEnvironment().getDate().toString(), voInv, voInv.getHeadVO().getCsaleid(),
|
|
|
+ (String) null, (AggregatedValueObject) null);
|
|
|
+ } catch (Exception var3) {
|
|
|
+ this.showErrorMessage(NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000069"));
|
|
|
+ SCMEnv.out(var3.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onFetchCost() {
|
|
|
+ SaleinvoiceVO saleinvoice = (SaleinvoiceVO) this.getBillCardPanel()
|
|
|
+ .getBillValueVO(SaleinvoiceVO.class.getName(), SaleVO.class.getName(), SaleinvoiceBVO.class.getName());
|
|
|
+ if (null != saleinvoice && null != saleinvoice.getHeadVO() && null != saleinvoice.getBodyVO()) {
|
|
|
+ SaleinvoiceBVO[] body = saleinvoice.getBodyVO();
|
|
|
+ Hashtable<String, Integer> saleout = new Hashtable();
|
|
|
+ ArrayList<String> aryrowno = new ArrayList();
|
|
|
+ ArrayList<Integer> errindex = new ArrayList();
|
|
|
+
|
|
|
+ for (int i=0,iloop = body.length;i<iloop;i++){
|
|
|
+ if ("4C".equals(body[i].getCupreceipttype()) && null != body[i].getCupsourcebillbodyid()) {
|
|
|
+ saleout.put(body[i].getCupsourcebillbodyid(), i);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Hashtable hcostprice = new Hashtable();
|
|
|
+ Set<String> keyset = saleout.keySet();
|
|
|
+ String[] saleoutbid = null;
|
|
|
+ if (keyset.size() > 0) {
|
|
|
+ try {
|
|
|
+ saleoutbid = new String[keyset.size()];
|
|
|
+ keyset.toArray(saleoutbid);
|
|
|
+ hcostprice = SaleinvoiceBO_Client.queryCostPrice(saleoutbid);
|
|
|
+ } catch (Exception var20) {
|
|
|
+ SCMEnv.out(var20.getMessage());
|
|
|
+ MessageDialog.showErrorDlg(this,
|
|
|
+ NCLangRes.getInstance().getStrByID("scmcommon", "UPPSCMCommon-000059"), var20.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ for (int i=0,iloop =saleoutbid.length;i<iloop;i++){
|
|
|
+ int row = (Integer) saleout.get(saleoutbid[i]);
|
|
|
+ UFDouble nexchangeotobrate = body[row].getNexchangeotobrate();
|
|
|
+ if (hcostprice.containsKey(saleoutbid[i]) && hcostprice.get(saleoutbid[i]) != null) {
|
|
|
+ UFDouble ncostprice = new UFDouble((BigDecimal) hcostprice.get(saleoutbid[i]));
|
|
|
+ UFDouble noriginalcurprice = null;
|
|
|
+
|
|
|
+ try {
|
|
|
+ String pk_corp = saleinvoice.getHeadVO().getPk_corp();
|
|
|
+ BusinessCurrencyRateUtil currateutil = new BusinessCurrencyRateUtil(pk_corp);
|
|
|
+ SOCurrencyRateUtil socurrateutil = new SOCurrencyRateUtil(pk_corp);
|
|
|
+ String pk_curtype = saleinvoice.getHeadVO().getCcurrencyid();
|
|
|
+ noriginalcurprice = currateutil.getAmountByOpp(socurrateutil.getLocalCurrPK(), pk_curtype,
|
|
|
+ ncostprice, nexchangeotobrate,
|
|
|
+ saleinvoice.getHeadVO().getDbilldate() == null
|
|
|
+ ? this.getClientEnvironment().getDate().toString()
|
|
|
+ : saleinvoice.getHeadVO().getDbilldate().toString());
|
|
|
+ } catch (Exception var19) {
|
|
|
+ SCMEnv.out(NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000672") + var19);
|
|
|
+ this.showErrorMessage(NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000673")
|
|
|
+ + var19.getMessage());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ UFDouble ndiscountrate;
|
|
|
+ UFDouble nitemdiscount;
|
|
|
+ if (this.st.SA_02.booleanValue()) {
|
|
|
+ ndiscountrate = body[row].getNtaxrate() == null ? new UFDouble(0) : body[row].getNtaxrate();
|
|
|
+ nitemdiscount = noriginalcurprice
|
|
|
+ .multiply((new UFDouble(1)).add(ndiscountrate.div(new UFDouble(100))));
|
|
|
+ this.getBillCardPanel().setBodyValueAt(nitemdiscount, row, "noriginalcurtaxnetprice");
|
|
|
+ } else {
|
|
|
+ this.getBillCardPanel().setBodyValueAt(noriginalcurprice, row, "noriginalcurnetprice");
|
|
|
+ }
|
|
|
+
|
|
|
+ ndiscountrate = this.getBillCardPanel().getBodyValueAt(row, "ndiscountrate") == null
|
|
|
+ ? new UFDouble(100)
|
|
|
+ : SmartVODataUtils
|
|
|
+ .getUFDouble(this.getBillCardPanel().getBodyValueAt(row, "ndiscountrate"));
|
|
|
+ nitemdiscount = this.getBillCardPanel().getBodyValueAt(row, "nitemdiscountrate") == null
|
|
|
+ ? new UFDouble(100)
|
|
|
+ : SmartVODataUtils
|
|
|
+ .getUFDouble(this.getBillCardPanel().getBodyValueAt(row, "nitemdiscountrate"));
|
|
|
+ this.getBillCardPanel().setBodyValueAt(
|
|
|
+ ndiscountrate.multiply(nitemdiscount).div(new UFDouble(100)), row, "ndiscountrate");
|
|
|
+ RelationsCal.calculate(row, this.getBillCardPanel(),
|
|
|
+ this.getBillCardPanel().getCalculatePara("noriginalcurtaxnetprice"),
|
|
|
+ "noriginalcurtaxnetprice", SaleinvoiceBVO.getDescriptions(), SaleinvoiceBVO.getKeys(),
|
|
|
+ "nc.vo.so.so002.SaleinvoiceBVO", "nc.vo.so.so002.SaleVO");
|
|
|
+ this.getBillCardPanel().setBodyValueAt(ndiscountrate, row, "ndiscountrate");
|
|
|
+ this.getBillCardPanel().setBodyValueAt(
|
|
|
+ this.getBillCardPanel().getBodyValueAt(row, "noriginalcursummny"), row, "nsubsummny");
|
|
|
+ this.getBillCardPanel().setBodyValueAt(this.getBillCardPanel().getBodyValueAt(row, "nsummny"),
|
|
|
+ row, "nsubcursummny");
|
|
|
+ } else {
|
|
|
+ aryrowno.add(body[row].getCrowno());
|
|
|
+ errindex.add(row);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (aryrowno.size() > 0) {
|
|
|
+ StringBuilder errstr = new StringBuilder();
|
|
|
+
|
|
|
+ for (int i=0;i<aryrowno.size();i++){
|
|
|
+ errstr.append(">").append((String) aryrowno.get(i)).append(
|
|
|
+ "< " + NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000674") + " \n");
|
|
|
+ }
|
|
|
+
|
|
|
+ SetColor.setErrRowColor(this.getBillCardPanel(), errindex);
|
|
|
+ this.showErrorMessage(errstr.toString());
|
|
|
+ this.existErrRows = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBillCardPanel().setHeadItem("ninvoicediscountrate", new UFDouble(100));
|
|
|
+ this.getBillCardPanel().setHeadItem("ntotalsummny",
|
|
|
+ this.getBillCardPanel().calcurateTotal("noriginalcursummny"));
|
|
|
+ this.getBillCardPanel().execHeadFormula("nnetmny->ntotalsummny-nstrikemny");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onFirst() {
|
|
|
+ this.getVOCache().rollToFirstPos();
|
|
|
+ SaleinvoiceVO voCur = this.getVOCache().getCurrentVO();
|
|
|
+ this.getBillCardPanel().loadCardData(voCur);
|
|
|
+ this.setOperationState(2);
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onImportTaxCode() {
|
|
|
+ try {
|
|
|
+ GoldTaxVO[] goldTaxVOs = (new TransGoldTaxDlg(this)).importGoldTax();
|
|
|
+ if (goldTaxVOs == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (goldTaxVOs.length == 0) {
|
|
|
+ this.showErrorMessage("从选择的文件中,未找到可导入的数据!");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ SCMEnv.out("导入金税VO数组长度 goldTaxVOs.length = " + goldTaxVOs.length);
|
|
|
+ String[][] invoicetypes = this.getSaleinvoiceTools().getInvoiceType();
|
|
|
+ String pk_corp = ClientEnvironment.getInstance().getCorporation().getPk_corp();
|
|
|
+ Map<String, String> typeMap = new HashMap();
|
|
|
+ String[][] var5 = invoicetypes;
|
|
|
+ int i = invoicetypes.length;
|
|
|
+
|
|
|
+ int results;
|
|
|
+ for (results = 0; results < i; ++results) {
|
|
|
+ String[] invoicetype = var5[results];
|
|
|
+ typeMap.put(invoicetype[1], invoicetype[0]);
|
|
|
+ }
|
|
|
+
|
|
|
+ HashMap<String, SaleVO> hmHeadVO = new HashMap();
|
|
|
+
|
|
|
+ for (i = 0; i < goldTaxVOs.length; ++i) {
|
|
|
+ GoldTaxHeadVO taxHeadVO = goldTaxVOs[i].getParentVO();
|
|
|
+ String billcode = taxHeadVO.getCode();
|
|
|
+ SaleVO saleVO;
|
|
|
+ String typeInt;
|
|
|
+ String taxno;
|
|
|
+ if (hmHeadVO.containsKey(billcode)) {
|
|
|
+ saleVO = (SaleVO) hmHeadVO.get(billcode);
|
|
|
+ typeInt = saleVO.getCgoldtaxcode() == null ? "" : saleVO.getCgoldtaxcode();
|
|
|
+ taxno = taxHeadVO.getTaxBillNo() == null ? "" : taxHeadVO.getTaxBillNo();
|
|
|
+ saleVO.setCgoldtaxcode(typeInt + "," + taxno);
|
|
|
+ } else {
|
|
|
+ saleVO = new SaleVO();
|
|
|
+ saleVO.setPk_corp(pk_corp);
|
|
|
+ saleVO.setVreceiptcode(taxHeadVO.getCode());
|
|
|
+ typeInt = (String) typeMap.get(taxHeadVO.getMemo());
|
|
|
+ if (typeInt != null) {
|
|
|
+ saleVO.setFinvoicetype(Integer.valueOf(typeInt));
|
|
|
+ }
|
|
|
+
|
|
|
+ saleVO.setDeinvdate(taxHeadVO.getBillDate());
|
|
|
+ saleVO.setPk_corp(this.getCorpPrimaryKey());
|
|
|
+ taxno = taxHeadVO.getTaxBillNo();
|
|
|
+ saleVO.setCgoldtaxcode(taxHeadVO.getTaxBillNo());
|
|
|
+ if (taxno.indexOf(",") != -1) {
|
|
|
+ saleVO.setVeinvcode(taxno.split(",")[0]);
|
|
|
+ saleVO.setVeinvnumber(taxno.split(",")[1]);
|
|
|
+ }
|
|
|
+
|
|
|
+ hmHeadVO.put(taxHeadVO.getCode(), saleVO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ SaleVO[] voHeads = (SaleVO[]) hmHeadVO.values().toArray(new SaleVO[0]);
|
|
|
+ results = SaleinvoiceBO_Client.updateSaleinvoiceValue(voHeads,
|
|
|
+ new String[]{"deinvdate", "cgoldtaxcode", "veinvcode", "veinvnumber"},
|
|
|
+ new String[]{"vreceiptcode", "pk_corp"});
|
|
|
+ this.showHintMessage(
|
|
|
+ NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000661") + results + "条数据");
|
|
|
+ } catch (Exception var12) {
|
|
|
+ SCMEnv.error(NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000662"), var12);
|
|
|
+ this.showErrorMessage(
|
|
|
+ NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000663") + var12.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onLast() {
|
|
|
+ this.getVOCache().rollToLastPos();
|
|
|
+ SaleinvoiceVO voCur = this.getVOCache().getCurrentVO();
|
|
|
+ this.getBillCardPanel().loadCardData(voCur);
|
|
|
+ this.setOperationState(2);
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onList() {
|
|
|
+ this.remove(this.getBillCardPanel());
|
|
|
+ this.add(this.getBillListPanel(), "Center");
|
|
|
+ this.getBillListPanel().reLoadData(this.getVOCache());
|
|
|
+ this.setShowState(0);
|
|
|
+ this.setOperationState(2);
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ this.updateUI();
|
|
|
+ this.getBillListPanel().getHeadTable().getSelectionModel().setSelectionInterval(this.getVOCache().getPos(),
|
|
|
+ this.getVOCache().getPos());
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onLocal() {
|
|
|
+ LocateDialog dlg = new LocateDialog(this, this.getBillListPanel().getHeadTable());
|
|
|
+ dlg.showModal();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onModify() {
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ int iRow = this.getBillListPanel().getHeadTable().getSelectedRow();
|
|
|
+ if (iRow < 0) {
|
|
|
+ this.showErrorMessage(NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000667"));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getVOCache().setPos(iRow);
|
|
|
+ this.remove(this.getBillListPanel());
|
|
|
+ this.repaint();
|
|
|
+ this.add(this.getBillCardPanel(), "Center");
|
|
|
+ this.setShowState(1);
|
|
|
+ this.getBillCardPanel().loadCardData(this.getVOCache().getCurrentVO());
|
|
|
+ }
|
|
|
+
|
|
|
+ SaleinvoiceVO VO = this.getVOCache().getCurrentVO();
|
|
|
+ this.getBillCardPanel().modify(VO);
|
|
|
+ this.changeRefAddButtonByBusiType(VO.getHeadVO().getCbiztype());
|
|
|
+ BillItem item = this.getBillCardPanel().getHeadItem("ccustbankid");
|
|
|
+ UIRefPane bankref = null;
|
|
|
+ if (item.getDataType() == 5) {
|
|
|
+ bankref = (UIRefPane) item.getComponent();
|
|
|
+ if (bankref.getRefModel() != null) {
|
|
|
+ bankref.getRefModel().setPk_corp(this.getCorpPrimaryKey());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ item = this.getBillCardPanel().getHeadItem("ccustomerbank");
|
|
|
+ if (item.getDataType() == 5) {
|
|
|
+ bankref = (UIRefPane) item.getComponent();
|
|
|
+ if (bankref.getRefModel() != null) {
|
|
|
+ bankref.getRefModel().setPk_corp(this.getCorpPrimaryKey());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ String[] removeFields = new String[]{"alrconfinconum", "alrconfincomny"};
|
|
|
+
|
|
|
+ for (int j = 0; j < VO.getBodyVO().length; ++j) {
|
|
|
+ for (int i = 0; i < removeFields.length; ++i) {
|
|
|
+ this.getBillCardPanel().setBodyValueAt((Object) null, j, removeFields[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ String bankId = VO.getParentVO().getCcustbankid();
|
|
|
+ bankref.setPK(bankId);
|
|
|
+ String bankNo = bankref.getRefCode();
|
|
|
+ this.getBillCardPanel().setHeadItem("ccustomerbankNo", bankNo);
|
|
|
+ this.setOperationState(6);
|
|
|
+ this.setButtonsStateEdit();
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("SCMCommon", "UPPSCMCommon-000350"));
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onNew(ButtonObject bo) {
|
|
|
+ PfUtilClient.childButtonClicked(bo, SaleInvoiceTools.getLoginPk_Corp(), "40060302",
|
|
|
+ SaleInvoiceTools.getLoginUserId(), "32", this);
|
|
|
+ SaleinvoiceVO[] vosNew = null;
|
|
|
+ if (!PfUtilClient.makeFlag && PfUtilClient.isCloseOK()) {
|
|
|
+ vosNew = (SaleinvoiceVO[]) ((SaleinvoiceVO[]) PfUtilClient.getRetVos());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null != vosNew && vosNew.length != 0) {
|
|
|
+ SaleinvoiceSplitTools splittools = new SaleinvoiceSplitTools();
|
|
|
+ SaleinvoiceVO[] aryRetVO = splittools.splitSaleinvoiceVOs(vosNew);
|
|
|
+ SaleinvoiceDealMnyTools dealmnytools = new SaleinvoiceDealMnyTools();
|
|
|
+ dealmnytools.dealMny(aryRetVO);
|
|
|
+ this.processNewVO(aryRetVO);
|
|
|
+ if (aryRetVO.length > 1) {
|
|
|
+ this.getVOCache().setCacheData(aryRetVO);
|
|
|
+ this.onList();
|
|
|
+ } else {
|
|
|
+ this.getVOCache().addVO(aryRetVO[0]);
|
|
|
+ this.getVOCache().rollToLastPos();
|
|
|
+ if (0 == this.getShowState()) {
|
|
|
+ this.remove(this.getBillListPanel());
|
|
|
+ this.add(this.getBillCardPanel(), "Center");
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBillCardPanel().loadCardData(aryRetVO[0]);
|
|
|
+ this.getBillCardPanel().modify(aryRetVO[0]);
|
|
|
+ DefSetTool.updateCardDefValues(this.getBillCardPanel().getBillData(), "vdef", "pk_defdoc");
|
|
|
+ this.setShowState(1);
|
|
|
+ this.setOperationState(6);
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("SCMCommon", "UPPSCMCommon-000350"));
|
|
|
+ this.setButtonsStateEdit();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onNext() {
|
|
|
+ this.getVOCache().rollToNextPos();
|
|
|
+ SaleinvoiceVO voCur = this.getVOCache().getCurrentVO();
|
|
|
+ this.getBillCardPanel().loadCardData(voCur);
|
|
|
+ this.setOperationState(2);
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onOpposeAct() {
|
|
|
+ SaleinvoiceVO voOld = this.getVo();
|
|
|
+ SaleinvoiceVO voOpp = null;
|
|
|
+
|
|
|
+ try {
|
|
|
+ voOpp = SaleInvoiceTools.getOppVO(voOld);
|
|
|
+ } catch (Exception var4) {
|
|
|
+ SCMEnv.out(var4);
|
|
|
+ MessageDialog.showErrorDlg(this, "", var4.getMessage());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (voOpp != null) {
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ this.remove(this.getBillListPanel());
|
|
|
+ this.add(this.getBillCardPanel(), "Center");
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBillCardPanel().setPanelWhenOPP(voOpp);
|
|
|
+ this.setShowState(1);
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ this.setOperationState(11);
|
|
|
+ this.setButtonsStateOPP();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onOrderQuery() {
|
|
|
+ this.showHintMessage(this.getBtns().m_boOrderQuery.getHint());
|
|
|
+ this.getSourceDlg().showModal();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onOutSumMakeInvoice() {
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ this.remove(this.getBillListPanel());
|
|
|
+ this.add(this.getBillCardPanel(), "Center");
|
|
|
+ this.setShowState(1);
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBillCardPanel().setPanelWhenOutSumMakeInvoice();
|
|
|
+ this.getBillCardPanel().getHeadItem("finvoicetype").setValue(this.getDefaultInvoiceType());
|
|
|
+ this.setOperationState(6);
|
|
|
+ this.setButtonsStateEdit();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onPrev() {
|
|
|
+ this.getVOCache().rollToPreviousPos();
|
|
|
+ SaleinvoiceVO voCur = this.getVOCache().getCurrentVO();
|
|
|
+ this.getBillCardPanel().loadCardData(voCur);
|
|
|
+ this.setOperationState(2);
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onPrifit() {
|
|
|
+ ProfitVO voProfit = new ProfitVO();
|
|
|
+ int i;
|
|
|
+ ProfitItemVO bodyVO;
|
|
|
+ String gg;
|
|
|
+ String xx;
|
|
|
+ ProfitItemVO[] bodyVOs;
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ int row = this.getBillListPanel().getHeadTable().getSelectedRow();
|
|
|
+ ProfitHeaderVO headVO = new ProfitHeaderVO();
|
|
|
+ headVO.setPkcorp(this.getCorpPrimaryKey());
|
|
|
+ headVO.setCcalbodyid((String) this.getBillListPanel().getHeadBillModel().getValueAt(row, "ccalbodyid"));
|
|
|
+ headVO.setCcalbodyname((String) this.getBillListPanel().getHeadBillModel().getValueAt(row, "ccalbodyname"));
|
|
|
+ headVO.setBilltype(this.getBillListPanel().getBillType());
|
|
|
+ if (this.getBillListPanel().getBodyTable().getRowCount() > 0) {
|
|
|
+ String curID = (String) ((String) this.getBillListPanel().getBodyBillModel().getValueAt(0,
|
|
|
+ "ccurrencytypeid"));
|
|
|
+ headVO.setCurrencyid(curID);
|
|
|
+ }
|
|
|
+
|
|
|
+ bodyVOs = new ProfitItemVO[this.getBillListPanel().getBodyBillModel().getRowCount()];
|
|
|
+
|
|
|
+ for (i = 0; i < bodyVOs.length; ++i) {
|
|
|
+ bodyVO = new ProfitItemVO();
|
|
|
+ bodyVO.setCinventoryid(
|
|
|
+ (String) this.getBillListPanel().getBodyBillModel().getValueAt(i, "cinventoryid"));
|
|
|
+ bodyVO.setCode((String) this.getBillListPanel().getBodyBillModel().getValueAt(i, "cinventorycode"));
|
|
|
+ bodyVO.setName((String) this.getBillListPanel().getBodyBillModel().getValueAt(i, "cinventoryname"));
|
|
|
+ gg = (String) this.getBillListPanel().getBodyBillModel().getValueAt(i, "GG");
|
|
|
+ gg = gg == null ? "" : gg;
|
|
|
+ xx = (String) this.getBillListPanel().getBodyBillModel().getValueAt(i, "XX");
|
|
|
+ xx = xx == null ? "" : xx;
|
|
|
+ bodyVO.setSize(gg + xx);
|
|
|
+ bodyVO.setCbatchid((String) this.getBillListPanel().getBodyBillModel().getValueAt(i, "cbatchid"));
|
|
|
+ bodyVO.setNumber((UFDouble) this.getBillListPanel().getBodyBillModel().getValueAt(i, "nnumber"));
|
|
|
+ bodyVO.setNnetprice((UFDouble) this.getBillListPanel().getBodyBillModel().getValueAt(i, "nnetprice"));
|
|
|
+ bodyVO.setCbodycalbodyid(
|
|
|
+ (String) this.getBillListPanel().getBodyBillModel().getValueAt(i, "cadvisecalbodyid"));
|
|
|
+ bodyVO.setCbodycalbodyname(
|
|
|
+ (String) this.getBillListPanel().getBodyBillModel().getValueAt(i, "cadvisecalbodyname"));
|
|
|
+ bodyVO.setCbodywarehouseid(
|
|
|
+ (String) this.getBillListPanel().getBodyBillModel().getValueAt(i, "cbodywarehouseid"));
|
|
|
+ bodyVO.setCbodywarehousename(
|
|
|
+ (String) this.getBillListPanel().getBodyBillModel().getValueAt(i, "cbodywarehousename"));
|
|
|
+ if (this.getBillListPanel().getBodyBillModel().getValueAt(i, "blargessflag") != null
|
|
|
+ && this.getBillListPanel().getBodyBillModel().getValueAt(i, "blargessflag").toString()
|
|
|
+ .equals("false")) {
|
|
|
+ bodyVO.m_blargessflag = new UFBoolean(false);
|
|
|
+ } else {
|
|
|
+ bodyVO.m_blargessflag = new UFBoolean(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ bodyVO.setNmny((UFDouble) this.getBillListPanel().getBodyBillModel().getValueAt(i, "nmny"));
|
|
|
+ bodyVOs[i] = bodyVO;
|
|
|
+ }
|
|
|
+
|
|
|
+ voProfit.setParentVO(headVO);
|
|
|
+ voProfit.setChildrenVO(bodyVOs);
|
|
|
+ } else {
|
|
|
+ ProfitHeaderVO headVO = new ProfitHeaderVO();
|
|
|
+ headVO.setPkcorp(this.getCorpPrimaryKey());
|
|
|
+ headVO.setCcalbodyid(this.getBillCardPanel().getHeadItem("ccalbodyid").getValue());
|
|
|
+ UIRefPane ccalbodyid = (UIRefPane) this.getBillCardPanel().getHeadItem("ccalbodyid").getComponent();
|
|
|
+ headVO.setCcalbodyname(ccalbodyid.getRefName());
|
|
|
+ headVO.setBilltype(this.getBillCardPanel().getBillType());
|
|
|
+ headVO.setCurrencyid(this.getBillCardPanel().getHeadItem("ccurrencyid").getValue());
|
|
|
+ bodyVOs = new ProfitItemVO[this.getBillCardPanel().getRowCount()];
|
|
|
+
|
|
|
+ for (i = 0; i < bodyVOs.length; ++i) {
|
|
|
+ bodyVO = new ProfitItemVO();
|
|
|
+ bodyVO.setCinventoryid((String) this.getBillCardPanel().getBodyValueAt(i, "cinventoryid"));
|
|
|
+ bodyVO.setCode((String) this.getBillCardPanel().getBodyValueAt(i, "cinventorycode"));
|
|
|
+ bodyVO.setName((String) this.getBillCardPanel().getBodyValueAt(i, "cinventoryname"));
|
|
|
+ gg = (String) this.getBillCardPanel().getBodyValueAt(i, "GG");
|
|
|
+ gg = gg == null ? "" : gg;
|
|
|
+ xx = (String) this.getBillCardPanel().getBodyValueAt(i, "XX");
|
|
|
+ xx = xx == null ? "" : xx;
|
|
|
+ bodyVO.setSize(gg + xx);
|
|
|
+ bodyVO.setCbatchid((String) this.getBillCardPanel().getBodyValueAt(i, "cbatchid"));
|
|
|
+ bodyVO.setNumber((UFDouble) this.getBillCardPanel().getBodyValueAt(i, "nnumber"));
|
|
|
+ bodyVO.setNnetprice((UFDouble) this.getBillCardPanel().getBodyValueAt(i, "nnetprice"));
|
|
|
+ bodyVO.setCbodycalbodyid((String) this.getBillCardPanel().getBodyValueAt(i, "cadvisecalbodyid"));
|
|
|
+ bodyVO.setCbodycalbodyname((String) this.getBillCardPanel().getBodyValueAt(i, "cadvisecalbodyname"));
|
|
|
+ bodyVO.setCbodywarehouseid((String) this.getBillCardPanel().getBodyValueAt(i, "cbodywarehouseid"));
|
|
|
+ bodyVO.setCbodywarehousename((String) this.getBillCardPanel().getBodyValueAt(i, "cbodywarehousename"));
|
|
|
+ if (this.getBillCardPanel().getBodyValueAt(i, "blargessflag") != null
|
|
|
+ && this.getBillCardPanel().getBodyValueAt(i, "blargessflag").toString().equals("false")) {
|
|
|
+ bodyVO.m_blargessflag = new UFBoolean(false);
|
|
|
+ } else {
|
|
|
+ bodyVO.m_blargessflag = new UFBoolean(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ bodyVO.setNmny((UFDouble) this.getBillCardPanel().getBodyValueAt(i, "nmny"));
|
|
|
+ bodyVOs[i] = bodyVO;
|
|
|
+ }
|
|
|
+
|
|
|
+ voProfit.setParentVO(headVO);
|
|
|
+ voProfit.setChildrenVO(bodyVOs);
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ PfUtilClient.processAction(this, "Prifit", "32", this.getClientEnvironment().getDate().toString(),
|
|
|
+ this.getBillCardPanel().getVO(), voProfit);
|
|
|
+ } catch (ValidationException var9) {
|
|
|
+ this.showErrorMessage(var9.getMessage());
|
|
|
+ } catch (Exception var10) {
|
|
|
+ this.showErrorMessage(NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000069"));
|
|
|
+ SCMEnv.out(var10.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onPrint(boolean previewflag) {
|
|
|
+ boolean total = this.getBillCardPanel().getBodyPanel().isTatolRow();
|
|
|
+ this.getBillCardPanel().getBodyPanel().setTotalRowShow(false);
|
|
|
+
|
|
|
+ try {
|
|
|
+ ArrayList<SaleinvoiceVO> alPrintVO = new ArrayList();
|
|
|
+ int[] selectRows;
|
|
|
+ if (0 == this.getShowState() && !previewflag) {
|
|
|
+ selectRows = this.getBillListPanel().getHeadTable().getSelectedRows();
|
|
|
+ int i = 0;
|
|
|
+
|
|
|
+ for (int iloop = selectRows.length; i < iloop; ++i) {
|
|
|
+ this.getBillCardPanel().loadCardData(this.getVOCache().getVO_Load(selectRows[i]));
|
|
|
+ SaleinvoiceVO saleinvoice = (SaleinvoiceVO) this.getBillCardPanel().getBillValueVO(
|
|
|
+ SaleinvoiceVO.class.getName(), SaleVO.class.getName(), SaleinvoiceBVO.class.getName());
|
|
|
+ alPrintVO.add(saleinvoice);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (0 == this.getShowState()) {
|
|
|
+ selectRows = this.getBillListPanel().getHeadTable().getSelectedRows();
|
|
|
+ this.getBillCardPanel().loadCardData(this.getVOCache().getVO_Load(selectRows[0]));
|
|
|
+ }
|
|
|
+
|
|
|
+ SaleinvoiceVO saleinvoice = (SaleinvoiceVO) this.getBillCardPanel().getBillValueVO(
|
|
|
+ SaleinvoiceVO.class.getName(), SaleVO.class.getName(), SaleinvoiceBVO.class.getName());
|
|
|
+ alPrintVO.add(saleinvoice);
|
|
|
+ }
|
|
|
+
|
|
|
+ BillPrintTool printTool = new BillPrintTool(this, SaleInvoiceTools.getNodeCode(), alPrintVO,
|
|
|
+ this.getBillCardPanel().getBillData(), (Class) null, SaleInvoiceTools.getLoginPk_Corp(),
|
|
|
+ SaleInvoiceTools.getLoginUserId(), "vreceiptcode", "csaleid");
|
|
|
+ if (previewflag) {
|
|
|
+ printTool.onCardPrintPreview(this.getBillCardPanel(), this.getBillListPanel(), "32");
|
|
|
+ } else if (0 == this.getShowState()) {
|
|
|
+ printTool.onBatchPrint(this.getBillListPanel(), "32", this.getPrintLogClient());
|
|
|
+ } else {
|
|
|
+ printTool.onCardPrint(this.getBillCardPanel(), this.getBillListPanel(), "32", this.getPrintLogClient());
|
|
|
+ }
|
|
|
+
|
|
|
+ this.showHintMessage(this.getPrintLogClient().getPrintResultMsg(previewflag));
|
|
|
+ } catch (Exception var11) {
|
|
|
+ SCMEnv.out(var11);
|
|
|
+ } finally {
|
|
|
+ this.getBillCardPanel().getBodyPanel().setTotalRowShow(total);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onQuery() {
|
|
|
+ if (this.getQueryDlg().showModal() != 2) {
|
|
|
+ Component[] normalConditions = this.getQueryDlg().getUIPanelNormal().getComponents();
|
|
|
+ List<String> selConName = new ArrayList();
|
|
|
+
|
|
|
+ for (int i = 0; i < normalConditions.length; ++i) {
|
|
|
+ UIRadioButton selBut = (UIRadioButton) normalConditions[i];
|
|
|
+ if (selBut.isSelected()) {
|
|
|
+ selConName.add(selBut.getName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ NormalConditionCache.putNormalConditionToCache("40060501", selConName);
|
|
|
+ this.m_bEverQuery = true;
|
|
|
+ this.getBillListPanel().getPagePanel().setQueryStatus();
|
|
|
+ this.onRefresh();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onRefAddLine(ButtonObject bo) {
|
|
|
+ SaleinvoiceVO curVo = (SaleinvoiceVO) this.getBillCardPanel().getBillData()
|
|
|
+ .getBillValueVO(SaleinvoiceVO.class.getName(), SaleVO.class.getName(), SaleinvoiceBVO.class.getName());
|
|
|
+ PfUtilClient.childButtonClicked(bo, SaleInvoiceTools.getLoginPk_Corp(), "40060302",
|
|
|
+ SaleInvoiceTools.getLoginUserId(), "32", this, curVo);
|
|
|
+ SaleinvoiceVO[] vosRefAddLine = null;
|
|
|
+ if (!PfUtilClient.makeFlag && PfUtilClient.isCloseOK()) {
|
|
|
+ vosRefAddLine = (SaleinvoiceVO[]) ((SaleinvoiceVO[]) PfUtilClient.getRetVos());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (vosRefAddLine != null && vosRefAddLine.length != 0) {
|
|
|
+ SaleinvoiceSplitTools splittools = new SaleinvoiceSplitTools();
|
|
|
+ SaleinvoiceVO[] aryRetVO = splittools.splitSaleinvoiceVOs(vosRefAddLine);
|
|
|
+ SaleinvoiceBVO[] addToCardBody = this.checkBeforeRefAdd(aryRetVO);
|
|
|
+ SaleinvoiceVO curcardvo = (SaleinvoiceVO) this.getBillCardPanel().getBillData().getBillValueVO(
|
|
|
+ SaleinvoiceVO.class.getName(), SaleVO.class.getName(), SaleinvoiceBVO.class.getName());
|
|
|
+ ArrayList<SaleinvoiceBVO> arynewbvo = new ArrayList();
|
|
|
+ SaleinvoiceBVO[] var9 = curcardvo.getBodyVO();
|
|
|
+ int oldrowcount = var9.length;
|
|
|
+
|
|
|
+ int j;
|
|
|
+ for (j = 0; j < oldrowcount; ++j) {
|
|
|
+ SaleinvoiceBVO bvo = var9[j];
|
|
|
+ if (bvo.getCinvoice_bid() == null || bvo.getCinvoice_bid().length() == 0) {
|
|
|
+ arynewbvo.add(bvo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ SaleinvoiceBVO[] newbvo;
|
|
|
+ int i;
|
|
|
+ if (arynewbvo.size() > 0) {
|
|
|
+ int size = arynewbvo.size();
|
|
|
+ newbvo = new SaleinvoiceBVO[arynewbvo.size() + addToCardBody.length];
|
|
|
+ j = 0;
|
|
|
+
|
|
|
+ for (i = size; j < i; ++j) {
|
|
|
+ newbvo[j] = (SaleinvoiceBVO) arynewbvo.get(j);
|
|
|
+ }
|
|
|
+
|
|
|
+ j = 0;
|
|
|
+
|
|
|
+ for (i = addToCardBody.length; j < i; ++j) {
|
|
|
+ newbvo[j + size] = addToCardBody[j];
|
|
|
+ }
|
|
|
+
|
|
|
+ curcardvo.setChildrenVO(newbvo);
|
|
|
+ } else {
|
|
|
+ curcardvo.setChildrenVO(addToCardBody);
|
|
|
+ }
|
|
|
+
|
|
|
+ SaleinvoiceDealMnyTools dealmnytools = new SaleinvoiceDealMnyTools();
|
|
|
+ dealmnytools.dealMny(new SaleinvoiceVO[]{curcardvo});
|
|
|
+ if (addToCardBody.length > 0) {
|
|
|
+ newbvo = addToCardBody;
|
|
|
+ j = addToCardBody.length;
|
|
|
+
|
|
|
+ for (i = 0; i < j; ++i) {
|
|
|
+ SaleinvoiceBVO bvo = newbvo[i];
|
|
|
+ bvo.setNewVOSubData();
|
|
|
+ }
|
|
|
+
|
|
|
+ oldrowcount = this.getBillCardPanel().getRowCount();
|
|
|
+ int[] addlinerow = new int[addToCardBody.length];
|
|
|
+
|
|
|
+ for (i = 0; i < addToCardBody.length; ++i) {
|
|
|
+ addlinerow[i] = oldrowcount + i;
|
|
|
+ this.getBillCardPanel().getBodyPanel().addLine();
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBillCardPanel().getBillModel().setBodyRowVOs(addToCardBody, addlinerow);
|
|
|
+ BillRowNo.addLineRowNos(this.getBillCardPanel(), "32", "crowno", oldrowcount - 1, addlinerow);
|
|
|
+ boolean isshow = this.getBillCardPanel().getBodyItem("cinvclassid").isShow();
|
|
|
+ int[] var25 = addlinerow;
|
|
|
+ int var14 = addlinerow.length;
|
|
|
+
|
|
|
+ for (int var15 = 0; var15 < var14; ++var15) {
|
|
|
+ Integer rowindex = var25[var15];
|
|
|
+ this.getBillCardPanel().getBillModel().setRowState(rowindex, 1);
|
|
|
+ this.getBillCardPanel().getBillModel().execLoadFormulaByRow(rowindex);
|
|
|
+ if (isshow && null == this.getBillCardPanel().getBodyValueAt(rowindex, "cinvclassid")) {
|
|
|
+ String[] invclformul = new String[]{
|
|
|
+ "cinvclassid->getColValue(bd_invbasdoc,pk_invcl,pk_invbasdoc,cinvbasdocid)"};
|
|
|
+ this.getBillCardPanel().execBodyFormulas(rowindex, invclformul);
|
|
|
+ }
|
|
|
+
|
|
|
+ Object largess = this.getBillCardPanel().getBodyValueAt(rowindex, "blargessflag");
|
|
|
+ boolean blargess = largess == null ? false : SmartVODataUtils.getUFBoolean(largess).booleanValue();
|
|
|
+ this.getBillCardPanel().setCellEditable(rowindex, "cinventorycode", false);
|
|
|
+ this.getBillCardPanel().getBillCardTools()
|
|
|
+ .setCellEditableByLargess(blargess && !this.st.SO_59.booleanValue(), rowindex);
|
|
|
+ this.getBillCardPanel().setAssistChange(rowindex);
|
|
|
+ if (null != this.getBillCardPanel().getBodyValueAt(rowindex, "cpackunitid")
|
|
|
+ && !"".equals(this.getBillCardPanel().getBodyValueAt(rowindex, "cpackunitid"))) {
|
|
|
+ this.getBillCardPanel().initScalefactor(rowindex);
|
|
|
+ String[] appendFormulaViaPrice = new String[]{"norgviaprice->noriginalcurprice*scalefactor",
|
|
|
+ "norgviapricetax->noriginalcurtaxprice*scalefactor"};
|
|
|
+ this.getBillCardPanel().execBodyFormulas(rowindex, appendFormulaViaPrice);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBillCardPanel().initFreeItem();
|
|
|
+ }
|
|
|
+
|
|
|
+ this.setButtonsStateEdit();
|
|
|
+ this.getBillCardPanel().setHeadItem("ntotalsummny",
|
|
|
+ this.getBillCardPanel().calcurateTotal("noriginalcursummny"));
|
|
|
+ this.getBillCardPanel().execHeadFormula("nnetmny->ntotalsummny-nstrikemny");
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("SCMCommon", "UPPSCMCommon-000350"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onRefresh() {
|
|
|
+ Timer timer = new Timer();
|
|
|
+ timer.start();
|
|
|
+ SaleinvoiceVO[] vosInvoice = null;
|
|
|
+
|
|
|
+ try {
|
|
|
+ String where = this.getQueryDlg().getWhere();
|
|
|
+ PageQueryClientBO bo = new PageQueryClientBO(this.getBillListPanel().getPagePanel());
|
|
|
+ SaleVO[] headVOs = (SaleVO[]) bo.queryData(where, SaleVO.class);
|
|
|
+ if (headVOs != null && headVOs.length > 0) {
|
|
|
+ vosInvoice = new SaleinvoiceVO[headVOs.length];
|
|
|
+
|
|
|
+ for (int i = 0; i < headVOs.length; ++i) {
|
|
|
+ vosInvoice[i] = new SaleinvoiceVO();
|
|
|
+ vosInvoice[i].setParentVO(headVOs[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (BusinessException var7) {
|
|
|
+ SCMEnv.out(var7);
|
|
|
+ MessageDialog.showErrorDlg(this, NCLangRes.getInstance().getStrByID("scmcommon", "UPPSCMCommon-000059"),
|
|
|
+ var7.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ timer.addExecutePhase(NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000675"));
|
|
|
+ this.getVOCache().setCacheData(vosInvoice);
|
|
|
+ timer.addExecutePhase(NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000676"));
|
|
|
+ this.getBillListPanel().getHeadBillModel().setSortColumn((String) null);
|
|
|
+ this.onList();
|
|
|
+ timer.addExecutePhase(NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000677"));
|
|
|
+ timer.showAllExecutePhase(NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000678"));
|
|
|
+ }
|
|
|
+
|
|
|
+ private String onSave() {
|
|
|
+ String sMessage = null;
|
|
|
+ SaleinvoiceVO voSaved = this.getBillCardPanel().getSaveVO();
|
|
|
+ if (null == voSaved) {
|
|
|
+ return sMessage;
|
|
|
+ } else {
|
|
|
+ voSaved.setCl(new ClientLink(this.getClientEnvironment()));
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000080"));
|
|
|
+ SCMEnv.out(
|
|
|
+ NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000668") + System.currentTimeMillis());
|
|
|
+ SaleinvoiceVO newinvoicevo = null;
|
|
|
+
|
|
|
+ try {
|
|
|
+ this.getPluginProxy().beforeAction(Action.SAVE, new SaleinvoiceVO[]{voSaved});
|
|
|
+ voSaved.processVOForTrans();
|
|
|
+ ObjectUtils.objectReference(voSaved);
|
|
|
+ boolean bContinue = true;
|
|
|
+ UFBoolean bCheck = UFBoolean.TRUE;
|
|
|
+
|
|
|
+ while (true) {
|
|
|
+ if (!bContinue) {
|
|
|
+ this.getPluginProxy().afterAction(Action.SAVE, new SaleinvoiceVO[]{voSaved});
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ if (this.getBillCardPanel().isNewBill()) {
|
|
|
+ newinvoicevo = (SaleinvoiceVO) PfUtilClient.processActionNoSendMessage(this, "PreKeep",
|
|
|
+ "32", this.getClientEnvironment().getDate().toString(), voSaved, bCheck,
|
|
|
+ (String) null, (AggregatedValueObject) null);
|
|
|
+ } else {
|
|
|
+ newinvoicevo = (SaleinvoiceVO) PfUtilClient.processActionNoSendMessage(this, "PreModify",
|
|
|
+ "32", this.getClientEnvironment().getDate().toString(), voSaved, bCheck,
|
|
|
+ (String) null, (AggregatedValueObject) null);
|
|
|
+ }
|
|
|
+
|
|
|
+ bContinue = false;
|
|
|
+ } catch (Exception var10) {
|
|
|
+ Exception ex = ExceptionUtils.marshException(var10);
|
|
|
+ if (!(ex instanceof EstimateCheckException)) {
|
|
|
+ throw ex;
|
|
|
+ }
|
|
|
+
|
|
|
+ this.showErrorMessage(ex.getMessage());
|
|
|
+ bCheck = UFBoolean.FALSE;
|
|
|
+ bContinue = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception var11) {
|
|
|
+ sMessage = var11.getMessage();
|
|
|
+ this.showErrorMessage(sMessage);
|
|
|
+ SCMEnv.out(NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000669") + var11);
|
|
|
+ return sMessage;
|
|
|
+ }
|
|
|
+
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("40060501", "UPP40060501-000083"));
|
|
|
+ Object ofcounteractflag = this.getBillCardPanel().getHeadItem("fcounteractflag").getValueObject();
|
|
|
+ Integer fcounteractflag = SmartVODataUtils.getInteger(ofcounteractflag);
|
|
|
+ if (this.getBillCardPanel().isNewBill() && null != fcounteractflag && 2 == fcounteractflag) {
|
|
|
+ SaleinvoiceVO voUp = this.getVOCache().getVO_Load(voSaved.getBodyVO()[0].getCupinvoicebillid());
|
|
|
+ SaleVO voNewHead = null;
|
|
|
+
|
|
|
+ try {
|
|
|
+ voNewHead = SaleinvoiceBO_Client.queryHeadDataByID(voUp.getHeadVO().getCsaleid());
|
|
|
+ } catch (Exception var9) {
|
|
|
+ SCMEnv.out(NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000670") + var9);
|
|
|
+ sMessage = var9.getMessage();
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null != voNewHead) {
|
|
|
+ voUp.getHeadVO().setTs(voNewHead.getTs());
|
|
|
+ voUp.getHeadVO().setFcounteractflag(voNewHead.getFcounteractflag());
|
|
|
+ voUp.setParentVO(voNewHead);
|
|
|
+ this.getVOCache().setSaleinvoiceVO(voUp.getHeadVO().getCsaleid(), voUp);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBillCardPanel().setPanelAfterSave(newinvoicevo, this.isInMsgPanel());
|
|
|
+ this.updateCacheVOByCard();
|
|
|
+ SetColor.resetColor(this.getBillCardPanel());
|
|
|
+ this.getBillCardPanel().setOutSumMakeInvoice(false);
|
|
|
+ this.setOperationState(2);
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ return sMessage;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onSelectAll() {
|
|
|
+ if (!this.getVOCache().isEmpty()) {
|
|
|
+ this.getBillListPanel().getHeadTable().setRowSelectionInterval(0,
|
|
|
+ this.getBillListPanel().getHeadTable().getRowCount() - 1);
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onSendAudit() {
|
|
|
+ if (this.getOperationState() != 2) {
|
|
|
+ this.onSave();
|
|
|
+ }
|
|
|
+
|
|
|
+ SaleinvoiceVO voCur = this.getVo();
|
|
|
+ if (null != voCur && null != voCur.getParentVO()) {
|
|
|
+ try {
|
|
|
+ HashMap<String, SmartVO> hsnewvo = (HashMap) PfUtilClient.processAction("SAVE", "32",
|
|
|
+ this.getClientEnvironment().getDate().toString(), voCur);
|
|
|
+ this.updateUIValue(hsnewvo);
|
|
|
+ if (PfUtilClient.isSuccess()) {
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("40060301", "UPP40060301-000291"));
|
|
|
+ } else {
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("40060301", "UPP40060301-000292"));
|
|
|
+ }
|
|
|
+ } catch (Exception var3) {
|
|
|
+ this.showWarningMessage(
|
|
|
+ var3.getMessage() + NCLangRes.getInstance().getStrByID("SCMCOMMON", "UPPSCMCommon-000408"));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.showErrorMessage(NCLangRes.getInstance().getStrByID("SCMCOMMON", "UPPSCMCommon-000199"));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onTakeBack() {
|
|
|
+ SaleinvoiceVO voCur = this.getVo();
|
|
|
+ if (null != voCur && null != voCur.getParentVO()) {
|
|
|
+ try {
|
|
|
+ HashMap<String, SmartVO> hsnewvo = (HashMap) PfUtilClient.processAction("TAKEBACK", "32",
|
|
|
+ this.getClientEnvironment().getDate().toString(), voCur);
|
|
|
+ this.updateUIValue(hsnewvo);
|
|
|
+ if (PfUtilClient.isSuccess()) {
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("40060301", "UPP40060301-000291"));
|
|
|
+ } else {
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("40060301", "UPP40060301-000292"));
|
|
|
+ }
|
|
|
+ } catch (Exception var3) {
|
|
|
+ this.showWarningMessage(
|
|
|
+ var3.getMessage() + NCLangRes.getInstance().getStrByID("SCMCOMMON", "UPPSCMCommon-000408"));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.showErrorMessage(NCLangRes.getInstance().getStrByID("SCMCOMMON", "UPPSCMCommon-000199"));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onSoTax() {
|
|
|
+ Map<String, SaleinvoiceVO> voMapOfId = new HashMap();
|
|
|
+ List<GoldTaxVO> goldList = new ArrayList();
|
|
|
+ int rowCount;
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ SaleinvoiceVO[] saleinvoiceVOs = this.getBillListPanel().getSelectedVOs();
|
|
|
+ SaleinvoiceVO[] var4 = saleinvoiceVOs;
|
|
|
+ int var5 = saleinvoiceVOs.length;
|
|
|
+
|
|
|
+ for (rowCount = 0; rowCount < var5; ++rowCount) {
|
|
|
+ SaleinvoiceVO saleinvoiceVO = var4[rowCount];
|
|
|
+ goldList.add(saleinvoiceVO.convertGoldTaxVO());
|
|
|
+ voMapOfId.put(saleinvoiceVO.getParentVO().getPrimaryKey(), saleinvoiceVO);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ SaleinvoiceVO vo = this.getBillCardPanel().getVO();
|
|
|
+ if (null != vo) {
|
|
|
+ goldList.add(vo.convertGoldTaxVO());
|
|
|
+ voMapOfId.put(vo.getParentVO().getPrimaryKey(), vo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ TransGoldTaxDlg goldTaxDlg = new TransGoldTaxDlg(this);
|
|
|
+ goldTaxDlg.setGoldTaxVOs((GoldTaxVO[]) goldList.toArray(new GoldTaxVO[goldList.size()]));
|
|
|
+ if (1 == goldTaxDlg.showModal()) {
|
|
|
+ SCMEnv.out(NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000664"));
|
|
|
+
|
|
|
+ try {
|
|
|
+ UFDateTime transTime = ClientEnvironment.getServerTime();
|
|
|
+ Map<String, UFDateTime> tsMap = SaleinvoiceBO_Client
|
|
|
+ .updateWhenToGoldTax(new ArrayList(voMapOfId.keySet()), transTime);
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ rowCount = this.getBillListPanel().getHeadBillModel().getRowCount();
|
|
|
+
|
|
|
+ for (int row = 0; row < rowCount; ++row) {
|
|
|
+ String id = (String) this.getBillListPanel().getHeadBillModel().getValueAt(row, "csaleid");
|
|
|
+ if (!StringUtil.isEmpty(id)) {
|
|
|
+ UFDateTime ts = (UFDateTime) tsMap.get(id);
|
|
|
+ if (null != ts) {
|
|
|
+ this.getBillListPanel().getHeadBillModel().setValueAt(ts, row, "ts");
|
|
|
+ this.getBillListPanel().getHeadBillModel().setValueAt(UFBoolean.TRUE, row,
|
|
|
+ "btogoldtax");
|
|
|
+ this.getBillListPanel().getHeadBillModel().setValueAt(transTime.toString(), row,
|
|
|
+ "dtogoldtaxtime");
|
|
|
+ SaleinvoiceVO saleinvoiceVO = (SaleinvoiceVO) voMapOfId.get(id);
|
|
|
+ if (null != saleinvoiceVO) {
|
|
|
+ saleinvoiceVO.getParentVO().setAttributeValue("ts", ts);
|
|
|
+ saleinvoiceVO.getParentVO().setAttributeValue("btogoldtax", UFBoolean.TRUE);
|
|
|
+ saleinvoiceVO.getParentVO().setAttributeValue("dtogoldtaxtime",
|
|
|
+ transTime.toString());
|
|
|
+ this.getVOCache().setSaleinvoiceVO(saleinvoiceVO.getParentVO().getPrimaryKey(),
|
|
|
+ saleinvoiceVO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (this.getShowState() == 1) {
|
|
|
+ String id = (String) this.getBillCardPanel().getHeadItem("csaleid").getValueObject();
|
|
|
+ if (!StringUtil.isEmpty(id)) {
|
|
|
+ UFDateTime ts = (UFDateTime) tsMap.get(id);
|
|
|
+ if (null != ts) {
|
|
|
+ this.getBillCardPanel().setHeadItem("ts", ts);
|
|
|
+ this.getBillCardPanel().setHeadItem("btogoldtax", UFBoolean.TRUE);
|
|
|
+ this.getBillCardPanel().setHeadItem("dtogoldtaxtime", transTime.toString());
|
|
|
+ SaleinvoiceVO saleinvoiceVO = (SaleinvoiceVO) voMapOfId.get(id);
|
|
|
+ if (null != saleinvoiceVO) {
|
|
|
+ saleinvoiceVO.getParentVO().setAttributeValue("ts", ts);
|
|
|
+ saleinvoiceVO.getParentVO().setAttributeValue("btogoldtax", UFBoolean.TRUE);
|
|
|
+ saleinvoiceVO.getParentVO().setAttributeValue("dtogoldtaxtime", transTime.toString());
|
|
|
+ this.getVOCache().setSaleinvoiceVO(saleinvoiceVO.getParentVO().getPrimaryKey(),
|
|
|
+ saleinvoiceVO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception var11) {
|
|
|
+ SCMEnv.error(NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000665"), var11);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ SCMEnv.out(NCLangRes.getInstance().getStrByID("40060301", "UPT40060301-000666"));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onToEinv() {
|
|
|
+ List<String> blueList = new ArrayList();
|
|
|
+ Map<String, String[]> redmap = new HashMap();
|
|
|
+ CorpVO corpvo = ClientEnvironment.getInstance().getCorporation();
|
|
|
+ String pk_corp = corpvo.getPk_corp();
|
|
|
+ if (corpvo.getTaxcode() == null) {
|
|
|
+ this.showErrorMessage("请输入公司的纳税人识别号!");
|
|
|
+ } else {
|
|
|
+ List<String> cannotEinvList = new ArrayList();
|
|
|
+ List<SaleinvoiceVO> redListVos = new ArrayList();
|
|
|
+ SaleinvoiceVO[] saleinvoiceVOs;
|
|
|
+ SaleinvoiceVO[] redreason;
|
|
|
+ SaleinvoiceVO vo;
|
|
|
+ SaleVO head;
|
|
|
+ String csaleid;
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ saleinvoiceVOs = this.getBillListPanel().getSelectedVOs();
|
|
|
+ redreason = saleinvoiceVOs;
|
|
|
+ int i = saleinvoiceVOs.length;
|
|
|
+
|
|
|
+ int var10;
|
|
|
+ for (var10 = 0; var10 < i; ++var10) {
|
|
|
+ vo = redreason[var10];
|
|
|
+ head = vo.getParentVO();
|
|
|
+ if (head.getFstatus() == 2 && head.getFeinvstatus() != 3
|
|
|
+ && EinvoiceType.getEinvoiceType(head.getFinvoicetype()) != null
|
|
|
+ && head.getFcounteractflag() == 2) {
|
|
|
+ redListVos.add(vo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (redListVos.size() > 1) {
|
|
|
+ StringBuilder errMsg = new StringBuilder();
|
|
|
+ errMsg.append(NCLangRes.getInstance().getStrByID("40060501", "UPT40060501-200020"))
|
|
|
+ .append(redListVos.size())
|
|
|
+ .append(NCLangRes.getInstance().getStrByID("40060501", "UPT40060501-200021"));
|
|
|
+
|
|
|
+ for (i = 0; i < redListVos.size(); ++i) {
|
|
|
+ errMsg.append(((SaleinvoiceVO) redListVos.get(i)).getHeadVO().getVreceiptcode()).append(";");
|
|
|
+ }
|
|
|
+
|
|
|
+ this.showErrorMessage(errMsg.toString());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ redreason = saleinvoiceVOs;
|
|
|
+ i = saleinvoiceVOs.length;
|
|
|
+
|
|
|
+ for (var10 = 0; var10 < i; ++var10) {
|
|
|
+ vo = redreason[var10];
|
|
|
+ head = vo.getParentVO();
|
|
|
+ csaleid = this.checkVO(vo);
|
|
|
+ if (csaleid != null) {
|
|
|
+ this.showErrorMessage(csaleid);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (head.getFstatus() == 2 && head.getFeinvstatus() != 3
|
|
|
+ && EinvoiceType.getEinvoiceType(head.getFinvoicetype()) != null
|
|
|
+ && (head.getFcounteractflag() == 0 || head.getFcounteractflag() == 2)) {
|
|
|
+ this.addId(blueList, redmap, head, cannotEinvList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (this.getShowState() == 1) {
|
|
|
+ SaleinvoiceVO saleinvoiceVO = this.getBillCardPanel().getVO();
|
|
|
+ String error = this.checkVO(saleinvoiceVO);
|
|
|
+ if (error != null) {
|
|
|
+ this.showErrorMessage(error);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ this.addId(blueList, redmap, saleinvoiceVO.getHeadVO(), cannotEinvList);
|
|
|
+ if (saleinvoiceVO.getHeadVO().getFcounteractflag() == 2
|
|
|
+ && saleinvoiceVO.getHeadVO().getVsrceinvcode() != null
|
|
|
+ && EinvoiceType.getEinvoiceType(saleinvoiceVO.getHeadVO().getFinvoicetype()) != null) {
|
|
|
+ redListVos.add(saleinvoiceVO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ saleinvoiceVOs = null;
|
|
|
+ redreason = null;
|
|
|
+ if (redListVos.size() == 1) {
|
|
|
+ SaleinvoiceVO redvo = (SaleinvoiceVO) redListVos.get(0);
|
|
|
+ SaleVO headvo = redvo.getHeadVO();
|
|
|
+ if (headvo.getFinvoicetype().equals(EinvoiceType.VAT_SPECIAL_INVOICE)) {
|
|
|
+ RedNumberDlg rednumdlg = new RedNumberDlg();
|
|
|
+ if (rednumdlg.showModal() != 1) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ String rednumber = rednumdlg.getTextFieldCode().getText();
|
|
|
+ if (rednumber == null || rednumber.equals("")) {
|
|
|
+ this.showErrorMessage(NCLangRes.getInstance().getStrByID("40060501", "UPT40060501-200019"));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ headvo.setVredletterinfo(rednumber);
|
|
|
+ if (redmap.get(headvo.getCsaleid()) != null) {
|
|
|
+ ((String[]) redmap.get(headvo.getCsaleid()))[2] = rednumber;
|
|
|
+ }
|
|
|
+ } else if (headvo.getFinvoicetype().equals(EinvoiceType.ELE_SPECIAL_VAT_INVOICE)
|
|
|
+ || headvo.getFinvoicetype().equals(EinvoiceType.ELE_GENERAL_VAT_INVOICE)
|
|
|
+ || headvo.getFinvoicetype().equals(EinvoiceType.VAT_GENERAL_INVOICE)
|
|
|
+ || headvo.getFinvoicetype().equals(EinvoiceType.VAT_ELE_GENERAL_INVOICE)) {
|
|
|
+ RedReasonDlg redreasondlg = new RedReasonDlg(headvo.getFinvoicetype());
|
|
|
+ if (redreasondlg.showModal() != 1) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ Integer redreason2 = redreasondlg.getTextFieldCode().getSelectedIndex();
|
|
|
+ redreason2 = redreason2 + 1;
|
|
|
+ if ((headvo.getFinvoicetype() == EinvoiceType.ELE_SPECIAL_VAT_INVOICE
|
|
|
+ || headvo.getFinvoicetype() == EinvoiceType.ELE_GENERAL_VAT_INVOICE) && redreason2 == 2) {
|
|
|
+ redreason2 = redreason2 + 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ headvo.setVredflushcause(redreason2);
|
|
|
+ if (redmap.get(headvo.getCsaleid()) != null) {
|
|
|
+ ((String[]) redmap.get(headvo.getCsaleid()))[3] = redreason.toString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ IEinvService service = (IEinvService) NCLocator.getInstance().lookup(IEinvService.class);
|
|
|
+ HashMap statusMap = new HashMap();
|
|
|
+
|
|
|
+ try {
|
|
|
+ if (!blueList.isEmpty()) {
|
|
|
+ String[] blueids = new String[blueList.size()];
|
|
|
+ blueList.toArray(blueids);
|
|
|
+ Map<String, String> blueStatusMap = service.makeBlueInvoice(pk_corp, blueids);
|
|
|
+ this.combineStatusMap(statusMap, blueStatusMap);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!redmap.isEmpty()) {
|
|
|
+ Map<String, String> redStatusMap = service.makeRedInvoice(pk_corp, redmap);
|
|
|
+ this.combineStatusMap(statusMap, redStatusMap);
|
|
|
+ }
|
|
|
+ } catch (BusinessException var19) {
|
|
|
+ this.showErrorMessage(var19.getMessage());
|
|
|
+ SCMEnv.out(var19);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ String msg;
|
|
|
+ if (cannotEinvList.size() != 0 && statusMap.isEmpty()) {
|
|
|
+ msg = "发票号 " + (String) cannotEinvList.get(0) + (cannotEinvList.size() == 1 ? " " : " 等")
|
|
|
+ + "为未开票已对冲的蓝字发票,或是未开票已对冲的蓝字发票对冲后生成的红字发票,无法开票!";
|
|
|
+ this.showErrorMessage(msg);
|
|
|
+ } else if (!statusMap.isEmpty()) {
|
|
|
+
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ int[] rows = this.getBillListPanel().getHeadTable().getSelectedRows();
|
|
|
+ int[] var35 = rows;
|
|
|
+ int var36 = rows.length;
|
|
|
+
|
|
|
+ for (int row = 0; row < var36; ++row) {
|
|
|
+ row = var35[row];
|
|
|
+ SaleinvoiceVO vo2 = this.getVOCache().getVO_Load(row);
|
|
|
+ SaleVO head2 = vo2.getParentVO();
|
|
|
+ String csaleid2 = head2.getCsaleid();
|
|
|
+ if (blueList.contains(csaleid2) || redmap.containsKey(csaleid2)) {
|
|
|
+ this.dealResult(head2, (String) statusMap.get(csaleid2));
|
|
|
+ this.getVOCache().setSaleinvoiceVO(row, vo2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBillListPanel().reLoadData(this.getVOCache());
|
|
|
+ } else if (this.getShowState() == 1) {
|
|
|
+ vo = this.getBillCardPanel().getVO();
|
|
|
+ head = vo.getHeadVO();
|
|
|
+ csaleid = head.getCsaleid();
|
|
|
+ int row = this.getVOCache().findPos(csaleid);
|
|
|
+ this.dealResult(head, (String) statusMap.get(csaleid));
|
|
|
+ this.getVOCache().setSaleinvoiceVO(row, vo);
|
|
|
+ this.getBillCardPanel().loadCardData(vo);
|
|
|
+ }
|
|
|
+
|
|
|
+ msg = "已经申请开票。刷新可以查看发票最新状态!";
|
|
|
+ if (cannotEinvList.size() != 0) {
|
|
|
+ String errMsg = "另外,发票号 " + (String) cannotEinvList.get(0)
|
|
|
+ + (cannotEinvList.size() == 1 ? " " : " 等") + "为未开票已对冲的蓝字发票,或是未开票已对冲的蓝字发票对冲后生成的红字发票,无法开票!";
|
|
|
+ msg = msg + errMsg;
|
|
|
+ }
|
|
|
+
|
|
|
+ this.showHintMessage(msg);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void combineStatusMap(Map<String, String> combinedMap, Map<String, String> currentStatusMap) {
|
|
|
+ if (currentStatusMap != null && currentStatusMap.size() != 0) {
|
|
|
+ combinedMap.putAll(currentStatusMap);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onUnApprove() {
|
|
|
+ SaleinvoiceVO voInvoice = this.getVOForAction();
|
|
|
+ HashMap<String, SmartVO> hsnewvo = null;
|
|
|
+ voInvoice.setAllinvoicevo(voInvoice);
|
|
|
+ voInvoice.setBstrikeflag(UFBoolean.FALSE);
|
|
|
+ voInvoice.setCuruserid(this.getClientEnvironment().getUser().getPrimaryKey());
|
|
|
+
|
|
|
+ try {
|
|
|
+ hsnewvo = (HashMap) PfUtilClient.processActionFlow(this, "SoUnApprove", "32",
|
|
|
+ this.getClientEnvironment().getDate().toString(), voInvoice, (Object) null);
|
|
|
+ } catch (Exception var4) {
|
|
|
+ this.showErrorMessage(var4.getMessage());
|
|
|
+ SCMEnv.out(var4);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (PfUtilClient.isSuccess()) {
|
|
|
+ this.updateUIValue(hsnewvo);
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("scmcommon", "UPPSCMCommon-000184"));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private boolean onUnApprove(SaleinvoiceVO vo) throws Exception {
|
|
|
+ if (vo == null) {
|
|
|
+ return false;
|
|
|
+ } else {
|
|
|
+ SaleinvoiceVO saleinvoice = vo;
|
|
|
+ if (vo.getChildrenVO() != null) {
|
|
|
+ for (int i = 0; i < vo.getChildrenVO().length; ++i) {
|
|
|
+ vo.getChildrenVO()[i].setStatus(0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ PfUtilClient.processActionFlow(this, "SoUnApprove", "32",
|
|
|
+ this.getClientEnvironment().getDate().toString(), saleinvoice, (Object) null);
|
|
|
+ } catch (Exception var4) {
|
|
|
+ throw var4;
|
|
|
+ }
|
|
|
+
|
|
|
+ return PfUtilClient.isSuccess();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onUnite() {
|
|
|
+ if (this.getShowState() != 0 && this.getBillCardPanel().unite()) {
|
|
|
+ this.setButtonsStateEdit();
|
|
|
+ this.showHintMessage(NCLangRes.getInstance().getStrByID("40060501", "UPT40060501-000048"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onUniteCancel() {
|
|
|
+ if (this.getShowState() == 1) {
|
|
|
+ if (!this.getBillCardPanel().uniteCancel()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.onModify();
|
|
|
+ this.onUniteCancel();
|
|
|
+ }
|
|
|
+
|
|
|
+ this.setButtonsStateEdit();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void onUnSelectAll() {
|
|
|
+ if (!this.getVOCache().isEmpty()) {
|
|
|
+ this.getBillListPanel().getHeadTable().removeRowSelectionInterval(0,
|
|
|
+ this.getBillListPanel().getHeadTable().getRowCount() - 1);
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void processNewVO(SaleinvoiceVO[] newinvoicevos) {
|
|
|
+ int defaultinvoicetype = this.getDefaultInvoiceType();
|
|
|
+ SaleinvoiceVO[] var3 = newinvoicevos;
|
|
|
+ int var4 = newinvoicevos.length;
|
|
|
+
|
|
|
+ for (int var5 = 0; var5 < var4; ++var5) {
|
|
|
+ SaleinvoiceVO newinvoicevo = var3[var5];
|
|
|
+ newinvoicevo.getHeadVO().setFinvoicetype(defaultinvoicetype);
|
|
|
+ newinvoicevo.processNewVO();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setButtonsStateBrowse() {
|
|
|
+ boolean haveVOSelected = false;
|
|
|
+ SaleinvoiceVO voFromPanel = null;
|
|
|
+ SaleinvoiceVO[] vosFromList = null;
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ voFromPanel = this.getBillListPanel().getSelectedVO();
|
|
|
+ vosFromList = this.getBillListPanel().getSelectedVOsForSelChanged();
|
|
|
+ } else if (this.getVOCache().isEmpty()) {
|
|
|
+ voFromPanel = null;
|
|
|
+ } else {
|
|
|
+ voFromPanel = this.getBillCardPanel().getVO();
|
|
|
+ }
|
|
|
+
|
|
|
+ haveVOSelected = voFromPanel != null;
|
|
|
+ boolean haveNewBill = false;
|
|
|
+ int iBillStatus;
|
|
|
+ int feinvstatus;
|
|
|
+ if (haveVOSelected && voFromPanel.getHeadVO().isNew()) {
|
|
|
+ haveNewBill = true;
|
|
|
+ } else {
|
|
|
+ iBillStatus = this.getVOCache().getSize();
|
|
|
+
|
|
|
+ for (feinvstatus = 0; feinvstatus < iBillStatus; ++feinvstatus) {
|
|
|
+ if (this.getVOCache().getVO_NotLoad(feinvstatus).getHeadVO().isNew()) {
|
|
|
+ haveNewBill = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBtns().m_boBusiType.setEnabled(!haveNewBill);
|
|
|
+ this.getBtns().m_boAdd.setEnabled(!haveNewBill);
|
|
|
+ this.getBtns().m_boSave.setEnabled(false);
|
|
|
+ this.getBtns().m_boMaintain.setEnabled(haveVOSelected);
|
|
|
+ iBillStatus = -1;
|
|
|
+ feinvstatus = 0;
|
|
|
+ if (haveVOSelected) {
|
|
|
+ iBillStatus = voFromPanel.getHeadVO().getFstatus();
|
|
|
+ feinvstatus = voFromPanel.getHeadVO().getFeinvstatus();
|
|
|
+ }
|
|
|
+
|
|
|
+ boolean billStatusForSendAudit;
|
|
|
+ if (haveVOSelected && (iBillStatus == 8 || iBillStatus == 1)) {
|
|
|
+ this.getBtns().m_boModify.setEnabled(true);
|
|
|
+ } else if (iBillStatus == 7) {
|
|
|
+ billStatusForSendAudit = voFromPanel.getHeadVO().getCapproveid() != null;
|
|
|
+ this.getBtns().m_boModify.setEnabled(!billStatusForSendAudit);
|
|
|
+ } else {
|
|
|
+ this.getBtns().m_boModify.setEnabled(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBtns().m_boCancel.setEnabled(false);
|
|
|
+ if (!haveVOSelected || voFromPanel.getHeadVO().isNew() || iBillStatus != 8 && iBillStatus != 1) {
|
|
|
+ this.getBtns().m_boBlankOut.setEnabled(false);
|
|
|
+ } else {
|
|
|
+ this.getBtns().m_boBlankOut.setEnabled(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (haveVOSelected && voFromPanel.getHeadVO().isNew()) {
|
|
|
+ this.getBtns().m_boCancelTransfer.setEnabled(true);
|
|
|
+ } else {
|
|
|
+ this.getBtns().m_boCancelTransfer.setEnabled(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBtns().m_boUnite.setEnabled(false);
|
|
|
+ this.getBtns().m_boUniteCancel.setEnabled(false);
|
|
|
+ if (!this.getBtns().m_boModify.isEnabled() && !this.getBtns().m_boCancel.isEnabled()
|
|
|
+ && !this.getBtns().m_boBlankOut.isEnabled() && !this.getBtns().m_boCancelTransfer.isEnabled()
|
|
|
+ && !this.getBtns().m_boUnite.isEnabled() && !this.getBtns().m_boUniteCancel.isEnabled()) {
|
|
|
+ this.getBtns().m_boMaintain.setEnabled(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBtns().m_boLineOper.setEnabled(false);
|
|
|
+ this.getBtns().m_boRefAdd.setEnabled(false);
|
|
|
+ this.getBtns().m_boFetchCost.setEnabled(false);
|
|
|
+ this.getBtns().m_boApprove.setEnabled(haveVOSelected && !voFromPanel.getHeadVO().isNew() && iBillStatus != 2);
|
|
|
+ this.getBtns().m_boAction.setEnabled(haveVOSelected);
|
|
|
+ int selectedNum;
|
|
|
+ if (haveVOSelected) {
|
|
|
+ if (voFromPanel.getHeadVO().isNew()) {
|
|
|
+ this.getBtns().m_boSendAudit.setEnabled(false);
|
|
|
+ this.getBtns().m_boTakeBack.setEnabled(false);
|
|
|
+ this.getBtns().m_boUnApprove.setEnabled(false);
|
|
|
+ } else {
|
|
|
+ billStatusForSendAudit = true;
|
|
|
+ boolean sendAuditEnble = false;
|
|
|
+ if (vosFromList != null && vosFromList.length > 0) {
|
|
|
+ for (int i = 0; i < vosFromList.length; ++i) {
|
|
|
+ selectedNum = vosFromList[i].getHeadVO().getFstatus();
|
|
|
+ if (1 == selectedNum || 8 == selectedNum) {
|
|
|
+ sendAuditEnble = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (iBillStatus != 1 && iBillStatus != 8) {
|
|
|
+ sendAuditEnble = false;
|
|
|
+ } else {
|
|
|
+ sendAuditEnble = BusiBillManageTool.isNeedSendToAudit("32",
|
|
|
+ this.getClientEnvironment().getCorporation().getPrimaryKey(),
|
|
|
+ this.getBtns().m_boBusiType.getTag(), (String) null,
|
|
|
+ this.getClientEnvironment().getUser().getPrimaryKey());
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBtns().m_boSendAudit.setEnabled(sendAuditEnble);
|
|
|
+ if (1 != iBillStatus && 8 != iBillStatus) {
|
|
|
+ if (7 == iBillStatus) {
|
|
|
+ this.getBtns().m_boTakeBack.setEnabled(true);
|
|
|
+ this.getBtns().m_boUnApprove.setEnabled(false);
|
|
|
+ } else {
|
|
|
+ this.getBtns().m_boTakeBack.setEnabled(false);
|
|
|
+ this.getBtns().m_boUnApprove.setEnabled(true);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.getBtns().m_boTakeBack.setEnabled(false);
|
|
|
+ this.getBtns().m_boUnApprove.setEnabled(false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (feinvstatus == 1 || feinvstatus == 3) {
|
|
|
+ this.getBtns().m_boUnApprove.setEnabled(false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBtns().m_boQuery.setEnabled(!haveNewBill);
|
|
|
+ this.getBtns().m_boBrowse.setEnabled(true);
|
|
|
+ this.getBtns().m_boRefresh.setEnabled(this.m_bEverQuery && !haveNewBill);
|
|
|
+ this.getBtns().m_boLocal.setEnabled(!this.getVOCache().isEmpty());
|
|
|
+ if (this.getShowState() == 1) {
|
|
|
+ this.getBtns().m_boFirst.setEnabled(!this.getVOCache().isEmpty());
|
|
|
+ this.getBtns().m_boNext.setEnabled(!this.getVOCache().isEmpty());
|
|
|
+ this.getBtns().m_boPrev.setEnabled(!this.getVOCache().isEmpty());
|
|
|
+ this.getBtns().m_boLast.setEnabled(!this.getVOCache().isEmpty());
|
|
|
+ if (this.getVOCache().getPos() == 0) {
|
|
|
+ this.getBtns().m_boFirst.setEnabled(false);
|
|
|
+ this.getBtns().m_boPrev.setEnabled(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (this.getVOCache().getPos() == this.getVOCache().getSize() - 1) {
|
|
|
+ this.getBtns().m_boNext.setEnabled(false);
|
|
|
+ this.getBtns().m_boLast.setEnabled(false);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.getBtns().m_boFirst.setEnabled(false);
|
|
|
+ this.getBtns().m_boNext.setEnabled(false);
|
|
|
+ this.getBtns().m_boPrev.setEnabled(false);
|
|
|
+ this.getBtns().m_boLast.setEnabled(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ if (this.getVOCache().isEmpty()) {
|
|
|
+ this.getBtns().m_boSelectAll.setEnabled(false);
|
|
|
+ this.getBtns().m_boUnSelectAll.setEnabled(false);
|
|
|
+ } else {
|
|
|
+ selectedNum = this.getBillListPanel().getHeadTable().getSelectedRowCount();
|
|
|
+ this.getBtns().m_boSelectAll.setEnabled(selectedNum != this.getVOCache().getSize());
|
|
|
+ this.getBtns().m_boUnSelectAll.setEnabled(selectedNum > 0);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.getBtns().m_boSelectAll.setEnabled(false);
|
|
|
+ this.getBtns().m_boUnSelectAll.setEnabled(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (this.getShowState() == 1) {
|
|
|
+ this.getBtns().m_boCard.setName(NCLangRes.getInstance().getStrByID("SCMCOMMON", "UPPSCMCommon-000464"));
|
|
|
+ this.getBtns().m_boCard.setHint(NCLangRes.getInstance().getStrByID("SCMCOMMON", "UPPSCMCommon-000464"));
|
|
|
+ this.getBtns().m_boCard.setEnabled(!this.getVOCache().isEmpty());
|
|
|
+ } else {
|
|
|
+ this.getBtns().m_boCard.setName(NCLangRes.getInstance().getStrByID("SCMCOMMON", "UPPSCMCommon-000463"));
|
|
|
+ this.getBtns().m_boCard.setHint(NCLangRes.getInstance().getStrByID("SCMCOMMON", "UPPSCMCommon-000463"));
|
|
|
+ this.getBtns().m_boCard.setEnabled(haveVOSelected);
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBtns().m_boPrintManage.setEnabled(haveVOSelected);
|
|
|
+ this.getBtns().m_boPreview.setEnabled(true);
|
|
|
+ this.getBtns().m_boPrint.setEnabled(true);
|
|
|
+ if (this.getShowState() == 1) {
|
|
|
+ this.getBtns().m_boBillCombin.setEnabled(true);
|
|
|
+ } else {
|
|
|
+ this.getBtns().m_boBillCombin.setEnabled(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBtns().m_boAssistFunction.setEnabled(true);
|
|
|
+ if (iBillStatus == 2) {
|
|
|
+ this.getBtns().m_boOpposeAct.setEnabled(true);
|
|
|
+ } else {
|
|
|
+ this.getBtns().m_boOpposeAct.setEnabled(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (haveVOSelected && !voFromPanel.getHeadVO().isNew()) {
|
|
|
+ this.getBtns().m_boSoTax.setEnabled(true);
|
|
|
+ } else {
|
|
|
+ this.getBtns().m_boSoTax.setEnabled(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBtns().m_boDocument.setEnabled(true);
|
|
|
+ if (iBillStatus != 2 || feinvstatus == 3
|
|
|
+ || EinvoiceType.getEinvoiceType(voFromPanel.getHeadVO().getFinvoicetype()) == null
|
|
|
+ || voFromPanel.getHeadVO().getFcounteractflag() != 0
|
|
|
+ && voFromPanel.getHeadVO().getFcounteractflag() != 2) {
|
|
|
+ this.getBtns().m_boToEinv.setEnabled(false);
|
|
|
+ } else {
|
|
|
+ this.getBtns().m_boToEinv.setEnabled(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBtns().m_boAssistant.setEnabled(haveVOSelected);
|
|
|
+ if (this.isInMsgPanel()) {
|
|
|
+ this.getBtns().m_boOrderQuery.setEnabled(true);
|
|
|
+ } else {
|
|
|
+ this.getBtns().m_boOrderQuery.setEnabled(haveVOSelected && !voFromPanel.getHeadVO().isNew());
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBtns().m_boATP.setEnabled(true);
|
|
|
+ this.getBtns().m_boAuditFlowStatus.setEnabled(true);
|
|
|
+ this.getBtns().m_boCustInfo.setEnabled(true);
|
|
|
+ this.getBtns().m_boExecRpt.setEnabled(true);
|
|
|
+ this.getBtns().m_boCustCredit.setEnabled(true);
|
|
|
+ this.getBtns().m_boPrifit.setEnabled(true);
|
|
|
+ this.updateButtons();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setButtonsStateByBillStatue() {
|
|
|
+ this.getBtns().m_boModify.setEnabled(false);
|
|
|
+ switch (this.getBillCardPanel().getBillStatus()) {
|
|
|
+ case 1 :
|
|
|
+ this.getBtns().m_boAction.setEnabled(true);
|
|
|
+ this.getBtns().m_boApprove.setEnabled(true);
|
|
|
+ this.getBtns().m_boDocument.setEnabled(false);
|
|
|
+ this.getBtns().m_boOrderQuery.setEnabled(false);
|
|
|
+ this.getBtns().m_boSendAudit.setEnabled(true);
|
|
|
+ this.getBtns().m_boTakeBack.setEnabled(false);
|
|
|
+ break;
|
|
|
+ case 2 :
|
|
|
+ this.getBtns().m_boApprove.setEnabled(false);
|
|
|
+ this.getBtns().m_boDocument.setEnabled(true);
|
|
|
+ this.getBtns().m_boOrderQuery.setEnabled(true);
|
|
|
+ this.getBtns().m_boSendAudit.setEnabled(false);
|
|
|
+ this.getBtns().m_boTakeBack.setEnabled(false);
|
|
|
+ case 3 :
|
|
|
+ case 4 :
|
|
|
+ default :
|
|
|
+ break;
|
|
|
+ case 5 :
|
|
|
+ this.getBtns().m_boAction.setEnabled(false);
|
|
|
+ this.getBtns().m_boAssistant.setEnabled(false);
|
|
|
+ this.getBtns().m_boPrint.setEnabled(false);
|
|
|
+ this.getBtns().m_boDocument.setEnabled(false);
|
|
|
+ this.getBtns().m_boOrderQuery.setEnabled(false);
|
|
|
+ this.getBtns().m_boSendAudit.setEnabled(false);
|
|
|
+ this.getBtns().m_boTakeBack.setEnabled(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ this.updateButtons();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setButtonsStateByLinkQueryBusitype() {
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ this.getBtns().m_boAdd.setEnabled(true);
|
|
|
+ this.getBtns().m_boBusiType.setEnabled(true);
|
|
|
+ this.updateButtons();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setButtonsStateEdit() {
|
|
|
+ this.getBtns().m_boBusiType.setEnabled(false);
|
|
|
+ this.getBtns().m_boAdd.setEnabled(false);
|
|
|
+ this.getBtns().m_boSave.setEnabled(true);
|
|
|
+ this.getBtns().m_boMaintain.setEnabled(true);
|
|
|
+ this.getBtns().m_boModify.setEnabled(false);
|
|
|
+ this.getBtns().m_boBlankOut.setEnabled(false);
|
|
|
+ this.getBtns().m_boCancelTransfer.setEnabled(false);
|
|
|
+ this.getBtns().m_boCancel.setEnabled(true);
|
|
|
+ this.getBtns().m_boUnite.setEnabled(false);
|
|
|
+ this.getBtns().m_boUniteCancel.setEnabled(false);
|
|
|
+ if (this.getBillCardPanel().getVO() != null) {
|
|
|
+ if (this.getBillCardPanel().getVO().getHeadVO().getFcounteractflag() == 2) {
|
|
|
+ this.getBtns().m_boUnite.setEnabled(false);
|
|
|
+ this.getBtns().m_boUniteCancel.setEnabled(false);
|
|
|
+ } else {
|
|
|
+ this.getBtns().m_boUnite.setEnabled(this.getBillCardPanel().getVO().getHeadVO().isLgtZero());
|
|
|
+ this.getBtns().m_boUniteCancel.setEnabled(this.getBillCardPanel().getVO().getHeadVO().isLgtZero()
|
|
|
+ && this.getBillCardPanel().getVO().getHeadVO().isStrike());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ boolean isStrike = this.getBillCardPanel().isStrike();
|
|
|
+ if (null != this.getBillCardPanel().getVO()
|
|
|
+ && 2 == this.getBillCardPanel().getVO().getHeadVO().getFcounteractflag()) {
|
|
|
+ this.getBtns().m_boLineOper.setEnabled(false);
|
|
|
+ this.getBtns().m_boAddLine.setEnabled(false);
|
|
|
+ this.getBtns().m_boDelLine.setEnabled(false);
|
|
|
+ this.getBtns().m_boInsertLine.setEnabled(false);
|
|
|
+ this.getBtns().m_boCopyLine.setEnabled(false);
|
|
|
+ this.getBtns().m_boPasteLine.setEnabled(false);
|
|
|
+ this.getBtns().m_boPasteLineTail.setEnabled(false);
|
|
|
+ } else {
|
|
|
+ this.getBtns().m_boLineOper.setEnabled(true);
|
|
|
+ this.getBtns().m_boAddLine.setEnabled(!isStrike);
|
|
|
+ this.getBtns().m_boDelLine.setEnabled(!isStrike);
|
|
|
+ this.getBtns().m_boCopyLine.setEnabled(!isStrike);
|
|
|
+ this.getBtns().m_boPasteLine.setEnabled(!isStrike);
|
|
|
+ this.getBtns().m_boInsertLine.setEnabled(!isStrike);
|
|
|
+ this.getBtns().m_boPasteLineTail.setEnabled(!isStrike);
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBtns().m_boCardEdit.setEnabled(!isStrike);
|
|
|
+ this.getBtns().m_boReRowNO.setEnabled(true);
|
|
|
+ if (null == this.getBillCardPanel().getVO()
|
|
|
+ || 2 != this.getBillCardPanel().getVO().getHeadVO().getFcounteractflag()
|
|
|
+ && 1 != this.getBillCardPanel().getVO().getHeadVO().getFcounteractflag()) {
|
|
|
+ this.getBtns().m_boRefAdd.setEnabled(!isStrike);
|
|
|
+ } else {
|
|
|
+ this.getBtns().m_boRefAdd.setEnabled(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getBtns().m_boFetchCost.setEnabled(!isStrike);
|
|
|
+ this.getBtns().m_boApprove.setEnabled(false);
|
|
|
+ this.getBtns().m_boAction.setEnabled(false);
|
|
|
+ this.getBtns().m_boSendAudit.setEnabled(false);
|
|
|
+ this.getBtns().m_boTakeBack.setEnabled(false);
|
|
|
+ this.getBtns().m_boUnApprove.setEnabled(false);
|
|
|
+ this.getBtns().m_boQuery.setEnabled(false);
|
|
|
+ this.getBtns().m_boBrowse.setEnabled(false);
|
|
|
+ this.getBtns().m_boRefresh.setEnabled(false);
|
|
|
+ this.getBtns().m_boLocal.setEnabled(false);
|
|
|
+ this.getBtns().m_boFirst.setEnabled(false);
|
|
|
+ this.getBtns().m_boNext.setEnabled(false);
|
|
|
+ this.getBtns().m_boPrev.setEnabled(false);
|
|
|
+ this.getBtns().m_boLast.setEnabled(false);
|
|
|
+ this.getBtns().m_boSelectAll.setEnabled(false);
|
|
|
+ this.getBtns().m_boUnSelectAll.setEnabled(false);
|
|
|
+ this.getBtns().m_boCard.setEnabled(false);
|
|
|
+ this.getBtns().m_boPrintManage.setEnabled(true);
|
|
|
+ this.getBtns().m_boPreview.setEnabled(false);
|
|
|
+ this.getBtns().m_boPrint.setEnabled(false);
|
|
|
+ this.getBtns().m_boBillCombin.setEnabled(true);
|
|
|
+ this.getBtns().m_boAssistFunction.setEnabled(true);
|
|
|
+ this.getBtns().m_boOpposeAct.setEnabled(true);
|
|
|
+ this.getBtns().m_boSoTax.setEnabled(true);
|
|
|
+ this.getBtns().m_boDocument.setEnabled(true);
|
|
|
+ this.getBtns().m_boAssistant.setEnabled(true);
|
|
|
+ this.getBtns().m_boOrderQuery.setEnabled(false);
|
|
|
+ this.getBtns().m_boATP.setEnabled(true);
|
|
|
+ this.getBtns().m_boAuditFlowStatus.setEnabled(true);
|
|
|
+ this.getBtns().m_boCustInfo.setEnabled(true);
|
|
|
+ this.getBtns().m_boExecRpt.setEnabled(false);
|
|
|
+ this.getBtns().m_boCustCredit.setEnabled(true);
|
|
|
+ this.getBtns().m_boPrifit.setEnabled(true);
|
|
|
+ this.getBillCardPanel().setBodyMenuShow(!isStrike);
|
|
|
+ this.updateButtons();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setButtonsStateMsgCenterApprove() {
|
|
|
+ this.getBtns().m_boAssistant.setEnabled(true);
|
|
|
+ this.getBtns().m_boDocument.setEnabled(true);
|
|
|
+ this.getBtns().m_boAuditFlowStatus.setEnabled(true);
|
|
|
+ this.getBtns().m_boApprove.setEnabled(true);
|
|
|
+ this.getBtns().m_boOrderQuery.setEnabled(true);
|
|
|
+ this.updateButtons();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setButtonsStateOPP() {
|
|
|
+ this.getBtns().m_boAction.setEnabled(false);
|
|
|
+ this.getBtns().m_boBrowse.setEnabled(false);
|
|
|
+ this.getBtns().m_boPrint.setEnabled(false);
|
|
|
+ this.getBtns().m_boPreview.setEnabled(false);
|
|
|
+ this.getBtns().m_boModify.setEnabled(false);
|
|
|
+ this.getBtns().m_boCancel.setEnabled(true);
|
|
|
+ this.getBtns().m_boSave.setEnabled(true);
|
|
|
+ this.getBtns().m_boCancelTransfer.setEnabled(false);
|
|
|
+ this.getBtns().m_boPrev.setEnabled(false);
|
|
|
+ this.getBtns().m_boNext.setEnabled(false);
|
|
|
+ this.getBtns().m_boCard.setEnabled(false);
|
|
|
+ this.getBtns().m_boLineOper.setEnabled(false);
|
|
|
+ this.getBtns().m_boRefAdd.setEnabled(false);
|
|
|
+ this.getBtns().m_boFetchCost.setEnabled(false);
|
|
|
+ this.getBtns().m_boDocument.setEnabled(false);
|
|
|
+ this.getBtns().m_boOrderQuery.setEnabled(false);
|
|
|
+ this.getBtns().m_boAuditFlowStatus.setEnabled(false);
|
|
|
+ this.getBtns().m_boBlankOut.setEnabled(false);
|
|
|
+ this.getBtns().m_boModify.setEnabled(false);
|
|
|
+ this.getBtns().m_boApprove.setEnabled(false);
|
|
|
+ this.getBtns().m_boUnApprove.setEnabled(false);
|
|
|
+ this.getBtns().m_boSendAudit.setEnabled(true);
|
|
|
+ this.getBtns().m_boTakeBack.setEnabled(false);
|
|
|
+ this.getBtns().m_boUnite.setEnabled(false);
|
|
|
+ this.getBtns().m_boUniteCancel.setEnabled(false);
|
|
|
+ this.getBillCardPanel().setBodyMenuShow(false);
|
|
|
+ this.updateButtons();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setInMsgPanel(boolean newBInMsgPanel) {
|
|
|
+ this.m_bInMsgPanel = newBInMsgPanel;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setShowState(int showState) {
|
|
|
+ this.m_iShowState = showState;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void updateCacheVOByCard() {
|
|
|
+ SaleinvoiceVO voInvoice = this.getBillCardPanel().getVO();
|
|
|
+ SaleVO voHead = voInvoice.getHeadVO();
|
|
|
+ if (null == this.getVOCache().getVO_Load(voHead.getCsaleid())) {
|
|
|
+ SaleinvoiceVO catchevo = this.getVOCache().getVO_NotLoad(this.getVOCache().getPos());
|
|
|
+ if (null != catchevo && null != catchevo.getHeadVO().getCsaleid()) {
|
|
|
+ this.getVOCache().addVO(voInvoice);
|
|
|
+ } else if (this.getBillCardPanel().isOutSumMakeInvoice()) {
|
|
|
+ this.getVOCache().addVO(voInvoice);
|
|
|
+ } else {
|
|
|
+ this.getVOCache().setSaleinvoiceVO(this.getVOCache().getPos(), voInvoice);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.getVOCache().setSaleinvoiceVO(voHead.getCsaleid(), voInvoice);
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getVOCache().setPos(this.getVOCache().findPos(voInvoice.getHeadVO().getCsaleid()));
|
|
|
+ }
|
|
|
+
|
|
|
+ private void updateCacheVOByList() {
|
|
|
+ int iSelectedRow = this.getBillListPanel().getHeadTable().getSelectedRow();
|
|
|
+ if (iSelectedRow >= 0) {
|
|
|
+ SaleVO hvo = (SaleVO) this.getBillListPanel().getHeadBillModel().getBodyValueRowVO(iSelectedRow,
|
|
|
+ SaleVO.class.getName());
|
|
|
+ SaleinvoiceBVO[] bvos = (SaleinvoiceBVO[]) ((SaleinvoiceBVO[]) this.getBillListPanel().getBodyBillModel()
|
|
|
+ .getBodyValueVOs(SaleinvoiceBVO.class.getName()));
|
|
|
+ SaleinvoiceVO voInvoice = new SaleinvoiceVO();
|
|
|
+ voInvoice.setParentVO(hvo);
|
|
|
+ voInvoice.setChildrenVO(bvos);
|
|
|
+ this.getVOCache().setSaleinvoiceVO(voInvoice.getHeadVO().getCsaleid(), voInvoice);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void updateUIValue(HashMap<String, SmartVO> hsnewvo) {
|
|
|
+ if (hsnewvo != null && hsnewvo.size() != 0) {
|
|
|
+ ISaleinvoice invoiceService = (ISaleinvoice) NCLocator.getInstance().lookup(ISaleinvoice.class);
|
|
|
+
|
|
|
+ try {
|
|
|
+ Map<String, UFDateTime> bodyts = invoiceService
|
|
|
+ .queryTsByBids((String[]) hsnewvo.keySet().toArray(new String[0]));
|
|
|
+ if (bodyts != null && !bodyts.isEmpty()) {
|
|
|
+ Iterator var4 = bodyts.entrySet().iterator();
|
|
|
+
|
|
|
+ while (var4.hasNext()) {
|
|
|
+ Entry<String, UFDateTime> entry = (Entry) var4.next();
|
|
|
+ String bid = (String) entry.getKey();
|
|
|
+ SmartVO bvo = (SmartVO) hsnewvo.get(bid);
|
|
|
+ if (bvo != null) {
|
|
|
+ bvo.setAttributeValue("ts", entry.getValue());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (BusinessException var8) {
|
|
|
+ this.showHintMessage("查询发票ts失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (this.getShowState() == 0) {
|
|
|
+ this.getBillListPanel().updateUIValue(hsnewvo);
|
|
|
+ this.updateCacheVOByList();
|
|
|
+ this.getBillListPanel().updateUI();
|
|
|
+ } else if (this.getShowState() == 1) {
|
|
|
+ this.getBillCardPanel().updateUIValue(hsnewvo);
|
|
|
+ this.updateCacheVOByCard();
|
|
|
+ this.getBillCardPanel().updateUI();
|
|
|
+ }
|
|
|
+
|
|
|
+ this.setOperationState(2);
|
|
|
+ this.setButtonsStateBrowse();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ protected ArrayList getFormulaItemHeader() {
|
|
|
+ ArrayList arylistHeadField = new ArrayList();
|
|
|
+ String[] aryItemField1 = new String[]{"deptname", "cdeptname", "cdeptid"};
|
|
|
+ arylistHeadField.add(aryItemField1);
|
|
|
+ String[] aryItemField2 = new String[]{"psnname", "cemployeename", "cemployeeid"};
|
|
|
+ arylistHeadField.add(aryItemField2);
|
|
|
+ return arylistHeadField;
|
|
|
+ }
|
|
|
+
|
|
|
+ protected void postInit() {
|
|
|
+ this.initialize();
|
|
|
+ }
|
|
|
+
|
|
|
+ private boolean onSendAudit(SaleinvoiceVO saleinvoice) throws Exception {
|
|
|
+ if (null != saleinvoice && null != saleinvoice.getHeadVO()) {
|
|
|
+ try {
|
|
|
+ int iBillStatus = saleinvoice.getHeadVO().getFstatus();
|
|
|
+ if (1 != iBillStatus && 8 != iBillStatus) {
|
|
|
+ throw new BusinessException(
|
|
|
+ "发票" + saleinvoice.getHeadVO().getVreceiptcode() + "不是自由态或审批未通过状态,无法送审。");
|
|
|
+ } else {
|
|
|
+ Object otemp = PfUtilClient.processActionFlow(this, "SAVE", "32",
|
|
|
+ this.getClientEnvironment().getDate().toString(), saleinvoice, (Object) null);
|
|
|
+ if (null != otemp) {
|
|
|
+ String ErrMsg = otemp.toString();
|
|
|
+ if (ErrMsg != null && ErrMsg.startsWith("ERR")) {
|
|
|
+ ShowToolsInThread.showMessage(this.m_proccdlg, ErrMsg.substring(3));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return PfUtilClient.isSuccess();
|
|
|
+ }
|
|
|
+ } catch (Exception var5) {
|
|
|
+ throw var5;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void pageQuery(QueryPageInfo pageInfo) {
|
|
|
+ this.onRefresh();
|
|
|
+ }
|
|
|
+
|
|
|
+ public String getPageServiceName() {
|
|
|
+ return "u8c.bs.so.saleinvoice.page.SaleInvoicePageService";
|
|
|
+ }
|
|
|
+}
|