PieceRateSetOperation.jsp
5.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ include file="/systeminfo/init_wev8.jsp" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="weaver.general.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.net.*"%>
<%@ page import="java.io.*" %>
<%@ page import="java.net.URLDecoder.*"%>
<%@ page import="weaver.systeminfo.*" %>
<%@ page import="weaver.file.FileUpload"%>
<%@ page import="weaver.file.FileManage"%>
<%@ page import="weaver.conn.ConnStatement"%>
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="PieceRateExcelToDB" class="weaver.hrm.finance.ExcelToDB.PieceRateExcelToDB" scope="page" />
<%
response.setHeader("cache-control", "no-cache");
response.setHeader("pragma", "no-cache");
response.setHeader("expires", "Mon 1 Jan 1990 00:00:00 GMT");
FileUpload fu = new FileUpload(request,false);
FileManage fm = new FileManage();
String msg3="";
String option=Util.null2String(fu.getParameter("option"));
int subcompanyid=Util.getIntValue(fu.getParameter("subcompanyid"));
String Excelfilepath="";
int fileid = 0 ;
if(option.equals("loadfile")) {
try {
fileid = Util.getIntValue(fu.uploadFiles("pieceratefile"),0);
String filename = fu.getFileName();
String sql = "select filerealpath from imagefile where imagefileid = "+fileid;
RecordSet.executeSql(sql);
String uploadfilepath="";
if(RecordSet.next()) uploadfilepath = RecordSet.getString("filerealpath");
if(!uploadfilepath.equals("")){
Excelfilepath = GCONST.getRootPath()+"hrm/finance/salary/ExcelToDB"+File.separatorChar+filename ;
fm.copy(uploadfilepath,Excelfilepath);
}
String msg="";
String msg1="";
String msg2="";
int msgsize=0;
PieceRateExcelToDB.ExcelToDB1(Excelfilepath,subcompanyid,user.getLanguage());
msgsize=PieceRateExcelToDB.getMsg1().size();
msg3=PieceRateExcelToDB.getMsg3();
if(msgsize==0){
msg="success";
response.sendRedirect("PieceRateSettingEdit.jsp?subCompanyId="+subcompanyid+"&msg="+msg+"&msg3="+msg3);
}else{
for (int i = 0; i <msgsize; i++){
msg1=msg1+(String)PieceRateExcelToDB.getMsg1().elementAt(i)+",";
msg2=msg2+(String)PieceRateExcelToDB.getMsg2().elementAt(i)+",";
}
fm.DeleteFile(Excelfilepath);
response.sendRedirect("PieceRateSettingEdit.jsp?subCompanyId="+subcompanyid+"&msg="+msg+"&msg1="+msg1+"&msg2="+msg2+"&msgsize="+msgsize+"&msg3="+msg3);
}
}
catch(Exception e) {
}
}
if(option.equals("edit")) {
int rownum = Util.getIntValue(fu.getParameter("rownum")) ;
int indexnum = Util.getIntValue(fu.getParameter("indexnum")) ;
ConnStatement statement=new ConnStatement();
//删除原来的计件工资设置
try{
statement.setStatementSql("delete from HRM_PieceRateSetting where subcompanyid="+subcompanyid);
statement.executeUpdate();
if(rownum>0 && subcompanyid>0){
String sql="";
for(int i=0;i<indexnum;i++){
String PieceRateNo=Util.fromScreen3(fu.getParameter("PieceRateNo_"+i),user.getLanguage());
String PieceRateName=Util.fromScreen3(fu.getParameter("PieceRateName_"+i),user.getLanguage());
String workingpro=Util.fromScreen3(fu.getParameter("workingpro_"+i),user.getLanguage());
String price=Util.null2String(fu.getParameter("price_"+i));
if(price.equals("")) price="0";
String memo=Util.fromScreen3(fu.getParameter("memo_"+i),user.getLanguage());
if(!PieceRateNo.trim().equals("")){
//插入数据库
sql="INSERT INTO HRM_PieceRateSetting(subcompanyid,PieceRateNo,PieceRateName,workingpro,price,memo) values(?,?,?,?,?,?)";
statement.setStatementSql(sql);
statement.setInt(1,subcompanyid);
statement.setString(2,PieceRateNo);
statement.setString(3,PieceRateName);
statement.setString(4,workingpro);
statement.setString(5,price);
statement.setString(6,memo);
statement.executeUpdate();
}
}
//校验计件编号是否重复
String pieceratenos="";
sql="select PieceRateNo from (select count(PieceRateNo) nums,PieceRateNo from HRM_PieceRateSetting where subcompanyid="+subcompanyid+" group by PieceRateNo) a where a.nums>1";
statement.setStatementSql(sql);
statement.executeQuery();
while(statement.next()){
pieceratenos+="'"+statement.getString("PieceRateNo")+"',";
msg3+=statement.getString("PieceRateNo")+",";
}
if(!msg3.trim().equals("")){
msg3=msg3.substring(0,msg3.length()-1);
pieceratenos=pieceratenos.substring(0,pieceratenos.length()-1);
//删除重复的计件编号,保留最后一条记录
sql="delete from HRM_PieceRateSetting where subcompanyid="+subcompanyid+" and piecerateno in("+pieceratenos+") and id<(select max(id) from HRM_PieceRateSetting where subcompanyid="+subcompanyid+" and piecerateno in("+pieceratenos+"))";
statement.setStatementSql(sql);
statement.executeUpdate();
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
statement.close();
}
response.sendRedirect("PieceRateSettingEdit.jsp?subCompanyId="+subcompanyid+"&msg3="+msg3);
}
%>