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

📄 check_ok.java

📁 ERO系统.针对生产型、分销型、服务型企业等不同的行业特点
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/*
 *this file is part of nseer erp
 *Copyright (C)2006-2010 Nseer(Beijing) Technology co.LTD/http://www.nseer.com 
 *
 *This program is free software; you can redistribute it and/or
 *modify it under the terms of the GNU General Public License
 *as published by the Free Software Foundation; either
 *version 2 of the License, or (at your option) any later version.
 */
package stock.pay;
 
 
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import java.sql.*;
import javax.servlet.*;
import java.util.* ;
import java.io.* ;
import include.nseer_db.*;
import java.text.*;
import validata.ValidataNumber;
import stock.getLength;
import include.get_rate_from_ID.getRateFromID;
import include.nseer_cookie.FileKind;

public class check_ok extends HttpServlet{

public synchronized void service(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{
HttpSession dbSession=request.getSession();
JspFactory _jspxFactory=JspFactory.getDefaultFactory();
PageContext pageContext = _jspxFactory.getPageContext(this,request,response,"",true,8192,true);
ServletContext dbApplication=dbSession.getServletContext();
ServletContext application;
HttpSession session=request.getSession();
nseer_db_backup1 stock_db = new nseer_db_backup1(dbApplication);
ValidataNumber validata=new ValidataNumber();
getLength length=new getLength();
getRateFromID getRateFromID=new getRateFromID();
FileKind FileKind = new FileKind();
try{
if(stock_db.conn((String)dbSession.getAttribute("unit_db_name"))){

String pay_ID=request.getParameter("pay_ID");
String config_id=request.getParameter("config_id");
String paying_time=request.getParameter("paying_time");
String[] stock_name=request.getParameterValues("stock_name");
String[] amount=request.getParameterValues("amount");
java.util.Date  now  =  new  java.util.Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time=formatter.format(now);
String checker=request.getParameter("checker") ;
String checker_ID=request.getParameter("checker_id") ;
String check_time=request.getParameter("check_time") ;
String reason=request.getParameter("reason");
String reasonexact=request.getParameter("reasonexact");
String[] id=request.getParameterValues("id");
String[] product_ID=request.getParameterValues("product_ID");
String[] product_name=request.getParameterValues("product_name");
String[] cost_price=request.getParameterValues("cost_price");
String[] demand_amount=request.getParameterValues("demand_amount") ;
String[] paid_amount=request.getParameterValues("paid_amount") ;
String[] paid_subtotal=request.getParameterValues("paid_subtotal");
String[] stock_ID=request.getParameterValues("stock_ID");
String[] nick_name=request.getParameterValues("nick_name");
String[] details_number=request.getParameterValues("details_number");
String[] available_amount=request.getParameterValues("available_amount");
String[] serial_number_group=request.getParameterValues("serial_number_group");
String[] amount_number_group=request.getParameterValues("amount_number_group");
String sql6="select id from stock_workflow where object_ID='"+pay_ID+"' and paying_time='"+paying_time+"' and ((check_tag='0' and config_id<'"+config_id+"') or (check_tag='1' and config_id='"+config_id+"'))";
ResultSet rs6=stock_db.executeQuery(sql6);
if(!rs6.next()){
	String stock_name_control=stock_name[0];
	String product_ID_control=product_ID[0];
	double amount_control=0.0d;
int p=0;
int lll=0;

for(int i=0;i<stock_name.length;i++){
	if(!amount[i].equals("")){
		if(!validata.validata(amount[i])){
			p++;
		}
	}else{
		amount[i]="0";
	}
	int serial_number_tag=0;
	sql6="select * from stock_cell where product_ID='"+product_ID[i]+"' and check_tag='1'";
	rs6=stock_db.executeQuery(sql6);
	if(rs6.next()){
		serial_number_tag=rs6.getInt("serial_number_tag");
	}
	if(serial_number_tag==1){
		lll=length.getLength((String)dbSession.getAttribute("unit_db_name"));
		}else{
			lll=length.getLength2((String)dbSession.getAttribute("unit_db_name"));
			}
	if(serial_number_tag!=0&&Double.parseDouble(amount[i])!=0&&serial_number_group[i].equals("")){
		p++;
	}else if(serial_number_tag==0&&Double.parseDouble(amount[i])!=0&&!serial_number_group[i].equals("")){
		p++;
	}
	if(!serial_number_group[i].equals("")){
	StringTokenizer tokenTO = new StringTokenizer(serial_number_group[i],", ");        
	while(tokenTO.hasMoreTokens()) {
		String serial_number_temp=tokenTO.nextToken();
		if(serial_number_temp.length()!=lll){
			p++;
		}
		String sql3="select * from stock_balance_details_details where serial_number='"+serial_number_temp+"' and stock_ID='"+stock_ID[i]+"' and product_ID='"+product_ID[i]+"'";
		ResultSet rs3=stock_db.executeQuery(sql3);
		if(!rs3.next()){
			p++;
		}
		String sql="insert into stock_serial_number_temp(serial_number) values('"+serial_number_temp+"')";
		stock_db.executeUpdate(sql);
		}
	String sql1="select distinct serial_number from stock_serial_number_temp";
	ResultSet rs1=stock_db.executeQuery(sql1);
	rs1.last();
	if(serial_number_tag==1&&rs1.getRow()!=Double.parseDouble(amount[i])){
		p++;
	}
	String sql2="delete from stock_serial_number_temp";
	stock_db.executeUpdate(sql2);
	}

}
String sql88="select * from stock_paying_gathering where pay_ID='"+pay_ID+"' and check_tag='0' order by details_number";
	ResultSet rs88=stock_db.executeQuery(sql88);
	if(rs88.next()){
if(p==0){


int n=0;
double amount_sum=0.0d;
for(int i=0;i<stock_name.length;i++){
	if(!amount[i].equals("")){
		amount_sum+=Double.parseDouble(amount[i]);
		if(Double.parseDouble(amount[i])>Double.parseDouble(available_amount[i])){
		n++;
	}else if(Math.abs(Double.parseDouble(amount[i])+Double.parseDouble(paid_amount[i]))>Math.abs(Double.parseDouble(demand_amount[i]))){
		n++;
	}
	}
	if(stock_name[i].equals(stock_name_control)&&product_ID[i].equals(product_ID_control)){
		amount_control+=Double.parseDouble(amount[i]);
		if(Math.abs(amount_control+Double.parseDouble(paid_amount[i]))>Math.abs(Double.parseDouble(demand_amount[i]))){
		n++;
		}
	}else{
		stock_name_control=stock_name[i];
		product_ID_control=product_ID[i];
		amount_control=0;
	}
}
if(n==0){
boolean flag=false; 
String sql8 = "update stock_workflow set checker='"+checker+"',checker_ID='"+checker_ID+"',check_time='"+check_time+"',check_tag='1' where object_ID='"+pay_ID+"' and config_id='"+config_id+"' and paying_time='"+paying_time+"'" ;
	stock_db.executeUpdate(sql8);
sql8="select id from stock_workflow where object_ID='"+pay_ID+"' and paying_time='"+paying_time+"' and check_tag='0'";
	ResultSet rs8=stock_db.executeQuery(sql8);
	if(!rs8.next()){
		flag=true;
	}
if(flag){
	for(int i=0;i<stock_name.length;i++){
	if(!amount[i].equals("")&&Double.parseDouble(amount[i])!=0){
		String sql4="update stock_paying_gathering set check_tag='1',paying_or_gathering='出库' where id='"+id[i]+"'";
		stock_db.executeUpdate(sql4);
	}else{
		String sql25="delete from stock_paying_gathering where pay_ID='"+pay_ID+"' and product_ID='"+product_ID[i]+"' and stock_ID='"+stock_ID[i]+"' and check_tag='0'";
		stock_db.executeUpdate(sql25);
		String sql26="update stock_pre_paying set pay_check_tag='0' where pay_ID='"+pay_ID+"' and product_ID='"+product_ID[i]+"' and stock_ID='"+stock_ID[i]+"'";
			stock_db.executeUpdate(sql26);
	}
}
}
double amount4=0.0d;
double cost_price_sum=0.0d;
	for(int i=0;i<stock_name.length;i++){
		int serial_number_tag=0;
	sql6="select * from stock_cell where product_ID='"+product_ID[i]+"' and check_tag='1'";
	rs6=stock_db.executeQuery(sql6);
	if(rs6.next()){
		serial_number_tag=rs6.getInt("serial_number_tag");
	}
	if(serial_number_tag==1){
		lll=length.getLength((String)dbSession.getAttribute("unit_db_name"));
		}else{
			lll=length.getLength2((String)dbSession.getAttribute("unit_db_name"));
			}
	if(!amount[i].equals("")&&Double.parseDouble(amount[i])!=0){
		String chain_id="";
		String chain_name="";
		String sql22="select * from stock_cell where product_ID='"+product_ID[i]+"'";
		ResultSet rs22=stock_db.executeQuery(sql22);
		if(rs22.next()){
			chain_id=rs22.getString("chain_id");
			chain_name=rs22.getString("chain_name");
		}
		String address_group="";
		sql8="select * from stock_balance where product_ID='"+product_ID[i]+"'"; 
		rs8=stock_db.executeQuery(sql8);
		if(rs8.next()){
			address_group=rs8.getString("address_group");
		}
		String address=stock_name[i];
		if(address_group.indexOf(address)== -1){
			address_group+=address+",";
		}
	double subtotal=Double.parseDouble(cost_price[i])*Double.parseDouble(amount[i]);
	amount4+=Double.parseDouble(amount[i]);
	cost_price_sum+=subtotal;
	double balance_amount11=getRateFromID.getRateFromID((String)dbSession.getAttribute("unit_db_name"),"stock_balance","product_ID",product_ID[i],"amount")-Double.parseDouble(amount[i]);
	double amount22=Double.parseDouble(amount[i])+Double.parseDouble(paid_amount[i]);
//**************************
if(flag){
		String sql4="update stock_paying_gathering set amount='"+amount[i]+"',paid_amount='"+amount22+"',balance_amount='"+balance_amount11+"',subtotal='"+subtotal+"',checker='"+checker+"',check_time='"+check_time+"',check_tag='1' where id='"+id[i]+"'";
		stock_db.executeUpdate(sql4);
}else{
	String sql4="update stock_paying_gathering set amount='"+amount[i]+"',paid_amount='"+paid_amount[i]+"',balance_amount='"+balance_amount11+"',subtotal='"+subtotal+"',checker='"+checker+"',check_time='"+check_time+"' where id='"+id[i]+"'";
		stock_db.executeUpdate(sql4);
}
if(flag){
	if(serial_number_tag==1){
	if(!serial_number_group[i].equals("")){
	StringTokenizer tokenTO1 = new StringTokenizer(serial_number_group[i],", ");        
	while(tokenTO1.hasMoreTokens()) {
		String serial_number=tokenTO1.nextToken();
		String sql10="delete from stock_balance_details_details where serial_number='"+serial_number+"' and stock_ID='"+stock_ID[i]+"' and product_ID='"+product_ID[i]+"'";
		stock_db.executeUpdate(sql10);
		if(!reason.equals("生产入库")&&!reason.equals("委外入库")&&!reason.equals("采购入库")&&!reason.equals("生产领料")&&!reason.equals("销售出库")){

⌨️ 快捷键说明

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