コード例 #1
0
ファイル: Fi_payforAction.java プロジェクト: tiankun/gfdzpt
	/*
	 * 保存新增款项支付
	 */
	public String save(HttpServletRequest request,HttpServletResponse response) throws Exception {
		Map user = (Map)request.getSession().getAttribute("user");
	    Object[] checkbox = request.getParameterValues("checkbox");
	    String[] danju = request.getParameterValues("danju");
	    String  mapro=null;
		if(checkbox.length!=0)
		{
			Long id = dataBaseControl.getSeq(Fi_payfor.class);
			dataBaseControl.beginTransaction();
			for(int i = 0 ; i < checkbox.length;i++)
			{
				float money = 0;
				
				Map iomap = (Map)dataBaseControl.getOneResultSet("select * from gm_materiel_inout t where t.id = ?", new Object[]{checkbox[i]});
				Gm_materiel_inout inout = new Gm_materiel_inout();
				BeanUtils.populate(inout, iomap);
				
				if(request.getParameter("opinionid").equals("1"))
				{
					inout.setIspay("1");
					dataBaseControl.updateByBean(inout);
				}
				
				
				Map map = dataBaseControl.getOneResultSet("select * from gm_purchase_item t where t.id = ?", new Object[]{iomap.get("purchase_item_id")});
				Fi_payfor_item fi_payfor_item = new Fi_payfor_item();
				Gm_purchase_item purchase_item = new Gm_purchase_item();
				BeanUtils.populate(purchase_item, map);
				mapro=map.get("prj_id").toString();
				fi_payfor_item.setInout_id(new Integer(checkbox[i].toString()));
				fi_payfor_item.setPro_id(Integer.parseInt(map.get("prj_id").toString()));
				fi_payfor_item.setPurchase_item_id(new Integer(purchase_item.getId()+""));
				fi_payfor_item.setOdate(new java.sql.Date((new java.util.Date()).getTime()));
				fi_payfor_item.setMateriel_id(purchase_item.getMateriel_id());
				fi_payfor_item.setNum(new Integer(iomap.get("num").toString()));
				fi_payfor_item.setPrice(new BigDecimal(iomap.get("price").toString()));
				
				money =Float.valueOf(fi_payfor_item.getNum())*Float.valueOf(fi_payfor_item.getPrice().toString());
				  
				fi_payfor_item.setMoney(new BigDecimal(money));
				fi_payfor_item.setPerson(new Integer(user.get("base_info_id").toString()));
				fi_payfor_item.setGongys(purchase_item.getGongys());
				fi_payfor_item.setF_id(new Integer(id+""));
				fi_payfor_item.setFujnum(danju[i]);
				
				dataBaseControl.insertByBean(fi_payfor_item);
				
				int hasnum = purchase_item.getYfsl();
				hasnum = hasnum + new Integer(iomap.get("num").toString());
				purchase_item.setYfsl(hasnum);
				dataBaseControl.updateByBean(purchase_item);
			}
			
			Fi_payfor fi_payfor = new Fi_payfor();
			fi_payfor.setP_id(new BigDecimal(user.get("base_info_id").toString()));
			fi_payfor.setDept_id(new BigDecimal(user.get("branchid").toString()));
			fi_payfor.setOdate(new java.sql.Date((new java.util.Date()).getTime()));
			fi_payfor.setPayforstate(request.getParameter("opinionid"));
			fi_payfor.setMoney(new BigDecimal(request.getParameter("editTotal")));
			fi_payfor.setPaytype(request.getParameter("paytype"));
			fi_payfor.setNote(request.getParameter("note"));
			fi_payfor.setBmoney(NumToRmb.toHanStr(Double.parseDouble(request.getParameter("editTotal"))));
			fi_payfor.setSk_id(new BigDecimal(sk_id));
			fi_payfor.setPro_id(Integer.parseInt(mapro));
			dataBaseControl.insertByBean(fi_payfor, id);
			dataBaseControl.endTransaction();
			
			String num = "";
			String infor = "您有一条款项支付申请待审批";
			List slist = dataBaseControl.getOutResultSet("select t.* from message t where t.rolename = 1 and t.dept = 3 ", null);
			if(slist!=null&&!slist.isEmpty())
			{
				Map smap = (Map)slist.get(0);
				num = smap.get("num").toString();
			}
			
			PHPRPC_Client client = new PHPRPC_Client(Constant.HTTPDRESS);
			Mas m = (Mas) client.useService(Mas.class);
			m.sendGFDZ(num,infor);
			
			request.setAttribute("operationSign", "closeDG_refreshW();");
			
		}else{
			Long id = dataBaseControl.getSeq(Fi_payfor.class);
			request.setAttribute("accid", id);
			
			
		}
		
		return "/fi/payfor/fi_payforDtl.jsp";
	}