按钮手动推送收货单质检报告到启源
This commit is contained in:
		
							parent
							
								
									da276076bf
								
							
						
					
					
						commit
						b8be8268f3
					
				|  | @ -0,0 +1,347 @@ | |||
| // | ||||
| // Source code recreated from a .class file by IntelliJ IDEA | ||||
| // (powered by FernFlower decompiler) | ||||
| // | ||||
| 
 | ||||
| package nccloud.web.qc.qcconclusion.action; | ||||
| 
 | ||||
| import com.alibaba.fastjson.JSON; | ||||
| import com.alibaba.fastjson.JSONArray; | ||||
| import com.alibaba.fastjson.JSONObject; | ||||
| import com.alibaba.fastjson.serializer.SerializerFeature; | ||||
| import nc.bs.dao.BaseDAO; | ||||
| import nc.bs.dao.DAOException; | ||||
| import nc.bs.framework.common.NCLocator; | ||||
| import nc.bs.logging.Log; | ||||
| import nc.bs.trade.business.HYPubBO; | ||||
| import nc.bs.uapbd.util.MyHelper; | ||||
| import nc.bs.uapbd.util.ThirdPartyPostRequestUtil; | ||||
| import nc.impl.pubapp.pattern.data.bill.BillQuery; | ||||
| import nc.itf.bd.supplier.baseinfo.ISupplierBaseInfoQryService; | ||||
| import nc.vo.am.common.util.StringUtils; | ||||
| import nc.vo.bd.material.MaterialVO; | ||||
| import nc.vo.bd.material.measdoc.MeasdocVO; | ||||
| import nc.vo.bd.psn.PsndocVO; | ||||
| import nc.vo.bd.supplier.SupplierVersionVO; | ||||
| import nc.vo.ml.NCLangRes4VoTransl; | ||||
| import nc.vo.org.OrgVO; | ||||
| import nc.vo.pu.m23.entity.ArriveHeaderVO; | ||||
| import nc.vo.pu.m23.entity.ArriveItemVO; | ||||
| import nc.vo.pu.m23.entity.ArriveVO; | ||||
| import nc.vo.pub.BusinessException; | ||||
| import nc.vo.qc.c003.entity.ReportHeaderVO; | ||||
| import nc.vo.qc.c003.entity.ReportItemVO; | ||||
| import nc.vo.qc.c003.entity.ReportVO; | ||||
| import nc.vo.scmpub.res.billtype.QCBillType; | ||||
| import nc.vo.scmpub.util.ArrayUtil; | ||||
| import nc.vo.sm.UserVO; | ||||
| import nccloud.base.exception.ExceptionUtils; | ||||
| import nccloud.baseapp.core.log.NCCForUAPLogger; | ||||
| 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.pubitf.scmpub.pub.service.ISCMPubQueryService; | ||||
| import nccloud.web.qc.pub.entity.BatchInfo; | ||||
| import nccloud.web.scmpub.pub.action.DataPermissionAction; | ||||
| import nccloud.web.scmpub.vocheck.VOSagaFrozenCheck; | ||||
| 
 | ||||
| import java.util.*; | ||||
| 
 | ||||
