摩尔平台今日学习点

今天学习了修改前端代码,修复了很多东西,比如说修复了修改的回显以及弹出多选选择框修改成单选选择框,修改好修改没有回显的办法,然后我认为,修改sql语句的方法,
修改后的代码

package com.more.mes.wms.outmaterielinfo.func;

import javax.servlet.http.HttpServletRequest;

import com.more.fw.core.base.core.action.ModelAction;
import com.more.fw.core.common.exception.BussException;
import com.more.fw.core.common.method.CommMethod;
import com.more.fw.core.common.method.ConstantsMc;
import com.more.fw.core.common.method.StringUtils;
import com.more.fw.core.dbo.model.service.ModelService;
import com.more.fw.core.dbo.model.service.impl.base.FuncService;
import com.more.mes.base.item.BussItem;
import com.more.mes.wms.outmaterielinfo.BussOutMateriel;
import com.more.mes.wms.outstock.BussOutStock;
import com.more.mes.wms.outstock.model.OutStockDoc;
import com.more.mes.wms.outstock.model.OutStockItem;
import com.more.util.log.BussLogger;

/**
 * @Title 生产领料-修改
 * @Description 生产领料-修改
 * @ClassName EditOutMaterielInfo
 * @Author wzy
 * @ChangeLog: 2019-4-5 wzy 创建类 2020-6-23 wzy 新增重复提交表单校验 修改了throw new 方法,将报错提示返回
 */
public class EditOutMaterielInfo implements FuncService {

	@Override
	public String exeFunc(ModelAction modelAction, ModelService modelService) {
		// TODO Auto-generated method stub
		HttpServletRequest request = modelAction.getRequest();
		String dataAuth = String.valueOf(modelAction.getRequest().getSession().getAttribute("mcDataAuth"));
		String formId = request.getParameter("formId");
		if (StringUtils.isBlank(formId)) {
			formId = request.getParameter("formIds");
		}
		String iframeId = request.getParameter("iframeId");
		try {
			if (!CommMethod.isRepeatSubmit(request)) {
				CommMethod.rmSessionMap(modelAction.getSession(), ConstantsMc.FORM_TOKEN);
			} else {
				return modelAction.alertParentInfo(modelAction.getText("请不要重复提交表单!"));
			}
			// 生产领料
			String dispatchSn = request.getParameter("paraMapObj.DISPATCH_SN");// 收发类型
			String planOutstockDate = request.getParameter("paraMapObj.PLAN_OUTSTOCK_DATE");// 计划出库日期
			String areaSn = request.getParameter("paraMapObj.AREA_SN");// 生产车间
			String pickDocType = request.getParameter("paraMapObj.PICK_DOC_TYPE");// 备料类型
			String pickDocAttr = request.getParameter("paraMapObj.PICK_DOC_ATTR");// 领料单属性
			String isUrgent = request.getParameter("paraMapObj.IS_URGENT");// 是否加急
			String isRelease = request.getParameter("paraMapObj.IS_RELEASE");// 是否放行
			String memo = request.getParameter("paraMapObj.MEMO");// 备注
			String docStatus = request.getParameter("paraMapObj.DOC_STATUS");// 单据状态
			String custCode = request.getParameter("paraMapObj.CUST_CODE");// 客户编码
			String id = modelAction.getDataId();
			String docNo = request.getParameter("docNo");// 单号
			if (StringUtils.isBlank(isUrgent)) {
				isUrgent = "N";
			}
			if (StringUtils.isBlank(isRelease)) {
				isRelease = "N";
			}
			// 生产领料明细
			String delItemId = request.getParameter("delItemId");// 删除
			String[] itemSeq = request.getParameterValues("ITEM_SEQ");// 项次
			String[] itemCode = request.getParameterValues("ITEM_CODE");// 物料料号
			String[] connectDoc = request.getParameterValues("CONNECT_DOC");// 制令单
			String[] subType = request.getParameterValues("SUB_TYPE");// 属性管控类型
			String[] controlValue = request.getParameterValues("CONTROL_VALUE");// 属性管控值
			String[] memos = request.getParameterValues("MEMO");// 备注
			String[] status = request.getParameterValues("STATUS");// 备注
			String[] type = request.getParameterValues("TYPE");// 备注
			String[] itemCodeId = request.getParameterValues("ITEMCODE_ID");// 获取原有的物料
			String[] importType = request.getParameterValues("importType");// 判断物料类型 1.存在的料号,2.导入的料号
            String[] units = request.getParameterValues("SUB_UNIT");// 计量单位组

			if (StringUtils.isNotBlank(delItemId)) {
				String[] itemId = delItemId.split(",");
				for (int i = 0; i < itemId.length; i++) {
					BussOutMateriel.delOtherDetailInfo(itemId[i], dataAuth, modelAction);
				}
			}

			OutStockDoc doc = new OutStockDoc();

			doc.setId(id);
			doc.setDocNo(docNo);
			doc.setDispatchSn(dispatchSn);
			doc.setPickDocType(pickDocType);
			doc.setDocType("DJ11");
			doc.setUserId(modelAction.getUser().getId());
			doc.setUserName(modelAction.getUser().getName());
			BussOutMateriel.editOtherOutStockInfo(doc);

			OutStockItem item = new OutStockItem();
			for (int i = 0; i < itemSeq.length; i++) {
				if (importType[i].equals("2")) {
					int count = BussItem.getItemCode(itemCode[i], dataAuth);
					if (count <= 0) {
						CommMethod.setFormTokenToSession(request);
						return modelAction.alertParentInfo(modelAction.getText("物料料号不存在"));
					}
				}
				item.setItemSeq(StringUtils.toInteger(itemSeq[i]));
				item.setItemCode(itemCode[i]);
				item.setConnectDoc(connectDoc[i]);
				item.setSingleQty(StringUtils.toDouble(singleQty[i]));
				item.setRequestQty(StringUtils.toDouble(planNum[i]));
				item.setPlanQty(StringUtils.toDouble(planNum[i]));
				item.setWhCode(whCode[i]);
				item.setControlType(subType[i]);
                item.setUgDetaiId(units[i]);
				item.setUserId(modelAction.getUser().getId());
				item.setUserName(modelAction.getUser().getName());
				if (type[i].endsWith("1")) {
					item.setId(itemCodeId[i]);
					BussOutMateriel.editOtherOutStockItem(item);
				} else {
					item.setId(StringUtils.getUUID());
					BussOutStock.saveOtherOutStockItem(item);
				}
			}
		} catch (Exception e) {
			// TODO: handle exception
			CommMethod.setFormTokenToSession(request);
			BussLogger.productError(this.getClass(), e);
			throw new BussException(modelAction.getText("修改失败"), e);
		}
		return modelAction.reloadIframeByIds(iframeId, modelAction.getText("修改成功"), "0");
	}

}

