⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 corebusiness.java

📁 基于JSP的小企业ERP系统,有详细的安装和说明文集,是转贴的
💻 JAVA
字号:
package com.easyjf.asp.business;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import com.easyjf.dbo.DBObject;
import com.easyjf.dbo.EasyJDB;
import com.easyjf.dbo.EasyJDBEngine;

public class CoreBusiness {
	private final static DecimalFormat df=new DecimalFormat("0.00");
	public static List countMaterial(List list)
	{
		List ret=new ArrayList();		
		EasyJDB db=EasyJDB.getInstance();
		for(int i=0;i<list.size();i++)
		{
			Map map=(Map)list.get(i);
			Float num=new Float(map.get("num").toString());
			List rationList=db.query(Ration.class,"productSn='"+map.get("sn")+"'");			
			if(rationList!=null)
			{
				List dList=new ArrayList();
				for(int j=0;j<rationList.size();j++)
				{
					Ration ration=(Ration)rationList.get(j);
					Map dmap=new HashMap();
					float f=ration.getRate()!=null?ration.getRate().floatValue()*num.floatValue():0;					
					//rmap.put(ration.getMaterialSn(),new Float(f));
					Material ma=Material.read(ration.getMaterialSn());
					if(ma!=null)
					{
						dmap.put("materialTitle",ma.getTitle());
						dmap.put("unit",ma.getUnit());
					}
					dmap.put("cid",new Integer(j+1));
					dmap.put("sn",map.get("sn"));
					dmap.put("num",df.format(new Float(f)));
					dList.add(dmap);
				}
				map.put("list",dList);
			}
			ret.add(map);			
		}
			
		return ret;
	}
	public static List totalMaterial(List list)
	{
		List ret=new ArrayList();
		Map rmap=new HashMap();
		EasyJDB db=EasyJDB.getInstance();
		for(int i=0;i<list.size();i++)
		{
			Map map=(Map)list.get(i);
			Float num=new Float(map.get("num").toString());
			List rationList=db.query(Ration.class,"productSn='"+map.get("sn")+"'");
			if(rationList!=null)
			{
				
				for(int j=0;j<rationList.size();j++)
				{
					Ration ration=(Ration)rationList.get(j);
					float f=ration.getRate()!=null?ration.getRate().floatValue()*num.floatValue():0;
					if(rmap.containsKey(ration.getMaterialSn()))
					{
						f+=((Float)rmap.get(ration.getMaterialSn())).floatValue();
					}
					rmap.put(ration.getMaterialSn(),new Float(f));					
				}
			}
		}
		Iterator it=rmap.entrySet().iterator();
		int cid=1;
		while(it.hasNext())
		{
		Map.Entry obj=(Map.Entry)it.next();
		Map map=new HashMap();
		Material ma=Material.read(obj.getKey().toString());
		if(ma!=null)
		{
			map.put("materialTitle",ma.getTitle());
			map.put("unit",ma.getUnit());
		}
		map.put("cid",new Integer(cid));
		map.put("sn",obj.getKey());
		map.put("num",obj.getValue());
		ret.add(map);
		cid++;
		}		
		return ret;
	}
public static int changeProduceStatus(String vdate1,String vdate2,String productSn)
{
	int ret=-1;
	SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");	
	String sql="update OrderList set status=2 ,vdate='"+df.format(new Date())+"' where ";
	String whereSql="";
	System.out.println("productSn:"+productSn);
	if(productSn!=null && (!productSn.equals("")))
	{
		whereSql=" status=-1 and productSn='"+productSn+"'";
		//if(productSn!=null && (!productSn.equals("")))sql+=" and productSn='"+productSn+"'";
	}
	else whereSql=" status=0";
	whereSql+=" and orderSn in(SELECT sn AS orderSn FROM orderinfo WHERE";
	if(vdate2==null)whereSql+=" vdate = '"+vdate1+"'";	
	else
	{if(!vdate1.equals(""))
	{
		whereSql+=" vdate>='"+vdate1+"'";	
	}
	if(!vdate2.equals("")){
		whereSql+=(vdate1.equals("")? " ":" and ")+" vdate<'"+vdate2+"'";
	}}
	sql+=whereSql+")";	
	System.out.println(sql);
	EasyJDBEngine db=EasyJDBEngine.getInstance();
	try{
	ret=db.execute(sql);
	}
	catch(Exception e)
	{
		System.out.println(sql);
	}
	return ret;
}
/**
	 * 计算将要生产产品
	 * @param vdate1
	 * @param vdate2
	 * @return
	 */
public static List orderTotal(String vdate1,String vdate2)
{
	List list=null,ret=new ArrayList();
	EasyJDBEngine db=EasyJDBEngine.getInstance();
	String sql="select productSn as sn,sum(num*cou) as num,sum(amount) as amount from OrderList where status=0 and orderSn IN(SELECT sn AS orderSn FROM orderinfo WHERE  ";
	String whereSql="";
	if(vdate2==null)whereSql+="vdate = '"+vdate1+"'";	
	else
	{if(!vdate1.equals(""))
	{
		whereSql+=" vdate>='"+vdate1+"'";	
	}
	if(!vdate2.equals("")){
		whereSql+=(vdate1.equals("")? " ":" and ")+" vdate<'"+vdate2+"'";
	}}
	sql+=whereSql+") group by productSn";	
	//if(productSn!=null && (!productSn.equals("")))sql+=" and productSn='"+productSn+"'";
	//sql+=" group by productSn";
	//System.out.println(sql);
	list=db.query(sql);
	if(list!=null)
	{
		BigDecimal totalAmount=new BigDecimal(0.00);
		for(int i=0;i<list.size();i++)
		{
			DBObject obj=(DBObject)list.get(i);
			Map map=new HashMap();
			Product p=Product.readBySn(obj.get("sn").toString());
		//	System.out.println(obj.get("sn"));
		//df.format()
			map.put("num",df.format(obj.get("num")));
			map.put("amount",obj.get("amount"));
			map.put("sn",obj.get("sn"));
			map.put("cid",new Integer(i));
			if(obj.get("amount").getClass()==BigDecimal.class)				
				totalAmount=totalAmount.add((BigDecimal)obj.get("amount"));
			else
				totalAmount=totalAmount.add(new BigDecimal(map.get("amount").toString()));			
			if(p!=null)
			{
				map.put("title",p.getTitle());
				map.put("unit",p.getUnit());				
			}
			else
			{
				map.put("title","未知产品");
				map.put("unit","未知");
			}
			ret.add(map);
		}
		Map map=new HashMap();
		map.put("title","合计");
		map.put("num","");
		map.put("sn","");
		map.put("amount",totalAmount);
		map.put("cid",new Integer(list.size()+1));
		ret.add(map);
	}	
	return ret;
}
/**
 * 计算暂不生产产品
 * @param vdate1
 * @param vdate2
 * @param productSn
 * @return
 */
public static List orderTotal(String vdate1,String vdate2,String productSn)
{
	List list=null,ret=new ArrayList();
	EasyJDBEngine db=EasyJDBEngine.getInstance();
	String sql="select productSn as sn,sum(num) as num,sum(amount) as amount from OrderList where status=-1 and orderSn IN(SELECT sn AS orderSn FROM orderinfo WHERE  ";
	String whereSql="";
	if(vdate2==null)whereSql+="vdate = '"+vdate1+"'";	
	else
	{if(!vdate1.equals(""))
	{
		whereSql+=" vdate>='"+vdate1+"'";	
	}
	if(!vdate2.equals("")){
		whereSql+=(vdate1.equals("")? " ":" and ")+" vdate<'"+vdate2+"'";
	}}
	sql+=whereSql+") ";	
	if(productSn!=null && (!productSn.equals("")))sql+=" and productSn='"+productSn+"'";
	sql+=" group by productSn";
	System.out.println(sql);
	list=db.query(sql);
	if(list!=null)
	{
		BigDecimal totalAmount=new BigDecimal(0.00);
		for(int i=0;i<list.size();i++)
		{
			DBObject obj=(DBObject)list.get(i);
			Map map=new HashMap();
			Product p=Product.readBySn(obj.get("sn").toString());
		//	System.out.println(obj.get("sn"));
		//df.format()
			map.put("num",df.format(obj.get("num")));
			map.put("amount",obj.get("amount"));
			map.put("sn",obj.get("sn"));
			map.put("cid",new Integer(i));
			if(obj.get("amount").getClass()==BigDecimal.class)				
				totalAmount=totalAmount.add((BigDecimal)obj.get("amount"));
			else
				totalAmount=totalAmount.add(new BigDecimal(map.get("amount").toString()));			
			if(p!=null)
			{
				map.put("title",p.getTitle());
				map.put("unit",p.getUnit());				
			}
			else
			{
				map.put("title","未知产品");
				map.put("unit","未知");
			}
			ret.add(map);
		}
		Map map=new HashMap();
		map.put("title","合计");
		map.put("num","");
		map.put("sn","");
		map.put("amount",totalAmount);
		map.put("cid",new Integer(list.size()+1));
		ret.add(map);
	}
	
	return ret;
}
public static List getProductTypes()
{
	List list;
	EasyJDBEngine db=EasyJDBEngine.getInstance();
	String sql="select distinct types as types from Product";
	list=db.query(sql);
	return list;
}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		orderTotal("2005-1-1","","");
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -