#NJYCJT-3# 二开代码,单点、定时器、扩展页面等接口开发

main
shilei 1 year ago
parent f52a1d3af0
commit a3e81ed303

@ -1,90 +0,0 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="weaver.general.Util,weaver.conn.RecordSet" %>
<%@ page import="weaver.hrm.HrmUserVarify" %>
<%@ page import="weaver.hrm.User" %>
<%@ page import="java.nio.charset.StandardCharsets" %>
<%@ page import="javax.crypto.spec.SecretKeySpec" %>
<%@ page import="javax.xml.bind.DatatypeConverter" %>
<%@ page import="java.security.NoSuchAlgorithmException" %>
<%@ page import="java.security.InvalidKeyException" %>
<%@ page import="javax.crypto.*" %>
<%@ page import="org.apache.commons.lang3.StringUtils" %>
<jsp:useBean id="ResourceComInfo" class="weaver.hrm.resource.ResourceComInfo" scope="page"/>
<%
String secretKey = "httpsoanjycjtcom";
User user = HrmUserVarify.getUser (request,response);
RecordSet rs = new RecordSet();
String pcurlsrc = "";
String userid = user.getUID()+"";
String workcode = ResourceComInfo.getWorkcode(userid);
String tododataid = request.getParameter("tododataid");
String isremark = request.getParameter("isremark");
if( "0".equals(isremark) || "8".equals(isremark)){
rs.executeQuery("select * from ofs_todo_data where id = ?",tododataid);
rs.next();
pcurlsrc = Util.null2String(rs.getString("pcurlsrc"));
}else{
rs.executeQuery("select * from ofs_done_data where id = ?",tododataid);
rs.next();
pcurlsrc = Util.null2String(rs.getString("pcurlsrc"));
}
String token = "";
if(StringUtils.isNotBlank(workcode)){
token = encryptAES(secretKey,workcode);
}
if(StringUtils.isNotBlank(token)){
if(pcurlsrc.contains("#")) {
String[] split = pcurlsrc.split("#");
if(split[0].contains("?")){
pcurlsrc = split[0] + "&Token=" + token + "#" + split[1];
}else{
pcurlsrc = split[0] + "?Token=" + token + "#" + split[1];
}
}else if(pcurlsrc.contains("?")){
pcurlsrc = pcurlsrc + "&Token=" + token ;
}else{
pcurlsrc = pcurlsrc + "?Token=" + token ;
}
}
%>
<script type="text/javascript">
location.replace('<%=pcurlsrc%>');
</script>
<%!
/**
* AES加密字符串
* @return 加密后内容
*/
public String encryptAES(String password,String data) {
String ALGORITHM = "AES";
String encrtptData = "" ;
try {
byte[] keyBytes = password.getBytes(StandardCharsets.UTF_8); // 生成随机的16字节密钥
SecretKey secretKey = new SecretKeySpec(keyBytes, ALGORITHM); // 创建SecretKey对象
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, secretKey); // 初始化加密器
byte[] encryptedBytes = cipher.doFinal(data.getBytes());
encrtptData = DatatypeConverter.printHexBinary(encryptedBytes);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (NoSuchPaddingException e) {
e.printStackTrace();
}catch (InvalidKeyException e) {
e.printStackTrace();
} catch (IllegalBlockSizeException e) {
e.printStackTrace();
} catch (BadPaddingException e) {
e.printStackTrace();
}
return encrtptData ;
}
%>

