diff --git a/mmpac/src/client/nccloud/web/mmpac/issue/action/IssuePrintAction.java b/mmpac/src/client/nccloud/web/mmpac/issue/action/IssuePrintAction.java
new file mode 100644
index 0000000..50b6830
--- /dev/null
+++ b/mmpac/src/client/nccloud/web/mmpac/issue/action/IssuePrintAction.java
@@ -0,0 +1,18 @@
+package nccloud.web.mmpac.issue.action;
+
+import nccloud.web.platform.print.AbstractPrintAction;
+
+/**
+ * 生产领料-备料计划列表打印
+ */
+public class IssuePrintAction extends AbstractPrintAction {
+ @Override
+ public String getPrintServiceModule() {
+ return "mmpac";
+ }
+
+ @Override
+ public String getPrintServiceName() {
+ return "nccloud.pubimpl.mmpac.issue.service.IssuePickmPrintOperator";
+ }
+}
diff --git a/mmpac/src/client/yyconfig/modules/mmpac/issue/config/action/action.xml b/mmpac/src/client/yyconfig/modules/mmpac/issue/config/action/action.xml
new file mode 100644
index 0000000..8c800c8
--- /dev/null
+++ b/mmpac/src/client/yyconfig/modules/mmpac/issue/config/action/action.xml
@@ -0,0 +1,74 @@
+
+
+
+ mmpac.issue.issuepickmquery
+
+ nccloud.web.mmpac.issue.action.IssuePickmQueryAction
+
+
+ mmpac.issue.issuereqpickmquery
+
+ nccloud.web.mmpac.issue.action.IssueReqPickmQueryAction
+
+
+ mmpac.issue.queryIssueObtainStockAccountNum
+
+ nccloud.web.mmpac.issue.action.IssueObtainStockAccountNumAction
+
+
+ mmpac.issue.issueDestIssueAction
+
+ nccloud.web.mmpac.issue.action.IssueDestIssueAction
+
+
+ mmpac.issue.issueReserveMaterialAction
+
+ nccloud.web.mmpac.issue.action.IssueReserveMaterialAction
+
+
+ mmpac.issue.issueQueryFromPickm
+
+ nccloud.web.mmpac.issue.action.IssueQueryFromPickmAction
+
+
+ mmpac.issue.isseQueryFromReqPickm
+
+ nccloud.web.mmpac.issue.action.IssueQueryFromReqPickmAction
+
+
+ mmpac.issue.isseQueryFromPutPlan
+
+ nccloud.web.mmpac.issue.action.IssueQueryFromPutPlanAction
+
+
+ mmpac.issue.isseQueryFromDispatchlist
+
+ nccloud.web.mmpac.issue.action.IssueQueryFromDispatchlistAction
+
+
+ mmpac.issue.issueQueryFromDirectTrans
+
+ nccloud.web.mmpac.issue.action.IssueQueryFromDirectTrans
+
+
+ mmpac.issue.issueDirectTransQuery
+
+ nccloud.web.mmpac.issue.action.IssueDirectTransQueryAction
+
+
+ mmpac.issue.issueDirectTransAction
+
+ nccloud.web.mmpac.issue.action.IssueDirectTransAction
+
+
+ mmpac.issue.issueQueryFromPutPlanDirectTrans
+
+ nccloud.web.mmpac.issue.action.IssueQueryFromPutPlanDirectTrans
+
+
+ mmpac.issue.checkIsNccNative
+
+ nccloud.web.mmpac.issue.action.IssueCheckIsNccNative
+
+
+
\ No newline at end of file
diff --git a/mmpac/src/private/nccloud/pubimpl/mmpac/issue/service/IssuePickmPrintOperator.java b/mmpac/src/private/nccloud/pubimpl/mmpac/issue/service/IssuePickmPrintOperator.java
new file mode 100644
index 0000000..5daf0d0
--- /dev/null
+++ b/mmpac/src/private/nccloud/pubimpl/mmpac/issue/service/IssuePickmPrintOperator.java
@@ -0,0 +1,52 @@
+package nccloud.pubimpl.mmpac.issue.service;
+
+import nc.impl.pubapp.pattern.data.bill.BillQuery;
+import nc.vo.mmpac.reqpickm.consts.ReqPickmLangConsts;
+import nc.vo.mmpac.reqpickm.entity.AggReqPickmVO;
+import nc.vo.mmpac.reqpickm.entity.ReqPickmItemVO;
+import nc.vo.mmpac.reqpickm.entity.ReqPickmSumVO;
+import nc.vo.mmpub.util.BillBodySortUtils;
+import nc.vo.pubapp.pattern.exception.ExceptionUtils;
+import nccloud.pubitf.mmpub.pub.print.BaseMetaPrintService;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 生产领料-备料计划列表打印服务类
+ */
+public class IssuePickmPrintOperator extends BaseMetaPrintService {
+ @Override
+ public Object[] getDatas(String[] ids) {
+ BillQuery query = new BillQuery(AggReqPickmVO.class);
+ String[] uniqueIds = this.removeDuplicates(ids);
+ AggReqPickmVO[] vos = query.query(uniqueIds);
+ if (null == vos || vos.length == 0) {
+ ExceptionUtils.wrappBusinessException(ReqPickmLangConsts.getEdit_msg());
+ }
+
+ BillBodySortUtils.sort(vos, "vrowno", ReqPickmItemVO.class);
+ BillBodySortUtils.sort(vos, "vrowno", ReqPickmSumVO.class);
+ return vos;
+ }
+
+ private String[] removeDuplicates(String[] ids) {
+ if (null == ids) {
+ return new String[0];
+ } else if (ids.length <= 1) {
+ return ids;
+ } else {
+ List uniqueIdList = new ArrayList();
+
+ for (int i = 0; i < ids.length; ++i) {
+ String id = ids[i];
+ if (!uniqueIdList.contains(id)) {
+ uniqueIdList.add(id);
+ }
+ }
+
+ String[] uniqueIds = (String[]) uniqueIdList.toArray(new String[0]);
+ return uniqueIds;
+ }
+ }
+}