了解到Java代码上的bussOutMateriel的类,里面有很多关于赋值的代码,他们能够很好很方便的帮助开发人员制作代码,修改页面应该要去关注他的id以及代码的制作方式以及理解方式

然后是制作回调函数和sql语句的 书写,回调函数就是将修改后的代码回显到主视图上代码如下:

function setTestInfo(MKEY,val,obj){
    	 if(null!=obj){ 
          console.log(MKEY);
            console.log(val);
            console.log(obj);
      console.log(obj.eq(4).text());
           
          $("#paraMapObj_ITEM_NAME").val(obj.eq(4).text());
          $("#paraMapObj_ITEM_CODE").val(obj.eq(3).text());
          $("#paraMapObj_ITEM_CODE_SHOW").val(obj.eq(2).text());
          $("#paraMapObj_ITEM_SPEC").val(obj.eq(5).text());
          $("#paraMapObj_MEMO").val(obj.eq(6).text());
          //$("#paraMapObj_DOC_NO").val(MKEY);
         }
}

然后就是sql语句的书写

select ITEM_CODE MKEY,ITEM_CODE VAL,ITEM_NAME,ITEM_SPEC,MEMO  from t_co_item

最后就是前端代码的书写

<%-- 平台公用头文件 --%>
<%@page language="java" errorPage="/plf/error.jsp" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8"%>
<%@ include file="/plf/common/pub_tag.jsp"%>
<%@page import="com.more.fw.core.staticresource.PlfStaticRes"%>
<%-- 扩展修改页面开头位置,页面加载前 --%>
<jsp:include page="/plf/page/mesdemo/commCode/commCode.jsp">
    <jsp:param name="modelName" value="VIEW_TYPE_11" />
    <jsp:param name="location" value="beforePageLoad" />
