ImportGoodsBill.jsp
上传用户:wenzhanhao
上传日期:2022-03-28
资源大小:9150k
文件大小:14k
源码类别:

百货/超市行业

开发平台:

Visual C++

  1. <%@ page contentType="text/html; charset=gbk" language="java" %>
  2. <%@ page import="mediastore.web.global.*"%>
  3. <%@ page import="mediastore.web.form.*"%>
  4. <%@ page import="java.util.*"%>
  5. <body onload="document.form1.goodsid.focus()">
  6. <script language="JavaScript">
  7. //去掉空格
  8. function Trim(str){
  9.  if(str.charAt(0) == " "){
  10.   str = str.slice(1);
  11.   str = Trim(str); 
  12.  }
  13.  return str;
  14. }
  15. //判断是否是空
  16. function isEmpty(pObj,errMsg){
  17.  var obj = eval(pObj);
  18.  if( obj == null || Trim(obj.value) == ""){
  19.   if (errMsg == null || errMsg =="")
  20.    alert("输入为空");
  21.   else
  22.    alert(errMsg); 
  23.   obj.focus(); 
  24.   return false;
  25.  }
  26.  return true;
  27. }
  28. //判断是否是整数
  29. function isNumber(pObj,errMsg){
  30.  var obj = eval(pObj);
  31.  strRef = "1234567890";
  32.  if(!isEmpty(pObj,errMsg))return false;
  33.  for (i=0;i<obj.value.length;i++) {
  34.   tempChar= obj.value.substring(i,i+1);
  35.   if (strRef.indexOf(tempChar,0)==-1) {
  36.    if (errMsg == null || errMsg =="")
  37.     alert("数据不符合要求,请检查");
  38.    else
  39.     alert(errMsg);
  40.    if(obj.type=="text") 
  41.     obj.focus(); 
  42.    return false; 
  43.   }
  44.  }
  45.  return true;
  46. }
  47. //判断是否是小数
  48. function isFloat(pObj,errMsg){
  49.  var obj = eval(pObj);
  50.  strRef = "1234567890.";
  51.  if(!isEmpty(pObj,errMsg))return false;
  52.  for (i=0;i<obj.value.length;i++) {
  53.   tempChar= obj.value.substring(i,i+1);
  54.   if (strRef.indexOf(tempChar,0)==-1) {
  55.    if (errMsg == null || errMsg =="")
  56.     alert("数据不符合要求,请检查");
  57.    else
  58.     alert(errMsg);
  59.    if(obj.type=="text") 
  60.     obj.focus(); 
  61.    return false; 
  62.   }
  63.  }
  64.  return true;
  65. }
  66. function verify(form){
  67. if (Trim(form.goodsid.value) == "" | form.goodsid.value == null) 
  68. alert("请输入货物标识"); 
  69. form.goodsid.value=""
  70. form.goodsid.focus(); 
  71. return (false); 
  72. }
  73. //当列表中数量和单价发生变化时激活
  74. function updateGoodsAandUP(){
  75. var errMsg;
  76. var amount_num = document.form2.importamount.length;
  77. var unitpr_num = document.form2.importamount.length;
  78. //amount_num == unitpr_num
  79. if(amount_num == null)
  80. {//只有一项
  81. var isNumberFlage = 'yes';//默认为“是数字”
  82. if(isNumber(document.form2.importamount)==false)
  83. {
  84. isNumberFlage = 'no';
  85. }
  86. if(isFloat(document.form2.importunitprice)==false)
  87. {
  88. isNumberFlage = 'no';
  89. }
  90. if(isNumberFlage=='yes')
  91. {//数字
  92. //计算总进价
  93. totalp = 0;
  94. totalp = totalp+(document.form2.importamount.value * document.form2.importunitprice.value);
  95. document.form2.totalprice.value = totalp;
  96. document.form2.action = "importGoodsBillGoodsUpdtAUP.do";
  97. document.form2.submit();
  98. }
  99. else
  100. {//非数字
  101. document.form2.totalprice.value = "请修改数量或单价";
  102. }
  103. }
  104. else
  105. {//两项以上
  106. var isNumberFlage = 'yes';//默认为“是数字”
  107. for(iii=0; iii<amount_num; iii++)
  108. {
  109. //alert(document.form2.importamount[iii].value);
  110. if(isNumber(document.form2.importamount[iii])==false)
  111. {
  112. isNumberFlage = 'no';
  113. }
  114. //alert(document.form2.importunitprice[iii].value);
  115. if(isFloat(document.form2.importunitprice[iii])==false)
  116. {
  117. isNumberFlage = 'no';
  118. }
  119. }
  120. //alert('isNumberFlage:'+isNumberFlage);
  121. if(isNumberFlage=='yes')
  122. {//数字
  123. //计算总进价
  124. totalp = 0;
  125. for(jjj=0; jjj<amount_num; jjj++)
  126. {
  127. totalp = totalp+(document.form2.importamount[jjj].value * document.form2.importunitprice[jjj].value);
  128. //alert(document.form2.importamount[jjj].value * document.form2.importunitprice[jjj].value);
  129. }
  130. //alert("total:"+totalp);
  131. document.form2.totalprice.value = totalp;
  132. document.form2.action = "importGoodsBillGoodsUpdtAUP.do";
  133. document.form2.submit();
  134. }
  135. else
  136. {//非数字
  137. document.form2.totalprice.value = "请修改数量或单价";
  138. }
  139. }
  140. }
  141. function deleteAllGoods()
  142. {
  143. try{
  144. var goods_num = document.form2.goodsid.length;
  145. if(goods_num == null || document.form2.goodsid == null)
  146. {//
  147. //alert("空列表");
  148. }
  149. }catch(e)
  150. {
  151. alert("货物列表目前为空");
  152. document.form1.goodsid.focus();
  153. return;
  154. }
  155. if(confirm("确定要清空该货物列表吗?")) 
  156. {
  157. document.form2.action = "importGoodsBillGoodsDelAll.do";
  158. document.form2.submit();
  159. }
  160. }
  161. function deleteATempImportGoods(billid, goodsid)
  162. {
  163. if(confirm("确定要删除该货物吗?")) 
  164. {
  165. document.form2.action = "importGoodsBillGoodsDelete.do?maxBillId="+billid+"&goodsId="+goodsid+"";
  166. document.form2.submit();
  167. }
  168. }
  169. function submitAllGoods()
  170. {
  171. //查看该单是否是空列表,空列表就不提交
  172. try{
  173. var goods_num = document.form2.goodsid.length;
  174. if(goods_num == null || document.form2.goodsid == null)
  175. {//
  176. //alert("空列表");
  177. }
  178. }catch(e)
  179. {
  180. alert("请添加货物后再提交进货单");
  181. document.form1.goodsid.focus();
  182. return;
  183. }
  184. //检查数量和单价是否都为数字
  185. var errMsg;
  186. var amount_num = document.form2.importamount.length;
  187. var unitpr_num = document.form2.importunitprice.length;
  188. //amount_num == unitpr_num
  189. if(amount_num == null)
  190. {//只有一项
  191. var isNumberFlage = 'yes';//默认为“是数字”
  192. if(isNumber(document.form2.importamount)==false)
  193. {
  194. isNumberFlage = 'no';
  195. }
  196. if(isFloat(document.form2.importunitprice)==false)
  197. {
  198. isNumberFlage = 'no';
  199. }
  200. if(isNumberFlage=='yes')
  201. {//数字
  202. //计算总进价
  203. totalp = 0;
  204. totalp = totalp+(document.form2.importamount.value * document.form2.importunitprice.value);
  205. document.form2.totalprice.value = totalp;
  206. if(confirm("确定要提交该进货单吗?")) 
  207. {
  208. document.form2.action = "importGoodsBillGoodsSubmit.do";
  209. document.form2.submit();
  210. }
  211. }
  212. else
  213. {//非数字
  214. document.form2.totalprice.value = "请修改数量或单价";
  215. }
  216. }
  217. else
  218. {//两项以上
  219. var isNumberFlage = 'yes';//默认为“是数字”
  220. for(iii=0; iii<amount_num; iii++)
  221. {
  222. //alert(document.form2.importamount[iii].value);
  223. if(isNumber(document.form2.importamount[iii])==false)
  224. {
  225. isNumberFlage = 'no';
  226. }
  227. //alert(document.form2.importunitprice[iii].value);
  228. if(isFloat(document.form2.importunitprice[iii])==false)
  229. {
  230. isNumberFlage = 'no';
  231. }
  232. }
  233. //alert('isNumberFlage:'+isNumberFlage);
  234. if(isNumberFlage=='yes')
  235. {//数字
  236. //计算总进价
  237. totalp = 0;
  238. for(jjj=0; jjj<amount_num; jjj++)
  239. {
  240. totalp = totalp+(document.form2.importamount[jjj].value * document.form2.importunitprice[jjj].value);
  241. //alert(document.form2.importamount[jjj].value * document.form2.importunitprice[jjj].value);
  242. }
  243. //alert("total:"+totalp);
  244. document.form2.totalprice.value = totalp;
  245. if(confirm("确定要提交该进货单吗?")) 
  246. {
  247. document.form2.action = "importGoodsBillGoodsSubmit.do";
  248. document.form2.submit();
  249. }
  250. }
  251. else
  252. {//非数字
  253. document.form2.totalprice.value = "请修改数量或单价";
  254. }
  255. }
  256. }
  257. function showNewBill()
  258. {
  259. document.form2.action = "importGoodsBillShowNew.do";
  260. document.form2.submit();
  261. }
  262. function updateGoodsName(goodsid, newgoodsname)
  263. {
  264. document.form2.action = "importGoodsBillGoodsUpdtName.do?updategoodsid="+goodsid+"&newgoodsname="+newgoodsname;
  265. document.form2.submit();
  266. }
  267. </script>
  268. <table width="768" border="0" align="center" cellpadding="0" cellspacing="0">
  269.   <tr> 
  270.     <td width="5" rowspan="4" class="trtable"></td>
  271.     <td width="6" bgcolor="#214984" height="1"></td>
  272.     <td rowspan="4" bgcolor="#214984" width="1" height="1"></td>
  273.     <td bgcolor="#214984" class="10p" colspan="2" height="1"></td>
  274.     <td rowspan="4" width="1" bgcolor="#214984" height="1"></td>
  275.     <td bgcolor="#214984" width="5" height="1"></td>
  276.     <td width="5" rowspan="4" class="trtable"></td>
  277.   </tr>
  278.   <tr> 
  279.     <td width="6"></td>
  280.     <td width="379" height="20" class="mainhead">进货单录入</td>
  281.     <td class="mainhead" width="379" height="20">&nbsp;</td>
  282.     <td width="5"></td>
  283.   </tr>
  284. <tr> 
  285.     <td width="6"></td>
  286.     <td valign="top" colspan="2"> 
  287.     <table width="100%" border="0" cellspacing="0" cellpadding="0">
  288.         
  289.         <tr> 
  290.           <td height="300" align="center" valign="top">   
  291.           
  292. <%
  293. ImportGoodsBillFB igbfb = (ImportGoodsBillFB)request.getAttribute(Globals.REQUEST_IMPORTGOODSBILL);
  294. int maxBillId = igbfb.getMaxBillId();
  295. List goodsList = igbfb.getGoodsList();
  296. %>
  297.      <form name="form1" method="post" action="importGoodsBillGoodsInsert.do" onSubmit="javascript:return verify(this);">
  298.      <font color=#215385><b>添加货物</b></font>
  299.      <IMG src="images/line1.gif" border=0>
  300.      <br>
  301.      <input type="hidden" name="maxBillId"  value="<%=maxBillId%>">
  302.      <TABLE width="100%" border="1" cellpadding="3" cellspacing="0" bordercolor="#FFFFFF" class="mailtable"> 
  303.   <tr>
  304.             <td  align="right" width=20%> 
  305.                 <b>进货单号:</b>
  306.             </td>
  307.             <td width=20%>
  308.              <INPUT class=none  name="billid" type="text" size="30" value="<%=maxBillId%>" disabled>
  309.             </td>
  310.             <td width=30%>&nbsp;</td>
  311.           </tr>
  312.           <tr>
  313.             <td  align="right" width=20%> 
  314.                 <b>货物标识:</b>
  315.             </td>
  316.             <td width=20%>
  317.              <INPUT class=none  name="goodsid" type="text" size="30" value="" >
  318.             </td>
  319.             <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  320.             <input name=submit type=submit value="添加" ></td>
  321.           </tr>
  322. </TABLE>
  323. </form>
  324. <br>
  325.      <br>
  326. <form name="form2" method="post" action="" >
  327. <font color=#215385><b>货物列表</b></font>
  328. <IMG src="images/line1.gif" border=0>
  329. <input type="hidden" name="curBillId"  value="<%=maxBillId%>">
  330. <TABLE width="100%" border="1" cellpadding="3" cellspacing="0" bordercolor="#FFFFFF" class="mailtable">  
  331. <%
  332. if(goodsList.size()>0)
  333. {
  334. %>
  335. <tr bgcolor="#C2CEDC">
  336. <th></th>
  337. <th>货物标识</th>
  338. <th>货物名称</th>
  339. <th>目前库存</th>
  340. <th>进货数量</th>
  341. <th>进货单价</th>
  342. <th>录入人员</th>
  343. <th>删除</th>
  344. </tr>
  345. <%
  346. }
  347. %>
  348. <%
  349. int index = 0;
  350.        GoodsImportGoodsInfo tmpInfo = null;
  351.        float totalPrice = 0;
  352.       
  353.        for (index=0; index<goodsList.size(); index++)
  354. {
  355.        tmpInfo = (GoodsImportGoodsInfo)goodsList.get(index);
  356.        totalPrice = totalPrice + (tmpInfo.getImportAmount() * tmpInfo.getImportUnitPrice());
  357.        %>
  358.         <tr <%if((index%2)==1){%>bgcolor="#CAE4F4"<%}%> >
  359.         <td align='center' width=2%><a href="<%= request.getContextPath() + "/goodsInfoView.do?goodsid=" + tmpInfo.getGoodsId() %>" target='goodsinfo'><IMG src="images/goods.gif" border=0 alt='查看货物信息'></a></td>
  360.         <td align='center'><%= tmpInfo.getGoodsId() %>
  361.         <input type="hidden" name="goodsid"  value="<%= tmpInfo.getGoodsId() %>">
  362.         </td>
  363.         <td align='center'>
  364.         <%
  365.          if(tmpInfo.getGoodsName().equals("<font color=red>新进货</font>"))
  366.          {
  367.         %>
  368.          <INPUT name="goodsname" type="text" size=23 value="新进货" onChange="updateGoodsName('<%= tmpInfo.getGoodsId() %>', this.value)">
  369.         <%
  370.          }
  371.          else
  372.          {
  373.         %>
  374.          <INPUT name="goodsname" type="text" size=23 value="<%= tmpInfo.getGoodsName() %>" onChange="updateGoodsName('<%= tmpInfo.getGoodsId() %>', this.value)">
  375.         <%
  376.          }
  377.         %>
  378.         </td>
  379.         <td align='center'><%= tmpInfo.getCurRepertoryAmount() %></td>
  380.         <td align='center'>
  381.          <input type="text" name="importamount"  value="<%= tmpInfo.getImportAmount() %>" size=5 onChange="updateGoodsAandUP()">
  382.         </td>
  383. <td align='center'>
  384.          <input type="text" name="importunitprice"  value="<%= tmpInfo.getImportUnitPrice() %>" size=8 onChange="updateGoodsAandUP()">
  385. </td>
  386.         <td align='center'><%= tmpInfo.getCreatePerson() %><input type="hidden" name="createperson"  value="<%= tmpInfo.getCreatePerson() %>"></td>
  387.         <td align='center'>
  388.          <a href="javascript:deleteATempImportGoods('<%=maxBillId%>', '<%= tmpInfo.getGoodsId() %>') "><IMG src="images/delto.gif" border=0></a>
  389.         </td>
  390.         </tr>
  391.         <%
  392.        }
  393.         %>
  394. </TABLE>
  395.     
  396.      <TABLE width="100%" border="1" cellpadding="3" cellspacing="0" bordercolor="#FFFFFF" class="mailtable"> 
  397.   <tr>
  398.             <td  align="right" > 
  399.                 <b>进货单号:</b>
  400.             </td>
  401.             <td >
  402.              <INPUT class=none  name="billid" type="text" size="30" value="<%=maxBillId%>" disabled>
  403.             </td>
  404.             <td  align="right" > 
  405.                 <b>发货人员:</b>
  406.             </td>
  407.             <td >
  408.              <INPUT class=none  name="sendpersons" type="text" size="30" value="" >
  409.             </td>
  410.           </tr>
  411.           <tr>
  412.             <td  align="right" > 
  413.                 <b>进货总价:</b>
  414.             </td>
  415.             <td >
  416.              <INPUT class=none  name="totalprice" type="text" size="30" value="<%=totalPrice%>" disabled>
  417.             </td>
  418.             <td  align="right" > 
  419.                 <b>是否付款:</b>
  420.             </td>
  421.             <td >
  422.              &nbsp;
  423.              <input type="radio" name="payornot" value="1" >已付款
  424.              &nbsp;
  425.              <input type="radio" name="payornot" value="0" checked>未付款
  426.             </td>
  427.           </tr>
  428. </TABLE>
  429. </form>
  430. <p><center>
  431. <input name=newbill type=button value="新进货单" onClick="showNewBill()">
  432. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  433. <input name=deleteall type=button value="清空列表" onClick="deleteAllGoods()">
  434. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  435. <input name=submitall type=button value="确认提交" onClick="submitAllGoods()">
  436.      </center><p>
  437. </td>
  438.         </tr>
  439.         <tr> 
  440.           <td valign="middle" align="center">&nbsp;</td>
  441.         </tr>
  442.       </table>
  443.       
  444.     </td>
  445.     <td width="5"></td>
  446.   </tr>
  447.   <tr> 
  448.     <td width="6"></td>
  449.     <td colspan="2" class="mainhead">&nbsp;</td>
  450.     <td width="5"></td>
  451.   </tr>
  452.   <tr> 
  453.     <td colspan="8" bgcolor="#214984" height="2"></td>
  454.   </tr>
  455. </table>
  456. </body>