@ -0,0 +1,131 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="weaver.general.Util,weaver.conn.RecordSet" %>
<%@ page import="weaver.hrm.HrmUserVarify" %>
<%@ page import="weaver.hrm.User" %>
<%@ page import="javax.crypto.*" %>
<%@ page import="org.apache.commons.lang3.StringUtils" %>
<%@ page import="javax.crypto.spec.DESKeySpec" %>
<%@ page import="java.security.Key" %>
<%@ page import="javax.crypto.spec.IvParameterSpec" %>
<%@ page import="java.util.Base64" %>
<%@ page import="java.net.URLEncoder" %>
<jsp:useBean id="ResourceComInfo" class="weaver.hrm.resource.ResourceComInfo" scope="page"/>
<%
String erphost = "http://cs.njycjt.com:9060";
String IV_PARAMETER = "njy(cjt(";
String password = IV_PARAMETER ;
/**
* 密钥算法
*/
String ALGORITHM = "DES";
/**
* 加密/解密算法-工作模式-填充模式
*/
String CIPHER_ALGORITHM = "DES/CBC/PKCS5Padding";
/**
* 默认编码
*/
String CHARSET = "UTF-8";
User user = HrmUserVarify.getUser (request,response);
RecordSet rs = new RecordSet();
String pcurlsrc = "";
String userid = user.getUID()+"";
String workcode = ResourceComInfo.getWorkcode(userid);
String tododataid = request.getParameter("tododataid");
String isremark = request.getParameter("isremark");
if( "0".equals(isremark) || "8".equals(isremark)){
rs.executeQuery("select * from ofs_todo_data where id = ?",tododataid);
rs.next();
pcurlsrc = Util.null2String(rs.getString("pcurlsrc"));
}else{
rs.executeQuery("select * from ofs_done_data where id = ?",tododataid);
rs.next();
pcurlsrc = Util.null2String(rs.getString("pcurlsrc"));
}
String encryptUser = encrypt(password,workcode,CHARSET,ALGORITHM,CIPHER_ALGORITHM,IV_PARAMETER);
long currentTimeMillis = System.currentTimeMillis();
long currentTimeSeconds = currentTimeMillis / 1000;
String encryptTime = encrypt(password,Util.null2String(currentTimeSeconds),CHARSET,ALGORITHM,CIPHER_ALGORITHM,IV_PARAMETER);
String encodeTime = URLEncoder.encode(encryptTime,"UTF-8");
String encodeUser = "" ;
if(user !=null){
if(StringUtils.isNotBlank(password) && password.length()>=8){
if(StringUtils.isNotBlank(workcode)){
encodeUser = URLEncoder.encode(encryptUser,"UTF-8");
}
}
}
if(StringUtils.isNotBlank(pcurlsrc)){
if(pcurlsrc.contains("#")) {
String[] split = pcurlsrc.split("#");
if(split[0].contains("?")){
pcurlsrc = split[0] + "&UserCode=" + encodeUser +"&iat="+ encodeTime + "#" + split[1];
}else{
pcurlsrc = split[0] + "?UserCode=" + encodeUser +"&iat="+ encodeTime + "#" + split[1];
}
}else if(pcurlsrc.contains("?")){
pcurlsrc = pcurlsrc + "&UserCode=" + encodeUser +"&iat="+ encodeTime ;
}else{
pcurlsrc = pcurlsrc + "?UserCode=" + encodeUser +"&iat="+ encodeTime ;
}
response.sendRedirect(pcurlsrc);
}
// if(StringUtils.isNotBlank(token)){
// if(pcurlsrc.contains("#")) {
// String[] split = pcurlsrc.split("#");
// if(split[0].contains("?")){
// pcurlsrc = split[0] + "&Token=" + token + "#" + split[1];
// }else{
// pcurlsrc = split[0] + "?Token=" + token + "#" + split[1];
// }
// }else if(pcurlsrc.contains("?")){
// pcurlsrc = pcurlsrc + "&Token=" + token ;
// }else{
// pcurlsrc = pcurlsrc + "?Token=" + token ;
// }
// }
%>
<%!
/**
* DES加密字符串
*
* @param password 加密密码长度不能够小于8位
* @param data 待加密字符串
* @return 加密后内容
*/
public String encrypt(String password, String data,String CHARSET,String ALGORITHM,String CIPHER_ALGORITHM,String IV_PARAMETER) {
String encrtptData = "" ;
if (StringUtils.isNotBlank(data)){
try {
DESKeySpec dks = new DESKeySpec(password.getBytes(CHARSET));
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(ALGORITHM);
Key secretKey = keyFactory.generateSecret(dks);
Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM);
IvParameterSpec iv = new IvParameterSpec(IV_PARAMETER.getBytes(CHARSET));
cipher.init(Cipher.ENCRYPT_MODE, secretKey, iv);
byte[] bytes = cipher.doFinal(data.getBytes(CHARSET));
//JDK1.8及以上可直接使用Base64JDK1.7及以下可以使用BASE64Encoder
//Android平台可以使用android.util.Base64
encrtptData = new String(Base64.getEncoder().encode(bytes));
} catch (Exception e) {
e.printStackTrace();
}
}
return encrtptData ;
}
%>