</jsp:include>
<head>
	<%-- 平台公用meta --%>
	<%@ include file="/plf/common/pub_meta.jsp"%>
	<title><dict:lang value="修改" /></title>
	<%-- 平台公用head,包括公用IMG、CSS、JS资源文件 --%>
	<jsp:include page="/plf/common/fp/pub_head_fp.jsp">
		<jsp:param name="popDivWinFp" value="1" />
		<jsp:param name="datePicker" value="1" />
		<jsp:param name="chosen" value="1" />
	</jsp:include>
	<%-- 公用新增JS页面  --%>
	<%@ include file="/plf/page/common/buss/addCommJs.jsp"%>
	<%-- 公用列表JS页面  --%>
	<%@ include file="/plf/page/common/buss/bussCommJs.jsp"%>
	<%-- 动态加载js文件方法  --%>
	<script type = "text/javascript" src = "${path}plf/js/ui/include.js?_mc_res_version=<%=PlfStaticRes.PlfJsUi_Include_js %>"></script>
    <%-- 在head里面要插入平台的代码  --%>
    <jsp:include page="/plf/page/mesdemo/commCode/commCode.jsp">
       <jsp:param name="modelName" value="VIEW_TYPE_11" />
       <jsp:param name="location" value="inHead" />
    </jsp:include>
    <%-- 产品静态资源  --%>
 <%@ include file="/buss/reso/product/commcode/page/comm-page.jsp"%>