| public class QCRptDataPushtoQmsAction implements ICommonAction { | ||||
| 
 | ||||
|     private static final String LOG_INFO_NAME = "qyMesLog"; | ||||
|     private static final Log logger = Log.getInstance(LOG_INFO_NAME); | ||||
|     private static final String reqUrl = "/IF_QyErpApi.ashx?action=addsjd"; | ||||
|     private Map<String, String> configParams; | ||||
|     public QCRptDataPushtoQmsAction() { | ||||
|     } | ||||
| 
 | ||||
|     public Object doAction(IRequest request) { | ||||
|         String str = request.read(); | ||||
|         IJson json = JsonFactory.create(); | ||||
|         Map<String,Object> info = json.fromJson(str, Map.class); | ||||
| 
 | ||||
|         try { | ||||
|             String pks = (String) info.get("pks"); // 获取所有物料编码 | ||||
|             if (pks == null ) { | ||||
|                 nccloud.framework.core.exception.ExceptionUtils.wrapBusinessException("采购到货单不能为空"); | ||||
|             } | ||||
|             String[] pk =new String[]{pks}; | ||||
|             // 上游到货单 | ||||
|             // 查询上游到货单数据 | ||||
|             BillQuery<ArriveVO> billquery = new BillQuery(ArriveVO.class); | ||||
|             ArriveVO[] arriveVOS = billquery.query(pk); | ||||
| 
 | ||||
| // 过滤需要推送的ArriveVO(排除BVO中存在vbdef23为"Y"或"y"的记录) | ||||
|             List<ArriveVO> validArriveList = new ArrayList<>(); | ||||
|             for (ArriveVO arriveVO : arriveVOS) { | ||||
|                 ArriveItemVO[] bvos = arriveVO.getBVO(); | ||||
|                 boolean needSkip = false; // 标记是否需要跳过当前ArriveVO | ||||
| 
 | ||||
|                 // 检查当前到货单的所有明细,只要有一个明细的vbdef23为Y/y,就跳过整个到货单 | ||||
|                 if (bvos != null && bvos.length > 0) { | ||||
|                     for (ArriveItemVO itemVO : bvos) { | ||||
|                         // 获取vbdef23字段值,处理null情况 | ||||
|                         String vbdef23 = (String) itemVO.getAttributeValue("vbdef23"); | ||||
|                         if (vbdef23 != null && "Y".equalsIgnoreCase(vbdef23)) { | ||||
|                             needSkip = true; | ||||
|                             break; // 只要有一个明细符合,直接跳出明细循环 | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
| 
 | ||||
|                 // 不需要跳过的,加入有效列表 | ||||
|                 if (!needSkip) { | ||||
|                     validArriveList.add(arriveVO); | ||||
|                 } | ||||
|             } | ||||
|             buildSyncData(arriveVOS); | ||||
| 
 | ||||
|         } catch (BusinessException e) { | ||||
|             ExceptionUtils.wrapException(e); | ||||
|         } | ||||
| 
 | ||||
|         return "success"; | ||||
|     } | ||||
|     /** | ||||
|      * 构建同步数据 | ||||
|      * | ||||
|      * @param arriveVOS 到货单VO | ||||
|      */ | ||||
|     private void buildSyncData(ArriveVO[] arriveVOS) throws BusinessException { | ||||
|         List<String> update =new ArrayList<>(); | ||||
|         for (ArriveVO arriveVO : arriveVOS) { | ||||
|             ArriveHeaderVO hvo = arriveVO.getHVO(); | ||||
|             ArriveItemVO[] bvo = arriveVO.getBVO(); | ||||
|             String pk_arriveorder = hvo.getPk_arriveorder(); | ||||
|             String pkOrg = hvo.getPk_org(); | ||||
|             // 判断物料的业务单元是否是箱变公司,不是则跳过 | ||||
|             String orgCode = MyHelper.transferField(OrgVO.getDefaultTableName(), OrgVO.CODE, OrgVO.PK_ORG, pkOrg); | ||||
|             if (checkIfOrg(orgCode, configParams)) { | ||||
|                 continue; | ||||
|             } | ||||
|             // 查询供应商信息 | ||||
|             String pk_supplier_v = hvo.getPk_supplier_v(); | ||||
|             SupplierVersionVO supplierVersionVO = new SupplierVersionVO(); | ||||
|             if (pk_supplier_v != null && !pk_supplier_v.isEmpty() && !"~".equals(pk_supplier_v)) { | ||||
|                 ISupplierBaseInfoQryService baseQryService = NCLocator.getInstance().lookup(ISupplierBaseInfoQryService.class); | ||||
|                 supplierVersionVO = baseQryService.querySupplierVersionByVID(pk_supplier_v); | ||||
|             } | ||||
|             // 制单人名称 | ||||
|             String creatorName = MyHelper.getStrValByCondition("sm_user", UserVO.USER_NAME, | ||||
|                     UserVO.CUSERID + " = '" + hvo.getBillmaker() + "'"); | ||||
|             JSONObject singleObj = new JSONObject(); | ||||
|             // 采购合同号 | ||||
|             String cghth = getCghthVal(hvo, bvo); | ||||
|             // 启源送检单主表 | ||||
|             long cts = System.currentTimeMillis(); | ||||
|             singleObj.put("batchid", cts); | ||||
|             singleObj.put("csdh", hvo.getVbillcode());// 送检单号,BIP到货单号 | ||||
|             singleObj.put("sjrq", hvo.getDmakedate().toString());// 送检日期,格式建议为 yyyy-MM-dd | ||||
|             singleObj.put("wlgysid", supplierVersionVO.getCode());// 供应商编码 | ||||
|             singleObj.put("wlgysmc", supplierVersionVO.getName());// 供应商名称 | ||||
|             singleObj.put("sjr", creatorName);// 送检人,BIP制单人 | ||||
|             singleObj.put("cghth", cghth);// 采购合同号,关联对应的采购合同 | ||||
|             singleObj.put("bz", hvo.getVmemo());// 摘要备注,用于填写送检单的补充说明信息 | ||||
|             // 查询关联的质检报告-传入启源送检单的明细 | ||||
|             HYPubBO hybo = new HYPubBO(); | ||||
|             ReportItemVO[] reportItemVOS = (ReportItemVO[]) hybo.queryByCondition(ReportItemVO.class, " cfirstid = '" + pk_arriveorder + "'"); | ||||
|             JSONArray contentArray = new JSONArray(); | ||||
|             for (ReportItemVO reportItemVO : reportItemVOS) { | ||||
|                 String pkReportbill = reportItemVO.getPk_reportbill(); | ||||
|                 ReportHeaderVO reportHeaderVO = (ReportHeaderVO) hybo.queryByPrimaryKey(ReportHeaderVO.class, pkReportbill); | ||||
|                 String pkMaterial = reportHeaderVO.getPk_material(); | ||||
|                 Map<String, Object> materialMap = MyHelper.getMapValByCondition(MaterialVO.getDefaultTableName(), "code,name,materialspec,materialtype", | ||||
|                         "pk_material = '" + pkMaterial + "'"); | ||||
|                 String cunitid = reportHeaderVO.getCunitid();// 主单位 | ||||
|                 String cunitname = MyHelper.getStrValByCondition(MeasdocVO.getDefaultTableName(), MeasdocVO.NAME, | ||||
|                         MeasdocVO.PK_MEASDOC + " = '" + cunitid + "'"); | ||||
|                 JSONObject itemObj = new JSONObject(); | ||||
|                 itemObj.put("wlbh", materialMap.getOrDefault("code", "")); // 物料编码 | ||||
|                 itemObj.put("wlmc", materialMap.getOrDefault("name", "")); // 物料名称 | ||||
|                 String materialtype = skipNull(materialMap.get("materialtype")); | ||||
|                 String materialspec = skipNull(materialMap.get("materialspec")); | ||||
|                 itemObj.put("wlxhgg", materialtype + materialspec); // 物料型号规格 | ||||
|                 itemObj.put("sjsl", reportHeaderVO.getNapplynum().toString()); // 送检数量(设计单位),按设计计量单位统计的送检数量 | ||||
|                 itemObj.put("jldw", cunitname); // 计量单位 | ||||
|                 itemObj.put("bz", reportItemVO.getVbdef1()); // 明细备注,用于填写该送检物料的补充说明 | ||||
|                 itemObj.put("bipzyid", pkReportbill); // 质检报告ID | ||||
|                 itemObj.put("bipqdid", reportItemVO.getPk_reportbill_b()); // 质检报告明细ID | ||||
|                 contentArray.add(itemObj); | ||||
|             } | ||||
|             singleObj.put("Content", contentArray); | ||||
| //            pushData(singleObj); | ||||
| //            update.add(hvo.getPk_arriveorder()); | ||||
| //            updateArrveOrder(hvo.getPk_arriveorder()); | ||||
|         } | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|     private void updateArrveOrder(String pkArriveorder) throws DAOException { | ||||
|         BaseDAO dao = new BaseDAO(); | ||||
|         String sql = "update po_arriveorder_b set vbdef23='Y' where pk_arriveorder='" | ||||
|                 + pkArriveorder + "'"; | ||||
|         dao.executeUpdate(sql); | ||||
|     } | ||||
| 
 | ||||
|     private String getCghthVal(ArriveHeaderVO hvo, ArriveItemVO[] bvo) throws BusinessException { | ||||
|         String cghth = ""; | ||||
|         String pkPupsndoc = hvo.getPk_pupsndoc(); | ||||
|         // 查询采购员名称 | ||||
|         String name = ""; | ||||
|         if (pkPupsndoc != null && !pkPupsndoc.isEmpty() && !"~".equals(pkPupsndoc)) { | ||||
|             name = MyHelper.getStrValByCondition(PsndocVO.getDefaultTableName(), PsndocVO.NAME, | ||||
|                     PsndocVO.PK_PSNDOC + " = '" + pkPupsndoc + "'"); | ||||
|         } | ||||
|         if (bvo != null && bvo.length > 0) { | ||||
|             StringBuilder cghthBuilder = new StringBuilder(); | ||||
|             for (int i = 0; i < bvo.length; i++) { | ||||
|                 String vsourcecode = bvo[i].getVsourcecode(); | ||||
|                 if (vsourcecode == null || vsourcecode.isEmpty() || "~".equals(vsourcecode)) { | ||||
|                     continue; | ||||
|                 } | ||||
|                 if (i > 0) { | ||||
|                     cghthBuilder.append(","); | ||||
|                 } | ||||
|                 cghthBuilder.append(vsourcecode); | ||||
|                 if (!name.isEmpty()) { | ||||
|                     cghthBuilder.append(name); | ||||
|                 } | ||||
|             } | ||||
|             cghth = cghthBuilder.toString(); | ||||
|         } | ||||
|         return cghth; | ||||
|     } | ||||
| 
 | ||||
|     private void buildSyncData1(ReportVO[] useVOs) throws BusinessException { | ||||
|         for (ReportVO vo : useVOs) { | ||||
|             ReportHeaderVO hvo = vo.getHVO(); | ||||
|             ReportItemVO[] bvo = vo.getBVO(); | ||||
|             // 判断物料的业务单元是否是箱变公司,不是则跳过 | ||||
|             String pkOrg = hvo.getPk_org(); | ||||
|             String orgCode = MyHelper.transferField(OrgVO.getDefaultTableName(), OrgVO.CODE, OrgVO.PK_ORG, pkOrg); | ||||
|             if (checkIfOrg(orgCode, configParams)) { | ||||
|                 continue; | ||||
|             } | ||||
|             // 查询供应商信息 | ||||
|             String pk_supplier_v = hvo.getPk_supplier_v(); | ||||
|             SupplierVersionVO supplierVersionVO = new SupplierVersionVO(); | ||||
|             if (pk_supplier_v != null && !pk_supplier_v.isEmpty() && !"~".equals(pk_supplier_v)) { | ||||
|                 ISupplierBaseInfoQryService baseQryService = NCLocator.getInstance().lookup(ISupplierBaseInfoQryService.class); | ||||
|                 supplierVersionVO = baseQryService.querySupplierVersionByVID(pk_supplier_v); | ||||
|             } | ||||
|             // 查询人员信息 | ||||
|             String pkApplyer = hvo.getPk_applyer(); | ||||
|             String applyerName = MyHelper.getStrValByCondition(PsndocVO.getDefaultTableName(), PsndocVO.NAME, | ||||
|                     PsndocVO.PK_PSNDOC + " = '" + pkApplyer + "'"); | ||||
|             String bz = "", cghth = ""; | ||||
|             if (bvo != null && bvo.length > 0) { | ||||
|                 bz = bvo[0].getVbdef1(); // BOM备注 | ||||
|                 cghth = bvo[0].getVbdef2(); // 采购单号 | ||||
|             } | ||||
|             // 组装数据 | ||||
|             JSONObject singleObj = new JSONObject(); | ||||
|             long cts = System.currentTimeMillis(); | ||||
|             singleObj.put("batchid", cts); | ||||
|             singleObj.put("csdh", hvo.getVapplybillcode());// 送检单号,采购送检单的唯一标识编号 | ||||
|             singleObj.put("sjrq", hvo.getDapplydate().toString());// 送检日期,格式建议为 yyyy-MM-dd | ||||
|             singleObj.put("wlgysid", supplierVersionVO.getCode());// 供应商编码 | ||||
|             singleObj.put("wlgysmc", supplierVersionVO.getName());// 供应商名称 | ||||
|             singleObj.put("sjr", applyerName);// 送检人,负责提交送检单的人员姓名 | ||||
|             singleObj.put("cghth", cghth);// 采购合同号,关联对应的采购合同 | ||||
|             singleObj.put("bz", hvo.getVmemo());// 摘要备注,用于填写送检单的补充说明信息 | ||||
| 
 | ||||
|             String pkMaterial = hvo.getPk_material(); | ||||
|             Map<String, Object> materialMap = MyHelper.getMapValByCondition(MaterialVO.getDefaultTableName(), "code,name,materialspec,materialtype", | ||||
|                     "pk_material = '" + pkMaterial + "'"); | ||||
|             String cunitid = hvo.getCunitid();// 主单位 | ||||
|             String cunitname = MyHelper.getStrValByCondition(MeasdocVO.getDefaultTableName(), MeasdocVO.NAME, | ||||
|                     MeasdocVO.PK_MEASDOC + " = '" + cunitid + "'"); | ||||
|             // 处理Content数组 | ||||
|             JSONArray contentArray = new JSONArray(); | ||||
|             JSONObject itemObj = new JSONObject(); | ||||
|             itemObj.put("wlbh", materialMap.getOrDefault("code", "")); // 物料编码 | ||||
|             itemObj.put("wlmc", materialMap.getOrDefault("name", "")); // 物料名称 | ||||
|             String materialtype = skipNull(materialMap.get("materialtype")); | ||||
|             String materialspec = skipNull(materialMap.get("materialspec")); | ||||
|             itemObj.put("wlxhgg", materialtype + materialspec); // 物料型号规格 | ||||
|             itemObj.put("sjsl", hvo.getNapplynum().toString()); // 送检数量(设计单位),按设计计量单位统计的送检数量 | ||||
|             itemObj.put("jldw", cunitname); // 计量单位 | ||||
|             itemObj.put("bz", bz); // 明细备注,用于填写该送检物料的补充说明 | ||||
|             contentArray.add(itemObj); | ||||
| 
 | ||||
|             singleObj.put("Content", contentArray); | ||||
| /*            { | ||||
|                 "batchid": "10002", | ||||
|                 "csdh": "SJ202405001", | ||||
|                 "sjrq": "2024-05-20", | ||||
|                 "wlgysid": "GY001", | ||||
|                 "wlgysmc": "XX 金属材料有限公司", | ||||
|                 "sjr": "张三", | ||||
|                 "cghth": "HT202405003", | ||||
|                 "bz": "紧急送检,需优先检测", | ||||
|                 "Content": [ | ||||
|                     { | ||||
|                         "wlbh": "ACC26711", | ||||
|                             "wlmc": "铜排", | ||||
|                             "wlxhgg": "15558190831", | ||||
|                             "jldw": "米", | ||||
|                             "sjsl": "50", | ||||
|                             "bz": "无特殊要求" | ||||
|                     } | ||||
|                 ] | ||||
|                }*/ | ||||
|             pushData(singleObj); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 推送同步数据 | ||||
|      */ | ||||
|     private void pushData(JSONObject param) throws BusinessException { | ||||
|         // String jsonString = param.toJSONString(); | ||||
|         // 转json字符串的时候保留null值 | ||||
|         String jsonStr = JSON.toJSONString(param, | ||||
|                 SerializerFeature.WriteMapNullValue, | ||||
|                 SerializerFeature.WriteNullStringAsEmpty | ||||
|         ); | ||||
|         logger.error("QMS-QC-param = " + jsonStr); | ||||
|         NCCForUAPLogger.debug("QMS-QC-param = " + jsonStr); | ||||
|         String baseUrl = configParams.get("qmsBaseUrl"); | ||||
|         String requestUrl = baseUrl + reqUrl; | ||||
|         logger.error("QMS-QC-url = " + requestUrl); | ||||
|         String result = ThirdPartyPostRequestUtil.sendPostRequest(requestUrl, jsonStr); | ||||
|         NCCForUAPLogger.debug("QMS-QC-result = " + result); | ||||
|         JSONObject resultObj = JSONObject.parseObject(result); | ||||
|         logger.error("QMS-QC-res = " + result); | ||||
| 
 | ||||
|         if (!"true".equals(resultObj.getString("success"))) { | ||||
|             logger.error("QMS-QC-error,result[" + resultObj.toJSONString() + "]"); | ||||
|             throw new BusinessException("QMS-QC-error:" + resultObj.getString("message")); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private boolean checkIfOrg(String code, Map<String, String> configParams) throws BusinessException { | ||||
|         String targetCode = configParams.get("xbOrg"); | ||||
|         if (targetCode == null || StringUtils.isEmpty(targetCode)) { | ||||
|             throw new BusinessException("未配置组织参数"); | ||||
|         } | ||||
|         String[] orgItem = targetCode.split(","); | ||||
|         for (String orgCode : orgItem) { | ||||
|             if (!orgCode.isEmpty() && orgCode.equals(code)) { | ||||
|                 return false; | ||||
|             } | ||||
|         } | ||||
|         return true; | ||||
|     } | ||||
| 
 | ||||
|     public String skipNull(Object value) { | ||||
|         if ((value == null) || (value.toString().trim().length() == 0)) { | ||||
|             return ""; | ||||
|         } | ||||
|         return value.toString().trim(); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  | @ -0,0 +1,183 @@ | |||
| <?xml version="1.0" encoding="UTF-8" standalone="no" ?> | ||||
| <actions> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.query</name> | ||||
| 		<label>质检报告维护查询</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.QueryAction</clazz> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.pagequery</name> | ||||
| 		<label>质检报告分页查询</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.PageQueryAction</clazz> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.querycard</name> | ||||
| 		<label>质检报告卡片查询</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.QueryCardAction</clazz> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.queryapply</name> | ||||
| 		<label>质检报告拉单</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.transfer.QueryApplayAction</clazz> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.transfer</name> | ||||
| 		<label>质检报告转单</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.transfer.TransApplyToReportAction | ||||
| 		</clazz> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.save</name> | ||||
| 		<label>质检报告保存</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.SaveAction</clazz> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.delete</name> | ||||
| 		<label>质检报告删除</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.QCRptDeleteAction</clazz> | ||||
| 		<btncode>Delete</btncode> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.commit</name> | ||||
| 		<label>质检报告提交</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.QCRptCommitAction</clazz> | ||||
| 		<btncode>Commit</btncode> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.uncommit</name> | ||||
| 		<label>质检报告收回</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.QCRptUnCommitAction</clazz> | ||||
| 		<btncode>UnCommit</btncode> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.createRejectbill</name> | ||||
| 		<label>生成不合格品处理单</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.CreateRejectBillAction | ||||
| 		</clazz> | ||||
| 		<btncode>GenerateRejectGoodHandingForm</btncode> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.queryFakeCheckBill</name> | ||||
| 		<label>查询虚拟检验单</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.QCRptQueryFakeCheckBills | ||||
| 		</clazz> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.saveFakeCheckBill</name> | ||||
| 		<label>保存虚拟检验单</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.QCRptFakeCheckBillSaveAction | ||||
| 		</clazz> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.rechecEnableCheck</name> | ||||
| 		<label>复检对话框初始化</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.QCRptRecheckEnableCheckAction | ||||
| 		</clazz> | ||||
| 		<btncode>Reinspection</btncode> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.recheckInit</name> | ||||
| 		<label>复检对话框初始化</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.QCRptRecheckInitAction | ||||
| 		</clazz> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.recheck</name> | ||||
| 		<label>复检</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.QCRptRecheckAction</clazz> | ||||
| 		<btncode>Reinspection</btncode> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.checkHistory</name> | ||||
| 		<label>检检历史</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.QCRptQueryHistory</clazz> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.checkHistoryBody</name> | ||||
| 		<label>检检历史表体</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.QCRptQueryHistoryBodyAction | ||||
| 		</clazz> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.print</name> | ||||
| 		<label>打印</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.QCRptPrintAction | ||||
| 		</clazz> | ||||
| 		<btncode>Print</btncode> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.qualityTrace</name> | ||||
| 		<label>从品质追溯打开列表</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.QCRptQualityTraceAction | ||||
| 		</clazz> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.printcheckDataPermission</name> | ||||
| 		<label>检查打印数据权限</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.QCRptDataPermissionAction | ||||
| 		</clazz> | ||||
| 		<btncode>Print</btncode> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.editcheckDataPermission</name> | ||||
| 		<label>检查修改数据权限</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.QCRptDataPermissionAction | ||||
| 		</clazz> | ||||
| 		<btncode>Edit</btncode> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.maintainCheckInfoCheckDataPermission</name> | ||||
| 		<label>检验信息维护按钮数据权限</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.QCRptDataPermissionAction | ||||
| 		</clazz> | ||||
| 		<btncode>MaintainInspectInfo</btncode> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.headBeforeEdit</name> | ||||
| 		<label>表头编辑前</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.event.QCRptHeadBeforeAction | ||||
| 		</clazz> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.bodyBeforeEdit</name> | ||||
| 		<label>表体编辑前</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.event.QCRptBodyBeforeAction | ||||
| 		</clazz> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.headAfterEdit</name> | ||||
| 		<label>表头编辑后</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.event.QCRptHeadAfterAction | ||||
| 		</clazz> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.bodyAfterEdit</name> | ||||
| 		<label>表体编辑后</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.event.QCRptBodyAfterAction | ||||
| 		</clazz> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.queryCheckInfo</name> | ||||
| 		<label>查询表体检验信息</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.transfer.QueryCheckInfoAction | ||||
| 		</clazz> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.queryTransTypeExtInfo</name> | ||||
| 		<label>查询交易类型扩展属性</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.transtype.QueryTransTypeExtInfo | ||||
| 		</clazz> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.getServerTime</name> | ||||
| 		<label>获取服务器时间</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.GetServerTimeAction | ||||
| 		</clazz> | ||||
| 	</action> | ||||
| 	<action> | ||||
| 		<name>qc.qcconclusion.pushtoQms</name> | ||||
| 		<label>推送到启用qms</label> | ||||
| 		<clazz>nccloud.web.qc.qcconclusion.action.QCRptDataPushtoQmsAction | ||||
| 		</clazz> | ||||
| 	</action> | ||||
| </actions> | ||||
|  | @ -0,0 +1,55 @@ | |||
| <?xml version="1.0" encoding="UTF-8" standalone="no" ?> | ||||
| <authorizes> | ||||
| 	<authorize> | ||||
| 		<appcode>C01002000,C01002006</appcode> | ||||
| 		<actions> | ||||
| 			<action>qc.qcconclusion.query</action> | ||||
| 			<action>qc.qcconclusion.pagequery</action> | ||||
| 			<action>qc.qcconclusion.querycard</action> | ||||
| 			<action>qc.qcconclusion.queryapply</action> | ||||
| 			<action>qc.qcconclusion.transfer</action> | ||||
| 			<action>qc.qcconclusion.save</action> | ||||
| 			<action>qc.qcconclusion.delete</action> | ||||
| 			<action>qc.qcconclusion.commit</action> | ||||
| 			<action>qc.qcconclusion.uncommit</action> | ||||
| 			<action>qc.qcconclusion.createRejectbill</action> | ||||
| 			<action>qc.qcconclusion.queryFakeCheckBill</action> | ||||
| 			<action>qc.qcconclusion.saveFakeCheckBill</action> | ||||
| 			<action>qc.qcconclusion.rechecEnableCheck</action> | ||||
| 			<action>qc.qcconclusion.recheckInit</action> | ||||
| 			<action>qc.qcconclusion.recheck</action> | ||||
| 			<action>qc.qcconclusion.checkHistory</action> | ||||
| 			<action>qc.qcconclusion.checkHistoryBody</action> | ||||
| 			<action>qc.qcconclusion.print</action> | ||||
| 			<action>qc.qcconclusion.headBeforeEdit</action> | ||||
| 			<action>qc.qcconclusion.bodyBeforeEdit</action> | ||||
| 			<action>qc.qcconclusion.headAfterEdit</action> | ||||
| 			<action>qc.qcconclusion.bodyAfterEdit</action> | ||||
| 			<action>qc.qcconclusion.qualityTrace</action> | ||||
| 			<action>qc.qcconclusion.printcheckDataPermission</action> | ||||
| 			<action>qc.qcconclusion.editcheckDataPermission</action> | ||||
| 			<action>qc.qcconclusion.maintainCheckInfoCheckDataPermission</action> | ||||
| 			<action>qc.qcconclusion.queryCheckInfo</action> | ||||
| 			<action>qc.qcconclusion.getServerTime</action> | ||||
| 			<action>qc.qcconclusion.pushtoQms</action> | ||||
| 		</actions> | ||||
| 	</authorize> | ||||
| 	<authorize> | ||||
| 		<appcode>101613,C01002000,C01002006</appcode> | ||||
| 		<actions> | ||||
| 			<action>qc.qcconclusion.queryTransTypeExtInfo</action> | ||||
| 		</actions> | ||||
| 	</authorize> | ||||
| 	<authorize> | ||||
| 		<appcode>C01002000,C01002006</appcode> | ||||
| 		<actions> | ||||
| 			<action>qc.checkbill.bodyAfterEvent</action> | ||||
| 		</actions> | ||||
| 	</authorize> | ||||
| 	<authorize> | ||||
| 		<appcode>400401200,400401204,400401206</appcode> | ||||
| 		<actions> | ||||
| 			<action>qc.checkbill.pushtoQms</action> | ||||
| 		</actions> | ||||
| 	</authorize> | ||||
| </authorizes> | ||||
		Loading…
	
		Reference in New Issue