@ -80,7 +80,7 @@ public class UpdateZjjhzxsj_ModeExpand extends AbstractModeExpandJavaCodeNew{
try {
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
Map<String,String> map = null;
String sql =" select zx.id,qd.zjjhx,zx.zjjhyf " +
String sql =" select zx.id,qd.zjhx,zx.zjjhyf " +
" from uf_zjjhzxsj zx,uf_zjjhqd qd " +
" where zx.zjjhx = qd.id " +
" and zjjhyfsjwc is null " ;
@ -117,7 +117,7 @@ public class UpdateZjjhzxsj_ModeExpand extends AbstractModeExpandJavaCodeNew{
sql = " select sum(fkje) as fkje from erp_htfkzjb where zjjhhbh='"+zjjhx+"' and fkrq like '%"+zjjhyf+"%' " ;
bb.writeLog("sql2:"+sql);
rsd.execute(sql);
if(rsd.execute(sql)){
if(rsd.next()){
fkje = Util.null2String(rsd.getString("fkje"));
}
bb.writeLog("fkje:"+fkje);
@ -125,7 +125,7 @@ public class UpdateZjjhzxsj_ModeExpand extends AbstractModeExpandJavaCodeNew{
if(StringUtils.isNotBlank(billid) && StringUtils.isNotBlank(fkje)){
sql = " update uf_zjjhzxsj set zjjhyfsjwc='"+fkje+"' where zjjhyf='"+zjjhyf+"' and id="+billid+"";
bb.writeLog("sql:"+sql);
boolean isTrue = rsd.execute(sql);
boolean isTrue = rs.execute(sql);
bb.writeLog("isTrue2:"+isTrue);
if(!isTrue){
errcount++;

@ -199,13 +199,19 @@ public class ModeZcjhxUtil {
bb.writeLog("sql2:"+sql);
rsd.execute(sql);
if(rsd.execute(sql)){
if(rsd.next()){
qyrq = Util.null2String(rsd.getString("qyrq"));
}
if(StringUtils.isNotBlank(billid) && StringUtils.isNotBlank(qyrq)){
if(qyrq.length()>= 10){
qyrq = qyrq.substring(0,10);
}
bb.writeLog("qyrq:"+qyrq);
sql = " update uf_zcjhx set zczt = 1,wcrq='"+qyrq+"' where id = "+billid;
bb.writeLog("sql:"+sql);
boolean isTrue = rsd.execute(sql);
boolean isTrue = rs.executeUpdate(sql);
bb.writeLog("isTrue2:"+isTrue);
if(!isTrue){
errcount++;
@ -273,16 +279,21 @@ public class ModeZcjhxUtil {
sql = " select spwcrq from "+formtable+" where zcjhbh='"+zcxh+"'" ;
bb.writeLog("sql:"+sql);
rsd.execute(sql);
if(rsd.execute(sql)){
if(rsd.next()){
spwcrq = Util.null2String(rsd.getString("spwcrq"));
}
bb.writeLog("spwcrq:"+spwcrq);
if(StringUtils.isNotBlank(billid) && StringUtils.isNotBlank(spwcrq)){
if(spwcrq.length()>= 10){
spwcrq = spwcrq.substring(0,10);
}
bb.writeLog("spwcrq:"+spwcrq);
sql = " update uf_zcjhx set zczt = 1,wcrq='"+spwcrq+"' where id = "+billid;
bb.writeLog("sql:"+sql);
boolean isTrue = rsd.execute(sql);
boolean isTrue = rs.executeUpdate(sql);
bb.writeLog("isTrue2:"+isTrue);
if(!isTrue){
errcount++;

Loading…
Cancel
Save