</head>
<body style="overflow:auto;">
	<div class="edit">
	<form id="editForm" name="editForm" action="${path}buss/bussModel_editAjaxComm.ms" method="post" target="submitFrame"
								<bu:formet exeid="%{exeid}" />>
		<div class="hd">
			<div style="margin-left:40px;">
				<s:if test="${isDataAuth == '1'}">
		               <span class="dot">*</span><dict:lang value="组织机构" />
		               <s:if test="${fn:length(deptLs)==1}">
		                   	<s:select list="deptLs" listKey="id" listValue="name" name="paraMapObj._DATA_AUTH" 
							id="deptLs_data_auth"  cssStyle="width: 200px;" cssClass="_VAL_NULL dept_select"/> 
		               </s:if>
		               <s:else>
		                	<s:select list="deptLs" headerKey="" headerValue='--%{getText("请选择")}--'
							listKey="id" listValue="name"   name="paraMapObj._DATA_AUTH"
							id="deptLs_data_auth"  cssStyle="width: 200px;" cssClass="_VAL_NULL dept_select"/> 
				  	   </s:else>
				</s:if>	
			</div>
			<div class="optn">
				<button type="button" onclick="editCal();"><i class="ico ico-save"></i><dict:lang value="保存" /></button>
        		<button type="button" onclick="closeWindow();" ><i class="ico ico-cancel"></i><dict:lang value="取消" /></button>
        		<button type="button" onclick="resetForm();" ><i class="ico ico-gk"></i><dict:lang value="重置" /></button>
			</div>
		</div>
		<div class="bd">
			<%-- 视图修改页面平台默认数据区域,如视图ID、表单ID、token  --%>
			<jsp:include page="/plf/page/mesdemo/commCode/commCode.jsp">
				<jsp:param name="modelName" value="VIEW_TYPE_11" />
				<jsp:param name="location" value="editForm" />
			</jsp:include>
		<bu:set name="paraMapObj" value="${dataId}" formId="80e7dbef360c407d8c7c81dbf6cbed37" type="edit" />
	<table class="basic-table" >
	<input type="hidden" name="formIds" value="80e7dbef360c407d8c7c81dbf6cbed37" />
	<input type="hidden" id="prefixInd" name="80e7dbef360c407d8c7c81dbf6cbed37" value="paraMap1@" />
	<input type="hidden"  name="paraMap1@__LEVEL__" value="1" />
	<input type="hidden" name="paraMap1@__DATA_COUNT__" value="1" />
		<s:set name="_$viewId" value="'0898a7b11fc144829e27068d70d0512f'" />
		<s:set name="_$formId_1" value="'80e7dbef360c407d8c7c81dbf6cbed37'" />
		<s:set name="_$type" value="'edit'"/>
		
      	<tr>
			<td class="name-six" /><bu:uitn colNo="DOC_NO" formId="80e7dbef360c407d8c7c81dbf6cbed37" /></td>
			<bu:td cssClass="dec-self" colNo="DOC_NO" formId="80e7dbef360c407d8c7c81dbf6cbed37" ><bu:ui colNo="DOC_NO" formId="80e7dbef360c407d8c7c81dbf6cbed37" dataId="${dataId}" formIndex="1" /></bu:td>
		
			<td class="name-six" /><bu:uitn colNo="ITEM_NAME" formId="80e7dbef360c407d8c7c81dbf6cbed37" /></td>
			<bu:td cssClass="dec-self" colNo="ITEM_NAME" formId="80e7dbef360c407d8c7c81dbf6cbed37" ><bu:ui colNo="ITEM_NAME" formId="80e7dbef360c407d8c7c81dbf6cbed37" dataId="${dataId}" formIndex="1" /></bu:td>
		
			<td class="name-six" /><bu:uitn colNo="ITEM_CODE"  formId="80e7dbef360c407d8c7c81dbf6cbed37" /></td>
			<bu:td cssClass="dec-self" colNo="ITEM_NAME" formId="80e7dbef360c407d8c7c81dbf6cbed37" ><bu:ui colNo="ITEM_CODE" formId="80e7dbef360c407d8c7c81dbf6cbed37" dataId="${dataId}" formIndex="1" /></bu:td>
         
		</tr>
   <tr>
        <!--  bug: 17344  新增字段--> 
        <td class="name-six" /><bu:uitn colNo="ITEM_SPEC" formId="80e7dbef360c407d8c7c81dbf6cbed37" /></td>
			<bu:td cssClass="dec-self" colNo="ITEM_SPEC" formId="80e7dbef360c407d8c7c81dbf6cbed37" ><bu:ui colNo="ITEM_SPEC"  formId="87edd1849aec473399dc39d523513233" dataId="${dataId}" formIndex="1" /></bu:td>
     
       <td class="name-six" /><bu:uitn   colNo="PLAN_QTY" formId="80e7dbef360c407d8c7c81dbf6cbed37" /></td>
			<bu:td cssClass="dec-self" colNo="PLAN_QTY" formId="80e7dbef360c407d8c7c81dbf6cbed37" ><bu:ui colNo="PLAN_QTY"  formId="87edd1849aec473399dc39d523513233" dataId="${dataId}" formIndex="1" /></bu:td>
       
			<td class="name-six" /><bu:uitn colNo="MEMO" formId="80e7dbef360c407d8c7c81dbf6cbed37" /></td>
			<bu:td cssClass="dec-self" colNo="MEMO" formId="80e7dbef360c407d8c7c81dbf6cbed37" ><bu:ui colNo="MEMO" formId="80e7dbef360c407d8c7c81dbf6cbed37" dataId="${dataId}" formIndex="1" /></bu:td>
		</tr>
	</table>
      
        <!--<div id="retract" class="retract" name="retract">-->
  
  
	</div> 

			<bu:jsVal formId="80e7dbef360c407d8c7c81dbf6cbed37" formIndex="1" />
		</div>
	</form>	
	</div>
	<div style="display: none;">
		<iframe id="submitFrame" name="submitFrame" src="" width="0" height="0"></iframe>
	</div>
	<%-- 平台预留在JS加载前执行的代码片段  --%>
	<jsp:include page="/plf/page/mesdemo/commCode/commCode.jsp">
    	<jsp:param name="modelName" value="VIEW_TYPE_11" />
     	<jsp:param name="location" value="jsLoading" />
  	</jsp:include>
  	<%-- 表单结束区域  --%>
	<jsp:include page="/plf/common/fp/pub_dom_fp.jsp">
		<jsp:param name="popConfirm" value="1" />
		<jsp:param name="needValidate" value="1" />
	</jsp:include>
      <script type="text/javascript">

  
  var wmsOption;
  var whList;
  var controlList;
  var controlTypeOption;
  var rawMaterial;
  var rawMaterialList;
  /**
   * 初始化属性管控类型和仓库下拉数据
   * @method getSelectOption
   * @param itemAttrName 物料类型
   * @author zf
   * @changelog 修改人:ZF 物料类型参数来显示产品与原料的的属性类型
   */
