📄 check_ok.java
字号:
/*
*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 + -