Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
57b39de9a2
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,789 @@
|
|||
/*336L/tOhma6VzKP3mxHcEkAXkBRqJpb8XsF1elPHMJ2c/NcdtKK6mxZmzuL3bjcU*/
|
||||
package nccloud.pubimpl.gl.lightgl.verify;
|
||||
|
||||
import nc.bs.dao.BaseDAO;
|
||||
import nc.bs.framework.common.InvocationInfoProxy;
|
||||
import nc.bs.framework.common.NCLocator;
|
||||
import nc.bs.gl.voucher.DetailServiceBO;
|
||||
import nc.gl.utils.GLMultiLangUtil;
|
||||
import nc.itf.gl.pub.IFreevaluePub;
|
||||
import nc.itf.gl.voucher.IVoucher;
|
||||
import nc.jdbc.framework.processor.MapListProcessor;
|
||||
import nc.md.MDBaseQueryFacade;
|
||||
import nc.md.model.IBean;
|
||||
import nc.md.model.MetaDataException;
|
||||
import nc.vo.bd.accassitem.AccAssItemVO;
|
||||
import nc.vo.bd.accessor.IBDData;
|
||||
import nc.vo.fipub.freevalue.Module;
|
||||
import nc.vo.fipub.freevalue.accountbook.proxy.AccountBookUtil;
|
||||
import nc.vo.fipub.timecontrol.TimeUnit;
|
||||
import nc.vo.fipub.utils.AccountCalendarUtils;
|
||||
import nc.vo.fipub.utils.StrTools;
|
||||
import nc.vo.gateway60.accountbook.GlOrgUtils;
|
||||
import nc.vo.gateway60.itfs.AccountUtilGL;
|
||||
import nc.vo.gateway60.itfs.Currency;
|
||||
import nc.vo.gateway60.pub.GlBusinessException;
|
||||
import nc.vo.gl.ageanalysis.AgeAnalysisVO;
|
||||
import nc.vo.gl.pubvoucher.DetailVO;
|
||||
import nc.vo.gl.pubvoucher.VoucherVO;
|
||||
import nc.vo.gl.verbalance.BalanceFilterVO;
|
||||
import nc.vo.gl.verbalance.VerBalanceVO;
|
||||
import nc.vo.gl.verbalance.VerDetailFilterVO;
|
||||
import nc.vo.glcom.ass.AssVO;
|
||||
import nc.vo.glcom.tools.GLPubProxy;
|
||||
import nc.vo.glrp.pub.ParaVO;
|
||||
import nc.vo.glrp.pub.VerifyMsg;
|
||||
import nc.vo.glrp.verify.FilterCondVO;
|
||||
import nc.vo.glrp.verify.GlVerifyDisplogVO;
|
||||
import nc.vo.glrp.verify.VerifyDetailVO;
|
||||
import nc.vo.glrp.verifyobj.ObjQryVO;
|
||||
import nc.vo.glrp.verifyobj.VerifyObjHeaderVO;
|
||||
import nc.vo.glrp.verifyobj.VerifyObjItemVO;
|
||||
import nc.vo.glrp.verifyobj.VerifyObjVO;
|
||||
import nc.vo.jcom.lang.StringUtil;
|
||||
import nc.vo.ml.NCLangRes4VoTransl;
|
||||
import nc.vo.pub.BusinessException;
|
||||
import nc.vo.pub.CircularlyAccessibleValueObject;
|
||||
import nc.vo.pub.lang.UFBoolean;
|
||||
import nc.vo.pub.lang.UFDate;
|
||||
import nccloud.baseapp.core.log.NCCForUAPLogger;
|
||||
import nccloud.dto.gl.verify.VerifyDetailWebVO;
|
||||
import nccloud.dto.gl.verify.VerifyDisplogWebVO;
|
||||
import nccloud.dto.gl.verify.VerifyInfoWebVO;
|
||||
import nccloud.pub.gl.lightgl.IColumnInfo;
|
||||
import nccloud.pubimpl.gl.account.AccountRepUtil;
|
||||
import nccloud.pubitf.gl.lightgl.verify.IVerifyWebService;
|
||||
import nccloud.pubitf.gl.lightgl.voucher.IVoucherWebQryService;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public class VerifyWebServiceImpl implements IVerifyWebService {
|
||||
|
||||
public static int COLUMNNAME = 0; // 显示名称
|
||||
public static int COLUMNCODE = 1; // 显示编码
|
||||
public static int COLUMNALL = 2; // 显示编码+名称
|
||||
|
||||
public final static String PROPERTYID = "PROPERTYID";
|
||||
public final static String STARTUNIT = "STARTUNIT";
|
||||
public final static String ENDUNIT = "ENDUNIT";
|
||||
public final static String UNIT = "UNIT";
|
||||
public final static String DESCR = "DESCR";
|
||||
|
||||
@Override
|
||||
public Map<String, Object> queryRtVerifyData(String pk_voucher, String pk_detail, String date) throws BusinessException {
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
VoucherVO voucher = NCLocator.getInstance().lookup(IVoucher.class).findByPrimaryKey(pk_voucher);
|
||||
GlVerifyWebModel verifyModel = new GlVerifyWebModel();
|
||||
verifyModel.setPk_accountingbook(voucher.getPk_accountingbook());
|
||||
|
||||
if (voucher != null) {
|
||||
DetailVO rtdetail = null;
|
||||
for (DetailVO detailvo : voucher.getDetails()) {
|
||||
if (detailvo.getPrimaryKey().equals(pk_detail)) {
|
||||
rtdetail = detailvo;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (rtdetail != null) {
|
||||
Object[] bizzData = new DetailServiceBO().getRtVerifyData(rtdetail, verifyModel.getFilterVOEx(rtdetail, date));
|
||||
if (bizzData == null)
|
||||
throw new BusinessException(nc.vo.glrp.pub.VerifyMsg.getMSG_CANNTVERIFY());
|
||||
else if (verifyModel.isDataLegal((VerifyDetailVO) bizzData[0], (VerifyObjVO) bizzData[1])) {
|
||||
VerifyDetailVO verifyDetailVO = (VerifyDetailVO) bizzData[0];
|
||||
verifyModel.setVerifyDetailVO(verifyDetailVO);
|
||||
resultMap = getReusltMap(rtdetail, verifyModel, bizzData, true);
|
||||
} else {
|
||||
throw new GlBusinessException(nc.vo.glrp.pub.VerifyMsg.getMSG_CANNTVERIFY());
|
||||
}
|
||||
} else
|
||||
throw new GlBusinessException(nc.vo.glrp.pub.VerifyMsg.getMSG_CANNTVERIFY());
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
private Map<String, Object> getReusltMap(DetailVO detail, GlVerifyWebModel verifyModel,
|
||||
Object[] bizzData, Boolean rtVerify) throws BusinessException, MetaDataException {
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
nc.vo.glrp.com.verify.IVerifyVO[][] v = (nc.vo.glrp.com.verify.IVerifyVO[][]) bizzData[3];
|
||||
Map[][] webvo = new Map[][]{verifyModel.appendDetailInfo((VerifyDetailVO[]) v[0]),
|
||||
verifyModel.appendDetailInfo((VerifyDetailVO[]) v[1])};
|
||||
VerifyObjVO verifyObjVO = (VerifyObjVO) bizzData[1];
|
||||
VerifyObjHeaderVO headvo = (VerifyObjHeaderVO) verifyObjVO.getParentVO();
|
||||
IBDData[] data = AccountUtilGL.getAccDocByPks(new String[]{headvo.getPk_accsubj()},
|
||||
(new UFDate(InvocationInfoProxy.getInstance().getBizDateTime())).toStdString());
|
||||
if (data != null && data.length > 0) {
|
||||
headvo.setAccSubjCode(data[0].getCode());
|
||||
headvo.setAccSubjName(GLMultiLangUtil.getMultiName(AccountUtilGL.findByPrimaryKey(detail.getPk_accasoa())));
|
||||
}
|
||||
FilterCondVO conVO = (FilterCondVO) bizzData[2];
|
||||
if (conVO.getAssvos() != null) {
|
||||
AssVO[] assvos = conVO.getAssvos();
|
||||
for (AssVO assVO : assvos) {
|
||||
IBean bean = MDBaseQueryFacade.getInstance().getBeanByID(assVO.getM_classid());
|
||||
String fullName = bean.getFullName();
|
||||
// 参照的refcode临时放入userdata
|
||||
assVO.setUserData(fullName);
|
||||
}
|
||||
}
|
||||
if (conVO.getCreditCond().getAssvos() != null) {
|
||||
AssVO[] assvos = conVO.getCreditCond().getAssvos();
|
||||
for (AssVO assVO : assvos) {
|
||||
IBean bean = MDBaseQueryFacade.getInstance().getBeanByID(assVO.getM_classid());
|
||||
String fullName = bean.getFullName();
|
||||
// 参照的refcode临时放入userdata
|
||||
assVO.setUserData(fullName);
|
||||
}
|
||||
}
|
||||
if (conVO.getDebitCond().getAssvos() != null) {
|
||||
AssVO[] assvos = conVO.getDebitCond().getAssvos();
|
||||
for (AssVO assVO : assvos) {
|
||||
IBean bean = MDBaseQueryFacade.getInstance().getBeanByID(assVO.getM_classid());
|
||||
String fullName = bean.getFullName();
|
||||
// 参照的refcode临时放入userdata
|
||||
assVO.setUserData(fullName);
|
||||
}
|
||||
}
|
||||
|
||||
if (rtVerify) {
|
||||
Map<String, Object> condMap = new LinkedHashMap<String, Object>();
|
||||
condMap.put("pk_accountingbook", detail.getPk_accountingbook());
|
||||
condMap.put("accountingbookName", AccountBookUtil.getAccountingBookNameByPk(detail.getPk_accountingbook()));
|
||||
condMap.put("pk_units", new String[]{detail.getPk_unit()});
|
||||
condMap.put("pk_unitName", GLMultiLangUtil.getMultiName(GlOrgUtils.getOrgByPk(detail.getPk_unit())));
|
||||
condMap.put("pk_accasoa", ((VerifyObjHeaderVO) verifyObjVO.getParentVO()).getPk_accsubj());
|
||||
condMap.put("accountName", ((VerifyObjHeaderVO) verifyObjVO.getParentVO()).getAccSubjName());
|
||||
|
||||
ParaVO paraVO = GLPubProxy.getRemoteVerifyobj().initEnvirment(detail.getPk_accountingbook());
|
||||
if (paraVO.getDateName().equalsIgnoreCase("VoucherDate")) {
|
||||
condMap.put("dateType", "prepareddate");
|
||||
condMap.put("end_date", verifyModel.getVerifyDetailvo().getPrepareddate().toStdString());
|
||||
} else {
|
||||
condMap.put("dateType", "Businessdate");
|
||||
condMap.put("end_date", verifyModel.getVerifyDetailvo().getBusinessdate().toStdString());
|
||||
}
|
||||
condMap.put("cmbMnyType", VerifyMsg.getDISP_ORIGIN());
|
||||
String pk_currency = detail.getPk_currtype();
|
||||
condMap.put("pk_currency", pk_currency);
|
||||
condMap.put("currName", GLMultiLangUtil.getMultiName(Currency.getCurrInfo(pk_currency)));
|
||||
condMap.put("hasTally", "Y");
|
||||
condMap.put("pk_detail", detail.getPk_detail());
|
||||
|
||||
AccAssItemVO[] assItems = NCLocator.getInstance().lookup(IVoucherWebQryService.class).queryAssItemByAsoaPk(
|
||||
((VerifyObjHeaderVO) verifyObjVO.getParentVO()).getPk_accsubj(),
|
||||
AccountCalendarUtils.getStdDate());
|
||||
Map<String, AccAssItemVO> accassMap = new HashMap<String, AccAssItemVO>();
|
||||
if (assItems != null && assItems.length > 0) {
|
||||
for (AccAssItemVO accAssItemVO : assItems) {
|
||||
accassMap.put(accAssItemVO.getPk_accassitem(), accAssItemVO);
|
||||
}
|
||||
}
|
||||
AssVO[] assvos = detail.getAss();
|
||||
List<Map<String, Object>> asslist = new ArrayList<Map<String, Object>>();
|
||||
if (assvos != null && assvos.length > 0) {
|
||||
for (AssVO vo : assvos) {
|
||||
Map<String, Object> assMap = new HashMap<String, Object>();
|
||||
assMap.put("checktypecode", vo.getChecktypecode());
|
||||
assMap.put("checktypename", vo.getChecktypename());
|
||||
assMap.put("checkvaluecode", vo.getCheckvaluecode());
|
||||
assMap.put("checkvaluename", vo.getCheckvaluename());
|
||||
assMap.put("innerCode", vo.getInnerCode());
|
||||
assMap.put("note1", vo.getnote1());
|
||||
assMap.put("note2", vo.getnote2());
|
||||
assMap.put("pk_Checktype", vo.getPk_Checktype());
|
||||
assMap.put("pk_Checkvalue", vo.getPk_Checkvalue());
|
||||
assMap.put("m_metaClassid", vo.getM_metaClassid());
|
||||
assMap.put("userData", vo.getUserData());
|
||||
assMap.put("m_classid", vo.getM_classid());
|
||||
assMap.put("refnodename", accassMap.get(vo.getPk_Checktype()) == null ? null : accassMap.get(vo.getPk_Checktype()).getRefnodename());
|
||||
asslist.add(assMap);
|
||||
}
|
||||
}
|
||||
condMap.put("ass", asslist.toArray());
|
||||
if (detail.getDirection()) {
|
||||
condMap.put("cmbDirect", "1");
|
||||
} else {
|
||||
condMap.put("cmbDirect", "0");
|
||||
}
|
||||
condMap.put("type", nc.vo.glrp.pub.VerifyMsg.TYPE_TIMELY);
|
||||
resultMap.put("conVO", condMap);
|
||||
}
|
||||
Map<String, String> accountingbookMap = new HashMap<String, String>();
|
||||
accountingbookMap.put("name", AccountBookUtil.getAccountingBookNameByPk(detail.getPk_accountingbook()));
|
||||
accountingbookMap.put("pk_accountingbook", detail.getPk_accountingbook());
|
||||
resultMap.put("accountingBook", accountingbookMap);
|
||||
resultMap.put("verifyObj", bizzData[1]);
|
||||
resultMap.put("debit", webvo[0]);
|
||||
resultMap.put("credit", webvo[1]);
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> queryVerifyDatas(Map<String, Object> varMap) throws BusinessException {
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
GlVerifyWebModel verifyModel = new GlVerifyWebModel();
|
||||
verifyModel.setPk_accountingbook((String) varMap.get("pk_accountingbook"));
|
||||
verifyModel.checkQryCond(varMap);
|
||||
verifyModel.onQuery(verifyModel.getFilterVO(varMap));
|
||||
Map<String, Map<String, Object>>[] creditInfo = verifyModel.getCreditVerifyWebInfo();
|
||||
Map<String, Map<String, Object>>[] debitInfo = verifyModel.getDebitVerifyWebInfo();
|
||||
setCurrTypeNameForVerify(creditInfo, debitInfo);
|
||||
resultMap.put("credit", creditInfo);
|
||||
resultMap.put("debit", debitInfo);
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> onVerify(VerifyInfoWebVO verifyInfoWebVO) throws BusinessException {
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
GlVerifyWebModel verifyModel = new GlVerifyWebModel();
|
||||
verifyModel.setPk_accountingbook((String) verifyInfoWebVO.getCondition().get("pk_accountingbook"));
|
||||
verifyModel.checkVerifyObj(verifyInfoWebVO.getCondition());
|
||||
VerifyDetailVO[] creditVerifyVOs = verifyModel.transferWebToVO(verifyInfoWebVO.getCredit().toArray(new VerifyDetailWebVO[0]));
|
||||
VerifyDetailVO[] debitVerifyVOs = verifyModel.transferWebToVO(verifyInfoWebVO.getDebit().toArray(new VerifyDetailWebVO[0]));
|
||||
verifyModel.setCreditVerify(creditVerifyVOs);
|
||||
verifyModel.setDebitVerify(debitVerifyVOs);
|
||||
verifyModel.onVerify();
|
||||
verifyModel.onQuery(verifyModel.getFilterVO(verifyInfoWebVO.getCondition()));
|
||||
resultMap.put("credit", verifyModel.getCreditVerifyWebInfo());
|
||||
resultMap.put("debit", verifyModel.getDebitVerifyWebInfo());
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> onAutoVerify(VerifyInfoWebVO verifyInfoWebVO) throws BusinessException {
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
GlVerifyWebModel verifyModel = new GlVerifyWebModel();
|
||||
verifyModel.setPk_accountingbook((String) verifyInfoWebVO.getCondition().get("pk_accountingbook"));
|
||||
verifyModel.checkVerifyObj(verifyInfoWebVO.getCondition());
|
||||
VerifyDetailVO[] creditVerifyVOs = verifyModel.transferWebToVO(verifyInfoWebVO.getCredit().toArray(new VerifyDetailWebVO[0]));
|
||||
VerifyDetailVO[] debitVerifyVOs = verifyModel.transferWebToVO(verifyInfoWebVO.getDebit().toArray(new VerifyDetailWebVO[0]));
|
||||
verifyModel.setCreditVerify(creditVerifyVOs);
|
||||
verifyModel.setDebitVerify(debitVerifyVOs);
|
||||
verifyModel.setVerifyStandardVO(verifyModel.getStandardVO(verifyInfoWebVO.getStandard()));
|
||||
verifyModel.onAutoVerify();
|
||||
verifyModel.onQuery(verifyModel.getFilterVO(verifyInfoWebVO.getCondition()));
|
||||
resultMap.put("credit", verifyModel.getCreditVerifyWebInfo());
|
||||
resultMap.put("debit", verifyModel.getDebitVerifyWebInfo());
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> queryHistoryDatas(Map<String, Object> varMap) throws BusinessException {
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
GlVerifyWebModel verifyModel = new GlVerifyWebModel();
|
||||
verifyModel.setPk_accountingbook((String) varMap.get("pk_accountingbook"));
|
||||
verifyModel.checkHistoryCondition(varMap);
|
||||
verifyModel.onQueryHisRecord(verifyModel.getCondVO(varMap));
|
||||
verifyModel.setSumLogs(verifyModel.appendLogInfo(verifyModel.getHistroySumData()));
|
||||
verifyModel.setDetailLogsWeb(verifyModel.appendLogInfo(verifyModel.getHistroyData()));
|
||||
resultMap.put("historySumData", verifyModel.getSumLogs());
|
||||
resultMap.put("historyData", verifyModel.getDetailLogsWeb());
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> unVerify(VerifyInfoWebVO verifyInfoWebVO) throws BusinessException {
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
GlVerifyWebModel verifyModel = new GlVerifyWebModel();
|
||||
verifyModel.setPk_accountingbook((String) verifyInfoWebVO.getCondition().get("pk_accountingbook"));
|
||||
VerifyDisplogWebVO[] displogWebVOs = verifyInfoWebVO.getDisplogVO().toArray(new VerifyDisplogWebVO[0]);
|
||||
GlVerifyDisplogVO[] verifyDisplogVOs = verifyModel.transferWebToDispLogVO(displogWebVOs);
|
||||
verifyModel.setHistroyData(verifyDisplogVOs);
|
||||
verifyModel.unVerify();
|
||||
verifyModel.onQueryHisRecord(verifyModel.getCondVO(verifyInfoWebVO.getCondition()));
|
||||
verifyModel.setSumLogs(verifyModel.appendLogInfo(verifyModel.getHistroySumData()));
|
||||
verifyModel.setDetailLogsWeb(verifyModel.appendLogInfo(verifyModel.getHistroyData()));
|
||||
resultMap.put("historySumData", verifyModel.getSumLogs());
|
||||
resultMap.put("historyData", verifyModel.getDetailLogsWeb());
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> onRedBlue(VerifyInfoWebVO verifyInfoWebVO)
|
||||
throws BusinessException {
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
GlVerifyWebModel verifyModel = new GlVerifyWebModel();
|
||||
verifyModel.setPk_accountingbook((String) verifyInfoWebVO.getCondition().get("pk_accountingbook"));
|
||||
VerifyDetailVO[] creditVerifyVOs = verifyModel.transferWebToVO(verifyInfoWebVO.getCredit().toArray(new VerifyDetailWebVO[0]));
|
||||
VerifyDetailVO[] debitVerifyVOs = verifyModel.transferWebToVO(verifyInfoWebVO.getDebit().toArray(new VerifyDetailWebVO[0]));
|
||||
verifyModel.setCreditVerify(creditVerifyVOs);
|
||||
verifyModel.setDebitVerify(debitVerifyVOs);
|
||||
verifyModel.onRedBlue(verifyInfoWebVO.getCondition());
|
||||
verifyModel.onQuery(verifyModel.getFilterVO(verifyInfoWebVO.getCondition()));
|
||||
resultMap.put("credit", verifyModel.getCreditVerifyWebInfo());
|
||||
resultMap.put("debit", verifyModel.getDebitVerifyWebInfo());
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> onAutoRedBlue(VerifyInfoWebVO verifyInfoWebVO)
|
||||
throws BusinessException {
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
GlVerifyWebModel verifyModel = new GlVerifyWebModel();
|
||||
verifyModel.setPk_accountingbook((String) verifyInfoWebVO.getCondition().get("pk_accountingbook"));
|
||||
verifyModel.checkVerifyObj(verifyInfoWebVO.getCondition());
|
||||
VerifyDetailVO[] creditVerifyVOs = verifyModel.transferWebToVO(verifyInfoWebVO.getCredit().toArray(new VerifyDetailWebVO[0]));
|
||||
VerifyDetailVO[] debitVerifyVOs = verifyModel.transferWebToVO(verifyInfoWebVO.getDebit().toArray(new VerifyDetailWebVO[0]));
|
||||
verifyModel.setCreditVerify(creditVerifyVOs);
|
||||
verifyModel.setDebitVerify(debitVerifyVOs);
|
||||
verifyModel.setVerifyStandardVO(verifyModel.getStandardVO(verifyInfoWebVO.getStandard()));
|
||||
if (debitVerifyVOs != null && debitVerifyVOs.length > 0)
|
||||
verifyModel.onAutoRedBlue(true);
|
||||
if (creditVerifyVOs != null && creditVerifyVOs.length > 0)
|
||||
verifyModel.onAutoRedBlue(false);
|
||||
verifyModel.onQuery(verifyModel.getFilterVO(verifyInfoWebVO.getCondition()));
|
||||
resultMap.put("credit", verifyModel.getCreditVerifyWebInfo());
|
||||
resultMap.put("debit", verifyModel.getDebitVerifyWebInfo());
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public Map<String, Object> verBalanceQuery(Map<String, Object> varMap) throws BusinessException {
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
VerBalanceWebModel balanceModel = new VerBalanceWebModel();
|
||||
String pk_accountingbook = (String) varMap.get("pk_accountingbook");
|
||||
String pagecode = (String) varMap.get("pagecode");
|
||||
balanceModel.setPk_accountingbook(pk_accountingbook);
|
||||
BalanceFilterVO balanceFilterVO = balanceModel.getFilterVO(varMap);
|
||||
balanceModel.getHeadData(balanceFilterVO, resultMap);
|
||||
Map<String, Object>[] balanceVOs = null;
|
||||
if (balanceFilterVO.getDirect() == BalanceFilterVO.DIRECTION_BOTH) {
|
||||
balanceVOs = balanceModel.onQueryTwo(balanceFilterVO);
|
||||
} else {
|
||||
balanceVOs = balanceModel.onQuery(balanceFilterVO);
|
||||
}
|
||||
resultMap.put("balanceVO", balanceVOs);
|
||||
if (balanceVOs != null) {
|
||||
for (Map<String, Object> verBalanceWebVO : balanceVOs) {
|
||||
verBalanceWebVO.put("link", new HashMap<String, Object>());
|
||||
if (verBalanceWebVO.get("m_Pk_verifydetail") != null) {
|
||||
((Map<String, Object>) verBalanceWebVO.get("link")).put("m_Pk_verifydetail", verBalanceWebVO.get("m_Pk_verifydetail"));
|
||||
verBalanceWebVO.remove("m_Pk_verifydetail");
|
||||
}
|
||||
verBalanceWebVO.remove("m_Flag");
|
||||
verBalanceWebVO.remove("assid");
|
||||
verBalanceWebVO.remove("m_VouchTypepk");
|
||||
verBalanceWebVO.remove("m_Balancecreditamount");
|
||||
verBalanceWebVO.remove("m_Balancecreditquantity");
|
||||
verBalanceWebVO.remove("m_Balancelocalcreditamount");
|
||||
verBalanceWebVO.remove("m_Balancedebitamount");
|
||||
verBalanceWebVO.remove("m_Balancedebitquantity");
|
||||
verBalanceWebVO.remove("m_Balancelocaldebitamount");
|
||||
verBalanceWebVO.remove("m_Businessdate");
|
||||
if (verBalanceWebVO.get("m_Creditamount") != null) {
|
||||
((Map<String, Object>) verBalanceWebVO.get("link")).put("m_Creditamount", verBalanceWebVO.get("m_Creditamount"));
|
||||
verBalanceWebVO.remove("m_Creditamount");
|
||||
}
|
||||
if (verBalanceWebVO.get("m_Debitamount") != null) {
|
||||
((Map<String, Object>) verBalanceWebVO.get("link")).put("m_Debitamount", verBalanceWebVO.get("m_Debitamount"));
|
||||
verBalanceWebVO.remove("m_Debitamount");
|
||||
}
|
||||
if (verBalanceWebVO.get("m_Explanation") != null)
|
||||
((Map<String, Object>) verBalanceWebVO.get("link")).put("m_Explanation", verBalanceWebVO.get("m_Explanation"));
|
||||
if (verBalanceWebVO.get("m_Localcreditamount") != null) {
|
||||
((Map<String, Object>) verBalanceWebVO.get("link")).put("m_Localcreditamount", verBalanceWebVO.get("m_Localcreditamount"));
|
||||
verBalanceWebVO.remove("m_Localcreditamount");
|
||||
}
|
||||
if (verBalanceWebVO.get("m_Localdebitamount") != null) {
|
||||
((Map<String, Object>) verBalanceWebVO.get("link")).put("m_Localdebitamount", verBalanceWebVO.get("m_Localdebitamount"));
|
||||
verBalanceWebVO.remove("m_Localdebitamount");
|
||||
}
|
||||
verBalanceWebVO.remove("groupcreditamount");
|
||||
verBalanceWebVO.remove("groupdebitamount");
|
||||
verBalanceWebVO.remove("globalcreditamount");
|
||||
verBalanceWebVO.remove("globaldebitamount");
|
||||
if (verBalanceWebVO.get("m_Pk_accsubj") != null) {
|
||||
((Map<String, Object>) verBalanceWebVO.get("link")).put("m_Pk_accsubj", verBalanceWebVO.get("m_Pk_accsubj"));
|
||||
verBalanceWebVO.remove("m_Pk_accsubj");
|
||||
}
|
||||
verBalanceWebVO.remove("m_Pk_corp");
|
||||
verBalanceWebVO.remove("m_Pk_currtype");
|
||||
verBalanceWebVO.remove("m_Pk_detail");
|
||||
verBalanceWebVO.remove("m_Pk_manager");
|
||||
verBalanceWebVO.remove("m_Pk_prepared");
|
||||
verBalanceWebVO.remove("m_Pk_sob");
|
||||
verBalanceWebVO.remove("m_Pk_voucher");
|
||||
verBalanceWebVO.remove("m_Pk_vouchertype");
|
||||
verBalanceWebVO.remove("m_Prepareddate");
|
||||
verBalanceWebVO.remove("m_userData");
|
||||
verBalanceWebVO.remove("m_Balanceamount");
|
||||
verBalanceWebVO.remove("m_Balancequantity");
|
||||
verBalanceWebVO.remove("m_Balancelocalamount");
|
||||
verBalanceWebVO.remove("m_Balancebalanceamount");
|
||||
verBalanceWebVO.remove("m_Balancebalancequantity");
|
||||
verBalanceWebVO.remove("m_Balancelocalbalanceamount");
|
||||
verBalanceWebVO.remove("pk_unit");
|
||||
verBalanceWebVO.remove("pk_unit_v");
|
||||
}
|
||||
}
|
||||
Map<String, IColumnInfo> columnMap = balanceModel.getColumnName(balanceFilterVO, VerifyWebServiceImpl.COLUMNNAME);
|
||||
Map<String, IColumnInfo> column1Map = balanceModel.getColumnName(balanceFilterVO, VerifyWebServiceImpl.COLUMNCODE);
|
||||
Map<String, IColumnInfo> column2Map = balanceModel.getColumnName(balanceFilterVO, VerifyWebServiceImpl.COLUMNALL);
|
||||
if (!StrTools.isEmptyStr(pagecode)) {
|
||||
AccountRepUtil.resetColumnWidth(columnMap.values(), pagecode);
|
||||
AccountRepUtil.resetColumnWidth(column1Map.values(), pagecode);
|
||||
AccountRepUtil.resetColumnWidth(column2Map.values(), pagecode);
|
||||
}
|
||||
resultMap.put("columnInfo", columnMap.values());
|
||||
resultMap.put("columnInfo1", column1Map.values());
|
||||
resultMap.put("columnInfo2", column2Map.values());
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> verDetailQuery(Map<String, Object> varMap) throws BusinessException {
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
VerDetailWebModel detailModel = new VerDetailWebModel();
|
||||
String pk_accountingbook = (String) varMap.get("pk_accountingbook");
|
||||
String pagecode = (String) varMap.get("pagecode");
|
||||
detailModel.setPk_accountingbook(pk_accountingbook);
|
||||
VerDetailFilterVO detailFilterVO = detailModel.getFilterVO(varMap);
|
||||
detailModel.getHeadData(detailFilterVO, resultMap);
|
||||
Map[] detailVOs = null;
|
||||
detailVOs = detailModel.onQuery(detailFilterVO);
|
||||
resultMap.put("detailVO", detailVOs);
|
||||
Map<String, IColumnInfo> columnMap = detailModel.getColumnName(detailFilterVO, VerifyWebServiceImpl.COLUMNNAME);
|
||||
Map<String, IColumnInfo> column1Map = detailModel.getColumnName(detailFilterVO, VerifyWebServiceImpl.COLUMNCODE);
|
||||
Map<String, IColumnInfo> column2Map = detailModel.getColumnName(detailFilterVO, VerifyWebServiceImpl.COLUMNALL);
|
||||
if (!StrTools.isEmptyStr(pagecode)) {
|
||||
AccountRepUtil.resetColumnWidth(columnMap.values(), pagecode);
|
||||
AccountRepUtil.resetColumnWidth(column1Map.values(), pagecode);
|
||||
AccountRepUtil.resetColumnWidth(column2Map.values(), pagecode);
|
||||
}
|
||||
resultMap.put("columnInfo", columnMap.values());
|
||||
resultMap.put("columnInfo1", column1Map.values());
|
||||
resultMap.put("columnInfo2", column2Map.values());
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> verDetailLinkQuery(VerifyInfoWebVO verifyInfoWebVO) throws BusinessException {
|
||||
VerBalanceVO verBalanceVO = verifyInfoWebVO.getVerBalanceVO();
|
||||
if (verBalanceVO.getExplanation().indexOf(
|
||||
NCLangRes4VoTransl.getNCLangRes().getStrByID("2002365804", "UPP2002365804-000046")/*
|
||||
* @res "小计"
|
||||
*/) >= 0
|
||||
|| verBalanceVO.getExplanation().equals(
|
||||
NCLangRes4VoTransl.getNCLangRes().getStrByID("2002365804", "UPP2002365804-000047")/*
|
||||
* @res "科目小计"
|
||||
*/)
|
||||
|| verBalanceVO.getExplanation().equals(
|
||||
NCLangRes4VoTransl.getNCLangRes().getStrByID("2002365804", "UPP2002365804-000048")/*
|
||||
* @res "总计"
|
||||
*/)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
VerBalanceWebModel balanceModel = new VerBalanceWebModel();
|
||||
String pk_accountingbook = (String) verifyInfoWebVO.getCondition().get("pk_accountingbook");
|
||||
balanceModel.setPk_accountingbook(pk_accountingbook);
|
||||
BalanceFilterVO balanceFilterVO = balanceModel.getFilterVO(verifyInfoWebVO.getCondition());
|
||||
VerDetailFilterVO detailFilterVO = balanceModel.transferVerDetailFilterVO(balanceFilterVO, verBalanceVO);
|
||||
|
||||
VerDetailWebModel detailModel = new VerDetailWebModel();
|
||||
detailModel.setPk_accountingbook(pk_accountingbook);
|
||||
detailModel.getHeadData(detailFilterVO, resultMap);
|
||||
Map[] detailVOs = detailModel.onQueryDetail(detailFilterVO, verBalanceVO.getPk_verifydetail());
|
||||
resultMap.put("detailVO", detailVOs);
|
||||
Map<String, IColumnInfo> columnMap = detailModel.getColumnName(detailFilterVO, VerifyWebServiceImpl.COLUMNNAME);
|
||||
Map<String, IColumnInfo> column1Map = detailModel.getColumnName(detailFilterVO, VerifyWebServiceImpl.COLUMNCODE);
|
||||
Map<String, IColumnInfo> column2Map = detailModel.getColumnName(detailFilterVO, VerifyWebServiceImpl.COLUMNALL);
|
||||
resultMap.put("columnInfo", columnMap.values());
|
||||
resultMap.put("columnInfo1", column1Map.values());
|
||||
resultMap.put("columnInfo2", column2Map.values());
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
@Override
|
||||
public Map<String, Object> onQuery(Map<String, Object> varMap) throws BusinessException {
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
AccountAgeAnalysisWebModel accountAgeModel = new AccountAgeAnalysisWebModel();
|
||||
String pagecode = (String) varMap.get("pagecode");
|
||||
Object[] objPk_accountbooks = ((List) varMap.get("pk_accountingbook")).toArray();
|
||||
String pk_accountingbook = (String) objPk_accountbooks[0];
|
||||
accountAgeModel.setPk_accountingbook(pk_accountingbook);
|
||||
CircularlyAccessibleValueObject[] vo = accountAgeModel.onQuery(false, varMap);
|
||||
accountAgeModel.getHeadData(resultMap);
|
||||
resultMap.put("totalVO", accountAgeModel.transferDynamicData(vo));
|
||||
if (vo != null && vo.length > 0) {
|
||||
Map<String, IColumnInfo> columnMap = accountAgeModel.getColumnName(((AgeAnalysisVO) vo[0]).getColumnCodes(), VerifyWebServiceImpl.COLUMNNAME);
|
||||
Map<String, IColumnInfo> column1Map = accountAgeModel.getColumnName(((AgeAnalysisVO) vo[0]).getColumnCodes(), VerifyWebServiceImpl.COLUMNCODE);
|
||||
Map<String, IColumnInfo> column2Map = accountAgeModel.getColumnName(((AgeAnalysisVO) vo[0]).getColumnCodes(), VerifyWebServiceImpl.COLUMNALL);
|
||||
if (!StrTools.isEmptyStr(pagecode)) {
|
||||
AccountRepUtil.resetColumnWidth(columnMap.values(), pagecode);
|
||||
AccountRepUtil.resetColumnWidth(column1Map.values(), pagecode);
|
||||
AccountRepUtil.resetColumnWidth(column2Map.values(), pagecode);
|
||||
}
|
||||
resultMap.put("columnInfo", columnMap.values());
|
||||
resultMap.put("columnInfo1", column1Map.values());
|
||||
resultMap.put("columnInfo2", column2Map.values());
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> onDetailed(Map<String, Object> varMap) throws BusinessException {
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
AccountAgeAnalysisWebModel accountAgeModel = new AccountAgeAnalysisWebModel();
|
||||
Object[] objPk_accountbooks = ((List<?>) varMap.get("pk_accountingbook")).toArray();
|
||||
String pk_accountingbook = (String) objPk_accountbooks[0];
|
||||
accountAgeModel.setPk_accountingbook(pk_accountingbook);
|
||||
CircularlyAccessibleValueObject[] vo = accountAgeModel.onDetailed(varMap);
|
||||
accountAgeModel.getHeadData(resultMap);
|
||||
resultMap.put("detailVO", accountAgeModel.transferDynamicData(vo));
|
||||
if (vo != null && vo.length > 0) {
|
||||
Map<String, IColumnInfo> columnMap = accountAgeModel.getColumnName(((AgeAnalysisVO) vo[0]).getColumnCodes(), VerifyWebServiceImpl.COLUMNNAME);
|
||||
Map<String, IColumnInfo> column1Map = accountAgeModel.getColumnName(((AgeAnalysisVO) vo[0]).getColumnCodes(), VerifyWebServiceImpl.COLUMNCODE);
|
||||
Map<String, IColumnInfo> column2Map = accountAgeModel.getColumnName(((AgeAnalysisVO) vo[0]).getColumnCodes(), VerifyWebServiceImpl.COLUMNALL);
|
||||
resultMap.put("columnInfo", columnMap.values());
|
||||
resultMap.put("columnInfo1", column1Map.values());
|
||||
resultMap.put("columnInfo2", column2Map.values());
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> refVerify(DetailVO selDetail, String busidate) throws BusinessException {
|
||||
Map<String, Object> reusltMap = new HashMap<String, Object>();
|
||||
// DetailVO selDetail = voucher.getDetail(selectIndex);
|
||||
if (selDetail.getPk_accasoa() == null) {
|
||||
throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("20021005",
|
||||
"UPT2002100573-900063")/*
|
||||
* @ res "当前分录科目尚未选择,不能进行参照核销!"
|
||||
*/);
|
||||
}
|
||||
if (selDetail.getIsmatched() != null && selDetail.getIsmatched().equals(UFBoolean.TRUE)) {
|
||||
throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("20021005",
|
||||
"UPT2002100573-900070")/*
|
||||
* @ res "当前分录已有后续业务,不能进行参照核销!"
|
||||
*/);
|
||||
}
|
||||
String pks[] = AccountUtilGL.findAccountPathToRootPks(selDetail.getPk_accountingbook(), selDetail.getPk_accasoa(), selDetail.getPrepareddate().toString());
|
||||
ArrayList<String> l = new ArrayList<String>();
|
||||
l.add(selDetail.getPk_accasoa());
|
||||
if (pks != null)
|
||||
for (String pk : pks)
|
||||
l.add(pk);
|
||||
DetailVO detail = (DetailVO) selDetail.clone();
|
||||
ObjQryVO qryVO = new ObjQryVO();
|
||||
qryVO.setPk_glorgbook(selDetail.getPk_accountingbook());
|
||||
qryVO.setPk_accSubjs(l.toArray(new String[0]));
|
||||
VerifyObjVO verifyObj = GLPubProxy.getRemoteVerifyobj().findObjbyCond(qryVO);
|
||||
if (verifyObj == null || verifyObj.getParentVO() == null) {
|
||||
throw new BusinessException(nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("20021005",
|
||||
"UPT2002100573-900064")/* @res"当前分录科目不是核销对象,不能进行参照核销!" */);
|
||||
}
|
||||
|
||||
if (!StringUtil.isEmptyWithTrim(detail.getAssid())) {
|
||||
String assid = detail.getAssid();
|
||||
AssVO[] assvos = NCLocator.getInstance().lookup(IFreevaluePub.class).queryAssvosByid(assid, Module.GL);
|
||||
detail.setAss(assvos);
|
||||
}
|
||||
|
||||
VerifyObjHeaderVO voHead = (VerifyObjHeaderVO) verifyObj.getParentVO();
|
||||
if (voHead.getBcontrol().booleanValue()) { /* 严格按照辅助核算控制 */
|
||||
VerifyObjItemVO[] items = (VerifyObjItemVO[]) verifyObj.getChildrenVO();
|
||||
if (items != null && items.length > 0) {
|
||||
if (StringUtil.isEmptyWithTrim(detail.getAssid()))
|
||||
throw new GlBusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("20021005",
|
||||
"UPT2002100573-900065")/*
|
||||
* @res
|
||||
* "当前分录科目的核销对象已设置辅助核算严格控制,请先录入辅助核算!"
|
||||
*/);
|
||||
|
||||
for (AssVO assvo : detail.getAss()) {
|
||||
if (assvo.getPk_Checkvalue() == null)
|
||||
assvo.setPk_Checkvalue("~");
|
||||
}
|
||||
// 下面代码处理多个辅助核算中的一部分严格控制时,查询数据。
|
||||
List<AssVO> assvolist = new ArrayList<AssVO>();
|
||||
for (int i = 0; i < items.length; i++) {
|
||||
for (AssVO ass : detail.getAss()) {
|
||||
if (ass.getPk_Checktype().equals(items[i].getPk_subjass())) {
|
||||
assvolist.add(ass);
|
||||
}
|
||||
}
|
||||
}
|
||||
detail.setAss(assvolist.toArray(new AssVO[0]));
|
||||
}
|
||||
}
|
||||
|
||||
FilterCondVO voCond = new FilterCondVO();
|
||||
FilterCondVO debitCond = new FilterCondVO();
|
||||
FilterCondVO creditCond = new FilterCondVO();
|
||||
|
||||
creditCond.setPkuser(InvocationInfoProxy.getInstance().getUserId());
|
||||
creditCond.setPk_glorgbook(detail.getPk_accountingbook());
|
||||
creditCond.setPkSob(null);
|
||||
creditCond.setLogonDate(new UFDate(busidate).asEnd().toString());
|
||||
creditCond.setCurPk(detail.getPk_currtype());
|
||||
|
||||
AssVO[] assvos = detail.getAss();
|
||||
if (assvos != null && assvos.length > 0) {
|
||||
creditCond.setAssvos(assvos);
|
||||
} else {
|
||||
creditCond.setAssvos(null);
|
||||
}
|
||||
|
||||
creditCond.setBeginDate(null);
|
||||
creditCond.setEndDate(new UFDate(busidate).asEnd().toString());
|
||||
creditCond.setDateType("Businessdate");
|
||||
creditCond.setMnyType("原币");/* -=notranslate=- */
|
||||
creditCond.setDigest(null);
|
||||
creditCond.setVerifyNo(null);
|
||||
creditCond.sethasTally(true);
|
||||
|
||||
debitCond.setPkuser(InvocationInfoProxy.getInstance().getUserId());
|
||||
debitCond.setPk_glorgbook(detail.getPk_accountingbook());
|
||||
debitCond.setPkSob(null);
|
||||
debitCond.setLogonDate(new UFDate(busidate).asEnd().toString());
|
||||
debitCond.setCurPk(detail.getPk_currtype());
|
||||
|
||||
if (assvos != null && assvos.length > 0) {
|
||||
debitCond.setAssvos(assvos);
|
||||
} else {
|
||||
debitCond.setAssvos(null);
|
||||
}
|
||||
|
||||
debitCond.setBeginDate(null);
|
||||
debitCond.setEndDate(new UFDate(busidate).asEnd().toString());
|
||||
debitCond.setDateType("Businessdate");
|
||||
debitCond.setMnyType("原币");/* -=notranslate=- */
|
||||
debitCond.setDigest(null);
|
||||
debitCond.setVerifyNo(null);
|
||||
debitCond.sethasTally(true);
|
||||
voCond.setCreditCond(creditCond);
|
||||
voCond.setDebitCond(debitCond);
|
||||
VoucherVO voucher = new VoucherVO();
|
||||
voucher.setPk_voucher(detail.getPk_voucher());
|
||||
voucher.setPk_accountingbook(detail.getPk_accountingbook());
|
||||
voucher.setPrepareddate(detail.getPrepareddate());
|
||||
Object[] refVerifyData = new DetailServiceBO().getRefVerifyData(detail, voCond, voucher);
|
||||
if (refVerifyData != null && refVerifyData.length > 0) {
|
||||
GlVerifyWebModel verifyModel = new GlVerifyWebModel();
|
||||
verifyModel.setPk_accountingbook(detail.getPk_accountingbook());
|
||||
verifyModel.setRslt((FilterCondVO) refVerifyData[2],
|
||||
(nc.vo.glrp.verify.VerifyDetailVO[][]) refVerifyData[3]);
|
||||
|
||||
reusltMap = getReusltMap(detail, verifyModel, refVerifyData, false);
|
||||
}
|
||||
return reusltMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Object> queryBadAccountRate(String pk_accountAgePeriod) throws BusinessException {
|
||||
List<Object> rslist = new ArrayList<Object>();
|
||||
StringBuffer sbSQL = new StringBuffer();
|
||||
sbSQL.append(" select propertyid,startunit,endunit,b.unit,descr from fipub_timecontrol_b pub_timecontrol_a" +
|
||||
" join fipub_timecontrol b on b.pk_timectrl =pub_timecontrol_a.pk_timectrl where pub_timecontrol_a .pk_timectrl = '");
|
||||
sbSQL.append(pk_accountAgePeriod);
|
||||
sbSQL.append("' and pub_timecontrol_a.dr = 0 order by pub_timecontrol_a.propertyid ");
|
||||
nc.vo.pub.rs.MemoryResultSet accountPeriod = null;
|
||||
try {
|
||||
accountPeriod = GLPubProxy.getRemoteAccountAgeAnalysis().queryPeriod(sbSQL.toString());
|
||||
while (accountPeriod.next()) {
|
||||
// startvalue
|
||||
Object objStart = accountPeriod.getInt(STARTUNIT);
|
||||
// endvalue
|
||||
Object objEnd = accountPeriod.getInt(ENDUNIT);
|
||||
// 是年、月、日
|
||||
Object objUnit = accountPeriod.getInt(UNIT);
|
||||
// 账龄区间描述
|
||||
Object objDescr = accountPeriod.getString(DESCR);
|
||||
if (StrTools.isEmptyStr((String) objDescr)) {
|
||||
if (objEnd == null || Integer.parseInt(objEnd.toString()) == 0) {
|
||||
if (objDescr == null) {
|
||||
if (objUnit != null && objUnit == TimeUnit.valueOfInt(TimeUnit.DAY)) {
|
||||
objDescr = objStart.toString() + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("subjverify_0", "02002004-0001")/*@res "天以上"*/;
|
||||
} else if (objUnit != null && objUnit == TimeUnit.valueOfInt(TimeUnit.MONTH)) {
|
||||
objDescr = objStart.toString() + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("subjverify_0", "02002004-0002")/*@res "月以上"*/;
|
||||
} else {
|
||||
objDescr = objStart.toString() + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("subjverify_0", "02002004-0003")/*@res "年以上"*/;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (objUnit != null && objUnit == TimeUnit.valueOfInt(TimeUnit.DAY)) {
|
||||
objDescr = objStart.toString() + "-" + objEnd.toString() + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("subjverify_0", "02002004-0004")/*@res "天"*/;
|
||||
} else if (objUnit != null && objUnit == TimeUnit.valueOfInt(TimeUnit.MONTH)) {
|
||||
objDescr = objStart.toString() + "-" + objEnd.toString() + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("common", "UC000-0002494")/*@res "月"*/;
|
||||
} else {
|
||||
objDescr = objStart.toString() + "-" + objEnd.toString() + nc.vo.ml.NCLangRes4VoTransl.getNCLangRes().getStrByID("common", "UC000-0001787")/*@res "年"*/;
|
||||
}
|
||||
}
|
||||
}
|
||||
rslist.add(objDescr);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new BusinessException(e);
|
||||
}
|
||||
return rslist;
|
||||
}
|
||||
|
||||
/**
|
||||
* 为借方和贷方列表增加币种字段
|
||||
*
|
||||
* @param creditInfo
|
||||
* @param creditInfo
|
||||
*/
|
||||
private void setCurrTypeNameForVerify(Map<String, Map<String, Object>>[] creditInfo, Map<String, Map<String, Object>>[] debitInfo) {
|
||||
Map<String, String> resMap = new HashMap<>();
|
||||
Set<String> pk_currtypes = new HashSet<>();
|
||||
try {
|
||||
// 提取币种主键
|
||||
processCurrencyTypes(creditInfo, pk_currtypes);
|
||||
processCurrencyTypes(debitInfo, pk_currtypes);
|
||||
|
||||
// 查询币种名称
|
||||
String pk_currtypeStr = String.join("','", pk_currtypes);
|
||||
// NCCForUAPLogger.debug("pk_currtypeStr:" + pk_currtypeStr);
|
||||
String sql = "select pk_currtype, name from bd_currtype where pk_currtype in ('" + pk_currtypeStr + "') and dr = 0";
|
||||
List<Map> results = (List<Map>) new BaseDAO().executeQuery(sql, new MapListProcessor());
|
||||
|
||||
for (Map result : results) {
|
||||
String pk_currtype = result.getOrDefault("pk_currtype", "") + "";
|
||||
String name = result.getOrDefault("name", "") + "";
|
||||
if (pk_currtype.isEmpty() || name.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
resMap.put(pk_currtype, name);
|
||||
}
|
||||
|
||||
// 设置币种名称
|
||||
setCurrencyNameInArr(creditInfo, resMap);
|
||||
setCurrencyNameInArr(debitInfo, resMap);
|
||||
} catch (Exception e) {
|
||||
NCCForUAPLogger.debug("setCurrTypeNameForVerify-exp:" + e.getMessage());
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
private void processCurrencyTypes(Map<String, Map<String, Object>>[] infoArray, Set<String> pk_currtypes) {
|
||||
for (Map<String, Map<String, Object>> map : infoArray) {
|
||||
Map<String, Object> currtypeMap = map.get("m_pk_currtype");
|
||||
// NCCForUAPLogger.debug("infoArray-m_pk_currtype= " + currtypeMap);
|
||||
if (!"".equals(currtypeMap.getOrDefault("value", ""))) {
|
||||
String pk_currtype = currtypeMap.getOrDefault("value", "") + "";
|
||||
pk_currtypes.add(pk_currtype);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void setCurrencyNameInArr(Map<String, Map<String, Object>>[] infoArray, Map<String, String> resMap) {
|
||||
for (Map<String, Map<String, Object>> map : infoArray) {
|
||||
Map<String, Object> currtypeMap = map.get("m_pk_currtype");
|
||||
String pk_currtype = currtypeMap.getOrDefault("value", "") + "";
|
||||
String m_currtypeName = resMap.get(pk_currtype);
|
||||
|
||||
Map<String, Object> currtypeNameMap = new HashMap<>();
|
||||
currtypeNameMap.put("value", m_currtypeName);
|
||||
currtypeNameMap.put("display", m_currtypeName);
|
||||
map.put("m_currtypeName", currtypeNameMap);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*336L/tOhma6VzKP3mxHcEkAXkBRqJpb8XsF1elPHMJ2c/NcdtKK6mxZmzuL3bjcU*/
|
|
@ -595,6 +595,7 @@ public class APISaleOrderMaitainImpl implements IAPISaleOrderMaitain {
|
|||
String ybpk = hvo.getCorigcurrencyid();
|
||||
SaleOrderBVO[] bvos = vo.getChildrenVO();
|
||||
List<SaleOrderBVO> bvoList = new ArrayList<>(Arrays.asList(bvos));
|
||||
SaleOrderBVO oneBvo = vo.getChildrenVO()[0];
|
||||
|
||||
List<Object> bodyArr = (List<Object>) objectMap.get("so_saleorder_b");
|
||||
for (Object body : bodyArr) {
|
||||
|
@ -608,7 +609,11 @@ public class APISaleOrderMaitainImpl implements IAPISaleOrderMaitain {
|
|||
SaleOrderBVO newBvo = new SaleOrderBVO();
|
||||
newBvo.setStatus(VOStatus.NEW);
|
||||
newBvo.setAttributeValue("pk_group", pk_group);
|
||||
newBvo.setAttributeValue("cprojectid", bodydata.get("cprojectid"));
|
||||
String cprojectid = bodydata.get("cprojectid") + "";
|
||||
if (oneBvo != null) {
|
||||
cprojectid = oneBvo.getCprojectid();
|
||||
}
|
||||
newBvo.setAttributeValue("cprojectid", cprojectid);
|
||||
// newBvo.setAttributeValue("ctrafficorgvid", pkOrg);
|
||||
// newBvo.setAttributeValue("csendstockorgvid", pkOrg);
|
||||
// newBvo.setAttributeValue("csendstordocid", pkOrg);
|
||||
|
|
Loading…
Reference in New Issue