//function getSelectOption(itemAttr){
  function getSelectOption(){
    var getWmsSelUrl="${path}buss/bussModel_exeFunc.ms?funcMId=545e928cea0542a6a93dea66a0fc608b";//VM-其它出库管理-新增 操作功能 加载仓库信息
		$.ajax({
			    type: "POST",
			    dataType: "json",
			    url: getWmsSelUrl,
                //关闭异步
                //async: false,
			    data: {
                  "badFlag":"",
                  //"itemAttr": itemAttr
                },
				success: function(data){
						if(null == data){return ;}
						if(null != data.ajaxMap.whList){
                          wmsOption = "<option value=''>--请选择--</option>";
							 whList = eval(data.ajaxMap.whList);
							for(var i = 0;i < whList.length; i++){
								wmsOption = wmsOption + "<option value='"+whList[i].AREA_SN+"'>"+whList[i].AREA_NAME+"</option>";
							}
						}
                       if(null != data.ajaxMap.controlList){
                            controlTypeOption="<option value=''>--请选择--</option>";
							 controlList = eval(data.ajaxMap.controlList);
							for(var i = 0;i < controlList.length; i++){
								controlTypeOption = controlTypeOption + "<option value='"+controlList[i].CODE+"'>"+controlList[i].VALUE+"</option>";
							}
                       }
                       if(null != data.ajaxMap.rawMaterial){
                         rawMaterialList="<option value=''>--请选择--</option>";
                            rawMaterial= eval(data.ajaxMap.rawMaterial);
                            for(var i = 0;i < rawMaterial.length; i++){
								 rawMaterialList = rawMaterialList + "<option value='"+rawMaterial[i].CODE+"'>"+rawMaterial[i].VALUE+"</option>";
							}
                       }
						
                  
                       /*if(null != data.ajaxMap.unitGroupList){
                                unitgroupOption = "<option value=''>--请选择--</option>";
							var rccList = eval(data.ajaxMap.unitGroupList);
							for(var i = 0;i < rccList.length; i++){
								unitgroupOption = unitgroupOption + "<option value='"+rccList[i].ID+"'>"+rccList[i].UNIT_GROUP+"</option>";
							}
						}*/
					},
				error: function(msg){
						util.closeLoading();
						_TOOL_PRO.showAjaxErrorMsg(msg);
				  }
				});
 }
 
       //删除行 
var delItemId="";              
function editCal(){

            if(!val.valNullData()){
				return ;
			}
			if(!valData()){
				return ;
			}
			if(!val.valOjbsData()){
				return ;
			}
		    if(!val.valDataBaseSetData()){
                return ;
            }
               
                
      
            if($("#isCloseWin") && $("#addForm").find("#isCloseWin").length == 0){
				$("#addForm").append($("#isCloseWin").clone());
				$("#addForm").find("#isCloseWin").wrap("<div id=\"isCloseWinDiv\" style=\"display:none;\"></div>");
			}
          emptyValToHide('N');
             $("#datagrid-btable-ajax4f273d714d9544149f34e2d6d7ff1234").find("input").removeAttr("disabled");
         	 $("#datagrid-btable-ajax4f273d714d9544149f34e2d6d7ff1234").find("select").removeAttr("disabled");
             $(".basic-table").find("input").removeAttr("disabled");
         	 $(".basic-table").find("select").removeAttr("disabled");
            $(".basic-table").find("input:checkbox").removeAttr("disabled");
			$("#saveBtn").prop("disabled","disabled");
            var docNo = $("#paraMapObj_DOC_NO").val();
                        document.forms.editForm.action = "${path}buss/bussModel_exeFunc.ms?funcMId=ae17bf913f35495db34f3ae1dd2c2e19&docNo="+docNo;
                        document.forms.editForm.submit();
                        isQuery = true;
    }
   
   
 //初始化时间
        $(function(){
          // $("#paraMapObj_PLAN_QTY").find("input").removeAttr("disabled");
           $("#paraMapObj_PLAN_QTY").prop("disabled", false);
          $("#paraMapObj_ITEM_SPEC").prop("disabled", false);
          })
      </script> 
         <script>(function($){
  $(window).on('load',function(){
    setPopScroll('.scroll1','.head1');
    setPopScroll('.scroll3');
  })
})(jQuery)</script>       
</body>
<%-- 平台公用的底部代码区域  --%>
<%@ include file="/plf/common/pub_end.jsp"%>
<%-- 页面结束  --%>
<jsp:include page="/plf/page/mesdemo/commCode/commCode.jsp">
    <jsp:param name="modelName" value="VIEW_TYPE_11" />
    <jsp:param name="location" value="pageOver" />
</jsp:include>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值