📄 corebusiness.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 + -