package com.slcf.controller;
|
|
import java.io.BufferedReader;
|
import java.io.InputStreamReader;
|
import java.io.OutputStream;
|
import java.net.HttpURLConnection;
|
import java.net.URL;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import com.slcf.pojo.UserBean;
|
import com.slcf.bean.WaitCheckCondition;
|
import com.slcf.pojo.WaitCheckBean;
|
import com.slcf.pojo.MatCodeBean;
|
import com.slcf.pojo.SysLogBean;
|
import com.slcf.service.WaitCheckService;
|
import com.slcf.util.AuthorityCode;
|
import com.slcf.util.Constants;
|
import com.slcf.util.DateTimeUtil;
|
|
import net.sf.json.JSONArray;
|
import net.sf.json.JSONObject;
|
import sun.misc.BASE64Encoder;
|
|
import com.slcf.service.MatCodeService;
|
import com.slcf.service.RoleService;
|
import com.slcf.service.SysLogService;
|
|
/**
|
* 盘点通知档控制器层
|
* @author admin
|
* @date 2020年1月14日
|
*/
|
@Controller
|
@RequestMapping("/work")
|
public class WaitCheckController {
|
|
@Resource
|
WaitCheckService waitCheckService;
|
@Autowired
|
SysLogService sysLogService;
|
@Autowired
|
MatCodeService matCodeService;
|
@Autowired
|
RoleService roleService;
|
|
@RequestMapping("/goWaitCheck.action")
|
public String goWaitCheckPage(HttpServletRequest request){
|
try {
|
String rid = request.getSession().getAttribute("ROLEID").toString();
|
String authCode = roleService.getAuthListByRoleMenu(Integer.parseInt(rid),
|
AuthorityCode.WaitCheckCode);
|
request.getSession().setAttribute("AUTHCODE",authCode);
|
// 插入日志
|
UserBean user = (UserBean) request.getSession().getAttribute("USER");
|
SysLogBean sysLog = new SysLogBean();
|
sysLog.setLogin_no(user.getUser_account());
|
sysLog.setMachine_ip(request.getRemoteAddr());
|
sysLog.setForm_no("goWaitCheck.action");
|
sysLog.setTts_keyname("访问:盘点通知档");
|
sysLog.setModi_user(user.getUser_account());
|
sysLogService.insertSysLog(sysLog);
|
}catch (Exception e) {
|
System.out.println(e.getMessage());
|
}
|
return "waitCheck";
|
}
|
|
/**
|
* 添加
|
* @param waitCheck
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping("/addWaitCheck.action")
|
public Integer insertWaitCheck(WaitCheckBean waitCheck,HttpServletRequest request){
|
int result=0;
|
try {
|
UserBean user=(UserBean)request.getSession().getAttribute("USER");
|
// if(waitCheck.getSheet_no()==null || waitCheck.getSheet_no().equals("")) {
|
// int random = (int)(Math.random()*900 + 100);
|
// String seq = Integer.toString(random);
|
// String sheet_no = DateTimeUtil.getStringDateTime(14);
|
// waitCheck.setSheet_no(sheet_no+seq);
|
// }
|
// waitCheck.setModi_user(user.getUser_account());
|
result = waitCheckService.insertWaitCheck(waitCheck);
|
|
if(result>0) {
|
// 插入日志
|
// UserBean user = (UserBean) request.getSession().getAttribute("USER");
|
SysLogBean sysLog = new SysLogBean();
|
sysLog.setLogin_no(user.getUser_account());
|
sysLog.setMachine_ip(request.getRemoteAddr());
|
sysLog.setForm_no("addWaitCheck.action");
|
sysLog.setTts_keyname("插入通知档:" + waitCheck.getLgnum() + "-" + waitCheck.getIvnum());
|
sysLog.setModi_user(user.getUser_account());
|
sysLogService.insertSysLog(sysLog);
|
}
|
}catch(Exception e) {
|
System.out.println(e.getMessage());
|
result=0;
|
}
|
return result;
|
}
|
|
/**
|
* 分页查询所有
|
* @param pageNumber
|
* @param pageSize
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping("/waitCheckList.action")
|
public Map<String,Object> queryWaitCheckListByPages(WaitCheckCondition waitCheckCon){
|
Map<String,Object>map=waitCheckService.queryWaitCheckList(waitCheckCon);
|
return map;
|
}
|
|
/**
|
* 验证物料编号是否存在
|
* @param did
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping("/checkMatCode.action")
|
public Map<String,Object> checkMatCode(@RequestParam("did")String id){
|
Map<String,Object> map=new HashMap<String, Object>();
|
// boolean flag=userService.validUserAccount(account, uid);
|
try {
|
MatCodeBean matCode = matCodeService.queryMatCodeById(id);
|
if(matCode!=null){
|
map.put("msg", "代号可用");
|
map.put("mat_name_add",matCode.getMat_name());
|
}else{
|
map.put("msg", "物料号不存在");
|
}
|
}catch(Exception e) {
|
System.out.println(e.getMessage());
|
}
|
return map;
|
}
|
|
/**
|
* 根据id查询信息
|
* @param id
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping("/queryWaitCheckById.action")
|
// public WaitCheckBean queryWaitCheckById(@RequestParam("sheet_no")String sheet_no,
|
// @RequestParam("mat_no")String mat_no,HttpServletRequest request){
|
public WaitCheckBean queryWaitCheckById(WaitCheckBean waitCheck,HttpServletRequest request){
|
try {
|
return waitCheckService.queryWaitCheckById(waitCheck);
|
}catch(Exception e) {
|
System.out.println(e.getMessage());
|
return null;
|
}
|
}
|
|
// /**
|
// * 验证工作代号是否唯一
|
// * @param did
|
// * @return
|
// */
|
// @ResponseBody
|
// @RequestMapping("/checkWaitCheck.action")
|
// public Map<String,Object> checkWaitCheck(@RequestParam("did")int id){
|
// Map<String,Object> map=new HashMap<String, Object>();
|
//// boolean flag=userService.validUserAccount(account, uid);
|
// try {
|
// WaitCheckBean WaitCheck = WaitCheckService.queryWaitCheckById(id);
|
// if(WaitCheck==null){
|
// map.put("msg", "代号可用");
|
// }else{
|
// map.put("msg", "代号不可用");
|
// }
|
// }catch(Exception e) {
|
// System.out.println(e.getMessage());
|
// }
|
// return map;
|
// }
|
|
/**
|
* 手工完结入库通知档,反馈ERP
|
* @param WaitCheckEntity
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping("/overWaitCheck.action")
|
public Integer overWaitCheck(WaitCheckBean waitCheck,HttpServletRequest request){
|
int result = 0;
|
try {
|
UserBean user=(UserBean)request.getSession().getAttribute("USER");
|
waitCheck.setModi_user(user.getUser_account());
|
|
WaitCheckBean waitCheckBean = waitCheckService.queryWaitCheckById(waitCheck);
|
String httpUrl = Constants.SAP_URL + "/sap/opu/odata/SAP/Z_WM_H5_SRV/AsrsTrSet";
|
result = sendCheckStatus(httpUrl,waitCheckBean);
|
// result=waitCheckService.upWaitCheck(waitCheck);
|
if(result>0) {
|
// 插入日志
|
// UserBean user = (UserBean) request.getSession().getAttribute("USER");
|
SysLogBean sysLog = new SysLogBean();
|
sysLog.setLogin_no(user.getUser_account());
|
sysLog.setMachine_ip(request.getRemoteAddr());
|
sysLog.setForm_no("upWaitCheck.action");
|
sysLog.setTts_keyname("修改盘点通知档:" + waitCheck.getLgnum());
|
sysLog.setModi_user(user.getUser_account());
|
sysLogService.insertSysLog(sysLog);
|
}
|
}catch(Exception e) {
|
System.out.println(e.getMessage());
|
}
|
return result;
|
}
|
|
/**
|
* 入库完成,调用sap接口上传完成信息
|
*/
|
private int sendCheckStatus(String httpUrl,WaitCheckBean waitCheck) {
|
int result = 0;
|
//// String token = getXCsrfToken(httpUrl);
|
// String input = Constants.SAP_USER + ":" + Constants.SAP_PASSWORD;//"ZHANGX:654321";
|
// BASE64Encoder base = new BASE64Encoder();
|
// String encodedPassword;
|
// String token="";
|
// String session_value="";
|
// try {
|
// encodedPassword = base.encode(input.getBytes("UTF-8"));
|
// URL url1 = new URL(httpUrl);
|
// HttpURLConnection connection1 = (HttpURLConnection) url1.openConnection();
|
// connection1.setDoOutput(true);
|
// connection1.setDoInput(true);
|
// connection1.setRequestMethod("GET");
|
// connection1.setRequestProperty("Authorization", "Basic " + encodedPassword);
|
// connection1.setRequestProperty("x-csrf-token","Fetch");
|
// String sessionCookie = connection1.getHeaderField("Set-Cookie");
|
// String[] sessionId = sessionCookie.split(";");
|
// session_value = sessionId[0];
|
// token = connection1.getHeaderField("x-csrf-token");
|
//// Map<String, List<String>> map = connection1.getHeaderFields();
|
//// token = map.get("x-csrf-token").toString();
|
// } catch (Exception e1) {
|
// e1.printStackTrace();
|
// }
|
//
|
// try {
|
// JSONObject jsObj = new JSONObject();
|
// JSONArray arr = new JSONArray();
|
// for(int i=0;i<1;i++) {
|
// JSONObject json = new JSONObject();
|
// json.put("lgnum",waitCheck.getLgnum());
|
// json.put("tbnum",Long.toString(waitCheck.getTbnum()));
|
// json.put("tbpos",Integer.toString(waitCheck.getTbpos()));
|
// json.put("zmatid",waitCheck.getZmatid());
|
//
|
// json.put("anfme",Double.toString(waitCheck.getAnfme()));
|
// json.put("altme",waitCheck.getAltme());
|
// json.put("nltyp","A01");
|
// json.put("nlber","001");
|
// json.put("nlpla",waitCheck.getLoc_no());
|
// arr.add(json);
|
// }
|
// jsObj.put("item", arr);
|
// byte[] buff = jsObj.toString().getBytes();
|
// int buffLen = buff.length;
|
// //创建连接
|
// try {
|
//// String input = "ZHANGX:654321";
|
//// BASE64Encoder base = new BASE64Encoder();
|
//// String encodedPassword = base.encode(input.getBytes("UTF-8"));
|
//
|
// URL url = new URL(httpUrl);
|
// HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
// connection.setDoOutput(true);
|
// connection.setDoInput(true);
|
// connection.setRequestMethod("POST");
|
// // connection.setUseCaches(false);
|
// // connection.setInstanceFollowRedirects(true);
|
//// connection.setRequestProperty("Content-Type","text/json;charset=gb2312");
|
// connection.setRequestProperty("Cookie", session_value);
|
// connection.setRequestProperty("Content-Type","application/json");
|
// connection.setRequestProperty("Accept","application/json");
|
// connection.setRequestProperty("Content-Length","" + buffLen);
|
//// connection.setRequestProperty("Authorization", "Basic " + encodedPassword);
|
// connection.setRequestProperty("x-csrf-token",token);
|
//
|
// //POST请求
|
// OutputStream out = connection.getOutputStream();
|
// out.write(buff);
|
// out.close();
|
//
|
// //读取响应
|
// BufferedReader reader = new BufferedReader(new InputStreamReader(
|
// connection.getInputStream()));
|
// String lines;
|
// StringBuffer sb = new StringBuffer("");
|
// while ((lines = reader.readLine()) != null) {
|
// lines = new String(lines.getBytes(), "utf-8");
|
// sb.append(lines);
|
// }
|
// System.out.println(sb.toString());
|
// result = 1;
|
// }catch (Exception e) {
|
// System.out.println(e.getMessage());
|
// }
|
// }catch (Exception e) {
|
// System.out.println(e.getMessage());
|
// }
|
return result;
|
}
|
|
/**
|
* 修改信息
|
* @param WaitCheckEntity
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping("/upWaitCheck.action")
|
public Integer upWaitCheck(WaitCheckBean waitCheck,HttpServletRequest request){
|
int result = 0;
|
try {
|
UserBean user=(UserBean)request.getSession().getAttribute("USER");
|
waitCheck.setModi_user(user.getUser_account());
|
|
result=waitCheckService.upWaitCheck(waitCheck);
|
if(result>0) {
|
// 插入日志
|
// UserBean user = (UserBean) request.getSession().getAttribute("USER");
|
SysLogBean sysLog = new SysLogBean();
|
sysLog.setLogin_no(user.getUser_account());
|
sysLog.setMachine_ip(request.getRemoteAddr());
|
sysLog.setForm_no("upWaitCheck.action");
|
sysLog.setTts_keyname("修改盘点通知档:" + waitCheck.getLgnum());
|
sysLog.setModi_user(user.getUser_account());
|
sysLogService.insertSysLog(sysLog);
|
}
|
}catch(Exception e) {
|
System.out.println(e.getMessage());
|
}
|
return result;
|
}
|
|
/**
|
* 删除信息
|
* @param id
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping("/delWaitCheck.action")
|
public int delWaitCheck(WaitCheckBean waitCheckBean,HttpServletRequest request){
|
int result = 0;
|
try {
|
result=waitCheckService.delWaitCheck(waitCheckBean);
|
|
if(result>0) {
|
// 插入日志
|
UserBean user = (UserBean) request.getSession().getAttribute("USER");
|
SysLogBean sysLog = new SysLogBean();
|
sysLog.setLogin_no(user.getUser_account());
|
sysLog.setMachine_ip(request.getRemoteAddr());
|
sysLog.setForm_no("delWaitCheck.action");
|
sysLog.setTts_keyname("删除通知档资料:" + waitCheckBean.getLgnum() + "-" + waitCheckBean.getIvnum());
|
sysLog.setModi_user(user.getUser_account());
|
sysLogService.insertSysLog(sysLog);
|
}
|
}catch(Exception e) {
|
System.out.println(e.getMessage());
|
}
|
return result;
|
}
|
|
/**
|
* 查询所有
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping("/getWaitCheck.action")
|
public List<WaitCheckBean> getWaitCheck(){
|
try {
|
return waitCheckService.getWaitCheckList();
|
}catch(Exception e) {
|
System.out.println(e.getMessage());
|
return null;
|
}
|
}
|
|
/**
|
* 通知档资料转历史档
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping("/moveCheckToLog.action")
|
public int moveCheckToLog(@RequestParam("ids")String[] sheetNos,
|
@RequestParam("matStr")String[] matNos,HttpServletRequest request){
|
int result = 0;
|
try {
|
String sheet_no="", mat_no="";
|
for(int i=0;i<sheetNos.length;i++) {
|
WaitCheckBean waitCheckBean =new WaitCheckBean();
|
waitCheckBean.setLgnum(sheetNos[i]);
|
waitCheckBean.setMatnr(matNos[i]);;
|
result=waitCheckService.moveToLog(waitCheckBean);
|
}
|
if(result>0) {
|
// 插入日志
|
UserBean user = (UserBean) request.getSession().getAttribute("USER");
|
SysLogBean sysLog = new SysLogBean();
|
sysLog.setLogin_no(user.getUser_account());
|
sysLog.setMachine_ip(request.getRemoteAddr());
|
sysLog.setForm_no("moveCheckToLog.action");
|
sysLog.setTts_keyname("通知档资料转历史档:" + sheet_no + "-" + mat_no);
|
sysLog.setModi_user(user.getUser_account());
|
sysLogService.insertSysLog(sysLog);
|
}
|
}catch(Exception e) {
|
System.out.println(e.getMessage());
|
}
|
return result;
|
}
|
|
}
|