diff --git a/ic/src/client/nccloud/web/ic/outbound/materialout/action/QueryMaterialOutCardInfoAction.java b/ic/src/client/nccloud/web/ic/outbound/materialout/action/QueryMaterialOutCardInfoAction.java new file mode 100644 index 0000000..48df6c2 --- /dev/null +++ b/ic/src/client/nccloud/web/ic/outbound/materialout/action/QueryMaterialOutCardInfoAction.java @@ -0,0 +1,84 @@ +package nccloud.web.ic.outbound.materialout.action; + +import nc.itf.scmpub.reference.uap.bd.currency.CurrencyInfo; +import nc.vo.ic.general.define.ICBillVO; +import nc.vo.ml.NCLangRes4VoTransl; +import nc.vo.scmpub.res.billtype.ICBillType; +import nc.vo.scmpub.util.BillBodySortUtils; +import nccloud.commons.lang.StringUtils; +import nccloud.dto.ic.pub.entity.BillVOWithExtendInfo; +import nccloud.framework.core.json.IJson; +import nccloud.framework.service.ServiceLocator; +import nccloud.framework.web.action.itf.ICommonAction; +import nccloud.framework.web.container.IRequest; +import nccloud.framework.web.json.JsonFactory; +import nccloud.framework.web.ui.model.row.Cell; +import nccloud.framework.web.ui.pattern.billcard.BillCard; +import nccloud.pubitf.ic.pub.service.IICBillVOQueryService; +import nccloud.web.ic.pub.precision.ICBaseBillcardPrecisionHandler; +import nccloud.web.ic.pub.utils.DealDisplayIsNullUtil; +import nccloud.web.ic.ui.pattern.billcard.ICBillCardOperator; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Classname QueryMaterialOutCardInfoAction + * @Description TODO + * @Version 1.0.0 + * @Date 2025/6/25 16:48 + * @Created by ame + */ +public class QueryMaterialOutCardInfoAction implements ICommonAction { + @Override + public Object doAction(IRequest request) { + String read = request.read(); + IJson json = JsonFactory.create(); + Map info = json.fromJson(read, Map.class); + List pks = (List) info.get("pks"); + String pageid = (String) info.get("pageid"); + String pagecodechi = (String) info.get("pagecodechi"); + Map retmap = new HashMap(); + BillVOWithExtendInfo[] billVOWithExtendInfos = ((IICBillVOQueryService) ServiceLocator.find(IICBillVOQueryService.class)).queryBillDev(ICBillType.MaterialOut, pks.toArray(new String[0])); + if(billVOWithExtendInfos!=null && billVOWithExtendInfos.length>0){ + List billCardList=new ArrayList<>(); + for(BillVOWithExtendInfo extendInfo : billVOWithExtendInfos){ + BillBodySortUtils.sort(new ICBillVO[]{extendInfo.getBillvo()}); + BillCard retcard = this.afterProcess(pagecodechi, pageid, extendInfo.getBillvo()); + billCardList.add(retcard); +// retmap.put("isLocationManaged", extendInfo.isLocationManaged()); +// retmap.put("materialSerialMap", extendInfo.getMaterialSerialMap()); +// retmap.put("materialSnunitMap", extendInfo.getMaterialSnunitMap()); + } + + retmap.put("billcard", billCardList); + return retmap; + }else{ + throw new RuntimeException(NCLangRes4VoTransl.getNCLangRes().getStrByID("4008027_0", "04008027-0180")); + } + } + public BillCard afterProcess(String pagecodechi, String pageid, ICBillVO vo) { + ICBillCardOperator operator = new ICBillCardOperator((String)null, pageid, pagecodechi); + BillCard retcard = operator.toCard(vo); + String ccurrencyid = (String)vo.getBody(0).getAttributeValue("ccurrencyid"); + if (!StringUtils.isEmpty(ccurrencyid)) { + String name = CurrencyInfo.getName(ccurrencyid); + retcard.getBody().getModel().getListRows().forEach((row) -> { + Cell cell = new Cell(); + cell.setValue(ccurrencyid); + cell.setDisplay(name); + row.addCell("ccurrencyid", cell); + }); + } + + ICBaseBillcardPrecisionHandler handler = this.getPrecisionHandler(retcard); + handler.process(); + DealDisplayIsNullUtil.dealBillCardDisPlayIsNull(new String[]{"ccorrespondcode", "vexigencycode"}, retcard); + return retcard; + } + protected ICBaseBillcardPrecisionHandler getPrecisionHandler(BillCard card) { + return new ICBaseBillcardPrecisionHandler(card); + } +} diff --git a/ic/src/client/nccloud/web/ic/pub/action/GeneralSumPrintAction.java b/ic/src/client/nccloud/web/ic/pub/action/GeneralSumPrintAction.java new file mode 100644 index 0000000..3121091 --- /dev/null +++ b/ic/src/client/nccloud/web/ic/pub/action/GeneralSumPrintAction.java @@ -0,0 +1,100 @@ +package nccloud.web.ic.pub.action; + +import com.alibaba.fastjson.JSON; +import nc.vo.ic.general.define.ICBillVO; +import nc.vo.pubapp.res.NCModule; +import nccloud.base.reflect.NCClass; +import nccloud.dto.ic.pub.entity.GeneralSumPrintInfo; +import nccloud.framework.core.io.WebFileType; +import nccloud.framework.core.json.IJson; +import nccloud.framework.web.container.SessionContext; +import nccloud.framework.web.json.JsonFactory; +import nccloud.framework.web.processor.template.BillCardConvertProcessor; +import nccloud.framework.web.processor.template.ExtBillCardConvertProcessor; +import nccloud.framework.web.ui.pattern.billcard.BillCard; +import nccloud.framework.web.ui.pattern.extbillcard.ExtBillCard; +import nccloud.pubitf.platform.print.IPrintInfo; +import nccloud.pubitf.platform.print.vo.BatchPrintInfo; +import nccloud.web.platform.print.AbstractPrintAction; + +import java.util.ArrayList; +import java.util.List; + +/** + * @description 出入库汇总打印 + * @author zhegnxinm + * @date 2018-12-16 上午10:48:39 + * @version ncc1.0 + */ +public class GeneralSumPrintAction extends AbstractPrintAction { + + @Override + public IPrintInfo convertPrintInfo(BatchPrintInfo info) { + IJson json = JsonFactory.create(); + GeneralSumPrintInfo newinfo = json.fromJson(info.getUserjson(), GeneralSumPrintInfo.class); + newinfo.setFilename((info.getFilename() == null) ? "download-" + + String.valueOf(System.currentTimeMillis()) : info + .getFilename()); + + String appcode = info.getAppcode(); + String billcardStr = newinfo.getBillcard(); + + if (appcode == null) { + appcode = SessionContext.getInstance().getAppcode(); + } + ICBillVO bill = null; + if(appcode.equals("400800800")){ + ExtBillCard billcard = json.fromJson(billcardStr, ExtBillCard.class); + ExtBillCardConvertProcessor processor = new ExtBillCardConvertProcessor(); + bill = processor.fromExtBillCard(billcard); + }else if("400801214".equals(appcode)){ + BillCard[] billcardList = json.fromJson(billcardStr,BillCard[].class); + BillCardConvertProcessor processor = new BillCardConvertProcessor(); + List billVOList=new ArrayList<>(); + newinfo.setAppcode(appcode); + newinfo.setIds(info.getOids()); + newinfo.setNodeKey(info.getNodekey()); + NCClass printServiceClazz = new NCClass(); + printServiceClazz.setModule(getPrintServiceModule()); + printServiceClazz.setName(getPrintServiceName()); + newinfo.setPrintServiceClazz(printServiceClazz); + newinfo.setPrintTemplateID(info.getPrintTemplateID()); + for(BillCard billcard:billcardList ){ + bill = processor.fromBillCard(billcard); + billVOList.add(bill); + } + newinfo.setData(billVOList.toArray(new Object[0])); + return newinfo; + }else{ + BillCard billcard = json.fromJson(billcardStr,BillCard.class); + BillCardConvertProcessor processor = new BillCardConvertProcessor(); + bill = processor.fromBillCard(billcard); + } + newinfo.setAppcode(appcode); + newinfo.setIds(info.getOids()); + newinfo.setNodeKey(info.getNodekey()); + NCClass printServiceClazz = new NCClass(); + printServiceClazz.setModule(getPrintServiceModule()); + printServiceClazz.setName(getPrintServiceName()); + newinfo.setPrintServiceClazz(printServiceClazz); + newinfo.setPrintTemplateID(info.getPrintTemplateID()); + newinfo.setData(new Object[] { bill }); + return newinfo; + } + + + + + public String getPrintServiceModule() { + return NCModule.IC.getName(); + } + + public String getPrintServiceName() { + return "nccloud.pubimpl.ic.inbound.generalin.operator.GeneralSumPrintOperator"; + } + + public WebFileType getWebFileType() { + return WebFileType.Pdf; + } + +} diff --git a/ic/src/client/yyconfig/modules/ic/outbound/config/action/materialout.xml b/ic/src/client/yyconfig/modules/ic/outbound/config/action/materialout.xml new file mode 100644 index 0000000..c816078 --- /dev/null +++ b/ic/src/client/yyconfig/modules/ic/outbound/config/action/materialout.xml @@ -0,0 +1,173 @@ + + + + ic.materialout.query + + nccloud.web.ic.outbound.materialout.action.MaterialOutQueryAction + + + ic.materialout.queryPage + + nccloud.web.ic.outbound.materialout.action.MaterialOutPageQueryAction + + + ic.materialout.maintain + + nccloud.web.ic.outbound.materialout.action.MaterialOutMaintainAction + Delete,UnSign,Sign + + + ic.materialout.save + + nccloud.web.ic.outbound.materialout.action.MaterialOutSaveAction + Save + + + ic.materialout.canbecopy + + nccloud.web.ic.outbound.materialout.action.MaterialOutBeforeCopyAction + + + ic.materialout.copy + + nccloud.web.ic.outbound.materialout.action.MaterialOutCopyAction + Copy + + + ic.materialout.importSrcBillSN + + nccloud.web.ic.outbound.materialout.action.MaterialOutImportSrcSNAction + ImportSrcBillSN + + + ic.materialout.cardquery + + nccloud.web.ic.outbound.materialout.action.MaterialOutQueryCardAction + + + ic.materialout.query422x + + nccloud.web.ic.outbound.materialout.action.Query422xFor4DAction + + + ic.materialout.query4B36 + + nccloud.web.ic.outbound.materialout.action.Query4B36For4DAction + + + ic.materialout.query4455 + + nccloud.web.ic.outbound.materialout.action.Query4455For4DAction + + + ic.materialout.queryall + + nccloud.web.ic.outbound.materialout.action.QueryAllFor4DAction + + + ic.materialout.transfervo + + nccloud.web.ic.outbound.materialout.action.TransToMaterialOutAction + + + ic.materialout.pickauto + + nccloud.web.ic.outbound.materialout.action.MaterialOutPickAutoAction + PickAuto + + + ic.materialout.print + + nccloud.web.ic.outbound.materialout.action.MaterialOutPrintAction + Print,output,Print_list + + + ic.materialout.printloc + + nccloud.web.ic.outbound.materialout.action.MaterialOutPrintLocAction + PrintLoc + + + ic.materialout.combine + + nccloud.web.ic.outbound.materialout.action.MaterialOutCombineAction + CombinePrint + + + ic.materialout.checkprem + + nccloud.web.ic.outbound.materialout.action.MaterialOutDataPermissionAction + Edit,Print + + + ic.materialout.headAfterEdit + + nccloud.web.ic.outbound.materialout.events.MaterialOutHeadAfterEventAction + + + ic.materialout.bodyAfterEdit + + nccloud.web.ic.outbound.materialout.events.MaterialOutBodyAfterEditAction + + + ic.materialout.locationquery + + nccloud.web.ic.outbound.materialout.action.MaterialOutLocationQueryAction + + + ic.materialout.queryMMbill + + nccloud.web.ic.outbound.materialout.action.QueryMMbillAction + + + ic.materialout.generateCard + + nccloud.web.ic.outbound.materialout.action.MaterialOutGenerateEquipCardAction + Generate4A00,Cancel4A00 + + + ic.materialout.frominvcount + + nccloud.web.ic.outbound.materialout.action.MaterialOutFromInvcountAdjustAction + + + ic.materialout.frompurchasein + + nccloud.web.ic.outbound.materialout.action.PurchaseIn2MaterialOutAction + + + ic.materialout.dealratio + + nccloud.web.ic.outbound.materialout.action.MaterialOutDealRatioDataAction + + + ic.materialout.delRowCheck + + nccloud.web.ic.outbound.materialout.action.MaterialOutDelRowCheckAction + + + ic.generalout.query4A + + nccloud.web.ic.outbound.materialout.action.Query4A60for4DAction + + + ic.materialout.generatehj + + nccloud.web.ic.outbound.materialout.action.MaterialOutFixedAssetAction + + + ic.materialout.delMaterialOutAssetbill + + nccloud.web.ic.outbound.materialout.action.MaterialOutDelFixedAssetAction + + + ic.materialout.onhandOut + + nccloud.web.ic.outbound.materialout.action.OnhandToMaterialOutAction + + + ic.materialout.queryCardByPKs + + nccloud.web.ic.outbound.materialout.action.QueryMaterialOutCardInfoAction + + diff --git a/ic/src/client/yyconfig/modules/ic/outbound/config/authorize/materialout_authorize.xml b/ic/src/client/yyconfig/modules/ic/outbound/config/authorize/materialout_authorize.xml new file mode 100644 index 0000000..8368085 --- /dev/null +++ b/ic/src/client/yyconfig/modules/ic/outbound/config/authorize/materialout_authorize.xml @@ -0,0 +1,46 @@ + + + 400801214,400802200 + + ic.materialout.query + ic.materialout.queryPage + ic.saleout.queryAddBtn + ic.materialout.maintain + ic.materialout.save + ic.materialout.canbecopy + ic.materialout.copy + ic.materialout.importSrcBillSN + ic.materialout.cardquery + ic.materialout.query422x + ic.materialout.query4455 + ic.materialout.query4B36 + ic.materialout.queryall + ic.generalout.queryin + ic.materialout.transfervo + ic.materialout.pickauto + ic.materialout.print + ic.materialout.printloc + ic.materialout.combine + ic.materialout.checkprem + ic.materialout.headAfterEdit + ic.materialout.bodyAfterEdit + ic.materialout.locationquery + ic.materialout.queryMMbill + ic.materialout.generateCard + ic.materialout.frominvcount + ic.materialout.frompurchasein + ic.materialout.dealratio + ic.materialout.delRowCheck + ic.materialout.generatehj + ic.materialout.delMaterialOutAssetbill + ic.materialout.onhandOut + ic.materialout.queryCardByPKs + + + + 400802000,400802004,400800808,400800816 + + ic.materialout.queryMMbill + + + diff --git a/ic/src/private/nccloud/pubimpl/ic/pub/service/ICBillVOQueryServiceImpl.java b/ic/src/private/nccloud/pubimpl/ic/pub/service/ICBillVOQueryServiceImpl.java new file mode 100644 index 0000000..306cf94 --- /dev/null +++ b/ic/src/private/nccloud/pubimpl/ic/pub/service/ICBillVOQueryServiceImpl.java @@ -0,0 +1,196 @@ +package nccloud.pubimpl.ic.pub.service; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import nc.bs.framework.common.NCLocator; +import nc.bs.ic.pub.util.ICBillVOQuery; +import nc.impl.pubapp.pattern.data.vo.VOQuery; +import nc.pubitf.uapbd.CurrencyRateUtilHelper; +import nc.vo.ic.general.define.ICBillBodyVO; +import nc.vo.ic.general.define.ICBillFlag; +import nc.vo.ic.general.define.ICBillHeadVO; +import nc.vo.ic.general.define.ICBillVO; +import nc.vo.ic.general.define.MetaNameConst; +import nc.vo.ic.general.util.ICLocationUtil; +import nc.vo.ic.m45.entity.PurchaseInVO; +import nc.vo.ic.org.OrgInfoQuery; +import nc.vo.ic.transtype.TransTypeExtendVO; +import nc.vo.pub.ISuperVO; +import nc.vo.pubapp.pattern.exception.ExceptionUtils; +import nc.vo.scmpub.res.billtype.ICBillType; +import nc.vo.scmpub.util.BillBodySortUtils; +import nc.vo.ic.m45.utils.BillQuery; +import nccloud.dto.ic.pub.entity.BillVOWithExtendInfo; +import nccloud.dto.ic.pub.entity.ICBillstatusForWeb; +import nccloud.pubimpl.ic.pub.utils.ICBillExtendInfoHelper; +import nccloud.pubitf.ic.pub.service.IICBillVOQueryService; + +/** + * 库存单据查询实现类 + * + * @author hujieh + * + */ +public class ICBillVOQueryServiceImpl implements IICBillVOQueryService { + + @Override + public ICBillVO[] query(ICBillType billtype, String[] hids) { + ICBillVO[] vos = new ICBillVOQuery(billtype).query(hids); + if(billtype.equals(ICBillType.PurchaseIn)){ + try { + vos = new BillQuery(PurchaseInVO.class).queryGrandsons((PurchaseInVO[]) vos); + } catch (Exception e) { + ExceptionUtils.wrappException(e); + } + } + return vos; + } + + @SuppressWarnings("unchecked") + @Override + public ICBillHeadVO[] query(Class T, String[] hids) { + return (ICBillHeadVO[]) new VOQuery(T).query(hids); + } + + @Override + public BillVOWithExtendInfo queryBillExtByVO(ICBillVO vo) { + BillVOWithExtendInfo info = new ICBillExtendInfoHelper() + .getExtendInfoByBillVO(vo); + return info; + } + + @Override + public BillVOWithExtendInfo queryBillExt(ICBillType billtype, String hid) { + ICBillVO[] vos = new ICBillVOQuery(billtype).query(new String[] { hid }); + if(billtype.equals(ICBillType.PurchaseIn)){ + try { + vos = new BillQuery(PurchaseInVO.class).queryGrandsons((PurchaseInVO[]) vos); + } catch (Exception e) { + ExceptionUtils.wrappException(e); + } + } + if (billtype.equals(ICBillType.LocAdjust)) { + vos = ICLocationUtil.loadLocationVOsFilterNeg(vos); + } else { + vos = ICLocationUtil.loadLocationVOs(vos); + } + if (vos != null && vos.length == 1) { + BillBodySortUtils.sort(vos); + // 本位币 + String cfinanceoid = new OrgInfoQuery().getFinanceOrgIDByCalBodyID(vos[0].getHead().getPk_org()); + String ccurrencyid = CurrencyRateUtilHelper.getInstance().getLocalCurrtypeByOrgID(cfinanceoid); + Arrays.asList(vos[0].getBodys()).stream().forEach(body -> {body.setAttributeValue(MetaNameConst.CCURRENCYID, ccurrencyid);}); + BillVOWithExtendInfo info = new ICBillExtendInfoHelper() + .getExtendInfoByBillVO(vos[0]); + return info; + } + + return null; + } + + @Override + public BillVOWithExtendInfo[] queryBillDev(ICBillType billtype, String[] hids) { + ICBillVO[] vos = new ICBillVOQuery(billtype).query(hids); + if(billtype.equals(ICBillType.PurchaseIn)){ + try { + vos = new BillQuery(PurchaseInVO.class).queryGrandsons((PurchaseInVO[]) vos); + } catch (Exception e) { + ExceptionUtils.wrappException(e); + } + } + if (billtype.equals(ICBillType.LocAdjust)) { + vos = ICLocationUtil.loadLocationVOsFilterNeg(vos); + } else { + vos = ICLocationUtil.loadLocationVOs(vos); + } + List resultList=new ArrayList<>(); + if (vos != null && vos.length >0) { + BillBodySortUtils.sort(vos); + + for(ICBillVO vo:vos){ + // 本位币 + String cfinanceoid = new OrgInfoQuery().getFinanceOrgIDByCalBodyID(vo.getHead().getPk_org()); + String ccurrencyid = CurrencyRateUtilHelper.getInstance().getLocalCurrtypeByOrgID(cfinanceoid); + Arrays.asList(vo.getBodys()).stream().forEach(body -> {body.setAttributeValue(MetaNameConst.CCURRENCYID, ccurrencyid);}); + BillVOWithExtendInfo info = new ICBillExtendInfoHelper() + .getExtendInfoByBillVO(vo); + resultList.add(info); + } + } + return resultList.toArray(new BillVOWithExtendInfo[resultList.size()]); + } + @Override + public TransTypeExtendVO qryTransTypeExtendVOByPK(String pk) { + TransTypeExtendVO[] retvo = (TransTypeExtendVO[]) new VOQuery( + TransTypeExtendVO.class).queryWithWhereKeyWord( + " where CTRANTYPEID= '" + pk + "'", ""); + return retvo[0]; + } + + @Override + public ICBillHeadVO[] queryHeadWithInfo(ICBillType billtype, + ISuperVO[] headvos) { + ICBillVO[] billvos = queryBillByHead(billtype, headvos); + if (billvos == null || billvos.length == 0) { + return null; + } + return filterHeadVO(billvos); + } + + private ICBillHeadVO[] filterHeadVO(ICBillVO[] billvos) { + List headvos = new ArrayList(); + for (ICBillVO billvo : billvos) { + ICBillHeadVO head = billvo.getHead(); + // 处理中和待签字的单据都是自由态 + if (head.getFbillflag() == ICBillFlag.getFreeFlag()) { + boolean isProcessing = false; + ICBillBodyVO[] bodys = billvo.getBodys(); + // 存在一行表体没有实收或实发的单据认为是处理中 + // 数量为0认为是有数量 + for (ICBillBodyVO body : bodys) { + if (null == body.getNnum()) { + isProcessing = true; + break; + } + } + // 不是处理中的单据认为是待签字 + if (!isProcessing) { + head.setAttributeValue(ICBillstatusForWeb.ICBILLSTATUS, + ICBillstatusForWeb.TOSIGN); + } else { + head.setAttributeValue(ICBillstatusForWeb.ICBILLSTATUS, + ICBillstatusForWeb.TOPROCESS); + } + } else { + head.setAttributeValue(ICBillstatusForWeb.ICBILLSTATUS, + ICBillstatusForWeb.SIGNED); + } + headvos.add(head); + } + return headvos.toArray(new ICBillHeadVO[0]); + } + + private ICBillVO[] queryBillByHead(ICBillType billtype, ISuperVO[] headvos) { + Set ids = new HashSet(); + for (ISuperVO headvo : headvos) { + ids.add((String) headvo + .getAttributeValue(MetaNameConst.CGENERALHID)); + } + ICBillVO[] billvos = NCLocator.getInstance() + .lookup(IICBillVOQueryService.class) + .query(billtype, ids.toArray(new String[0])); + return billvos; + } + + // @Override + // public TransTypeExtendVO qryTransTypeExtendVOByPK(String pk) { + // TransTypeExtendVO[] retvo = (TransTypeExtendVO[]) new VOQuery( + // TransTypeExtendVO.class).queryWithWhereKeyWord(" where pk_group =" + // + "'" + InvocationInfoProxy.getInstance().getGroupId() + "'" + // + " and transtypecode = " + "'" + pk + "'", null); + // return retvo[0]; + // } +} diff --git a/ic/src/public/nccloud/pubitf/ic/pub/service/IICBillVOQueryService.java b/ic/src/public/nccloud/pubitf/ic/pub/service/IICBillVOQueryService.java new file mode 100644 index 0000000..f425613 --- /dev/null +++ b/ic/src/public/nccloud/pubitf/ic/pub/service/IICBillVOQueryService.java @@ -0,0 +1,61 @@ +package nccloud.pubitf.ic.pub.service; + +import nc.vo.ic.general.define.ICBillHeadVO; +import nc.vo.ic.general.define.ICBillVO; +import nc.vo.ic.transtype.TransTypeExtendVO; +import nc.vo.pub.ISuperVO; +import nc.vo.scmpub.res.billtype.ICBillType; +import nccloud.dto.ic.pub.entity.BillVOWithExtendInfo; + +/** + * 库存单据查询接口 + * @author hujieh + * + */ +public interface IICBillVOQueryService { + + /** + * 根据父类主键,查询聚合VO + * @param hids + * @return + */ + public ICBillVO[] query(ICBillType billtype, String[] hids); + /** + * 根据主键查询表头信息 + * @param T + * @param hids + * @return + * + */ + public ICBillHeadVO[] query(Class T,String[] hids); + + /** + * 查询库存单据,并且包含扩展信息 + * @param billtype + * @param hid + * @return + */ + public BillVOWithExtendInfo queryBillExt(ICBillType billtype, String hid); + public BillVOWithExtendInfo[] queryBillDev(ICBillType billtype, String[] hids); + /** + *查询交易类型扩展属性vo + * @param pk + * @return + * + */ + public TransTypeExtendVO qryTransTypeExtendVOByPK(String pk); + + /** + * 库存出入库单据根据表头vo,补充toSign(是否可以签字)标志并返回 + * @param headvos + * @return + */ + public ICBillHeadVO[] queryHeadWithInfo(ICBillType billtype, ISuperVO[] headvos); + + /** + * 查询库存单据,并且包含扩展信息 + * @param vo + * @return + */ + public BillVOWithExtendInfo queryBillExtByVO(ICBillVO vo); +}